tbs2910: Make Ethernet functional again
Configure the PHY to output a 125MHz clk from CLK_25M and set tx clock delay.
This patch is similar to commit 4b6035da48
("mx6sabresd: Make Ethernet functional again").
Signed-off-by: Soeren Moch <smoch@web.de>
This commit is contained in:
parent
15fde0fc11
commit
84a62ca85d
|
@ -359,6 +359,39 @@ static void setup_display(void)
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_VIDEO_IPUV3 */
|
#endif /* CONFIG_VIDEO_IPUV3 */
|
||||||
|
|
||||||
|
static int ar8035_phy_fixup(struct phy_device *phydev)
|
||||||
|
{
|
||||||
|
unsigned short val;
|
||||||
|
|
||||||
|
/* To enable AR8035 ouput a 125MHz clk from CLK_25M */
|
||||||
|
phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x7);
|
||||||
|
phy_write(phydev, MDIO_DEVAD_NONE, 0xe, 0x8016);
|
||||||
|
phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x4007);
|
||||||
|
|
||||||
|
val = phy_read(phydev, MDIO_DEVAD_NONE, 0xe);
|
||||||
|
val &= 0xffe3;
|
||||||
|
val |= 0x18;
|
||||||
|
phy_write(phydev, MDIO_DEVAD_NONE, 0xe, val);
|
||||||
|
|
||||||
|
/* introduce tx clock delay */
|
||||||
|
phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x5);
|
||||||
|
val = phy_read(phydev, MDIO_DEVAD_NONE, 0x1e);
|
||||||
|
val |= 0x0100;
|
||||||
|
phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, val);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int board_phy_config(struct phy_device *phydev)
|
||||||
|
{
|
||||||
|
ar8035_phy_fixup(phydev);
|
||||||
|
|
||||||
|
if (phydev->drv->config)
|
||||||
|
phydev->drv->config(phydev);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int board_eth_init(bd_t *bis)
|
int board_eth_init(bd_t *bis)
|
||||||
{
|
{
|
||||||
setup_iomux_enet();
|
setup_iomux_enet();
|
||||||
|
|
Loading…
Reference in New Issue