int misc_init_r(void) { uint8_t tmp[20], addr[10]; if (getenv("ethaddr") == NULL) { /* Read Ethernet MAC address from EEPROM */ if (dvevm_read_mac_address(addr)) { /* Set Ethernet MAC address from EEPROM */ davinci_sync_env_enetaddr(addr); } else { get_mac_addr(addr); } if (is_multicast_ether_addr(addr) || is_zero_ether_addr(addr)) { printf("Invalid MAC address read.\n"); return -EINVAL; } sprintf((char *)tmp, "%02x:%02x:%02x:%02x:%02x:%02x", addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]); setenv("ethaddr", (char *)tmp); } #ifdef CONFIG_DRIVER_TI_EMAC_USE_RMII /* Select RMII fucntion through the expander */ if (rmii_hw_init()) printf("RMII hardware init failed!!!\n"); #endif dspwake(); return 0; }
int misc_init_r(void) { uint8_t tmp[20], addr[10]; printf ("ARM Clock : %d Hz\n", clk_get(DAVINCI_ARM_CLKID)); printf ("DDR Clock : %d Hz\n", clk_get(DAVINCI_DDR_CLKID)/2); if (getenv("ethaddr") == NULL) { /* Set Ethernet MAC address from EEPROM */ get_mac_addr(addr); if(is_multicast_ether_addr(addr) || is_zero_ether_addr(addr)) { printf("Invalid MAC address read.\n"); return -EINVAL; } sprintf((char *)tmp, "%02x:%02x:%02x:%02x:%02x:%02x", addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]); setenv("ethaddr", (char *)tmp); } #ifdef CONFIG_DRIVER_TI_EMAC_USE_RMII /* Select RMII fucntion through the expander */ if (rmii_hw_init()) printf("RMII hardware init failed!!!\n"); #endif dspwake(); return (0); }
int misc_init_r(void) { dspwake(); #if defined(CONFIG_MAC_ADDR_IN_SPIFLASH) || defined(CONFIG_MAC_ADDR_IN_EEPROM) uchar env_enetaddr[6]; int enetaddr_found; enetaddr_found = eth_env_get_enetaddr("ethaddr", env_enetaddr); #ifdef CONFIG_MAC_ADDR_IN_SPIFLASH int spi_mac_read; uchar buff[6]; spi_mac_read = get_mac_addr(buff); /* * MAC address not present in the environment * try and read the MAC address from SPI flash * and set it. */ if (!enetaddr_found) { if (!spi_mac_read) { if (is_valid_ethaddr(buff)) { if (eth_env_set_enetaddr("ethaddr", buff)) { printf("Warning: Failed to " "set MAC address from SPI flash\n"); } } else { printf("Warning: Invalid " "MAC address read from SPI flash\n"); } } } else { /* * MAC address present in environment compare it with * the MAC address in SPI flash and warn on mismatch */ if (!spi_mac_read && is_valid_ethaddr(buff) && memcmp(env_enetaddr, buff, 6)) printf("Warning: MAC address in SPI flash don't match " "with the MAC address in the environment\n"); printf("Default using MAC address from environment\n"); } #endif uint8_t enetaddr[8]; int eeprom_mac_read; /* Read Ethernet MAC address from EEPROM */ eeprom_mac_read = dvevm_read_mac_address(enetaddr); /* * MAC address not present in the environment * try and read the MAC address from EEPROM flash * and set it. */ if (!enetaddr_found) { if (eeprom_mac_read) /* Set Ethernet MAC address from EEPROM */ davinci_sync_env_enetaddr(enetaddr); } else { /* * MAC address present in environment compare it with * the MAC address in EEPROM and warn on mismatch */ if (eeprom_mac_read && memcmp(enetaddr, env_enetaddr, 6)) printf("Warning: MAC address in EEPROM don't match " "with the MAC address in the environment\n"); printf("Default using MAC address from environment\n"); } #endif return 0; }
int misc_init_r(void) { dspwake(); return 0; }