From bf37100e154e248fbbb0cf6f2f4bcd75e98bf302 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Fri, 3 Jun 2016 18:31:48 -0700 Subject: ARM: dts: imx7-colibri: introduce carrier board level dts Split up the colibri device tree into two device tree files for COM and Carrier Board. Use the usual SoC/COM/Board tripplet and follow including scheme used for Vybrid. Signed-off-by: Stefan Agner Acked-by: Max Krummenacher (cherry picked from commit ac23876a1c36a702019c44f299195afa7b875393) --- arch/arm/boot/dts/Makefile | 4 +- arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi | 236 ++++++++++++++++++++++++++++ arch/arm/boot/dts/imx7-colibri.dtsi | 180 +-------------------- arch/arm/boot/dts/imx7d-colibri-eval-v3.dts | 23 +++ arch/arm/boot/dts/imx7d-colibri.dts | 29 ---- arch/arm/boot/dts/imx7d-colibri.dtsi | 22 +++ arch/arm/boot/dts/imx7s-colibri-eval-v3.dts | 18 +++ arch/arm/boot/dts/imx7s-colibri.dts | 22 --- arch/arm/boot/dts/imx7s-colibri.dtsi | 20 +++ 9 files changed, 322 insertions(+), 232 deletions(-) create mode 100644 arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi create mode 100644 arch/arm/boot/dts/imx7d-colibri-eval-v3.dts delete mode 100644 arch/arm/boot/dts/imx7d-colibri.dts create mode 100644 arch/arm/boot/dts/imx7d-colibri.dtsi create mode 100644 arch/arm/boot/dts/imx7s-colibri-eval-v3.dts delete mode 100644 arch/arm/boot/dts/imx7s-colibri.dts create mode 100644 arch/arm/boot/dts/imx7s-colibri.dtsi diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index d1ab84c1589e..05825d2be57a 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -414,8 +414,8 @@ dtb-$(CONFIG_SOC_IMX7D) += \ imx7d-12x12-lpddr3-arm2-mqs.dtb \ imx7d-12x12-lpddr3-arm2-pcie.dtb \ imx7d-19x19-lpddr2-arm2.dtb \ - imx7d-colibri.dtb \ - imx7s-colibri.dtb \ + imx7d-colibri-eval-v3.dtb \ + imx7s-colibri-eval-v3.dtb \ imx7d-sdb.dtb \ imx7d-sdb-epdc.dtb \ imx7d-sdb-gpmi-weim.dtb \ diff --git a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi new file mode 100644 index 000000000000..a61b93bdbe09 --- /dev/null +++ b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi @@ -0,0 +1,236 @@ +/* + * Copyright 2016 Toradex AG + * + * 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. + */ + +/ { + chosen { + bootargs = "console=ttymxc0,115200"; + }; +}; + +&bl { + brightness-levels = <0 4 8 16 32 64 128 255>; + default-brightness-level = <6>; + status = "okay"; +}; + +&adc1 { + status = "okay"; +}; + +&adc2 { + status = "okay"; +}; + +&epxp { + status = "okay"; +}; + +&ecspi3 { + status = "okay"; + + spidev0: spidev@1 { + compatible = "spidev"; + reg = <0>; + spi-max-frequency = <50000000>; + }; +}; + +&fec1 { + status = "okay"; +}; + +&i2c4 { + status = "okay"; + + /* M41T0M6 real time clock on carrier board */ + rtc: m41t0m6@68 { + compatible = "st,m41t00"; + reg = <0x68>; + }; +}; + +&lcdif { + display = <&display0>; + status = "okay"; + + display0: display { + bits-per-pixel = <16>; + bus-width = <18>; + + display-timings { +/* not working, it takes the last element currently + native-mode = <&timing_vga>; +*/ + /* Standard VGA timing */ + timing_vga: 640x480 { + clock-frequency = <25175000>; + hactive = <640>; + vactive = <480>; + hback-porch = <40>; + hfront-porch = <24>; + vback-porch = <32>; + vfront-porch = <11>; + hsync-len = <96>; + vsync-len = <2>; + + de-active = <1>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; +#if 0 + /* WVGA Timing, e.g. EDT ET070080DH6 */ + timing_wvga: 800x480 { + clock-frequency = <33260000>; + hactive = <800>; + vactive = <480>; + hback-porch = <216>; + hfront-porch = <40>; + vback-porch = <35>; + vfront-porch = <10>; + hsync-len = <128>; + vsync-len = <2>; + + de-active = <1>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; + /* WVGA Timing, TouchRevolution Fusion 7" */ + timing_wvga2: 800x480pixclkact { + clock-frequency = <33260000>; + hactive = <800>; + vactive = <480>; + hback-porch = <216>; + hfront-porch = <40>; + vback-porch = <35>; + vfront-porch = <10>; + hsync-len = <128>; + vsync-len = <2>; + + de-active = <1>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <1>; + }; + /* Standard SVGA timing */ + timing_svga: 800x600 { + clock-frequency = <40000000>; + hactive = <800>; + vactive = <600>; + hback-porch = <88>; + hfront-porch = <40>; + vback-porch = <23>; + vfront-porch = <1>; + hsync-len = <128>; + vsync-len = <4>; + + de-active = <1>; + hsync-active = <1>; + vsync-active = <1>; + pixelclk-active = <0>; + }; + /* TouchRevolution Fusion 10"/CLAA101NC05 10.1 inch */ + timing_wsvga: 1024x600 { + clock-frequency = <48000000>; + hactive = <1024>; + vactive = <600>; + hback-porch = <104>; + hfront-porch = <43>; + vback-porch = <24>; + vfront-porch = <20>; + hsync-len = <5>; + vsync-len = <5>; + + de-active = <1>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; + /* Standard XGA timing */ + timing_xga: 1024x768 { + clock-frequency = <65000000>; + hactive = <1024>; + vactive = <768>; + hback-porch = <160>; + hfront-porch = <24>; + vback-porch = <29>; + vfront-porch = <3>; + hsync-len = <136>; + vsync-len = <6>; + + de-active = <1>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; +#endif + }; + }; +}; + +&pwm1 { + status = "okay"; +}; + +&pwm2 { + status = "okay"; +}; + +&pwm3 { + status = "okay"; +}; + +&pwm4 { + status = "okay"; +}; + +&uart1 { + status = "okay"; +}; + +&uart2 { + status = "okay"; +}; + +&uart3 { + status = "okay"; +}; + +&usbotg1 { + status = "okay"; +}; + +/* The define SD_1_8 allows to use the SD interface at a higher speed mode + * if the card supports it. For this the signaling voltage is switched from + * 3.3V to 1.8V under the usdhc1's drivers control. + * All pins supplied with NVCC_SD1 must be able to cope with this + * and must (MUST!!!) not be driven with a voltage higher than 1.8V or + * the interface will not work. + */ +/* #define SD_1_8 */ +&usdhc1 { +#ifdef SD_1_8 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; + pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_cd_usdhc1>; + pinctrl-1 = <&pinctrl_usdhc1_100mhz &pinctrl_cd_usdhc1>; + pinctrl-2 = <&pinctrl_usdhc1_200mhz &pinctrl_cd_usdhc1>; + vmmc-supply = <®_3p3v>; + vqmmc-supply = <®_LDO2>; +#else + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_cd_usdhc1>; + no-1-8-v; +#endif + cd-gpios = <&gpio1 0 0>; + enable-sdio-wakeup; + keep-power-in-suspend; + status = "okay"; + tuning-step = <2>; +}; diff --git a/arch/arm/boot/dts/imx7-colibri.dtsi b/arch/arm/boot/dts/imx7-colibri.dtsi index 03547b63024e..813b5983edfc 100644 --- a/arch/arm/boot/dts/imx7-colibri.dtsi +++ b/arch/arm/boot/dts/imx7-colibri.dtsi @@ -11,12 +11,9 @@ /* #define USE_ENET_OUT */ / { - backlight { + bl: backlight { compatible = "pwm-backlight"; pwms = <&pwm1 0 5000000>; - brightness-levels = <0 4 8 16 32 64 128 255>; - default-brightness-level = <6>; - status = "okay"; }; pxp_v4l2_out { @@ -93,36 +90,22 @@ &adc1 { vref-supply = <®_vref_1v8>; - status = "okay"; }; &adc2 { vref-supply = <®_vref_1v8>; - status = "okay"; }; &cpu0 { arm-supply = <®_DCDC2>; }; -&epxp { - status = "okay"; -}; - /* Colibri SPI */ &ecspi3 { fsl,spi-num-chipselects = <1>; cs-gpios = <&gpio4 11 0>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ecspi3 &pinctrl_ecspi3_cs>; - - status = "okay"; - - spidev0: spidev@1 { - compatible = "spidev"; - reg = <0>; - spi-max-frequency = <50000000>; - }; }; &fec1 { @@ -149,7 +132,6 @@ phy-handle = <ðphy>; phy-supply = <®_LDO1>; fsl,magic-packet; - status = "okay"; mdio { #address-cells = <1>; @@ -282,13 +264,6 @@ clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c4>; - status = "okay"; - - /* M41T0M6 real time clock on carrier board */ - rtc: m41t0m6@68 { - compatible = "st,m41t00"; - reg = <0x68>; - }; }; &lcdif { @@ -296,123 +271,6 @@ pinctrl-0 = <&pinctrl_lcdif_dat &pinctrl_lcdif_ctrl>; //pinctrl-assert-gpios = <&gpio_spi 7 GPIO_ACTIVE_HIGH>; - display = <&display0>; - status = "okay"; - - display0: display { - bits-per-pixel = <16>; - bus-width = <18>; - - display-timings { -/* not working, it takes the last element currently - native-mode = <&timing_vga>; -*/ - /* Standard VGA timing */ - timing_vga: 640x480 { - clock-frequency = <25175000>; - hactive = <640>; - vactive = <480>; - hback-porch = <40>; - hfront-porch = <24>; - vback-porch = <32>; - vfront-porch = <11>; - hsync-len = <96>; - vsync-len = <2>; - - de-active = <1>; - hsync-active = <0>; - vsync-active = <0>; - pixelclk-active = <0>; - }; -#if 0 - /* WVGA Timing, e.g. EDT ET070080DH6 */ - timing_wvga: 800x480 { - clock-frequency = <33260000>; - hactive = <800>; - vactive = <480>; - hback-porch = <216>; - hfront-porch = <40>; - vback-porch = <35>; - vfront-porch = <10>; - hsync-len = <128>; - vsync-len = <2>; - - de-active = <1>; - hsync-active = <0>; - vsync-active = <0>; - pixelclk-active = <0>; - }; - /* WVGA Timing, TouchRevolution Fusion 7" */ - timing_wvga2: 800x480pixclkact { - clock-frequency = <33260000>; - hactive = <800>; - vactive = <480>; - hback-porch = <216>; - hfront-porch = <40>; - vback-porch = <35>; - vfront-porch = <10>; - hsync-len = <128>; - vsync-len = <2>; - - de-active = <1>; - hsync-active = <0>; - vsync-active = <0>; - pixelclk-active = <1>; - }; - /* Standard SVGA timing */ - timing_svga: 800x600 { - clock-frequency = <40000000>; - hactive = <800>; - vactive = <600>; - hback-porch = <88>; - hfront-porch = <40>; - vback-porch = <23>; - vfront-porch = <1>; - hsync-len = <128>; - vsync-len = <4>; - - de-active = <1>; - hsync-active = <1>; - vsync-active = <1>; - pixelclk-active = <0>; - }; - /* TouchRevolution Fusion 10"/CLAA101NC05 10.1 inch */ - timing_wsvga: 1024x600 { - clock-frequency = <48000000>; - hactive = <1024>; - vactive = <600>; - hback-porch = <104>; - hfront-porch = <43>; - vback-porch = <24>; - vfront-porch = <20>; - hsync-len = <5>; - vsync-len = <5>; - - de-active = <1>; - hsync-active = <0>; - vsync-active = <0>; - pixelclk-active = <0>; - }; - /* Standard XGA timing */ - timing_xga: 1024x768 { - clock-frequency = <65000000>; - hactive = <1024>; - vactive = <768>; - hback-porch = <160>; - hfront-porch = <24>; - vback-porch = <29>; - vfront-porch = <3>; - hsync-len = <136>; - vsync-len = <6>; - - de-active = <1>; - hsync-active = <0>; - vsync-active = <0>; - pixelclk-active = <0>; - }; -#endif - }; - }; }; &ocram { @@ -426,25 +284,21 @@ &pwm1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm1>; - status = "okay"; }; &pwm2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm2>; - status = "okay"; }; &pwm3 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm3>; - status = "okay"; }; &pwm4 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm4>; - status = "okay"; }; &iomuxc { @@ -841,7 +695,6 @@ assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>; fsl,uart-has-rtscts; fsl,dte-mode; - status = "okay"; }; &uart2 { @@ -851,7 +704,6 @@ assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>; fsl,uart-has-rtscts; fsl,dte-mode; - status = "okay"; }; &uart3 { @@ -860,38 +712,8 @@ assigned-clocks = <&clks IMX7D_UART3_ROOT_SRC>; assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>; fsl,dte-mode; - status = "okay"; }; &usbotg1 { dr_mode = "host"; - status = "okay"; -}; - -/* The define SD_1_8 allows to use the SD interface at a higher speed mode - * if the card supports it. For this the signaling voltage is switched from - * 3.3V to 1.8V under the usdhc1's drivers control. - * All pins supplied with NVCC_SD1 must be able to cope with this - * and must (MUST!!!) not be driven with a voltage higher than 1.8V or - * the interface will not work. - */ -/* #define SD_1_8 */ -&usdhc1 { -#ifdef SD_1_8 - pinctrl-names = "default", "state_100mhz", "state_200mhz"; - pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_cd_usdhc1>; - pinctrl-1 = <&pinctrl_usdhc1_100mhz &pinctrl_cd_usdhc1>; - pinctrl-2 = <&pinctrl_usdhc1_200mhz &pinctrl_cd_usdhc1>; - vmmc-supply = <®_3p3v>; - vqmmc-supply = <®_LDO2>; -#else - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_cd_usdhc1>; - no-1-8-v; -#endif - cd-gpios = <&gpio1 0 0>; - enable-sdio-wakeup; - keep-power-in-suspend; - status = "okay"; - tuning-step = <2>; }; diff --git a/arch/arm/boot/dts/imx7d-colibri-eval-v3.dts b/arch/arm/boot/dts/imx7d-colibri-eval-v3.dts new file mode 100644 index 000000000000..c66964d68902 --- /dev/null +++ b/arch/arm/boot/dts/imx7d-colibri-eval-v3.dts @@ -0,0 +1,23 @@ +/* + * Copyright 2016 Toradex AG + * + * 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 "imx7d-colibri.dtsi" +#include "imx7-colibri-eval-v3.dtsi" + +/ { + model = "Toradex Colibri iMX7D on Colibri Evaluation Board V3"; + compatible = "toradex,colibri_imx7d-eval", "toradex,colibri_imx7d", \ + "fsl,imx7d"; +}; + +&usbotg2 { + vbus-supply = <®_usb_otg2_vbus>; + status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx7d-colibri.dts b/arch/arm/boot/dts/imx7d-colibri.dts deleted file mode 100644 index 7b877b58937f..000000000000 --- a/arch/arm/boot/dts/imx7d-colibri.dts +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (C) 2015 Freescale Semiconductor, Inc. - * Copyright (C) 2016 Toradex AG - * - * This program 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. - */ - -/dts-v1/; - -#include "imx7d.dtsi" -#include "imx7-colibri.dtsi" - -/ { - model = "Toradex Colibri iMX7D on Colibri Evaluation Board V3"; - compatible = "toradex,colibri_imx7d-eval", "toradex,colibri_imx7d", \ - "fsl,imx7d"; - - memory { - reg = <0x80000000 0x20000000>; - }; -}; - -&usbotg2 { - vbus-supply = <®_usb_otg2_vbus>; - dr_mode = "host"; - status = "okay"; -}; diff --git a/arch/arm/boot/dts/imx7d-colibri.dtsi b/arch/arm/boot/dts/imx7d-colibri.dtsi new file mode 100644 index 000000000000..3a8a5c715659 --- /dev/null +++ b/arch/arm/boot/dts/imx7d-colibri.dtsi @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2015 Freescale Semiconductor, Inc. + * Copyright (C) 2016 Toradex AG + * + * This program 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. + */ + +#include "imx7d.dtsi" +#include "imx7-colibri.dtsi" + +/ { + + memory { + reg = <0x80000000 0x20000000>; + }; +}; + +&usbotg2 { + dr_mode = "host"; +}; diff --git a/arch/arm/boot/dts/imx7s-colibri-eval-v3.dts b/arch/arm/boot/dts/imx7s-colibri-eval-v3.dts new file mode 100644 index 000000000000..a9721e991dff --- /dev/null +++ b/arch/arm/boot/dts/imx7s-colibri-eval-v3.dts @@ -0,0 +1,18 @@ +/* + * Copyright 2016 Toradex AG + * + * 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 "imx7s-colibri.dtsi" +#include "imx7-colibri-eval-v3.dtsi" + +/ { + model = "Toradex Colibri iMX7S on Colibri Evaluation Board V3"; + compatible = "toradex,colibri_imx7s-eval", "toradex,colibri_imx7s", \ + "fsl,imx7s", "fsl,imx7d"; +}; diff --git a/arch/arm/boot/dts/imx7s-colibri.dts b/arch/arm/boot/dts/imx7s-colibri.dts deleted file mode 100644 index f1dd436501db..000000000000 --- a/arch/arm/boot/dts/imx7s-colibri.dts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (C) 2016 Toradex AG - * - * This program 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. - */ - -/dts-v1/; - -#include "imx7s.dtsi" -#include "imx7-colibri.dtsi" - -/ { - model = "Toradex Colibri iMX7S on Colibri Evaluation Board V3"; - compatible = "toradex,colibri_imx7s-eval", "toradex,colibri_imx7s", "fsl,imx7s", "fsl,imx7d"; - - memory { - reg = <0x80000000 0x10000000>; - }; -}; - diff --git a/arch/arm/boot/dts/imx7s-colibri.dtsi b/arch/arm/boot/dts/imx7s-colibri.dtsi new file mode 100644 index 000000000000..349f637337a3 --- /dev/null +++ b/arch/arm/boot/dts/imx7s-colibri.dtsi @@ -0,0 +1,20 @@ +/* + * Copyright (C) 2016 Toradex AG + * + * This program 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. + */ + +#include "imx7s.dtsi" +#include "imx7-colibri.dtsi" + +/ { + model = "Toradex Colibri iMX7S on Colibri Evaluation Board V3"; + compatible = "toradex,colibri_imx7s-eval", "toradex,colibri_imx7s", "fsl,imx7s", "fsl,imx7d"; + + memory { + reg = <0x80000000 0x10000000>; + }; +}; + -- cgit v1.2.3