From patchwork Sat Jan 16 01:51:07 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Marcel Ziswiler X-Patchwork-Id: 8048531 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 8A98E9F744 for ; Sat, 16 Jan 2016 01:54:33 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 6F81D20364 for ; Sat, 16 Jan 2016 01:54:32 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 22FD320351 for ; Sat, 16 Jan 2016 01:54:31 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1aKG35-0005gc-Gc; Sat, 16 Jan 2016 01:53:03 +0000 Received: from mout.perfora.net ([74.208.4.196]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1aKG2s-0005bq-KH for linux-arm-kernel@lists.infradead.org; Sat, 16 Jan 2016 01:52:54 +0000 Received: from localhost.localdomain ([84.227.37.153]) by mrelay.perfora.net (mreueus002) with ESMTPA (Nemesis) id 0MZn3I-1abO0b3mRS-00LZZW; Sat, 16 Jan 2016 02:51:50 +0100 From: Marcel Ziswiler To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 2/2] ARM: dts: imx6: Add support for Toradex Ixora carrier board Date: Sat, 16 Jan 2016 02:51:07 +0100 Message-Id: <1452909067-1998-3-git-send-email-marcel.ziswiler@toradex.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1452909067-1998-1-git-send-email-marcel.ziswiler@toradex.com> References: <1452909067-1998-1-git-send-email-marcel.ziswiler@toradex.com> MIME-Version: 1.0 X-Provags-ID: V03:K0:42jWiODZ/pKXJlJKtTaX3eKFr5Hh6qffLaXf37+7v0cP85+1MCo Sc3tk9R5VeNQKxWZya+3rgrq+AdGvszvik71h4vXuk0/oWxQMXVpOqB+xmJMUc8UUb8DyY6 hH0E6N8U6hasw4rza1aekpD/qW4mEAn43AqbEMQmrchnhu9BLwFj1/b9WV1f2olpiAd+oNN AM3v0QPNYDWir0eBSpqvQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:h803Ay/f1tA=:6rU+4kqw/PA9keDz/GmZ6k RSZ4lWbSB3yJou7JhMxlsvstin8nLxfaev4sg8ZksutJzcTSY0OplNR2nY0LIYoa5kcqNXMgM gG69/0AzQ3wEzzenlePi+jjJ3x787C79vfVCyn5nVLoxmPVwaQxKCQqXHE9o0Rri+yiluoDFy LPgjOxrdkNewVlMhAyzran+GT+id05dAZ1OiYPRc2GgWtAGViMZzAA+1wLSWxTMU/4iwUmyY+ 056IhXzpvMn5j7IhU8WYgEGOds2+e5zAgYxuWJya+yAoJ44Z9qe5l4yj21+o0+lo0IC0yvgIt ViPUSuw02ClU1JX/pNjCytOcuWShd06//Jr03cYITYc2NDkQd+8icjA0RUzsJve0NX/IfSfIg ZhzTd0QcexJVA5ZyML+SmDlFpaV1tQrvShdRvioKmNaebag6DSC/EF8XxdwcFzy0XDOYF59lE Wog+ujH7YAXfPShnvBsihNN6AQuYGzKhYonTNpUs3KbtxlFWX5+98xPY0U2JbGla0IEaAHQ12 B4P6HI8joJGqgHzhOtw1EoJ7hD0A092jhSe3pL3P1RGPFZ6m485baZHzEqCXMMSJBGH29jDiv hqX1qzRmJER5xe0+I+ZjRusXXrkBowyO2s0RSKxgCYeQ6ZGxyfRRR3ZbuS5z0xqSLJL+8qwKs JURWCIsCw2GljvQoKAeAowBDVKbOKNwHvDeueIW288blu2U+EO40D50LPOqwTspcpSMmJbUwD Len3COjbI02JrfPI X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160115_175251_125006_FFF8A30D X-CRM114-Status: GOOD ( 21.16 ) X-Spam-Score: -1.9 (-) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , devicetree@vger.kernel.org, Joshua Clayton , Russell King , Pawel Moll , Ian Campbell , Marcel Ziswiler , Shawn Guo , linux-kernel@vger.kernel.org, Stefan Agner , Rob Herring , Sascha Hauer , Kumar Gala , =?UTF-8?q?Petr=20=C5=A0tetiar?= , Shawn Guo , Fabio Estevam , Lucas Stach Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Petr Štetiar Signed-off-by: Marcel Ziswiler Signed-off-by: Petr Štetiar Reviewed-by: Stefan Agner --- Changes in v3: - integrated review feedback from Petr - integrated review feedback from Stefan - fix comment concerning Apalis GPIO usage as GPIO7 is only used for PCIe switch reset on Apalis Evaluation board - move I2C DDC handling into carrier board DTS where it belongs - simplify RTC alias Changes in v2: - clarify exact Apalis iMX6Q/D SoM type in cover letter - clarify exact Apalis iMX6Q/D module type and Ixora carrier board in model node - got rid of obsolete mmc aliases - working SGTL5000 audio/sound integration - working STMPE811 touch screen controller integration - integrated review feedback from Lucas - left and even added some more comments as I don't see why putting any explanatory comments in dts' should be such a bad thing to do - completely got rid of the memory node as that is something typically filled in by the boot loader e.g. U-Boot - without the regulators simple-bus it no longer boots - even though we supposedly shipped a few hundred V1.0a modules drop DCE UART support for now and simplify file layout - replaced obsolete no-1-8-v by mainline supported voltage-ranges = <3300 3300> usdhc property and yes card detects are indeed active low (;-p) - integrated review feedback from Stefan - fixed Ethernet PHY reset & interrupt (requires Micrel PHY driver to be enabled) - fixed HDMI DDC (requires GPIO-based bitbanging I2C to be enabled) - fixed SPDIF arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx6q-apalis-ixora.dts | 275 +++++++++++++++++++++++++++++++ 2 files changed, 276 insertions(+) create mode 100644 arch/arm/boot/dts/imx6q-apalis-ixora.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index a4a6d70..0d5e11b 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -317,6 +317,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6dl-udoo.dtb \ imx6dl-wandboard.dtb \ imx6dl-wandboard-revb1.dtb \ + imx6q-apalis-ixora.dtb \ imx6q-apf6dev.dtb \ imx6q-arm2.dtb \ imx6q-cm-fx6.dtb \ diff --git a/arch/arm/boot/dts/imx6q-apalis-ixora.dts b/arch/arm/boot/dts/imx6q-apalis-ixora.dts new file mode 100644 index 0000000..28f3b34 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-apalis-ixora.dts @@ -0,0 +1,275 @@ +/* + * Copyright 2014-2016 Toradex AG + * Copyright 2012 Freescale Semiconductor, Inc. + * Copyright 2011 Linaro Ltd. + * + * 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 free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * This file is distributed in the hope that it will be useful + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * 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 , 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 +#include "imx6q.dtsi" +#include "imx6qdl-apalis.dtsi" + +/ { + model = "Toradex Apalis iMX6Q/D Module on Ixora Carrier Board"; + compatible = "toradex,apalis_imx6q-ixora", "toradex,apalis_imx6q", + "fsl,imx6q"; + + aliases { + i2c0 = &i2cddc; + i2c1 = &i2c1; + i2c2 = &i2c2; + i2c3 = &i2c3; + }; + + aliases { + rtc0 = &rtc_i2c; + rtc1 = &snvs_rtc; + }; + + gpio-keys { + compatible = "gpio-keys"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpio_keys>; + + wakeup { + label = "Wake-Up"; + gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; + linux,code = ; + debounce-interval = <10>; + gpio-key,wakeup; + }; + }; + + leds { + compatible = "gpio-leds"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds_ixora>; + + led4-green { + label = "LED_4_GREEN"; + gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>; + }; + + led4-red { + label = "LED_4_RED"; + gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>; + }; + + led5-green { + label = "LED_5_GREEN"; + gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; + }; + + led5-red { + label = "LED_5_RED"; + gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>; + }; + }; + + pwmleds { + compatible = "pwm-leds"; + ledpwm1 { + label = "PWM1"; + pwms = <&pwm1 0 50000>; + max-brightness = <255>; + }; + + ledpwm2 { + label = "PWM2"; + pwms = <&pwm2 0 50000>; + max-brightness = <255>; + }; + + ledpwm3 { + label = "PWM3"; + pwms = <&pwm3 0 50000>; + max-brightness = <255>; + }; + }; + + regulators { + reg_usb_otg_vbus: usb_otg_vbus { + status = "okay"; + }; + + reg_usb_host_vbus: usb_host_vbus { + status = "okay"; + }; + }; +}; + +&backlight { + brightness-levels = <0 127 191 223 239 247 251 255>; + default-brightness-level = <1>; + status = "okay"; +}; + +&can1 { + status = "okay"; +}; + +&can2 { + status = "okay"; +}; + +&hdmi { + ddc-i2c-bus = <&i2cddc>; + status = "okay"; +}; + +&i2cddc { + status = "okay"; +}; + +/* GEN1_I2C: I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */ +&i2c1 { + status = "okay"; + + eeprom@50 { + compatible = "atmel,24c02"; + reg = <0x50>; + }; + + /* M41T0M6 real time clock on carrier board */ + rtc_i2c: rtc@68 { + compatible = "st,m41t00"; + reg = <0x68>; + }; +}; + +&ldb { + status = "okay"; +}; + +&pcie { + /* active-low meaning opposite of regular PERST# active-low polarity */ + reset-gpio = <&gpio1 28 GPIO_ACTIVE_LOW>; + status = "okay"; +}; + +&pwm1 { + status = "okay"; +}; + +&pwm2 { + status = "okay"; +}; + +&pwm3 { + status = "okay"; +}; + +&pwm4 { + status = "okay"; +}; + +&sata { + status = "okay"; +}; + +&sound_spdif { + status = "okay"; +}; + +&spdif { + status = "okay"; +}; + +&uart1 { + status = "okay"; +}; + +&uart2 { + status = "okay"; +}; + +&uart4 { + status = "okay"; +}; + +&uart5 { + status = "okay"; +}; + +&usbh1 { + vbus-supply = <®_usb_host_vbus>; + status = "okay"; +}; + +&usbotg { + vbus-supply = <®_usb_otg_vbus>; + status = "okay"; +}; + +/* SD1 */ +&usdhc2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sd_cd>; + cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>; + status = "okay"; +}; + +&iomuxc { + /* + * Mux the Apalis GPIOs + * GPIO5, 6 used by optional fusion_F0710A kernel module + */ + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_apalis_gpio1 &pinctrl_apalis_gpio2 + &pinctrl_apalis_gpio3 &pinctrl_apalis_gpio4 + &pinctrl_apalis_gpio5 &pinctrl_apalis_gpio6 + &pinctrl_apalis_gpio7 &pinctrl_apalis_gpio8 + >; + + leds_ixora { + pinctrl_leds_ixora: leds-ixora { + fsl,pins = < + MX6QDL_PAD_SD1_DAT1__GPIO1_IO17 0x1b0b0 + MX6QDL_PAD_SD1_DAT3__GPIO1_IO21 0x1b0b0 + MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1b0b0 + MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0 + >; + }; + }; +};