@@ -66,6 +66,9 @@ livebox1)
ucidef_set_led_netdev "wan" "WAN" "Livebox1:red:adsl" "eth1"
ucidef_set_led_netdev "wlan0" "WIFI" "Livebox1:red:wifi" "wlan0"
;;
+r1000h)
+ ucidef_set_led_usbport "usb" "USB" "R1000H:green:usb" "usb1-port1" "usb2-port1"
+ ;;
r5010un_v2)
ucidef_set_led_usbdev "usb" "USB" "R5010UNv2:green:usb" "1-1"
;;
@@ -12,6 +12,7 @@ case "$(brcm63xx_board_name)" in
cvg834g |\
evg2000 |\
+r1000h |\
rta770bw |\
rta770w |\
spw303v |\
@@ -21,6 +21,9 @@ brcm63xx_dt_detect() {
"ADB P.DG AV4202N")
board_name="av4202n"
;;
+ "Actiontec R1000H")
+ board_name="r1000h"
+ ;;
"Alcatel RG100A")
board_name="rg100a"
;;
new file mode 100644
@@ -0,0 +1,92 @@
+/dts-v1/;
+
+#include "bcm6368.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ model = "Actiontec R1000H";
+ compatible = "actiontec,r1000h", "brcm,bcm6368";
+
+ chosen {
+ bootargs = "root=/dev/mtdblock2 rootfstype=squashfs noinitrd console=ttyS0,115200";
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 2 1>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio1 3 1>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ inet_green {
+ label = "R1000H:green:inet";
+ gpios = <&gpio0 5 0>;
+ };
+
+ usb_green {
+ label = "R1000H:green:usb";
+ gpios = <&gpio0 21 1>;
+ };
+
+ power_green {
+ label = "R1000H:green:power";
+ gpios = <&gpio0 22 0>;
+ default-state = "on";
+ };
+
+ wps_green {
+ label = "R1000H:green:wps";
+ gpios = <&gpio0 23 1>;
+ };
+
+ power_red {
+ label = "R1000H:red:power";
+ gpios = <&gpio0 24 0>;
+ };
+
+ wps_red {
+ label = "R1000H:red:wps";
+ gpios = <&gpio0 30 1>;
+ };
+
+ inet_red {
+ label = "R1000H:red:inet";
+ gpios = <&gpio0 31 0>;
+ };
+ };
+};
+
+&pflash {
+ status = "ok";
+
+ linux,part-probe = "bcm63xxpart";
+
+ CFE@0 {
+ reg = <0x000000 0x020000>;
+ };
+
+ linux@20000 {
+ reg = <0x020000 0x1fc0000>;
+ };
+
+ nvram@1fe0000 {
+ reg = <0x1fe0000 0x20000>;
+ };
+};
@@ -1,3 +1,4 @@
+
#
# BCM33XX/BCM63XX Profiles
#
@@ -174,6 +175,21 @@ define Device/96368MVWG-generic
endef
TARGET_DEVICES += 96368MVWG-generic
+### Actiontec ###
+define Device/R1000H
+ $(Device/bcm63xx)
+ FILESYSTEMS := squashfs
+ DEVICE_TITLE := Actiontec R1000H
+ DEVICE_DTS := r1000h
+ CFE_BOARD_ID := 96368MVWG
+ CFE_CHIP_ID := 6368
+ FLASH_MB := 4
+ IMAGE_OFFSET := 0x20000
+ DEVICE_PACKAGES := \
+ $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += R1000H
+
### ADB ###
define Device/A4001N
$(Device/bcm63xx)
new file mode 100644
@@ -0,0 +1,63 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -2203,6 +2203,44 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct board_info __initdata board_R1000H = {
++ .name = "R1000H",
++ .expected_cpu_id = 0x6368,
++
++ .has_uart0 = 1,
++ .has_uart1 = 1,
++ .has_pci = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .has_usbd = 1,
++ .usbd = {
++ .use_fullspeed = 0,
++ .port_no = 0,
++ },
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [4] = {
++ .used = 1,
++ .phy_id = 0xff,
++ .bypass_link = 1,
++ .force_speed = 1000,
++ .force_duplex_full = 1,
++ .name = "port4",
++ },
++ [5] = {
++ .used = 1,
++ .phy_id = 0xff,
++ .bypass_link = 1,
++ .force_speed = 1000,
++ .force_duplex_full = 1,
++ .name = "RGMII",
++ },
++ },
++ },
++};
++
+ static struct board_info __initdata board_VR3025u = {
+ .name = "96368M-1541N",
+ .expected_cpu_id = 0x6368,
+@@ -2701,6 +2739,7 @@ static const struct board_info __initcon
+ &board_HG622,
+ &board_HG655b,
+ &board_P870HW51A_V2,
++ &board_R1000H,
+ &board_VH4032N,
+ &board_VR3025u,
+ &board_VR3025un,
+@@ -2802,6 +2841,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "sfr,nb6-ser-r0", .data = &board_nb6, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6368
++ { .compatible = "actiontec,r1000h", .data = &board_R1000H, },
+ { .compatible = "adb,av4202n", .data = &board_AV4202N, },
+ { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. Known issues: - Unable to detect 53115 switch. This appear to be a problem with probing for the PHY using MDIO and results in error 5. Doesn't seem to be a problem with the configuration, and could use someone with experience to have a look at it. - Uses the b43 driver as using the OpenWRT/LEDE broadcom-wl driver fails to load the firmware for the 4322, so 802.11n is not supported. The factory build uses a newer broadcom-wl driver. - No support for the cable port More info on the device and the research can be found at: http://www.actiontec.com/212.html Same FCC ID as: https://wikidevi.com/wiki/Actiontec_V1000H_(Telus) Signed-off-by: Anthony Sepa <anthonysepa@yahoo.ca> --- .../linux/brcm63xx/base-files/etc/board.d/01_leds | 3 + .../brcm63xx/base-files/etc/board.d/02_network | 1 + target/linux/brcm63xx/base-files/lib/brcm63xx.sh | 3 + target/linux/brcm63xx/dts/r1000h.dts | 92 ++++++++++++++++++++++ target/linux/brcm63xx/image/bcm63xx.mk | 16 ++++ .../brcm63xx/patches-4.4/578-board_R1000H.patch | 63 +++++++++++++++ 6 files changed, 178 insertions(+) create mode 100644 target/linux/brcm63xx/dts/r1000h.dts create mode 100644 target/linux/brcm63xx/patches-4.4/578-board_R1000H.patch