summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Agner <stefan.agner@toradex.com>2016-06-03 18:31:48 -0700
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2017-01-10 23:09:50 +0100
commitbf37100e154e248fbbb0cf6f2f4bcd75e98bf302 (patch)
tree8ace9aafb65531765e2675cfcd1ace5ddb8ba834
parentc4933f18783b47bf1842a228da0c105d0dff74f0 (diff)
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 <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit ac23876a1c36a702019c44f299195afa7b875393)
-rw-r--r--arch/arm/boot/dts/Makefile4
-rw-r--r--arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi236
-rw-r--r--arch/arm/boot/dts/imx7-colibri.dtsi180
-rw-r--r--arch/arm/boot/dts/imx7d-colibri-eval-v3.dts23
-rw-r--r--arch/arm/boot/dts/imx7d-colibri.dtsi (renamed from arch/arm/boot/dts/imx7d-colibri.dts)7
-rw-r--r--arch/arm/boot/dts/imx7s-colibri-eval-v3.dts18
-rw-r--r--arch/arm/boot/dts/imx7s-colibri.dtsi (renamed from arch/arm/boot/dts/imx7s-colibri.dts)2
7 files changed, 280 insertions, 190 deletions
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 = <&reg_3p3v>;
+ vqmmc-supply = <&reg_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 = <&reg_vref_1v8>;
- status = "okay";
};
&adc2 {
vref-supply = <&reg_vref_1v8>;
- status = "okay";
};
&cpu0 {
arm-supply = <&reg_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 = <&ethphy>;
phy-supply = <&reg_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 = <&reg_3p3v>;
- vqmmc-supply = <&reg_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 = <&reg_usb_otg2_vbus>;
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx7d-colibri.dts b/arch/arm/boot/dts/imx7d-colibri.dtsi
index 7b877b58937f..3a8a5c715659 100644
--- a/arch/arm/boot/dts/imx7d-colibri.dts
+++ b/arch/arm/boot/dts/imx7d-colibri.dtsi
@@ -7,15 +7,10 @@
* 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>;
@@ -23,7 +18,5 @@
};
&usbotg2 {
- vbus-supply = <&reg_usb_otg2_vbus>;
dr_mode = "host";
- status = "okay";
};
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.dtsi
index f1dd436501db..349f637337a3 100644
--- a/arch/arm/boot/dts/imx7s-colibri.dts
+++ b/arch/arm/boot/dts/imx7s-colibri.dtsi
@@ -6,8 +6,6 @@
* published by the Free Software Foundation.
*/
-/dts-v1/;
-
#include "imx7s.dtsi"
#include "imx7-colibri.dtsi"