Skip to content
Snippets Groups Projects
Commit 1634e969 authored by Tom Rini's avatar Tom Rini
Browse files

am335x_evm: Fix CPSW ethernet on GP EVM and EVM-SK


In commit cfd4ff6f we implemented part of advisory 1.0.10 (internal delay
for RGMII mode not supported).  This in turn however requires that we
set the tx clock delay feature in the PHY itself.

Signed-off-by: default avatarTom Rini <trini@ti.com>
parent 951c6baa
No related branches found
No related tags found
No related merge requests found
...@@ -73,6 +73,11 @@ static inline int board_is_idk(void) ...@@ -73,6 +73,11 @@ static inline int board_is_idk(void)
return !strncmp(header.config, "SKU#02", 6); return !strncmp(header.config, "SKU#02", 6);
} }
static int board_is_gp_evm(void)
{
return !strncmp("A33515BB", header.name, 8);
}
int board_is_evm_15_or_later(void) int board_is_evm_15_or_later(void)
{ {
return (!strncmp("A33515BB", header.name, 8) && return (!strncmp("A33515BB", header.name, 8) &&
...@@ -466,6 +471,28 @@ int board_eth_init(bd_t *bis) ...@@ -466,6 +471,28 @@ int board_eth_init(bd_t *bis)
printf("Error %d registering CPSW switch\n", rv); printf("Error %d registering CPSW switch\n", rv);
else else
n += rv; n += rv;
/*
*
* CPSW RGMII Internal Delay Mode is not supported in all PVT
* operating points. So we must set the TX clock delay feature
* in the AR8051 PHY. Since we only support a single ethernet
* device in U-Boot, we only do this for the first instance.
*/
#define AR8051_PHY_DEBUG_ADDR_REG 0x1d
#define AR8051_PHY_DEBUG_DATA_REG 0x1e
#define AR8051_DEBUG_RGMII_CLK_DLY_REG 0x5
#define AR8051_RGMII_TX_CLK_DLY 0x100
if (board_is_evm_sk() || board_is_gp_evm()) {
const char *devname;
devname = miiphy_get_current_dev();
miiphy_write(devname, 0x0, AR8051_PHY_DEBUG_ADDR_REG,
AR8051_DEBUG_RGMII_CLK_DLY_REG);
miiphy_write(devname, 0x0, AR8051_PHY_DEBUG_DATA_REG,
AR8051_RGMII_TX_CLK_DLY);
}
#endif #endif
try_usbether: try_usbether:
#if defined(CONFIG_USB_ETHER) && !defined(CONFIG_SPL_BUILD) #if defined(CONFIG_USB_ETHER) && !defined(CONFIG_SPL_BUILD)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment