From patchwork Sun Jan 24 22:48:23 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Marcel Ziswiler X-Patchwork-Id: 8102641 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.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id C95C7BEEE5 for ; Sun, 24 Jan 2016 22:51:47 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 9BFB120382 for ; Sun, 24 Jan 2016 22:51:46 +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 4CA662037E for ; Sun, 24 Jan 2016 22:51:45 +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 1aNTUA-0005Eh-Be; Sun, 24 Jan 2016 22:50:18 +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 1aNTTw-00041P-UW for linux-arm-kernel@lists.infradead.org; Sun, 24 Jan 2016 22:50:06 +0000 Received: from localhost.net ([84.227.37.153]) by mrelay.perfora.net (mreueus003) with ESMTPA (Nemesis) id 0LyTxo-1a10b33Qhy-015n8I; Sun, 24 Jan 2016 23:49:13 +0100 From: Marcel Ziswiler To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v4 2/2] ARM: dts: imx6: Add support for Toradex Ixora carrier board Date: Sun, 24 Jan 2016 23:48:23 +0100 Message-Id: <1453675703-31594-3-git-send-email-marcel.ziswiler@toradex.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1453675703-31594-1-git-send-email-marcel.ziswiler@toradex.com> References: <1453675703-31594-1-git-send-email-marcel.ziswiler@toradex.com> MIME-Version: 1.0 X-Provags-ID: V03:K0:mjAp+B35JPx1L/qZH6aGoSldaPBRM70wVfyanuaJDJ3U4MrdTfS pfoMZuA0sUu8VLf2HNCoQ28EDcwFc9GOwVGr/c/IUN00zMlaZm+oP9X3yk4uYIuk7Xhgque mJPmBG8zSggxtslgHQpAoUBo6gffIfghWyypU98JDAaKYzzbm3DumTa3Shsw2bunrrsYMb+ Vz/bDK0K8B2UUzfxeua/g== X-UI-Out-Filterresults: notjunk:1; V01:K0:saeQaYw2dc8=:HN+ZcW9+EpOD98HAF7DXF2 3Y7RBIOLhAkBXEXkIm/UmArlFvvDIUnoFwTjSSFPwIWldy+yOt2wWSkfgSIs75g+xENOSFh8g AIOP/5IHOU82Ky1satxYpaXNqK2o4cjlCqn/giOOeXIYMenP+sy2W3YE0dtJuw1UI/Svxc7iz SqFDbWurD7Q9+TCspPbeR0/rfVPUGKd6AcEjlhMmSZPNG14IYyC7svqPhCYdgaT1Rl+sYHU1k qLDmcjFT+Zo7bxCmOOl6DeAXcomABoT+9XzPmH3/tZOmaB6Q2zboWSANLWy4l90vN46PRNfKf 0+QBVUHEIoqGFvU50RADIC1b5WJW9J4N5zb7Ox74EB1Y64V5ygnR9EJ4DuKrBP894Bx3Z/MHv 1Zk0+1ogPQgJfl1++qjGJ886xOat+FefhIdkaxntJt1EaWjnpaTN3zBx8HbXmqlOXiW1RZDPF fOa64SF1+ghj/x1DRnBAwXE039J+TP/phfm66B5i4Q4wO+Lc182m1/FNgqzOANPslny6t6vX2 pVgHEM+bQ/6pRSCdGTpjCqGhvmlCi5FYh3it25wFXxjhkaHp5oXLscLz/luVLIbubBm1MZPEt qdR+/Vihvog6ks9iNL4OjU47yaoCVhOUF+uj+SHY+NAiPcwFiOduoiRILiw9kroLuf4USvFQX dLC3V5gYSlbLnaT4+AqR/Nd/7HeZK9uAJD54SluK9/tyBfUjCAWt4izG5UkNIoxGJ/KSNV6kL iJXuZlr2IyERb6Rq X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160124_145005_171896_4675BF30 X-CRM114-Status: GOOD ( 21.32 ) 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 v4: None 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 + >; + }; + }; +};