From patchwork Tue Jan 31 06:51:14 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Heimpold X-Patchwork-Id: 9546663 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 BE042604A0 for ; Tue, 31 Jan 2017 06:55:29 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AD081281A7 for ; Tue, 31 Jan 2017 06:55:29 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A1A1428210; Tue, 31 Jan 2017 06:55:29 +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 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 C244B281A7 for ; Tue, 31 Jan 2017 06:55:28 +0000 (UTC) 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 1cYSLf-00031D-7f; Tue, 31 Jan 2017 06:55:27 +0000 Received: from mout.kundenserver.de ([212.227.126.187]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cYSIe-0007MK-Ou for linux-arm-kernel@lists.infradead.org; Tue, 31 Jan 2017 06:52:26 +0000 Received: from heimpold-vm.fritz.box ([109.104.40.92]) by mrelayeu.kundenserver.de (mreue002 [212.227.15.167]) with ESMTPSA (Nemesis) id 0MdTH9-1cqx311TJz-00IRop; Tue, 31 Jan 2017 07:51:48 +0100 From: Michael Heimpold To: shawnguo@kernel.org, kernel@pengutronix.de, robh+dt@kernel.org, mark.rutland@arm.com Subject: [PATCH v3 8/9] ARM: dts: add support for I2SE Duckbill 2 EnOcean Date: Tue, 31 Jan 2017 07:51:14 +0100 Message-Id: <1485845475-3129-9-git-send-email-michael.heimpold@i2se.com> X-Mailer: git-send-email 2.6.1 In-Reply-To: <1485845475-3129-1-git-send-email-michael.heimpold@i2se.com> References: <1485845475-3129-1-git-send-email-michael.heimpold@i2se.com> X-Provags-ID: V03:K0:JXShSj9fm97qepyhb2qWKpS0GTzQixCV/AcWzRGc5fq+Z9DjxMC bopXUtwxG+zBFYyZbJbsSLqxgVFQnFN2TO9BumJdRlyTYjXjebwtSJVE02tOtsOK6Pf+3NY zrgpNJx86w7m7IHolYxsPxTxQ+8FGSmyEvvOguu03AohXuP9mKhe+3h5tR/PpGY/Z7LfiH8 sLLvZk5U9M1EpDgsY0yRQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:wEx0G36vGiE=:kxY3NwFMaxMfZNsS6/3vAq cIdTq9/Sl5UnSP+EHRZILzzmEa7PqTg4qgdkKv8UeFABdQRTwnw28WmAOMbSvLrAwSGnzvrWd YMmVEbok/sYDD92Mh1LPnaseV3Ix6EFUitRq+lzkhBTN3I8p4FZzrqzuePqvDXKDPVyECsT9u 9br0eMpCOPekAiQF/8apVaeNZJ/MG1iCpUun+X/ugmQK26PKHBIMea4UeBrDQ041xF2ZK+UFk fc/kaY8j2GWhDiRPlnk9G74xiJx3jAHj+AtJzUXp1FwahKBTLNFFm/fU1kIGi5lqPK8CV2rCB pKVXOiTMxKxFJ/uElVBjLqdJ+FJOxi9Vy76OKttw2lJdQbe2djkeVr+TMsSnZmyclzVrZs+ZQ iEGp9xvnb1tfHTGbc38E8r8bACpikYT0RtYz4+jMyeOcGsN/0lRrNKOAncfxBrFoBZ452q7xr SzTAAqgWHYvnW2JY+W3HMMR8GKishW4x/LdX/+WPz0tImMKEu9wm1KSUvAAJDb5JtrKcuskVM mNSvUnfOd+x0rYu90zOcBiUtSG3sE163ZQ+yiQdT7K4YK8wiIrLTXoQIrBki+/MQHXF8a/BYo f2myeBKGHZgQzlD82Nn65w8421wlBExN6nAyDo5tD8H9tRE6gUJ8FfN0zqlBAwZiPrJxqmB5N BRPv9NTot89ZybTB0js9er2zbL0IW7WM0nkZQ4pb0OMrNcZEBrqtBjoJtQQ2MrYEqVjc= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170130_225221_137095_E2A6D8D1 X-CRM114-Status: GOOD ( 14.04 ) 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: stefan.wahren@i2se.com, devicetree@vger.kernel.org, Michael Heimpold , fabio.estevam@nxp.com, linux-arm-kernel@lists.infradead.org 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 From: Michael Heimpold This machine is based on I2SE's Duckbill 2 board and features a EnOcean daugther board based on the popular TCM310 chipset. This product is intended to be used for e.g. home automation purposes. Signed-off-by: Michael Heimpold Cc: Stefan Wahren --- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx28-duckbill-2-enocean.dts | 220 +++++++++++++++++++++++++ 2 files changed, 221 insertions(+) create mode 100644 arch/arm/boot/dts/imx28-duckbill-2-enocean.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 5f758b9..d854dcd 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -477,6 +477,7 @@ dtb-$(CONFIG_ARCH_MXS) += \ imx28-cfa10058.dtb \ imx28-duckbill-2-485.dtb \ imx28-duckbill-2.dtb \ + imx28-duckbill-2-enocean.dtb \ imx28-duckbill.dtb \ imx28-eukrea-mbmx283lc.dtb \ imx28-eukrea-mbmx287lc.dtb \ diff --git a/arch/arm/boot/dts/imx28-duckbill-2-enocean.dts b/arch/arm/boot/dts/imx28-duckbill-2-enocean.dts new file mode 100644 index 0000000..6e7a71c --- /dev/null +++ b/arch/arm/boot/dts/imx28-duckbill-2-enocean.dts @@ -0,0 +1,220 @@ +/* + * Copyright (C) 2015-2017 I2SE GmbH + * Copyright (C) 2016 Michael Heimpold + * + * The code contained herein is licensed under the GNU General Public + * License. You may obtain a copy of the GNU General Public License + * Version 2 or later at the following locations: + * + * http://www.opensource.org/licenses/gpl-license.html + * http://www.gnu.org/copyleft/gpl.html + */ + +/dts-v1/; +#include +#include +#include +#include "imx28.dtsi" + +/ { + model = "I2SE Duckbill 2 EnOcean"; + compatible = "i2se,duckbill", "fsl,imx28"; + + memory { + reg = <0x40000000 0x08000000>; + }; + + apb@80000000 { + apbh@80000000 { + ssp0: ssp@80010000 { + compatible = "fsl,imx28-mmc"; + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_8bit_pins_a + &mmc0_cd_cfg &mmc0_sck_cfg>; + bus-width = <8>; + vmmc-supply = <®_3p3v>; + status = "okay"; + non-removable; + }; + + ssp2: ssp@80014000 { + compatible = "fsl,imx28-mmc"; + pinctrl-names = "default"; + pinctrl-0 = <&mmc2_4bit_pins_b + &mmc2_cd_cfg &mmc2_sck_cfg_b>; + bus-width = <4>; + vmmc-supply = <®_3p3v>; + status = "okay"; + }; + + pinctrl@80018000 { + pinctrl-names = "default"; + pinctrl-0 = <&hog_pins_a>; + + hog_pins_a: hog@0 { + reg = <0>; + fsl,pinmux-ids = < + MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */ + >; + fsl,drive-strength = ; + fsl,voltage = ; + fsl,pull-up = ; + }; + + mac0_phy_reset_pin: mac0-phy-reset@0 { + reg = <0>; + fsl,pinmux-ids = < + MX28_PAD_GPMI_ALE__GPIO_0_26 /* PHY Reset */ + >; + fsl,drive-strength = ; + fsl,voltage = ; + fsl,pull-up = ; + }; + + mac0_phy_int_pin: mac0-phy-int@0 { + reg = <0>; + fsl,pinmux-ids = < + MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */ + >; + fsl,drive-strength = ; + fsl,voltage = ; + fsl,pull-up = ; + }; + + led_pins: leds@0 { + reg = <0>; + fsl,pinmux-ids = < + MX28_PAD_SAIF0_MCLK__GPIO_3_20 + MX28_PAD_SAIF0_LRCLK__GPIO_3_21 + MX28_PAD_AUART0_CTS__GPIO_3_2 + MX28_PAD_I2C0_SCL__GPIO_3_24 + MX28_PAD_I2C0_SDA__GPIO_3_25 + >; + fsl,drive-strength = ; + fsl,voltage = ; + fsl,pull-up = ; + }; + + enocean_button: enocean-button@0 { + reg = <0>; + fsl,pinmux-ids = < + MX28_PAD_AUART0_RTS__GPIO_3_3 + >; + fsl,drive-strength = ; + fsl,voltage = ; + fsl,pull-up = ; + }; + }; + }; + + apbx@80040000 { + lradc@80050000 { + status = "okay"; + }; + + auart0: serial@8006a000 { + pinctrl-names = "default"; + pinctrl-0 = <&auart0_2pins_a>; + status = "okay"; + }; + + duart: serial@80074000 { + pinctrl-names = "default"; + pinctrl-0 = <&duart_pins_a>; + status = "okay"; + }; + + usbphy0: usbphy@8007c000 { + status = "okay"; + }; + }; + }; + + ahb@80080000 { + usb0: usb@80080000 { + status = "okay"; + dr_mode = "peripheral"; + }; + + mac0: ethernet@800f0000 { + phy-mode = "rmii"; + pinctrl-names = "default"; + pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>; + phy-supply = <®_3p3v>; + phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; + phy-reset-duration = <25>; + phy-handle = <ðphy>; + status = "okay"; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + + ethphy: ethernet-phy@0 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&mac0_phy_int_pin>; + interrupt-parent = <&gpio0>; + interrupts = <7 IRQ_TYPE_EDGE_FALLING>; + max-speed = <100>; + }; + }; + }; + }; + + reg_3p3v: regulator-3p3v { + compatible = "regulator-fixed"; + regulator-name = "3P3V"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&led_pins>; + + status-red { + label = "duckbill:red:status"; + gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "default-on"; + }; + + status-green { + label = "duckbill:green:status"; + gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + }; + + enocean-blue { + label = "duckbill:blue:enocean"; + gpios = <&gpio3 24 GPIO_ACTIVE_LOW>; + }; + + enocean-red { + label = "duckbill:red:enocean"; + gpios = <&gpio3 25 GPIO_ACTIVE_LOW>; + }; + + enocean-green { + label = "duckbill:green:enocean"; + gpios = <&gpio3 2 GPIO_ACTIVE_LOW>; + }; + }; + + gpio-keys { + compatible = "gpio-keys"; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&enocean_button>; + + enocean { + label = "EnOcean"; + linux,code = ; + gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>; + }; + }; +};