--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -2680,6 +2681,405 @@ static struct board_info __initdata boar }, }; +static struct board_info __initdata board_HW556_C = { + .name = "HW556_C", + .of_board_id = "huawei,hg556a-c", + .expected_cpu_id = 0x6358, + + .has_uart0 = 1, + .has_pci = 1, + .has_ohci0 = 1, + .has_ehci0 = 1, + .num_usbh_ports = 2, + + .has_caldata = 1, + .caldata = { + { + .vendor = PCI_VENDOR_ID_RALINK, + .caldata_offset = 0xeffe00, + .slot = 1, + .eeprom = "rt2x00.eeprom", + }, + }, + + .has_enet1 = 1, + .enet1 = { + .has_phy = 1, + .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, + + .leds = { + { + .name = "HW556:green:lan1", + .gpio = 0, + .active_low = 1, + }, + { + .name = "HW556:green:lan2", + .gpio = 1, + .active_low = 1, + }, + { + .name = "HW556:red:dsl", + .gpio = 2, + .active_low = 1, + }, + { + .name = "HW556:red:power", + .gpio = 3, + .active_low = 1, + .default_trigger = "default-on", + }, + { + .name = "HW556:red:message", + .gpio = 12, + .active_low = 1, + }, + { + .name = "HW556:red:lan1", + .gpio = 13, + .active_low = 1, + }, + { + .name = "HW556:red:hspa", + .gpio = 15, + .active_low = 1, + }, + { + .name = "HW556:red:lan2", + .gpio = 22, + .active_low = 1, + }, + { + .name = "HW556:green:lan3", + .gpio = 23, + .active_low = 1, + }, + { + .name = "HW556:red:lan3", + .gpio = 26, + .active_low = 1, + }, + { + .name = "HW556:green:lan4", + .gpio = 27, + .active_low = 1, + }, + { + .name = "HW556:red:lan4", + .gpio = 28, + .active_low = 1, + }, + }, + + .buttons = { + { + .desc = "help", + .gpio = 8, + .active_low = 1, + .type = EV_KEY, + .code = KEY_HELP, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + }, + { + .desc = "wlan", + .gpio = 9, + .active_low = 1, + .type = EV_KEY, + .code = KEY_WLAN, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + }, + { + .desc = "restart", + .gpio = 10, + .active_low = 1, + .type = EV_KEY, + .code = KEY_RESTART, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + }, + { + .desc = "reset", + .gpio = 11, + .active_low = 1, + .type = EV_KEY, + .code = KEY_CONFIG, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + }, + }, +}; +static struct board_info __initdata board_HW556_A = { + .name = "HW556_A", + .of_board_id = "huawei,hg556a-a", + .expected_cpu_id = 0x6358, + + .has_uart0 = 1, + .has_pci = 1, + .has_ohci0 = 1, + .has_ehci0 = 1, + .num_usbh_ports = 2, + + .has_caldata = 1, + .caldata = { + { + .vendor = PCI_VENDOR_ID_ATHEROS, + .caldata_offset = 0xf7e000, + .slot = 1, + .endian_check = 1, + .led_pin = 2, + }, + }, + + .has_enet1 = 1, + .enet1 = { + .has_phy = 1, + .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, + + .leds = { + { + .name = "HW556:red:message", + .gpio = 0, + .active_low = 1, + }, + { + .name = "HW556:red:hspa", + .gpio = 1, + .active_low = 1, + }, + { + .name = "HW556:red:dsl", + .gpio = 2, + .active_low = 1, + }, + { + .name = "HW556:red:power", + .gpio = 3, + .active_low = 1, + .default_trigger = "default-on", + }, + { + .name = "HW556:red:all", + .gpio = 6, + .active_low = 1, + .default_trigger = "default-on", + }, + { + .name = "HW556:green:lan1", + .gpio = 12, + .active_low = 1, + }, + { + .name = "HW556:red:lan1", + .gpio = 13, + .active_low = 1, + }, + { + .name = "HW556:green:lan2", + .gpio = 15, + .active_low = 1, + }, + { + .name = "HW556:red:lan2", + .gpio = 22, + .active_low = 1, + }, + { + .name = "HW556:green:lan3", + .gpio = 23, + .active_low = 1, + }, + { + .name = "HW556:red:lan3", + .gpio = 26, + .active_low = 1, + }, + { + .name = "HW556:green:lan4", + .gpio = 27, + .active_low = 1, + }, + { + .name = "HW556:red:lan4", + .gpio = 28, + .active_low = 1, + }, + }, + + .buttons = { + { + .desc = "help", + .gpio = 8, + .active_low = 1, + .type = EV_KEY, + .code = KEY_HELP, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + }, + { + .desc = "wlan", + .gpio = 9, + .active_low = 1, + .type = EV_KEY, + .code = KEY_WLAN, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + }, + { + .desc = "restart", + .gpio = 10, + .active_low = 1, + .type = EV_KEY, + .code = KEY_RESTART, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + }, + { + .desc = "reset", + .gpio = 11, + .active_low = 1, + .type = EV_KEY, + .code = KEY_CONFIG, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + }, + }, +}; +static struct board_info __initdata board_HW556_B = { + .name = "HW556_B", + .of_board_id = "huawei,hg556a-b", + .expected_cpu_id = 0x6358, + + .has_uart0 = 1, + .has_pci = 1, + .has_ohci0 = 1, + .has_ehci0 = 1, + .num_usbh_ports = 2, + + .has_caldata = 1, + .caldata = { + { + .vendor = PCI_VENDOR_ID_ATHEROS, + .caldata_offset = 0xefe000, + .slot = 1, + .endian_check = 1, + .led_pin = 2, + }, + }, + + .has_enet1 = 1, + .enet1 = { + .has_phy = 1, + .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, + + .leds = { + { + .name = "HW556:red:message", + .gpio = 0, + .active_low = 1, + }, + { + .name = "HW556:red:hspa", + .gpio = 1, + .active_low = 1, + }, + { + .name = "HW556:red:dsl", + .gpio = 2, + .active_low = 1, + }, + { + .name = "HW556:red:power", + .gpio = 3, + .active_low = 1, + .default_trigger = "default-on", + }, + { + .name = "HW556:red:all", + .gpio = 6, + .active_low = 1, + .default_trigger = "default-on", + }, + { + .name = "HW556:green:lan1", + .gpio = 12, + .active_low = 1, + }, + { + .name = "HW556:red:lan1", + .gpio = 13, + .active_low = 1, + }, + { + .name = "HW556:green:lan2", + .gpio = 15, + .active_low = 1, + }, + { + .name = "HW556:red:lan2", + .gpio = 22, + .active_low = 1, + }, + { + .name = "HW556:green:lan3", + .gpio = 23, + .active_low = 1, + }, + { + .name = "HW556:red:lan3", + .gpio = 26, + .active_low = 1, + }, + { + .name = "HW556:green:lan4", + .gpio = 27, + .active_low = 1, + }, + { + .name = "HW556:red:lan4", + .gpio = 28, + .active_low = 1, + }, + }, + + .buttons = { + { + .desc = "help", + .gpio = 8, + .active_low = 1, + .type = EV_KEY, + .code = KEY_HELP, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + }, + { + .desc = "wlan", + .gpio = 9, + .active_low = 1, + .type = EV_KEY, + .code = KEY_WLAN, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + }, + { + .desc = "restart", + .gpio = 10, + .active_low = 1, + .type = EV_KEY, + .code = KEY_RESTART, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + }, + { + .desc = "reset", + .gpio = 11, + .active_low = 1, + .type = EV_KEY, + .code = KEY_CONFIG, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + }, + }, +}; + /* T-Home Speedport W 303V Typ B */ static struct board_info __initdata board_spw303v = { .name = "96358-502V", @@ -3118,6 +3518,9 @@ static const struct board_info __initcon &board_nb4_fxc_r1, &board_ct6373_1, &board_HW553, + &board_HW556_A, + &board_HW556_B, + &board_HW556_C, &board_spw303v, &board_DVAG3810BN, #endif