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 <dgcb...@gmail.com> diff --git a/target/linux/brcm63xx/base-files/etc/board.d/01_leds b/target/linux/brcm63xx/base-files/etc/board.d/01_leds index 61f685e..959b1ca 100755 --- a/target/linux/brcm63xx/base-files/etc/board.d/01_leds +++ b/target/linux/brcm63xx/base-files/etc/board.d/01_leds @@ -16,6 +16,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" ;; diff --git a/target/linux/brcm63xx/base-files/etc/board.d/02_network b/target/linux/brcm63xx/base-files/etc/board.d/02_network index f703dfd..2b6dfe8 100755 --- a/target/linux/brcm63xx/base-files/etc/board.d/02_network +++ b/target/linux/brcm63xx/base-files/etc/board.d/02_network @@ -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" diff --git a/target/linux/brcm63xx/base-files/etc/diag.sh b/target/linux/brcm63xx/base-files/etc/diag.sh index df1d616..8c74efa 100644 --- a/target/linux/brcm63xx/base-files/etc/diag.sh +++ b/target/linux/brcm63xx/base-files/etc/diag.sh @@ -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" ;; diff --git a/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc index 650db9d..d05926b 100644 --- a/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc +++ b/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc @@ -13,6 +13,7 @@ do_fixcrc() { case "$(brcm63xx_board_name)" in a4001n |\ a4001n1 |\ + ar-5315u |\ ar-5381u |\ ar-5387un |\ bcm96328avng |\ diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh index 4fe33eb..5e75042 100755 --- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh +++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh @@ -84,6 +84,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" ;; diff --git a/target/linux/brcm63xx/dts/ar-5315u.dts b/target/linux/brcm63xx/dts/ar-5315u.dts new file mode 100644 index 0000000..2ff067a --- /dev/null +++ b/target/linux/brcm63xx/dts/ar-5315u.dts @@ -0,0 +1,67 @@ +/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 = <&gpio0 3 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + reset { + label = "reset"; + gpios = <&gpio1 1 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wps_green { + label = "AR-5315u:green:wps"; + gpios = <&gpio0 0 1>; + }; + power_green { + label = "AR-5315u:green:power"; + gpios = <&gpio0 1 1>; + default-state = "on"; + }; + usb_green { + label = "AR-5315u:green:usb"; + gpios = <&gpio0 2 1>; + }; + inet_green { + label = "AR-5315u:green:inet"; + gpios = <&gpio0 8 1>; + }; + inet_red { + label = "AR-5315u:red:inet"; + gpios = <&gpio0 9 1>; + }; + dsl_green { + label = "AR-5315u:green:dsl"; + gpios = <&gpio0 10 1>; + }; + power_red { + label = "AR-5315u:red:power"; + gpios = <&gpio0 11 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/image/bcm63xx.mk b/target/linux/brcm63xx/image/bcm63xx.mk index 969d75f..8fa28e5 100644 --- a/target/linux/brcm63xx/image/bcm63xx.mk +++ b/target/linux/brcm63xx/image/bcm63xx.mk @@ -341,6 +341,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 diff --git a/target/linux/brcm63xx/patches-4.4/578-board_AR-5315u.patch b/target/linux/brcm63xx/patches-4.4/578-board_AR-5315u.patch new file mode 100644 index 0000000..b8eb518 --- /dev/null +++ b/target/linux/brcm63xx/patches-4.4/578-board_AR-5315u.patch @@ -0,0 +1,93 @@ +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -147,8 +147,70 @@ + }, + }, + }; + ++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 }, + { .offset = 98, .value = 0x1854 }, +@@ -2624,8 +2686,9 @@ + #endif + #ifdef CONFIG_BCM63XX_CPU_6318 + &board_96318ref, + &board_96318ref_p300, ++ &board_AR5315u, + &board_dsl_2751b_d1, + &board_FAST2704N, + #endif + #ifdef CONFIG_BCM63XX_CPU_6328 +@@ -2728,8 +2791,9 @@ + #endif + #ifdef CONFIG_BCM63XX_CPU_6318 + { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, }, + { .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, }, ++ { .compatible = "ar-5315u", .data = &board_AR5315u, }, + { .compatible = "d-link,dsl-275xb-d", .data = &board_dsl_2751b_d1, }, + { .compatible = "sagem,f@st2704n", .data = &board_FAST2704N, }, + #endif + #ifdef CONFIG_BCM63XX_CPU_6328 _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev