brcm63xx: Add Comtrend AR-5315u support
Add support for the Comtrend AR-5315u router This a BCM6318 based board, 64 MB RAM, 16 MB SPI flash, with an onboard BCM43217 wifi, 4 ethernet ports and 1 USB host port Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com> [jonas.gorski: refreshed patch] Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>v19.07.3_mercusys_ac12_duma
parent
6c9e2d4a68
commit
c7b4b4cee2
@ -0,0 +1,106 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "bcm6318.dtsi"
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
model = "Comtrend AR-5315u";
|
||||
compatible = "comtrend,ar-5315u", "brcm,bcm6318";
|
||||
|
||||
chosen {
|
||||
bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
|
||||
};
|
||||
|
||||
gpio-keys-polled {
|
||||
compatible = "gpio-keys-polled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
poll-interval = <20>;
|
||||
debounce-interval = <60>;
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
gpios = <&pinctrl 3 1>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&pinctrl 33 1>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio-leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
wps_green {
|
||||
label = "AR-5315u:green:wps";
|
||||
gpios = <&pinctrl 0 1>;
|
||||
};
|
||||
power_green {
|
||||
label = "AR-5315u:green:power";
|
||||
gpios = <&pinctrl 1 1>;
|
||||
default-state = "on";
|
||||
};
|
||||
usb_green {
|
||||
label = "AR-5315u:green:usb";
|
||||
gpios = <&pinctrl 2 1>;
|
||||
};
|
||||
inet_green {
|
||||
label = "AR-5315u:green:inet";
|
||||
gpios = <&pinctrl 8 1>;
|
||||
};
|
||||
inet_red {
|
||||
label = "AR-5315u:red:inet";
|
||||
gpios = <&pinctrl 9 1>;
|
||||
};
|
||||
dsl_green {
|
||||
label = "AR-5315u:green:dsl";
|
||||
gpios = <&pinctrl 10 1>;
|
||||
};
|
||||
power_red {
|
||||
label = "AR-5315u:red:power";
|
||||
gpios = <&pinctrl 11 1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&hsspi {
|
||||
status = "ok";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <62500000>;
|
||||
spi-tx-bus-width = <2>;
|
||||
spi-rx-bus-width = <2>;
|
||||
reg = <0>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
linux,part-probe = "bcm63xxpart";
|
||||
|
||||
cfe@0 {
|
||||
reg = <0x000000 0x010000>;
|
||||
label = "cfe";
|
||||
read-only;
|
||||
};
|
||||
|
||||
linux@10000 {
|
||||
reg = <0x010000 0xfe0000>;
|
||||
label = "linux";
|
||||
};
|
||||
|
||||
nvram@ff0000 {
|
||||
reg = <0xff0000 0x010000>;
|
||||
label = "nvram";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ephy0_act_led &pinctrl_ephy1_act_led
|
||||
&pinctrl_ephy2_act_led &pinctrl_ephy3_act_led>;
|
||||
};
|
@ -0,0 +1,87 @@
|
||||
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
|
||||
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
|
||||
@@ -148,6 +148,68 @@ static struct board_info __initdata boar
|
||||
},
|
||||
};
|
||||
|
||||
+static struct sprom_fixup __initdata ar5315u_fixups[] = {
|
||||
+ { .offset = 6, .value = 0x1c00 },
|
||||
+ { .offset = 65, .value = 0x1255 },
|
||||
+ { .offset = 97, .value = 0xfe55 },
|
||||
+ { .offset = 98, .value = 0x171d },
|
||||
+ { .offset = 99, .value = 0xfa42 },
|
||||
+ { .offset = 113, .value = 0xfeb7 },
|
||||
+ { .offset = 114, .value = 0x18cd },
|
||||
+ { .offset = 115, .value = 0xfa4f },
|
||||
+ { .offset = 162, .value = 0x6444 },
|
||||
+ { .offset = 170, .value = 0x6444 },
|
||||
+ { .offset = 172, .value = 0x6444 },
|
||||
+};
|
||||
+
|
||||
+static struct board_info __initdata board_AR5315u = {
|
||||
+ .name = "96318A-1441N1",
|
||||
+ .expected_cpu_id = 0x6318,
|
||||
+
|
||||
+ .has_uart0 = 1,
|
||||
+ .has_pci = 1,
|
||||
+ .use_fallback_sprom = 1,
|
||||
+
|
||||
+ .has_enetsw = 1,
|
||||
+
|
||||
+ .has_ohci0 = 1,
|
||||
+ .has_ehci0 = 1,
|
||||
+ .num_usbh_ports = 1,
|
||||
+
|
||||
+ .enetsw = {
|
||||
+ .used_ports = {
|
||||
+ [0] = {
|
||||
+ .used = 1,
|
||||
+ .phy_id = 1,
|
||||
+ .name = "LAN4",
|
||||
+ },
|
||||
+ [1] = {
|
||||
+ .used = 1,
|
||||
+ .phy_id = 2,
|
||||
+ .name = "LAN3",
|
||||
+ },
|
||||
+ [2] = {
|
||||
+ .used = 1,
|
||||
+ .phy_id = 3,
|
||||
+ .name = "LAN2",
|
||||
+ },
|
||||
+ [3] = {
|
||||
+ .used = 1,
|
||||
+ .phy_id = 4,
|
||||
+ .name = "LAN1",
|
||||
+ },
|
||||
+ },
|
||||
+ },
|
||||
+
|
||||
+ .fallback_sprom = {
|
||||
+ .type = SPROM_BCM43217,
|
||||
+ .pci_bus = 1,
|
||||
+ .pci_dev = 0,
|
||||
+ .board_fixups = ar5315u_fixups,
|
||||
+ .num_board_fixups = ARRAY_SIZE(ar5315u_fixups),
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
static struct sprom_fixup __initdata dsl2751b_e1_fixups[] = {
|
||||
{ .offset = 96, .value = 0x2046 },
|
||||
{ .offset = 97, .value = 0xfe9d },
|
||||
@@ -2616,6 +2678,7 @@ static const struct board_info __initcon
|
||||
#ifdef CONFIG_BCM63XX_CPU_6318
|
||||
&board_96318ref,
|
||||
&board_96318ref_p300,
|
||||
+ &board_AR5315u,
|
||||
&board_dsl_2751b_d1,
|
||||
&board_FAST2704N,
|
||||
#endif
|
||||
@@ -2721,6 +2784,7 @@ static struct of_device_id const bcm963x
|
||||
#ifdef CONFIG_BCM63XX_CPU_6318
|
||||
{ .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
|
||||
{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
|
||||
+ { .compatible = "comtrend,ar-5315u", .data = &board_AR5315u, },
|
||||
{ .compatible = "d-link,dsl-275xb-d", .data = &board_dsl_2751b_d1, },
|
||||
{ .compatible = "sagem,f@st2704n", .data = &board_FAST2704N, },
|
||||
#endif
|
Loading…
Reference in New Issue