Hi Stefan On Wed, 2016-01-06 at 22:38 -0800, Stefan Agner wrote: > Hi Marcel, > > On 2016-01-05 08:39, Marcel Ziswiler wrote: > > From: Petr Štetiar <ynezz@xxxxxxx> > > > > Signed-off-by: Petr Štetiar <ynezz@xxxxxxx> > > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> > > --- > > > > Changes in v2: None > > > > arch/arm/boot/dts/Makefile | 1 + > > arch/arm/boot/dts/imx6q-apalis-ixora.dts | 256 > > +++++++++++++++++++++++++++++++ > > 2 files changed, 257 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 44508dc..29b1aae 100644 > > --- a/arch/arm/boot/dts/Makefile > > +++ b/arch/arm/boot/dts/Makefile > > @@ -315,6 +315,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..5494a13 > > --- /dev/null > > +++ b/arch/arm/boot/dts/imx6q-apalis-ixora.dts > > @@ -0,0 +1,256 @@ > > +/* > > + * 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 <dt-bindings/gpio/gpio.h> > > +#include <dt-bindings/input/input.h> > > +#include <dt-bindings/interrupt-controller/irq.h> > > +#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 = "/soc/aips-bus@02000000/snvs@020cc000/snvs- > > rtc-lp@34"; > > Probably easier and better readable when using the label here > ("&snvs_rtc"). Agreed. > > + }; > > + > > + 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 = <KEY_WAKEUP>; > > + 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"; > > +}; > > + > > +/* GEN1_I2C: I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier > > board) */ > > +&i2c1 { > > + status = "okay"; > > + > > + cat24c02@50 { > > According to devicetree.org, nodes are named according to what kind > of > device it represents. Hence this should be eeprom@50. Agreed. > > + compatible = "atmel,24c02"; > > + reg = <0x50>; > > + }; > > + > > + /* M41T0M6 real time clock on carrier board */ > > + rtc_i2c: rtc@68 { > > + compatible = "st,m41t00"; > > + reg = <0x68>; > > + }; > > +}; > > + > > +&iomuxc { > > This should go to the end of the device tree. Agreed. > Otherwise looks good to me: > Reviewed-by: Stefan Agner <stefan@xxxxxxxx> Thanks! > -- > Stefan > > > + /* > > + * Mux the Apalis GPIOs, GPIO7 used for PCIe reset, > > + * 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 > > PAD_CTRL_HYS_PU > > + MX6QDL_PAD_SD1_DAT3__GPIO1_IO21 > > PAD_CTRL_HYS_PU > > + MX6QDL_PAD_NANDF_D1__GPIO2_IO01 > > PAD_CTRL_HYS_PU > > + MX6QDL_PAD_NANDF_D2__GPIO2_IO02 > > PAD_CTRL_HYS_PU > > + >; > > + }; > > + }; > > +}; > > + > > +&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 { > > + status = "okay"; > > +}; > > + > > +&usbotg { > > + status = "okay"; > > +}; > > + > > +/* SD1 */ > > +&usdhc2 { > > + status = "okay"; > > +}; Cheers Marcel ��.n��������+%������w��{.n����z�{��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f