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>
This commit is contained in:
parent
6c9e2d4a68
commit
c7b4b4cee2
8 changed files with 217 additions and 0 deletions
|
@ -15,6 +15,9 @@ a4001n1)
|
|||
a4001n)
|
||||
ucidef_set_led_usbdev "usb" "USB" "A4001N:green:usb" "1-1"
|
||||
;;
|
||||
ar-5315u)
|
||||
ucidef_set_led_usbdev "usb" "USB" "AR-5315u:green:usb" "1-1"
|
||||
;;
|
||||
av4202n)
|
||||
ucidef_set_led_netdev "wlan0" "WLAN" "AV4202N:blue:wifi" "wlan0"
|
||||
;;
|
||||
|
|
|
@ -98,6 +98,7 @@ vr-3026e)
|
|||
"0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "8t@eth0"
|
||||
;;
|
||||
|
||||
ar-5315u |\
|
||||
vh4032n)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "8t@eth0"
|
||||
|
|
|
@ -12,6 +12,9 @@ set_state() {
|
|||
a4001n)
|
||||
status_led="A4001N:green:power"
|
||||
;;
|
||||
ar-5315u)
|
||||
status_led="AR-5315u:green:power"
|
||||
;;
|
||||
ar-5381u)
|
||||
status_led="AR-5381u:green:power"
|
||||
;;
|
||||
|
|
|
@ -13,6 +13,7 @@ do_fixcrc() {
|
|||
case "$(board_name)" in
|
||||
a4001n |\
|
||||
a4001n1 |\
|
||||
ar-5315u |\
|
||||
ar-5381u |\
|
||||
ar-5387un |\
|
||||
bcm96328avng |\
|
||||
|
|
|
@ -87,6 +87,9 @@ brcm63xx_dt_detect() {
|
|||
"BT Voyager V2500V")
|
||||
board_name="v2500v_bb"
|
||||
;;
|
||||
"Comtrend AR-5315u")
|
||||
board_name="ar-5315u"
|
||||
;;
|
||||
"Comtrend AR-5381u")
|
||||
board_name="ar-5381u"
|
||||
;;
|
||||
|
|
106
target/linux/brcm63xx/dts/ar-5315u.dts
Normal file
106
target/linux/brcm63xx/dts/ar-5315u.dts
Normal file
|
@ -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>;
|
||||
};
|
|
@ -357,6 +357,19 @@ endef
|
|||
TARGET_DEVICES += BTV2500V
|
||||
|
||||
### Comtrend ###
|
||||
define Device/AR5315u
|
||||
$(Device/bcm63xx)
|
||||
IMAGES += sysupgrade.bin
|
||||
DEVICE_TITLE := Comtrend AR-5315u
|
||||
DEVICE_DTS := ar-5315u
|
||||
CFE_BOARD_ID := 96318A-1441N1
|
||||
CFE_CHIP_ID := 6318
|
||||
FLASH_MB := 16
|
||||
DEVICE_PACKAGES := \
|
||||
$(B43_PACKAGES) $(USB2_PACKAGES)
|
||||
endef
|
||||
TARGET_DEVICES += AR5315u
|
||||
|
||||
define Device/AR5381u
|
||||
$(Device/bcm63xx)
|
||||
IMAGES += sysupgrade.bin
|
||||
|
|
87
target/linux/brcm63xx/patches-4.4/579-board_AR-5315u.patch
Normal file
87
target/linux/brcm63xx/patches-4.4/579-board_AR-5315u.patch
Normal file
|
@ -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 a new issue