From patchwork Tue May 23 21:29:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ralph Sennhauser X-Patchwork-Id: 9743997 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id EAB2D6037F for ; Tue, 23 May 2017 21:29:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DF12E287EE for ; Tue, 23 May 2017 21:29:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D3A4528826; Tue, 23 May 2017 21:29:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 2BE3B287EE for ; Tue, 23 May 2017 21:29:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Owner; bh=hINTqgL2LDLYE28brogADp+j6NbfNRNd7j6yMgWpGZg=; b=jd3 Gk7R6aITmIb2IIucRZMCk39YGLxdLAQsq9sPWWXtV7KaIgJ3RRqWnhqaSqA2H7sTO7RTMPUN+0kAD e1Zox4WEATHG8RrDqDt8x9Y6VgYcTEQi4WMagVnEwZ9sm9W1y6HR5OJADtUmDTSP1dDrjoyoyFJ7i d7u9xQqKkcCA92ZTCFLj+ys8qWmp0BA7AtMMxbBKxpMqsK5J2PLrwbaTdGs8HEaQb5EA3bbqMRLIS dkQKUL1CR6Td8Bg0ycmnh7CJrV5ucrm3ca7e5Dwlsl1BXIM5zkoG+vLcq/Et4faVRdAdt0pf2DB0l 1yGNYVC8X5DkbIF2E4pDNTFhFrXYNDw==; 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 1dDHNK-0003Wd-Rd; Tue, 23 May 2017 21:29:54 +0000 Received: from mail-wm0-x241.google.com ([2a00:1450:400c:c09::241]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dDHNG-0002zT-GM for linux-arm-kernel@lists.infradead.org; Tue, 23 May 2017 21:29:52 +0000 Received: by mail-wm0-x241.google.com with SMTP id g15so22911269wmc.2 for ; Tue, 23 May 2017 14:29:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=RO3gOH2Me0M8r9AlKlamQF8BdKA4jZ1bI0yvnr+zZnY=; b=uEgf0P2AdpNe+EiDBK/yLkKg4ow02dO0izf3U2tyR37rgYZHDNsSbQ8L2rpTCn7Sfe Fzl3H4qCsCyw5lvwoieBasm9IEDM5fy0t4ty6y8SQTgk4y4GES3j6T/U1TXqS4lnOkDY GQRUDXfsWnudxvK1hvgO2B8txgb0Dz2ciMbVPynLYbQFa3GnSj3uUpyW/ZrlmGkkuLzI zHoAGkwYv/e7ETW1Wuyc4Zc0eqM1elDdv5plSoEQKS5yQ/HpU4NCAQAt/r8+SMVEmMsZ zsk58bqu1HxuTanRq0QbzpGnKhE9IyL1bdZuV6DbyZSNCxHLJvp0Lmpd+wrswJJgd1kE QIMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=RO3gOH2Me0M8r9AlKlamQF8BdKA4jZ1bI0yvnr+zZnY=; b=reBoEXWrM7cFsZnPuN7ZTc+DHU0NwgNlSuiKKgrEdiKtdWK+oCEAPitvx2kHyEvM/G 4d0S9EtBHCRtxi1spsGJlYe6RLFA/EMm7a1o8sCVdrQRCw4zpSRaBeE6BDb8KWQ2GIOH e9C1Uj9CuM18Sklz9oyM4NvuO8hUNJc1PSwyjFRySTGK8OiMGJEA7fYWBHSLEB509MhU yPiwN6KglNCuthprfiV63gN5xAN8r+DUmo5XyW1DpcHp6iF3yBrXs7hCv8ftLuqEYIwO 1X6ys/2ypeYCGx0OzFtLADEQmBS+MugWyAmMEa/zXXMqaqbWnCg3w1raIz3M89M19brU A6mQ== X-Gm-Message-State: AODbwcBm0HYOBWG7mOiTRO6i0rt6G3ZLAVqMvVBQoqE8tAEjOphu58cT 79sHiweYIrkWeA== X-Received: by 10.28.184.85 with SMTP id i82mr3588444wmf.64.1495574968592; Tue, 23 May 2017 14:29:28 -0700 (PDT) Received: from localhost.lan ([37.209.189.139]) by smtp.googlemail.com with ESMTPSA id 1sm2869405wrw.32.2017.05.23.14.29.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 23 May 2017 14:29:27 -0700 (PDT) From: Ralph Sennhauser To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v2] ARM: dts: mvebu: add support for Linksys WRT3200ACM (Rango) Date: Tue, 23 May 2017 23:29:21 +0200 Message-Id: <20170523212921.16684-1-ralph.sennhauser@gmail.com> X-Mailer: git-send-email 2.10.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170523_142950_849862_91D201D1 X-CRM114-Status: GOOD ( 24.82 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Andrew Lunn , Jason Cooper , devicetree@vger.kernel.org, Russell King , linux-kernel@vger.kernel.org, Gregory Clement , Rob Herring , Ralph Sennhauser , Imre Kaloz , Sebastian Hesselbarth MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP The Linksys WRT3200ACM (Rango) is the latest Armada-385 based router in the Linksys WRT AC Series which got released in October 2016. Key differences to the earlier Armada-385 based devices in the series is a bigger flash chip, next generation wireless modules (Marvell 88W8964) in the mini-pcie slots as well as a Marvell SD8887. Finally the CPU is clocked at 1866 GHz by default. The file armada-385-linksys-rango.dts is loosely based off of a DTS authored by Imre Kaloz. As Rango is part of the armada-385-linksys family of boards use the armada-385-linksys.dtsi as basis. As for functional differences to Imre Kaloz dts, the wlan LEDs aren't connected to the expander chip pca9635 but directly to GPIOs. Then mpp47 controls the USB2.0 port and not the USB3.0 port, so use the correct GPIO mpp44 for it. Finally use non-removable instead of broken-cd with the sdhci node to avoid polling. Other changes can be categorized as just cleanup / reorganization due to using the armada-385-linksys.dtsi. URL: https://github.com/openwrt/openwrt/blob/0abc3fa5a996daf7dafdc7794ccfe3fa7e955c5a/target/linux/mvebu/files/arch/arm/boot/dts/armada-385-linksys-rango.dts Signed-off-by: Ralph Sennhauser Signed-off-by: Imre Kaloz --- Hi everyone, this patch was part of a series adding support for this device, the preparatory patches all got merged already except for "clk: mvebu: add support for 1866MHz variants" which isn't strictly required for the board to run and was sent to linux-clk for inclusion. Thanks Ralph --- Changes since v1: - Use non-removable with the sdhci node - Update commit message (mostly add hardware highlights from cover letter) - Add collected tags (Imre) --- Original notes: The sdhci node is taken as is, the current node lets one use the wireless part of the attached sd8887. There is an issue with the initalization of the bluetooth firmware though. Haven't had the time to investigate that in depth so far but shouldn't hold up the Rango addition. The non-removable property might be more appropriate than broken-cd though. Checkpatch complains about the line length of the URL, though not much room there. Checkpatch also complains about the vendor prefix linksys not being documented, however this follows the examples given by the other boards. --- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/armada-385-linksys-rango.dts | 203 +++++++++++++++++++++++++ 2 files changed, 204 insertions(+) create mode 100644 arch/arm/boot/dts/armada-385-linksys-rango.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 9c5e1d9..6be2974 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -999,6 +999,7 @@ dtb-$(CONFIG_MACH_ARMADA_38X) += \ armada-385-db-ap.dtb \ armada-385-linksys-caiman.dtb \ armada-385-linksys-cobra.dtb \ + armada-385-linksys-rango.dtb \ armada-385-linksys-shelby.dtb \ armada-385-synology-ds116.dtb \ armada-385-turris-omnia.dtb \ diff --git a/arch/arm/boot/dts/armada-385-linksys-rango.dts b/arch/arm/boot/dts/armada-385-linksys-rango.dts new file mode 100644 index 0000000..86f3207 --- /dev/null +++ b/arch/arm/boot/dts/armada-385-linksys-rango.dts @@ -0,0 +1,203 @@ +/* + * Device Tree file for the Linksys WRT3200ACM (Rango) + * + * Copyright (C) 2016 Imre Kaloz + * + * + * This file is dual-licensed: you can use it either under the terms + * of the GPL or the X11 license, at your option. Note that this dual + * licensing only applies to this file, and not this project as a + * whole. + * + * a) This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without + * any warranty of any kind, whether express or implied. + * + * Or, alternatively, + * + * b) Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +/dts-v1/; +#include +#include +#include "armada-385-linksys.dtsi" + +/ { + model = "Linksys WRT3200ACM"; + compatible = "linksys,rango", "linksys,armada385", "marvell,armada385", + "marvell,armada380"; +}; + +&expander0 { + wan_amber@0 { + label = "rango:amber:wan"; + reg = <0x0>; + }; + + wan_white@1 { + label = "rango:white:wan"; + reg = <0x1>; + }; + + usb2@5 { + label = "rango:white:usb2"; + reg = <0x5>; + }; + + usb3_1@6 { + label = "rango:white:usb3_1"; + reg = <0x6>; + }; + + usb3_2@7 { + label = "rango:white:usb3_2"; + reg = <0x7>; + }; + + wps_white@8 { + label = "rango:white:wps"; + reg = <0x8>; + }; + + wps_amber@9 { + label = "rango:amber:wps"; + reg = <0x9>; + }; +}; + +&gpio_leds { + power { + gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>; + label = "rango:white:power"; + }; + + sata { + gpios = <&gpio0 21 GPIO_ACTIVE_LOW>; + label = "rango:white:sata"; + }; + + wlan_2g { + gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; + label = "rango:white:wlan_2g"; + }; + + wlan_5g { + gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; + label = "rango:white:wlan_5g"; + }; +}; + +&gpio_leds_pins { + marvell,pins = "mpp21", "mpp45", "mpp46", "mpp56"; +}; + +&nand { + /* AMD/Spansion S34ML02G2 256MiB, OEM Layout */ + + partition@0 { + label = "u-boot"; + reg = <0x0000000 0x200000>; /* 2MiB */ + read-only; + }; + + partition@200000 { + label = "u_env"; + reg = <0x200000 0x20000>; /* 128KiB */ + }; + + partition@220000 { + label = "s_env"; + reg = <0x220000 0x40000>; /* 256KiB */ + }; + + partition@7e0000 { + label = "devinfo"; + reg = <0x7e0000 0x40000>; /* 256KiB */ + read-only; + }; + + partition@820000 { + label = "sysdiag"; + reg = <0x820000 0x1e0000>; /* 1920KiB */ + read-only; + }; + + /* kernel1 overlaps with rootfs1 by design */ + partition@a00000 { + label = "kernel1"; + reg = <0xa00000 0x5000000>; /* 80MiB */ + }; + + partition@1000000 { + label = "rootfs1"; + reg = <0x1000000 0x4a00000>; /* 74MiB */ + }; + + /* kernel2 overlaps with rootfs2 by design */ + partition@5a00000 { + label = "kernel2"; + reg = <0x5a00000 0x5000000>; /* 80MiB */ + }; + + partition@6000000 { + label = "rootfs2"; + reg = <0x6000000 0x4a00000>; /* 74MiB */ + }; + + /* + * 86MiB, last MiB is for the BBT, not writable + */ + partition@aa00000 { + label = "syscfg"; + reg = <0xaa00000 0x5600000>; + }; + + /* + * Unused area between "s_env" and "devinfo". + * Moved here because otherwise the renumbered + * partitions would break the bootloader + * supplied bootargs + */ + partition@180000 { + label = "unused_area"; + reg = <0x260000 0x5c0000>; /* 5.75MiB */ + }; +}; + +&sdhci { + pinctrl-names = "default"; + pinctrl-0 = <&sdhci_pins>; + no-1-8-v; + broken-cd; + wp-inverted; + bus-width = <8>; + status = "okay"; +}; + +&usb3_1_vbus { + gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>; +}; + +&usb3_1_vbus_pins { + marvell,pins = "mpp44"; +};