mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-09 16:26:55 +00:00
a58826c34f
Innacomm W3400V6 is an xDSL B/G wireless router based on Broadcom BCM6328 SoC. Hardware: SoC: Broadcom BCM6328 CPU: BMIPS4350 V8.0, 320 MHz, 1 core Flash: SPI-NOR 8MB, MX25L6406E RAM: 64 MB Ethernet: 4x 10/100 Mbps Switch: Integrated Wireless: 802.11b/g, BCM4312 LEDs/Buttons: 9x / 2x Flash instruction, web UI: 1) Set a static IP on your computer compatible with 192.168.1.1, i.e 192.168.1.100 2) Connect the ethernet cable from your computer to the router. 3) Make sure the router is powered off. 4) Press the reset button, don't release it yet! 5) While pressing reset, power on the router. 6) Wait 10 seconds or more. Note: The power LED is red at first then turns to solid green when ready. 8) Release the reset button. 9) Browse to 192.168.1.1 10) Select .bin file. 10) Upgrade the image. 11) Wait for it to reboot. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com> [Ammend commit description, merge patches, DT improvements] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
385 lines
7.8 KiB
Diff
385 lines
7.8 KiB
Diff
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
|
|
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
|
|
@@ -12,6 +12,7 @@
|
|
#include <linux/init.h>
|
|
#include <linux/kernel.h>
|
|
#include <linux/string.h>
|
|
+#include <linux/pci_ids.h>
|
|
#include <asm/addrspace.h>
|
|
#include <bcm63xx_board.h>
|
|
#include <bcm63xx_cpu.h>
|
|
@@ -1614,6 +1615,88 @@ static struct board_info __initdata boar
|
|
.has_ehci0 = 1,
|
|
};
|
|
|
|
+static struct board_info __initdata board_CPVA642 = {
|
|
+ .name = "CPVA642",
|
|
+ .expected_cpu_id = 0x6358,
|
|
+
|
|
+ .has_pci = 1,
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+
|
|
+ .has_enet1 = 1,
|
|
+ .enet1 = {
|
|
+ .has_phy = 1,
|
|
+ .phy_id = 0,
|
|
+ .force_speed_100 = 1,
|
|
+ .force_duplex_full = 1,
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct board_info __initdata board_ct6373_1 = {
|
|
+ .name = "CT6373-1",
|
|
+ .expected_cpu_id = 0x6358,
|
|
+
|
|
+ .has_pci = 1,
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+
|
|
+ .has_enet1 = 1,
|
|
+ .enet1 = {
|
|
+ .has_phy = 1,
|
|
+ .phy_id = 0,
|
|
+ .force_speed_100 = 1,
|
|
+ .force_duplex_full = 1,
|
|
+ },
|
|
+
|
|
+ .use_fallback_sprom = 1,
|
|
+ .fallback_sprom = {
|
|
+ .type = SPROM_BCM4318,
|
|
+ .pci_bus = 0,
|
|
+ .pci_dev = 1,
|
|
+ },
|
|
+};
|
|
+
|
|
+/* D-Link DSL-274xB revison C2/C3 */
|
|
+static struct board_info __initdata board_dsl_274xb_rev_c = {
|
|
+ .name = "AW4139",
|
|
+ .expected_cpu_id = 0x6358,
|
|
+
|
|
+ .has_pci = 1,
|
|
+
|
|
+ .has_enet1 = 1,
|
|
+ .enet1 = {
|
|
+ .has_phy = 1,
|
|
+ .phy_id = 0,
|
|
+ .force_speed_100 = 1,
|
|
+ .force_duplex_full = 1,
|
|
+ },
|
|
+};
|
|
+
|
|
+/* D-Link DVA-G3810BN/TL */
|
|
+static struct board_info __initdata board_DVAG3810BN = {
|
|
+ .name = "DVAG3810BN",
|
|
+ .expected_cpu_id = 0x6358,
|
|
+
|
|
+ .has_pccard = 1,
|
|
+ .has_pci = 1,
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+
|
|
+ .has_enet0 = 1,
|
|
+ .enet0 = {
|
|
+ .has_phy = 1,
|
|
+ .use_internal_phy = 1,
|
|
+ },
|
|
+
|
|
+ .has_enet1 = 1,
|
|
+ .enet1 = {
|
|
+ .has_phy = 1,
|
|
+ .phy_id = 0,
|
|
+ .force_speed_100 = 1,
|
|
+ .force_duplex_full = 1,
|
|
+ },
|
|
+};
|
|
+
|
|
static struct board_info __initdata board_DWVS0 = {
|
|
.name = "DWV-S0",
|
|
.expected_cpu_id = 0x6358,
|
|
@@ -1638,6 +1721,238 @@ static struct board_info __initdata boar
|
|
.has_ohci0 = 1,
|
|
.has_ehci0 = 1,
|
|
};
|
|
+
|
|
+static struct board_info __initdata board_homehub2a = {
|
|
+ .name = "HOMEHUB2A",
|
|
+ .expected_cpu_id = 0x6358,
|
|
+
|
|
+ .has_pci = 1,
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+ .num_usbh_ports = 2,
|
|
+
|
|
+ .has_enet1 = 1,
|
|
+ .enet1 = {
|
|
+ .has_phy = 1,
|
|
+ .phy_id = 0,
|
|
+ .force_speed_100 = 1,
|
|
+ .force_duplex_full = 1,
|
|
+ },
|
|
+
|
|
+ .use_fallback_sprom = 1,
|
|
+ .fallback_sprom = {
|
|
+ .type = SPROM_BCM4322,
|
|
+ .pci_bus = 0,
|
|
+ .pci_dev = 1,
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct board_info __initdata board_HW520 = {
|
|
+ .name = "HW6358GW_B",
|
|
+ .expected_cpu_id = 0x6358,
|
|
+
|
|
+ .has_pci = 1,
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+
|
|
+ .has_enet0 = 1,
|
|
+ .enet0 = {
|
|
+ .has_phy = 1,
|
|
+ .use_internal_phy = 1,
|
|
+ },
|
|
+
|
|
+ .has_enet1 = 1,
|
|
+ .enet1 = {
|
|
+ .has_phy = 1,
|
|
+ .phy_id = 0,
|
|
+ .force_speed_100 = 1,
|
|
+ .force_duplex_full = 1,
|
|
+ },
|
|
+
|
|
+ .use_fallback_sprom = 1,
|
|
+ .fallback_sprom = {
|
|
+ .type = SPROM_BCM4318,
|
|
+ .pci_bus = 0,
|
|
+ .pci_dev = 1,
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct board_info __initdata board_HW553 = {
|
|
+ .name = "HW553",
|
|
+ .expected_cpu_id = 0x6358,
|
|
+
|
|
+ .has_pci = 1,
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+ .num_usbh_ports = 2,
|
|
+
|
|
+ .has_enet1 = 1,
|
|
+ .enet1 = {
|
|
+ .has_phy = 1,
|
|
+ .phy_id = 0,
|
|
+ .force_speed_100 = 1,
|
|
+ .force_duplex_full = 1,
|
|
+ },
|
|
+
|
|
+ .use_fallback_sprom = 1,
|
|
+ .fallback_sprom = {
|
|
+ .type = SPROM_BCM4318,
|
|
+ .pci_bus = 0,
|
|
+ .pci_dev = 1,
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct board_info __initdata board_HW556_A = {
|
|
+ .name = "HW556_A",
|
|
+ .expected_cpu_id = 0x6358,
|
|
+
|
|
+ .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,
|
|
+ .led_active_high = 1,
|
|
+ },
|
|
+ },
|
|
+
|
|
+ .has_enet1 = 1,
|
|
+ .enet1 = {
|
|
+ .has_phy = 1,
|
|
+ .phy_id = 0,
|
|
+ .force_speed_100 = 1,
|
|
+ .force_duplex_full = 1,
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct board_info __initdata board_HW556_B = {
|
|
+ .name = "HW556_B",
|
|
+ .expected_cpu_id = 0x6358,
|
|
+
|
|
+ .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,
|
|
+ .led_active_high = 1,
|
|
+ },
|
|
+ },
|
|
+
|
|
+ .has_enet1 = 1,
|
|
+ .enet1 = {
|
|
+ .has_phy = 1,
|
|
+ .phy_id = 0,
|
|
+ .force_speed_100 = 1,
|
|
+ .force_duplex_full = 1,
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct board_info __initdata board_HW556_C = {
|
|
+ .name = "HW556_C",
|
|
+ .expected_cpu_id = 0x6358,
|
|
+
|
|
+ .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,
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct board_info __initdata board_nb4_ser_r0 = {
|
|
+ .name = "NB4-SER-r0",
|
|
+ .expected_cpu_id = 0x6358,
|
|
+
|
|
+ .has_pccard = 1,
|
|
+ .has_pci = 1,
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+ .num_usbh_ports = 2,
|
|
+
|
|
+ .has_enet0 = 1,
|
|
+ .enet0 = {
|
|
+ .has_phy = 1,
|
|
+ .use_internal_phy = 1,
|
|
+ },
|
|
+
|
|
+ .has_enet1 = 1,
|
|
+ .enet1 = {
|
|
+ .has_phy = 1,
|
|
+ .phy_id = 0,
|
|
+ .force_speed_100 = 1,
|
|
+ .force_duplex_full = 1,
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct board_info __initdata board_nb4_fxc_r1 = {
|
|
+ .name = "NB4-FXC-r1",
|
|
+ .expected_cpu_id = 0x6358,
|
|
+
|
|
+ .has_pccard = 1,
|
|
+ .has_pci = 1,
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+ .num_usbh_ports = 2,
|
|
+
|
|
+ .has_enet0 = 1,
|
|
+ .enet0 = {
|
|
+ .has_phy = 1,
|
|
+ .use_internal_phy = 1,
|
|
+ },
|
|
+
|
|
+ .has_enet1 = 1,
|
|
+ .enet1 = {
|
|
+ .has_phy = 1,
|
|
+ .phy_id = 0,
|
|
+ .force_speed_100 = 1,
|
|
+ .force_duplex_full = 1,
|
|
+ },
|
|
+};
|
|
+
|
|
+ /* T-Home Speedport W 303V Typ B */
|
|
+static struct board_info __initdata board_spw303v = {
|
|
+ .name = "96358-502V",
|
|
+ .expected_cpu_id = 0x6358,
|
|
+
|
|
+ .has_pci = 1,
|
|
+
|
|
+ .has_enet0 = 1,
|
|
+ .enet0 = {
|
|
+ .has_phy = 1,
|
|
+ .use_internal_phy = 1,
|
|
+ },
|
|
+};
|
|
#endif /* CONFIG_BCM63XX_CPU_6358 */
|
|
|
|
/*
|
|
@@ -1708,7 +2023,20 @@ static const struct board_info __initcon
|
|
&board_96358vw,
|
|
&board_96358vw2,
|
|
&board_AGPFS0,
|
|
+ &board_CPVA642,
|
|
+ &board_ct6373_1,
|
|
+ &board_dsl_274xb_rev_c,
|
|
+ &board_DVAG3810BN,
|
|
&board_DWVS0,
|
|
+ &board_homehub2a,
|
|
+ &board_HW520,
|
|
+ &board_HW553,
|
|
+ &board_HW556_A,
|
|
+ &board_HW556_B,
|
|
+ &board_HW556_C,
|
|
+ &board_nb4_ser_r0,
|
|
+ &board_nb4_fxc_r1,
|
|
+ &board_spw303v,
|
|
#endif /* CONFIG_BCM63XX_CPU_6358 */
|
|
};
|
|
|
|
@@ -1785,11 +2113,24 @@ static struct of_device_id const bcm963x
|
|
{ .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
|
|
{ .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
|
|
{ .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
|
|
+ { .compatible = "bt,home-hub-2-a", .data = &board_homehub2a, },
|
|
+ { .compatible = "comtrend,ct-6373", .data = &board_ct6373_1, },
|
|
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
|
|
+ { .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
|
|
+ { .compatible = "d-link,dva-g3810bn-tl", .data = &board_DVAG3810BN, },
|
|
+ { .compatible = "huawei,echolife-hg520v", .data = &board_HW520, },
|
|
+ { .compatible = "huawei,echolife-hg553", .data = &board_HW553, },
|
|
+ { .compatible = "huawei,echolife-hg556a-a", .data = &board_HW556_A, },
|
|
+ { .compatible = "huawei,echolife-hg556a-b", .data = &board_HW556_B, },
|
|
+ { .compatible = "huawei,echolife-hg556a-c", .data = &board_HW556_C, },
|
|
{ .compatible = "pirelli,a226g", .data = &board_DWVS0, },
|
|
{ .compatible = "pirelli,a226m", .data = &board_DWVS0, },
|
|
{ .compatible = "pirelli,a226m-fwb", .data = &board_DWVS0, },
|
|
{ .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
|
|
+ { .compatible = "sfr,neufbox-4-sercomm-r0", .data = &board_nb4_ser_r0, },
|
|
+ { .compatible = "sfr,neufbox-4-foxconn-r1", .data = &board_nb4_fxc_r1, },
|
|
+ { .compatible = "t-com,speedport-w-303v", .data = &board_spw303v, },
|
|
+ { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
|
|
#endif /* CONFIG_BCM63XX_CPU_6358 */
|
|
#ifdef CONFIG_BCM63XX_CPU_6362
|
|
#endif /* CONFIG_BCM63XX_CPU_6362 */
|