From patchwork Sun Feb 19 18:28:51 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Yartys via Lede-dev X-Patchwork-Id: 729583 X-Patchwork-Delegate: jogo@openwrt.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3vRFdv2TR6z9s7w for ; Mon, 20 Feb 2017 05:29:06 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="mb+dj7+i"; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Date:Sender:Content-Type: Subject:List-Help:Reply-To:List-Archive:List-Unsubscribe:List-Subscribe:Cc: From:List-Post:List-Id:Message-ID:MIME-Version:To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=oR7NM7D14Go8EYtoNKAsP6rte4NH8dqDzz/NuKoNniI=; b=mb+dj7+iBGXJA+uO+1SmbI6UrW CI4WFveuDpM0OUfOww5+1N84FYIbNOj2px0mbxoUhJOcmrAePnSSqp8lntHf5mkkTVeiKAsACE5kU 6PicY7ve7U9pxY6zRU9LscVMEaaQDzI/izlENJNI7YYTMxzPcJ68qSumwFwzKVAUD2P31RhHo6Ds9 uBD0XFjlXKoPnij2vtv3KWKarO1CHN2GL73kaWc6gtDu1u4TfVFhOGEIzD2Lw/raojwWSjhzsse0m cGpud+HvTWkvUyClhLHBDi5qSvDiMwDwcsNXMIMglI/wZdcYoLH0vsc7rQg1PLr8C2+9hMq0ouQQT ET7oxWNQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1cfWE7-0000ZQ-5C; Sun, 19 Feb 2017 18:28:51 +0000 To: lede-dev@lists.infradead.org MIME-Version: 1.0 Message-ID: List-Id: List-Post: X-Patchwork-Original-From: Anthony Sepa via Lede-dev From: Michael Yartys via Lede-dev Precedence: list Cc: Anthony Sepa , jonas.gorski@gmail.com X-Mailman-Version: 2.1.21 X-BeenThere: lede-dev@lists.infradead.org List-Subscribe: , List-Unsubscribe: , List-Archive: Reply-To: Anthony Sepa List-Help: Subject: [LEDE-DEV] [PATCH] SOC: Broadcom BCM6368 (2 * Broadcom BMIPS4350 V3.1 / 400 MHz) Flash size: 32MB (split 16/16 dual boot) RAM size: 64MB Wireless: BCM432x 802.11a/b/g/n(pci) Ethernet: Broadcom BCM53115 USB: 1 x USB 2.0 Sender: "Lede-dev" Date: Sun, 19 Feb 2017 18:28:51 +0000 Errors-To: lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org 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 attached to MDIO. Not supported - 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 --- .../linux/brcm63xx/base-files/etc/board.d/01_leds | 3 + .../brcm63xx/base-files/etc/board.d/02_network | 1 + target/linux/brcm63xx/base-files/etc/diag.sh | 3 + .../base-files/etc/uci-defaults/09_fix_crc | 1 + target/linux/brcm63xx/base-files/lib/brcm63xx.sh | 3 + target/linux/brcm63xx/dts/r1000h.dts | 93 ++++++++++++++++++++++ target/linux/brcm63xx/image/bcm63xx.mk | 16 ++++ .../brcm63xx/patches-4.4/578-board_R1000H.patch | 50 ++++++++++++ 8 files changed, 170 insertions(+) create mode 100644 target/linux/brcm63xx/dts/r1000h.dts create mode 100644 target/linux/brcm63xx/patches-4.4/578-board_R1000H.patch 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 7d208cc..347de56 100755 --- a/target/linux/brcm63xx/base-files/etc/board.d/01_leds +++ b/target/linux/brcm63xx/base-files/etc/board.d/01_leds @@ -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" ;; 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 ff5fc7a..d618ce3 100755 --- a/target/linux/brcm63xx/base-files/etc/board.d/02_network +++ b/target/linux/brcm63xx/base-files/etc/board.d/02_network @@ -12,6 +12,7 @@ case "$(brcm63xx_board_name)" in cvg834g |\ evg2000 |\ +r1000h |\ rta770bw |\ rta770w |\ spw303v |\ diff --git a/target/linux/brcm63xx/base-files/etc/diag.sh b/target/linux/brcm63xx/base-files/etc/diag.sh index df1d616..3775691 100644 --- a/target/linux/brcm63xx/base-files/etc/diag.sh +++ b/target/linux/brcm63xx/base-files/etc/diag.sh @@ -114,6 +114,9 @@ set_state() { p870hw-51a_v2) status_led="P870HW-51a:green:power" ;; + r1000h) + status_led="R1000H:green:power" + ;; r5010un_v2) status_led="R5010UNv2: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..57bf6e2 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 @@ -25,6 +25,7 @@ case "$(brcm63xx_board_name)" in hg622 |\ magic |\ p870hw-51a_v2 |\ + r1000h |\ r5010un_v2 |\ rta770bw |\ rta770w |\ diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh index bceba8f..2d76b65 100755 --- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh +++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh @@ -21,6 +21,9 @@ brcm63xx_dt_detect() { "ADB P.DG AV4202N") board_name="av4202n" ;; + "Actiontec R1000H") + board_name="r1000h" + ;; "Alcatel RG100A") board_name="rg100a" ;; diff --git a/target/linux/brcm63xx/dts/r1000h.dts b/target/linux/brcm63xx/dts/r1000h.dts new file mode 100644 index 0000000..adb827f --- /dev/null +++ b/target/linux/brcm63xx/dts/r1000h.dts @@ -0,0 +1,93 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include + +/ { + 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 = ; + }; + + wps { + label = "wps"; + gpios = <&gpio1 3 1>; + linux,code = ; + }; + }; + + 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>; + read-only; + }; + + linux@20000 { + reg = <0x020000 0x1fc0000>; + }; + + nvram@1fe0000 { + reg = <0x1fe0000 0x20000>; + }; +}; diff --git a/target/linux/brcm63xx/image/bcm63xx.mk b/target/linux/brcm63xx/image/bcm63xx.mk index 0749c29..8e280ea 100644 --- a/target/linux/brcm63xx/image/bcm63xx.mk +++ b/target/linux/brcm63xx/image/bcm63xx.mk @@ -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 := 32 + IMAGE_OFFSET := 0x20000 + DEVICE_PACKAGES := \ + $(USB2_PACKAGES) $(BRCMWL_PACKAGES) +endef +TARGET_DEVICES += R1000H + ### ADB ### define Device/A4001N $(Device/bcm63xx) diff --git a/target/linux/brcm63xx/patches-4.4/578-board_R1000H.patch b/target/linux/brcm63xx/patches-4.4/578-board_R1000H.patch new file mode 100644 index 0000000..d68a6f3 --- /dev/null +++ b/target/linux/brcm63xx/patches-4.4/578-board_R1000H.patch @@ -0,0 +1,50 @@ +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -2203,6 +2203,31 @@ 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_enetsw = 1, ++ .enetsw = { ++ .used_ports = { ++ [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 +2726,7 @@ static const struct board_info __initcon + &board_HG622, + &board_HG655b, + &board_P870HW51A_V2, ++ &board_R1000H, + &board_VH4032N, + &board_VR3025u, + &board_VR3025un, +@@ -2802,6 +2828,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, },