static void mynet_n750_get_mac(const char *name, char *mac) { u8 *nvram = (u8 *) KSEG1ADDR(MYNET_N750_NVRAM_ADDR); int err; err = ath79_nvram_parse_mac_addr(nvram, MYNET_N750_NVRAM_SIZE, name, mac); if (err) pr_err("no MAC address found for %s\n", name); }
static void qihoo_c301_get_mac(const char *name, char *mac) { u8 *nvram = (u8 *) KSEG1ADDR(QIHOO_C301_NVRAM_ADDR); int err; err = ath79_nvram_parse_mac_addr(nvram, QIHOO_C301_NVRAM_SIZE, name, mac); if (err) pr_err("no MAC address found for %s\n", name); }
static void __init esr900_setup(void) { const char *config = (char *) KSEG1ADDR(ESR900_CONFIG_ADDR); u8 *art = (u8 *) KSEG1ADDR(ESR900_CALDATA_ADDR); u8 lan_mac[ETH_ALEN]; u8 wlan0_mac[ETH_ALEN]; u8 wlan1_mac[ETH_ALEN]; if (ath79_nvram_parse_mac_addr(config, ESR900_CONFIG_SIZE, "ethaddr=", lan_mac) == 0) { ath79_init_local_mac(ath79_eth0_data.mac_addr, lan_mac); ath79_init_mac(wlan0_mac, lan_mac, 0); ath79_init_mac(wlan1_mac, lan_mac, 1); } else { pr_err("could not find ethaddr in u-boot environment\n"); } ath79_register_m25p80(NULL); ath79_register_leds_gpio(-1, ARRAY_SIZE(esr900_leds_gpio), esr900_leds_gpio); ath79_register_gpio_keys_polled(-1, ESR900_KEYS_POLL_INTERVAL, ARRAY_SIZE(esr900_gpio_keys), esr900_gpio_keys); ath79_register_usb(); ath79_register_wmac(art + ESR900_WMAC_CALDATA_OFFSET, wlan0_mac); ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN); ath79_register_mdio(0, 0x0); mdiobus_register_board_info(esr900_mdio0_info, ARRAY_SIZE(esr900_mdio0_info)); /* GMAC0 is connected to the RMGII interface */ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; ath79_eth0_data.phy_mask = ESR900_LAN_PHYMASK; ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev; ath79_eth0_pll_data.pll_1000 = 0xa6000000; ath79_register_eth(0); /* GMAC1 is connected to the SGMII interface */ ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII; ath79_eth1_data.speed = SPEED_1000; ath79_eth1_data.duplex = DUPLEX_FULL; ath79_eth1_pll_data.pll_1000 = 0x03000101; ath79_register_eth(1); ap91_pci_init(art + ESR900_PCIE_CALDATA_OFFSET, wlan1_mac); }
static void __init wrt160nl_setup(void) { const char *nvram = (char *) KSEG1ADDR(WRT160NL_NVRAM_ADDR); u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); u8 mac[6]; if (ath79_nvram_parse_mac_addr(nvram, WRT160NL_NVRAM_SIZE, "lan_hwaddr=", mac) == 0) { ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0); ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1); } ath79_register_mdio(0, 0x0); ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; ath79_eth0_data.phy_mask = 0x01; ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; ath79_eth1_data.phy_mask = 0x10; ath79_register_eth(0); ath79_register_eth(1); ath79_register_m25p80(&wrt160nl_flash_data); ath79_register_usb(); if (ath79_nvram_parse_mac_addr(nvram, WRT160NL_NVRAM_SIZE, "wl0_hwaddr=", mac) == 0) ath79_register_wmac(eeprom, mac); else ath79_register_wmac(eeprom, NULL); ath79_register_leds_gpio(-1, ARRAY_SIZE(wrt160nl_leds_gpio), wrt160nl_leds_gpio); ath79_register_gpio_keys_polled(-1, WRT160NL_KEYS_POLL_INTERVAL, ARRAY_SIZE(wrt160nl_gpio_keys), wrt160nl_gpio_keys); }
static int epg5000_get_mac(const char *name, char *mac) { u8 *nvram = (u8 *) KSEG1ADDR(EPG5000_NVRAM_ADDR); int err; err = ath79_nvram_parse_mac_addr(nvram, EPG5000_NVRAM_SIZE, name, mac); if (err) { pr_err("no MAC address found for %s\n", name); return false; } return true; }
static void __init dir_600_a1_setup(void) { const char *nvram = (char *) KSEG1ADDR(DIR_600_A1_NVRAM_ADDR); u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); u8 mac_buff[6]; u8 *mac = NULL; if (ath79_nvram_parse_mac_addr(nvram, DIR_600_A1_NVRAM_SIZE, "lan_mac=", mac_buff) == 0) { ath79_init_mac(ath79_eth0_data.mac_addr, mac_buff, 0); ath79_init_mac(ath79_eth1_data.mac_addr, mac_buff, 1); mac = mac_buff; } ath79_register_m25p80(NULL); ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN | AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN | AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN | AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN | AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN); ath79_register_leds_gpio(-1, ARRAY_SIZE(dir_600_a1_leds_gpio), dir_600_a1_leds_gpio); ath79_register_gpio_keys_polled(-1, DIR_600_A1_KEYS_POLL_INTERVAL, ARRAY_SIZE(dir_600_a1_gpio_keys), dir_600_a1_gpio_keys); ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0); ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1); ath79_register_mdio(0, 0x0); /* LAN ports */ ath79_register_eth(1); /* WAN port */ ath79_register_eth(0); ap91_pci_init(ee, mac); }
static void __init dir_615c1_setup(void) { const char *config = (char *) KSEG1ADDR(DIR_615C1_CONFIG_ADDR); u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); u8 mac[6]; u8 *wlan_mac = NULL; if (ath79_nvram_parse_mac_addr(config, DIR_615C1_CONFIG_SIZE, "lan_mac=", mac) == 0) { ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0); ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1); wlan_mac = mac; } ath79_register_mdio(0, DIR_615C1_MDIO_MASK); ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; ath79_eth0_data.phy_mask = DIR_615C1_LAN_PHYMASK; ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; ath79_eth1_data.phy_mask = DIR_615C1_WAN_PHYMASK; ath79_register_eth(0); ath79_register_eth(1); ath79_register_m25p80(NULL); ath79_register_leds_gpio(-1, ARRAY_SIZE(dir_615c1_leds_gpio), dir_615c1_leds_gpio); ath79_register_gpio_keys_polled(-1, DIR_615C1_KEYS_POLL_INTERVAL, ARRAY_SIZE(dir_615c1_gpio_keys), dir_615c1_gpio_keys); ath79_register_wmac(eeprom, wlan_mac); }
static void __init tew_632brp_setup(void) { const char *config = (char *) KSEG1ADDR(TEW_632BRP_CONFIG_ADDR); u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); u8 mac[6]; u8 *wlan_mac = NULL; if (ath79_nvram_parse_mac_addr(config, TEW_632BRP_CONFIG_SIZE, "lan_mac=", mac) == 0) { ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0); ath79_init_mac(ath79_eth1_data.mac_addr, mac, 1); wlan_mac = mac; } ath79_register_mdio(0, TEW_632BRP_MDIO_MASK); ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; ath79_eth0_data.phy_mask = TEW_632BRP_LAN_PHYMASK; ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; ath79_eth1_data.phy_mask = TEW_632BRP_WAN_PHYMASK; ath79_register_eth(0); ath79_register_eth(1); ath79_register_m25p80(&tew_632brp_flash_data); ath79_register_leds_gpio(-1, ARRAY_SIZE(tew_632brp_leds_gpio), tew_632brp_leds_gpio); ath79_register_gpio_keys_polled(-1, TEW_632BRP_KEYS_POLL_INTERVAL, ARRAY_SIZE(tew_632brp_gpio_keys), tew_632brp_gpio_keys); ath79_register_wmac(eeprom, wlan_mac); }