From patchwork Sun Jun 30 20:59:31 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnaud Ebalard X-Patchwork-Id: 2804641 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 09BFABF4A1 for ; Sun, 30 Jun 2013 20:59:40 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id B5EC920114 for ; Sun, 30 Jun 2013 20:59:38 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DE7AB20109 for ; Sun, 30 Jun 2013 20:59:36 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1UtOiJ-0002UZ-Le; Sun, 30 Jun 2013 20:59:16 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1UtOiH-0002OG-8w; Sun, 30 Jun 2013 20:59:13 +0000 Received: from mic92-1-81-57-185-249.fbx.proxad.net ([81.57.185.249] helo=smtp.natisbad.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1UtOiC-0002Nw-TV for linux-arm-kernel@lists.infradead.org; Sun, 30 Jun 2013 20:59:10 +0000 Received: by smtp.natisbad.org (Postfix, from userid 5001) id 856BD2C0553; Sun, 30 Jun 2013 22:58:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=natisbad.org; s=mail; t=1372625920; bh=frot5KMo8bEGletsRF0GTRZ6MqdRaXHip8qWJrySkDA=; h=From:To:Cc:Subject:Date; b=Dlby/gHgjcXtrjJbIaow+rNmRB2X1Kix1lqhL7OD9lc4zUN20UR8mzKlqcXhv1YwY mbQPBjd/CZ+jxFCB+mBu28Jsp5c8YOFBBAWddkqym/ItTxW36PR6MH5vZrR6gA2ly8 FDsSScoPJZq5Yk38NiaiJagc9zNNYlr5CGcz3vEg= X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 Received: from small (localhost [127.0.0.1]) by smtp.natisbad.org (Postfix) with ESMTP id 7E9752C0244; Sun, 30 Jun 2013 22:58:20 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=natisbad.org; s=mail; t=1372625900; bh=frot5KMo8bEGletsRF0GTRZ6MqdRaXHip8qWJrySkDA=; h=From:To:Cc:Subject:Date; b=XdmqVlJ1GwqujV8AI2sQEh72gFa/M9R+dRkMbyR1eWaeL3IdNyGDiB2LWoewRovvN +kUdRML7m011AcF0oCAlqroMwI7q7cISInvlsrWIVv+yKiIIBDnyl6hj84UnfoxokQ +MWLoou0bapTlf8Gsu2ZjpM108iMvDLue5lkxCa4= X-Hashcash: 1:20:130630:andrew@lunn.ch::UH+QZHcH9OgNQ8NR:0004GB1 X-Hashcash: 1:20:130630:jason@lakedaemon.net::NXfK+YjkS/mPa/cm:000000000000000000000000000000000000000004+CI X-Hashcash: 1:20:130630:linux-arm-kernel@lists.infradead.org::ylvactPbz2LO8lzu:000000000000000000000000008AL X-Hashcash: 1:20:130630:linux@arm.linux.org.uk::eO/wk6qZmFwFMOkV:0000000000000000000000000000000000000002FEU X-Hashcash: 1:20:130630:thomas.petazzoni@free-electrons.com::ahJbhiJzITT+32RP:000000000000000000000000005H9B X-Hashcash: 1:20:130630:w@1wt.eu::0OFAE2KVhqSGJwEO:0000000005wxk From: arno@natisbad.org (Arnaud Ebalard) To: Andrew Lunn , Jason Cooper Subject: [RFC] Add .dts file for Netgear ReadyNAS 102 X-PGP-Key-URL: http://natisbad.org/arno@natisbad.org.asc X-Fingerprint: D3A5 B68A 839B 38A5 815A 781B B77C 0748 A7AE 341B Date: Sun, 30 Jun 2013 22:59:31 +0200 Message-ID: <87fvvzfh70.fsf@natisbad.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20130630_165909_324154_7BE0161E X-CRM114-Status: GOOD ( 26.65 ) X-Spam-Score: -1.0 (-) Cc: Thomas Petazzoni , Russell King - ARM Linux , Willy Tarreau , Linux ARM Kernel Mailing List X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 Hi, Here is a .dts file for Armada-370-based Netgear ReadyNAS 102. The purpose of this submission is to get some feedback and also some directions on how to proceed to get it included at some point. Regarding the device, I put some information on the various hardware parts here: http://natisbad.org/NAS2/ . I still have to update the page now that almost everything is as it should. With the appended .dts file, all the various parts of the device work as expected: - USB 3.0 rear ports via FL1009 XHCI controller connected to PCIe bus (eSATA not tested yet) - USB 2.0 front port - Gigabit Ethernet port (MAC needs to be set by the system at boot) - Backup, Power and Reset buttons - LEDS (most set to on but changeable). At the moment, I still have not found by which gpio the last one is controlled (activity led). - serial port at the rear - G762 PWM fan controller on I2C bus: it requires G762 driver which is *currently sitting in hwmon maintainer tree* and will be available in 3.11. Jason, as a side note I have a short patch for available for ReadyNAS Duo v2 .dts file (the device also has a G762). I can hold it until rc cycle if you prefer. - Intersil ISL 12057 RTC on I2C bus: support for that one is *not available upstream yet* but I have an initial working patch which I intend to push upstream (same as for G762 driver). In the end, the main missing part is the NAND but I guess this is the same for all Aramda 370/XP boards and this is not a big issue as it is still possible to interact w/ it via u-boot and install a set of uImage/uInitramfs that way. Jason, the tests were done against your for-next branch (with all the fixes which accumulated in Linux tree from rc7). I will work directly against Linus tree as soon as the rc- cycle for 3.11 starts. Additionally, I don't think this is a problem but my whole toolchain is an arm-linux-gnueabi- one and the tests were done using a Debian (ho hfp at all). Cheers, a+ Signed-off-by: Arnaud Ebalard --- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/armada-370-netgear-rn102.dts | 215 +++++++++++++++++++++++++ 2 files changed, 216 insertions(+) create mode 100644 arch/arm/boot/dts/armada-370-netgear-rn102.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index ae7124c..076ff01 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -97,6 +97,7 @@ dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \ msm8960-cdp.dtb dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \ armada-370-mirabox.dtb \ + armada-370-netgear-rn102.dtb \ armada-370-rd.dtb \ armada-xp-db.dtb \ armada-xp-gp.dtb \ diff --git a/arch/arm/boot/dts/armada-370-netgear-rn102.dts b/arch/arm/boot/dts/armada-370-netgear-rn102.dts new file mode 100644 index 0000000..5a9e129 --- /dev/null +++ b/arch/arm/boot/dts/armada-370-netgear-rn102.dts @@ -0,0 +1,215 @@ +/* + * Device Tree file for NETGEAR ReadyNAS 102 + * + * Copyright (C) 2013, Arnaud EBALARD + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ + +/dts-v1/; + +/include/ "armada-370.dtsi" + +/ { + model = "NETGEAR ReadyNAS 102"; + compatible = "netgear,readynas-102", "marvell,armada370", "marvell,armada-370-xp"; + + chosen { + bootargs = "console=ttyS0,115200 earlyprintk"; + }; + + memory { + device_type = "memory"; + reg = <0x00000000 0x20000000>; /* 512 MB */ + }; + + soc { + internal-regs { + serial@12000 { + clock-frequency = <200000000>; + status = "okay"; + }; + + sata@a0000 { + nr-ports = <2>; + status = "okay"; + }; + + pinctrl { + power_led_pin: power-led-pin { + marvell,pins = "mpp57"; + marvell,function = "gpio"; + }; + sata1_led_pin: sata1-led-pin { + marvell,pins = "mpp15"; + marvell,function = "gpio"; + }; + + sata2_led_pin: sata2-led-pin { + marvell,pins = "mpp14"; + marvell,function = "gpio"; + }; + + backup_led_pin: backup-led-pin { + marvell,pins = "mpp56"; + marvell,function = "gpio"; + }; + }; + + gpio_leds { + compatible = "gpio-leds"; + pinctrl-0 = < &power_led_pin + &sata1_led_pin + &sata2_led_pin + &backup_led_pin >; + pinctrl-names = "default"; + + blue_power_led { + label = "rn102:blue:pwr"; + gpios = <&gpio1 25 1>; /* GPIO 57 Active Low */ + linux,default-trigger = "heartbeat"; + }; + + green_sata1_led { + label = "rn102:green:sata1"; + gpios = <&gpio0 15 1>; /* GPIO 15 Active Low */ + default-state = "on"; + }; + + green_sata2_led { + label = "rn102:green:sata2"; + gpios = <&gpio0 14 1>; /* GPIO 14 Active Low */ + default-state = "on"; + }; + + green_backup_led { + label = "rn102:green:backup"; + gpios = <&gpio1 24 1>; /* GPIO 56 Active Low */ + default-state = "on"; + }; + }; + + gpio_keys { + compatible = "gpio-keys"; + #address-cells = <1>; + #size-cells = <0>; + button@1 { + label = "Power Button"; + linux,code = <116>; /* KEY_POWER */ + gpios = <&gpio1 30 1>; + }; + button@2 { + label = "Reset Button"; + linux,code = <0x198>; /* KEY_RESTART */ + gpios = <&gpio0 6 1>; + }; + button@3 { + label = "Backup Button"; + linux,code = <133>; /* KEY_COPY */ + gpios = <&gpio1 26 1>; + }; + }; + + mdio { + phy0: ethernet-phy@0 { + reg = <0>; + }; + }; + + ethernet@74000 { + status = "okay"; + phy = <&phy0>; + phy-mode = "rgmii-id"; + }; + + /* Waiting for NAND support to appear in armada-370.dtsi + + nand@d0000 { + status = "okay"; + + partition@0 { + label = "u-boot"; + reg = <0x0000000 0x180000>; + read-only; + }; + + partition@180000 { + label = "u-boot-env"; + reg = <0x180000 0x20000>; + }; + + partition@200000 { + label = "uImage"; + reg = <0x0200000 0x600000>; + }; + + partition@800000 { + label = "minirootfs"; + reg = <0x0800000 0x400000>; + }; + + partition@c00000 { + label = "ubi"; + reg = <0x0c00000 0x7400000>; + }; + }; + + */ + + usb@50000 { + status = "okay"; + }; + + clocks { + #address-cells = <1>; + #size-cells = <0>; + + g762_clk: fixedclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <8192>; + }; + }; + + i2c@11000 { + compatible = "marvell,mv64xxx-i2c"; + clock-frequency = <100000>; + status = "okay"; + + isl12057: isl12057@68 { + compatible = "isil,isl12057"; + reg = <0x68>; + wakeup-source; + }; + + g762: g762@3e { + compatible = "gmt,g762"; + reg = <0x3e>; + clocks = <&g762_clk>; /* input clock */ + fan_gear_mode = <0>; + fan_startv = <1>; + pwm_polarity = <0>; + }; + }; + + pcie-controller { + status = "okay"; + + /* Connected to Marvell SATA controller */ + pcie@1,0 { + /* Port 0, Lane 0 */ + status = "okay"; + }; + + /* Connected to FL1009 USB 3.0 controller */ + pcie@2,0 { + /* Port 1, Lane 0 */ + status = "okay"; + }; + }; + }; + }; +};