static void __init easy50712_init(void) { ltq_register_gpio_stp(); ltq_register_nor(&easy50712_flash_data); ltq_register_pci(<q_pci_data); ltq_register_etop(<q_eth_data); ltq_register_tapi(); }
static void __init wbmr_init(void) { #define WMBR_BRN_MAC 0x1fd0024 ltq_add_device_gpio_leds(-1, ARRAY_SIZE(wbmr_gpio_leds), wbmr_gpio_leds); ltq_register_gpio_keys_polled(-1, LTQ_KEYS_POLL_INTERVAL, ARRAY_SIZE(wbmr_gpio_keys), wbmr_gpio_keys); ltq_register_nor(&wbmr_flash_data); ltq_register_pci(<q_pci_data); memcpy_fromio(<q_eth_data.mac.sa_data, (void *)KSEG1ADDR(LTQ_FLASH_START + WMBR_BRN_MAC), 6); ltq_register_etop(<q_eth_data); xway_register_dwc(36); }
static int __init gigasx76x_register_ethernet(void) { u_int8_t addr[6]; int i; char *uboot_env_page; char *mac; uboot_env_page = ioremap(LTQ_FLASH_START + UBOOT_ENV_OFFSET, UBOOT_ENV_SIZE); if (!uboot_env_page) return -ENOMEM; mac = get_uboot_env_var(uboot_env_page, UBOOT_ENV_SIZE, "\0ethaddr=", 9); if (!mac) { goto error_fail; } /* Sanity check the string we're looking at */ for (i = 0; i < 5; i++) { if (*(mac + (i * 3) + 2) != ':') { goto error_fail; } } for (i = 0; i < 6; i++) { int byte; byte = gigasx76x_parse_hex_byte(mac + (i * 3)); if (byte < 0) { goto error_fail; } addr[i] = byte; } iounmap(uboot_env_page); printk("GIGASX76X: Found ethernet MAC address: "); for (i = 0; i < 6; i++) printk("%.2x%s", addr[i], (i < 5) ? ":" : ".\n"); memcpy(<q_eth_data.mac.sa_data, addr, 6); ltq_register_etop(<q_eth_data); return 0; error_fail: iounmap(uboot_env_page); return -EINVAL; }
static void __init p2601hnfx_init(void) { #define P2601HNFX_USB 9 ltq_register_gpio_stp(); ltq_add_device_gpio_leds(-1, ARRAY_SIZE(p2601hnfx_leds_gpio), p2601hnfx_leds_gpio); ltq_register_gpio_buttons(p2601hnfx_gpio_buttons, ARRAY_SIZE(p2601hnfx_gpio_buttons)); ltq_register_nor(&p2601hnfx_flash_data); ltq_register_etop(<q_eth_data); xway_register_dwc(P2601HNFX_USB); // enable the ethernet ports on the SoC // ltq_w32((ltq_r32(LTQ_GPORT_P0_CTL) & ~(1 << 17)) | (1 << 18), LTQ_GPORT_P0_CTL); // ltq_w32((ltq_r32(LTQ_GPORT_P1_CTL) & ~(1 << 17)) | (1 << 18), LTQ_GPORT_P1_CTL); // ltq_w32((ltq_r32(LTQ_GPORT_P2_CTL) & ~(1 << 17)) | (1 << 18), LTQ_GPORT_P2_CTL); }
static void __init easy50601_init(void) { ltq_register_nor(&easy50601_flash_data); ltq_register_etop(<q_eth_data); }