* Basic board specific setup
*/
static const struct pin_mux tx48_pads[] = {
+ { OFFSET(i2c0_sda), MODE(7) | RXACTIVE | PULLUDEN | PULLUP_EN, },
+ { OFFSET(i2c0_scl), MODE(7) | RXACTIVE | PULLUDEN | PULLUP_EN, },
++ { OFFSET(emu1), MODE(7), }, /* ETH PHY Reset */
+ };
+
+ static const struct pin_mux tx48_i2c_pads[] = {
{ OFFSET(i2c0_sda), MODE(0) | RXACTIVE | PULLUDEN | PULLUP_EN, },
{ OFFSET(i2c0_scl), MODE(0) | RXACTIVE | PULLUDEN | PULLUP_EN, },
- { OFFSET(emu1), MODE(7), }, /* ETH PHY Reset */
};
static const struct gpio tx48_gpios[] = {
int board_eth_init(bd_t *bis)
{
- uint8_t mac_addr[ETH_ALEN];
- uint32_t mac_hi, mac_lo;
-
- /* try reading mac address from efuse */
- mac_lo = __raw_readl(MAC_ID0_LO);
- mac_hi = __raw_readl(MAC_ID0_HI);
-
- mac_addr[0] = mac_hi & 0xFF;
- mac_addr[1] = (mac_hi & 0xFF00) >> 8;
- mac_addr[2] = (mac_hi & 0xFF0000) >> 16;
- mac_addr[3] = (mac_hi & 0xFF000000) >> 24;
- mac_addr[4] = mac_lo & 0xFF;
- mac_addr[5] = (mac_lo & 0xFF00) >> 8;
-
- if (is_valid_ether_addr(mac_addr)) {
- debug("MAC addr set to: %pM\n", mac_addr);
- eth_setenv_enetaddr("ethaddr", mac_addr);
- } else {
- printf("ERROR: Did not find a valid mac address in e-fuse\n");
- }
-
__raw_writel(RMII_MODE_ENABLE, MAC_MII_SEL);
__raw_writel(0x5D, GMII_SEL);
+ tx48_phy_init();
return cpsw_register(&cpsw_data);
}
#endif /* CONFIG_DRIVER_TI_CPSW */