openwrt/target/linux/bcm63xx/patches-5.10/519-board_bcm63268.patch
Álvaro Fernández Rojas f323dec4f8 bcm63xx: add kernel 5.10 support
Runtime-tested on Comtrend AR-5387un.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-17 20:40:16 +01:00

308 lines
5.7 KiB
Diff

--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2697,6 +2697,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[] = {
@@ -2801,6 +3068,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[] = {
@@ -2918,6 +3194,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 */
{ },