brcm63xx: add linux 4.4 support
[openwrt.git] / target / linux / brcm63xx / patches-4.4 / 534-board_hw556.patch
diff --git a/target/linux/brcm63xx/patches-4.4/534-board_hw556.patch b/target/linux/brcm63xx/patches-4.4/534-board_hw556.patch
new file mode 100644 (file)
index 0000000..666343c
--- /dev/null
@@ -0,0 +1,124 @@
+--- 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 <linux/platform_device.h>
+ #include <linux/rtl8367.h>
+ #include <asm/addrspace.h>
+@@ -1478,6 +1479,93 @@ static struct board_info __initdata boar
+       },
+ };
++static struct board_info __initdata board_HW556_C = {
++      .name                                   = "HW556_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,
++      },
++};
++static struct board_info __initdata board_HW556_A = {
++      .name                                   = "HW556_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,
++      },
++};
++static struct board_info __initdata board_HW556_B = {
++      .name                                   = "HW556_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,
++      },
++};
++
+  /* T-Home Speedport W 303V Typ B */
+ static struct board_info __initdata board_spw303v = {
+       .name                   = "96358-502V",
+@@ -1739,6 +1827,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
+@@ -1811,6 +1902,9 @@ static struct of_device_id const bcm963x
+       { .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
+       { .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
+       { .compatible = "huawei,hg553", .data = &board_HW553, },
++      { .compatible = "huawei,hg556a-a", .data = &board_HW556_A, },
++      { .compatible = "huawei,hg556a-b", .data = &board_HW556_B, },
++      { .compatible = "huawei,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, },