mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 00:41:17 +00:00
c4ab1b7dd9
At the moment, bcm63xx creates one patch for each board to add to board_bcm963xx.c. While this is not really helpful to get an overview in the first place, it is particularly painful if you want to change something for an early file and have to refresh all the later patches accordingly. Since it does not look like these board patches are upstreamed either, this commit consolidates all board additions into one patch per "board". By this, both adding and editing boards should become much simpler, and we drop about 1300 lines of "code" from patches as well. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
308 lines
5.7 KiB
Diff
308 lines
5.7 KiB
Diff
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
|
|
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
|
|
@@ -2542,6 +2542,273 @@ static struct board_info __initdata boar
|
|
#endif /* CONFIG_BCM63XX_CPU_6368 */
|
|
|
|
/*
|
|
+ * known 63268/63269 boards
|
|
+ */
|
|
+#ifdef CONFIG_BCM63XX_CPU_63268
|
|
+static struct board_info __initdata board_963268bu_p300 = {
|
|
+ .name = "963268BU_P300",
|
|
+ .expected_cpu_id = 0x63268,
|
|
+
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+ .num_usbh_ports = 1,
|
|
+
|
|
+ .has_usbd = 1,
|
|
+ .usbd = {
|
|
+ .use_fullspeed = 0,
|
|
+ .port_no = 0,
|
|
+ },
|
|
+
|
|
+ .has_enetsw = 1,
|
|
+ .enetsw = {
|
|
+ .used_ports = {
|
|
+ [0] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 17,
|
|
+ .name = "FE1",
|
|
+ },
|
|
+ [3] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 4,
|
|
+ .name = "GbE2",
|
|
+ },
|
|
+ [4] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 0,
|
|
+ .name = "GbE3",
|
|
+ .mii_override = 1,
|
|
+ .timing_sel = 1,
|
|
+ },
|
|
+ [5] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 1,
|
|
+ .name = "GbE1",
|
|
+ .mii_override = 1,
|
|
+ .timing_sel = 1,
|
|
+ },
|
|
+ [6] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 24,
|
|
+ .name = "GbE4",
|
|
+ .mii_override = 1,
|
|
+ .timing_sel = 1,
|
|
+ },
|
|
+ [7] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 25,
|
|
+ .name = "GbE5",
|
|
+ .mii_override = 1,
|
|
+ .timing_sel = 1,
|
|
+ },
|
|
+ },
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct board_info __initdata board_963269bhr = {
|
|
+ .name = "963269BHR",
|
|
+ .expected_cpu_id = 0x63268,
|
|
+
|
|
+ .has_pci = 1,
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+
|
|
+ .has_enetsw = 1,
|
|
+ .enetsw = {
|
|
+ .used_ports = {
|
|
+ [0] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 1,
|
|
+ .name = "port1",
|
|
+ },
|
|
+ [1] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 2,
|
|
+ .name = "port2",
|
|
+ },
|
|
+ [2] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 3,
|
|
+ .name = "port3",
|
|
+ },
|
|
+ [3] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 4,
|
|
+ .name = "port4",
|
|
+ },
|
|
+ },
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct board_info __initdata board_BSKYB_63168 = {
|
|
+ .name = "BSKYB_63168",
|
|
+ .expected_cpu_id = 0x63268,
|
|
+
|
|
+ .has_pci = 1,
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+ .num_usbh_ports = 2,
|
|
+
|
|
+ .has_enetsw = 1,
|
|
+ .enetsw = {
|
|
+ .used_ports = {
|
|
+ [0] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 1,
|
|
+ .name = "Port 1",
|
|
+ },
|
|
+ [1] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 2,
|
|
+ .name = "Port 2",
|
|
+ },
|
|
+ [2] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 3,
|
|
+ .name = "Port 3",
|
|
+ },
|
|
+ [3] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 4,
|
|
+ .name = "Port 4",
|
|
+ },
|
|
+ },
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct board_info __initdata board_H500s = {
|
|
+ .name = "BXK00C-1.6",
|
|
+ .expected_cpu_id = 0x63268,
|
|
+
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+ .num_usbh_ports = 1,
|
|
+
|
|
+ .has_enetsw = 1,
|
|
+ .enetsw = {
|
|
+ .used_ports = {
|
|
+ [3] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 12,
|
|
+ .name = "WAN",
|
|
+ },
|
|
+ [4] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 0,
|
|
+ .bypass_link = 1,
|
|
+ .force_speed = 1000,
|
|
+ .force_duplex_full = 1,
|
|
+ .mii_override = 1,
|
|
+ .timing_sel = 1,
|
|
+ .name = "RGMII",
|
|
+ },
|
|
+ },
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct board_info __initdata board_VG8050 = {
|
|
+ .name = "963169P-1861N5",
|
|
+ .expected_cpu_id = 0x63268,
|
|
+
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+ .num_usbh_ports = 2,
|
|
+
|
|
+ .has_enetsw = 1,
|
|
+ .enetsw = {
|
|
+ .used_ports = {
|
|
+ [6] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 0xff,
|
|
+ .bypass_link = 1,
|
|
+ .force_speed = 1000,
|
|
+ .force_duplex_full = 1,
|
|
+ .mii_override = 1,
|
|
+ .timing_sel = 1,
|
|
+ .name = "RGMII",
|
|
+ },
|
|
+ },
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct board_info __initdata board_VR3032u = {
|
|
+ .name = "963168M-1841N1",
|
|
+ .expected_cpu_id = 0x63268,
|
|
+
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+ .num_usbh_ports = 1,
|
|
+
|
|
+ .has_enetsw = 1,
|
|
+ .enetsw = {
|
|
+ .used_ports = {
|
|
+ [0] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 1,
|
|
+ .name = "LAN2",
|
|
+ },
|
|
+ [1] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 2,
|
|
+ .name = "LAN3",
|
|
+ },
|
|
+ [2] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 3,
|
|
+ .name = "LAN4",
|
|
+ },
|
|
+ [3] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 4,
|
|
+ .name = "LAN1",
|
|
+ },
|
|
+ },
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct board_info __initdata board_vw6339gu = {
|
|
+ .name = "VW6339GU",
|
|
+ .expected_cpu_id = 0x63268,
|
|
+
|
|
+ .has_ohci0 = 1,
|
|
+ .has_ehci0 = 1,
|
|
+ .num_usbh_ports = 1,
|
|
+
|
|
+ .has_enetsw = 1,
|
|
+ .enetsw = {
|
|
+ .used_ports = {
|
|
+ [0] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 1,
|
|
+ .name = "LAN2",
|
|
+ },
|
|
+ [1] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 2,
|
|
+ .name = "LAN3",
|
|
+ },
|
|
+ [2] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 3,
|
|
+ .name = "LAN4",
|
|
+ },
|
|
+ [3] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 4,
|
|
+ .name = "LAN1",
|
|
+ },
|
|
+ [4] = {
|
|
+ .used = 1,
|
|
+ .phy_id = 7,
|
|
+ .name = "WAN",
|
|
+ .mii_override = 1,
|
|
+ .timing_sel = 1,
|
|
+ },
|
|
+ },
|
|
+ },
|
|
+};
|
|
+#endif /* CONFIG_BCM63XX_CPU_63268 */
|
|
+
|
|
+/*
|
|
* all boards
|
|
*/
|
|
static const struct board_info __initconst *bcm963xx_boards[] = {
|
|
@@ -2642,6 +2909,15 @@ static const struct board_info __initcon
|
|
&board_VR3026e,
|
|
&board_WAP5813n,
|
|
#endif /* CONFIG_BCM63XX_CPU_6368 */
|
|
+#ifdef CONFIG_BCM63XX_CPU_63268
|
|
+ &board_963268bu_p300,
|
|
+ &board_963269bhr,
|
|
+ &board_BSKYB_63168,
|
|
+ &board_H500s,
|
|
+ &board_VG8050,
|
|
+ &board_VR3032u,
|
|
+ &board_vw6339gu,
|
|
+#endif /* CONFIG_BCM63XX_CPU_63268 */
|
|
};
|
|
|
|
static struct of_device_id const bcm963xx_boards_dt[] = {
|
|
@@ -2754,6 +3030,14 @@ static struct of_device_id const bcm963x
|
|
{ .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
|
|
#endif /* CONFIG_BCM63XX_CPU_6368 */
|
|
#ifdef CONFIG_BCM63XX_CPU_63268
|
|
+ { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, },
|
|
+ { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
|
|
+ { .compatible = "comtrend,vg-8050", .data = &board_VG8050, },
|
|
+ { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, },
|
|
+ { .compatible = "inteno,vg50", .data = &board_vw6339gu, },
|
|
+ { .compatible = "sercomm,h500-s-lowi", .data = &board_H500s, },
|
|
+ { .compatible = "sercomm,h500-s-vfes", .data = &board_H500s, },
|
|
+ { .compatible = "sky,sr102", .data = &board_BSKYB_63168, },
|
|
#endif /* CONFIG_BCM63XX_CPU_63268 */
|
|
#endif /* CONFIG_OF */
|
|
{ },
|