From patchwork Sun Feb 12 13:48:37 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: 726957 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 3vLqld5jwZz9s2s for ; Mon, 13 Feb 2017 00:48:44 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="lEVBn4Ri"; 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=8+Ie6qMnm17cLmfhD8ZP4rmey15PGjH/klGEtfC2M3U=; b=lEVBn4RiKcfwBx9U59avi3wkCm FTx+ct1+iLjeD5a6XkwknFgPmymXWDiVenkObQErP+qth8xKp1OiwL7qNhyuGnMwVctZqwK0kE70A +ZEsnf9pN30Y6hgiRaSjDpw6DdZmfW7RbFLYMwlW8H0HZnZmKlQcEESSqM7lBc9MHCZgNtfHSZ5g+ ArZABChEU6XXmuja1jifDUTlzEnfhGEMhL1pVKXS4E2eg976P6pQOHkxFB7+Up4ECgj7YsRLFL95o AljHCuwOOhVQP6An6PDgJp9fQ4/XCOuESnFLziQwbokxeC7ybIjmqguweVeoew73SAtN0BrjwEeeG kXS1HPfQ==; 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 1ccuW5-0004wz-1z; Sun, 12 Feb 2017 13:48:37 +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 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] This patch adds support for the Actiontec R1000H gateway to the brcm63xx targets. Sender: "Lede-dev" Date: Sun, 12 Feb 2017 13:48:37 +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. 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 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 --- target/linux/brcm63xx/dts/r1000h.dts | 89 ++++++++++++++++++++++ target/linux/brcm63xx/image/bcm63xx.mk | 16 ++++ .../brcm63xx/patches-4.4/578-board_R1000H.patch | 63 +++++++++++++++ 3 files changed, 168 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/dts/r1000h.dts b/target/linux/brcm63xx/dts/r1000h.dts new file mode 100644 index 0000000..a3a8073 --- /dev/null +++ b/target/linux/brcm63xx/dts/r1000h.dts @@ -0,0 +1,89 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include + +/ { + model = "Actiontec R1000H"; + compatible = "actiontec,r1000h", "brcm,bcm6368"; + + chosen { + bootargs = "root=/dev/mtdblock2 rootfstype=squashfs ubi.mtd=ubi_dev 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>; + }; + linux@20000 { + reg = <0x020000 0x07e0000>; + }; + ubi_dev@800000 { + reg = <0x0800000 0x0800000>; + }; + factory@1000000 { + reg = <0x1000000 0x0fe0000>; + }; + nvram@1fe0000 { + reg = <0x1fe0000 0x20000>; + }; +}; diff --git a/target/linux/brcm63xx/image/bcm63xx.mk b/target/linux/brcm63xx/image/bcm63xx.mk index 0749c29..947259b 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 := 8 + IMAGE_OFFSET := 0x20000 + DEVICE_PACKAGES := \ + $(USB2_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..c9c919a --- /dev/null +++ b/target/linux/brcm63xx/patches-4.4/578-board_R1000H.patch @@ -0,0 +1,63 @@ +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -2200,6 +2200,44 @@ + .type = SPROM_BCM4318, + .pci_bus = 0, + .pci_dev = 1, ++ }, ++}; ++ ++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 = "RGMII", ++ }, ++ [5] = { ++ .used = 1, ++ .phy_id = 0xff, ++ .bypass_link = 1, ++ .force_speed = 1000, ++ .force_duplex_full = 1, ++ .name = "RGMII", ++ }, ++ }, + }, + }; + +@@ -2701,6 +2739,7 @@ + &board_HG622, + &board_HG655b, + &board_P870HW51A_V2, ++ &board_R1000H, + &board_VH4032N, + &board_VR3025u, + &board_VR3025un, +@@ -2802,6 +2841,7 @@ + { .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, },