i.MX device tree change for 5.20:

- A series from Alexander Stein to fix some i.MX6UL dt_binding_check
   warnings.
 - Replace deprecated 'enable-sdio-wakeup' property with 'wakeup-source'
   for a couple of boards.
 - A set of imx7-colibri device tree updates from Marcel Ziswiler to
   improve devices Display, Touch, Ethernet and SD/MMC, and also adds
   Toradex Iris carrier board.
 - A few improvements on imx6qdl-colibri board, correct SGTL5000 MCLK
   handling, simplify handling of inverted PWM backlight.
 - A series from Max Krummenacher (and Oleksandr Suvorov) to improve the
   existing i.MX6 Apalis carrier board device trees and adds a new device
   tree for the Ixora V1.2 carrier board.
 - Add USB dual-role switching using extcon for imx7-colibri board.
 - Add SFP node for TA 2.1 devices for LayerScape SoCs.
 - Other small and random updates on various boards.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmLJMugUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM6HTwf9EpFmI65t6eC8llTDK94Xx4dvwESq
 TTx04A7XL36DgYAkGpL1l5KpcLGQGAo6Gfn1Nb6SxHfOL3Tqa3F/0FilR0h4sdGy
 E6+OVzRJyoYTsL1l+tzcoLBAHMj/ai5gmTuTaQVypEz0Ai3JQnjR+p/v8xmAaPTE
 crQy/ashAbOpBW09ZOw3T1osb9XqGDVCKHi6FxQS0vFNOC87olVGnOJedfaBwjpz
 eMdXDWF8vbQ1mxIXzBBpSVU3htTVP6mZs4W4h0lQ22pHr6KuRRNPgjpB5s5m/Jjw
 DTVTclhQBJGuY9FsrBRJKvTjlmQ513Wz57l0n11XZ0akSTT0TS9m3NuEdA==
 =FZws
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLMRTsACgkQmmx57+YA
 GNkDjg/+MEaAoe64LHBe1wDlq9jJJan8LegEJ5CA72hs6St3QT8PHh0vYpwx5AIX
 xfDiSGugDQJpXgTj2qO0lLgaFJk8fH79UtCiLxInhqh5k3xrvO9ocYAcy8h37OCK
 L3RNPZnNQBwSdqaqnmF60CQ+5/GgnI9A5F5sywxYXfDOayJsuqWHoMTGirWn3N7u
 o8JURpXx1gOAZmnspyMku17ZodJNO96YB7Z3gihNV95trhddraRkT8v4hW2c3kA1
 LjvxbDmfjh7E0DFm9okaPzwrsRtWavOLGI/gAsXD3q8iwd3GBS1/1HXghavDVFpF
 wAgxk1d5FcGqr/AlJwuHc6yJ5YWfMJs/dnkvvbSNNQugmEDm6fsd56JyV0LnGXxu
 ztcimNhAdZcUeidgQ/zMeBeKZ8ItXgvGTKyg6VwxxVveiFHoXYy53/mILGZFTyjB
 1Wp+Hhv3/mxWt/IH+vx+Y5Dm83T9BEiQvWnT+s2OyqEzJK9O39bv5x8xhahBbkvQ
 7CohB9CEzPSWKDf96grdUGEVwdQW/NXlAIVPts79HhvM0TmHKtdTJq4cqrqq+Vrl
 WhRm+hsWgHI4tHTUCkcjDk0pm3i7VSMkQexJofgGW7HO14xlOx5YyhXmHhlcp0sQ
 GFsJ9sp+E4yg5mvGw+Mot1D2kF4ZXzsDjzMqqZceeENMtDe+X2k=
 =9m0W
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt

i.MX device tree change for 5.20:

- A series from Alexander Stein to fix some i.MX6UL dt_binding_check
  warnings.
- Replace deprecated 'enable-sdio-wakeup' property with 'wakeup-source'
  for a couple of boards.
- A set of imx7-colibri device tree updates from Marcel Ziswiler to
  improve devices Display, Touch, Ethernet and SD/MMC, and also adds
  Toradex Iris carrier board.
- A few improvements on imx6qdl-colibri board, correct SGTL5000 MCLK
  handling, simplify handling of inverted PWM backlight.
- A series from Max Krummenacher (and Oleksandr Suvorov) to improve the
  existing i.MX6 Apalis carrier board device trees and adds a new device
  tree for the Ixora V1.2 carrier board.
- Add USB dual-role switching using extcon for imx7-colibri board.
- Add SFP node for TA 2.1 devices for LayerScape SoCs.
- Other small and random updates on various boards.

* tag 'imx-dt-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (61 commits)
  ARM: dts: layerscape: Add SFP node for TA 2.1 devices
  ARM: dts: imx6qdl-prti6q.dtsi: Add applicable properties to usdhc3
  ARM: dts: imx6q-bosch-acc: Replace 'enable-sdio-wakeup'
  ARM: dts: imx7d-smegw01: Replace 'enable-sdio-wakeup'
  ARM: dts: imx6q-apalis: Cleanup
  ARM: dts: imx6q-apalis: backlight pwm: Adapt brightness steps
  ARM: dts: imx6q-apalis: backlight pwm: Simplify inverted backlight
  ARM: dts: imx6q-apalis: Add support for Toradex Ixora V1.2 carrier boards
  ARM: dts: imx6q-apalis: Clean-up sd card support
  ARM: dts: imx6q-apalis: Add adv7280 video input
  ARM: dts: imx6q-apalis: Add ov5640 mipi csi camera
  ARM: dts: imx6q-apalis: Disable stmpe touchscreen
  ARM: dts: imx6q-apalis: Disable HDMI
  ARM: dts: imx6q-apalis: Add LVDS panel support
  ARM: dts: imx6q-apalis: move gpio-keys to SoM dtsi
  ARM: dts: imx6q-apalis: Move Atmel MXT touch ctrl to SoM dtsi
  ARM: dts: imx6q-apalis: Move pinmux groups to SoM dtsi
  ARM: dts: imx6q-apalis: Move parallel rgb interface to SoM dtsi
  ARM: dts: imx6q-apalis: Command pmic to standby for poweroff
  ARM: dts: imx6q-apalis: Add gpio-line-names
  ...

Link: https://lore.kernel.org/r/20220709082951.15123-4-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2022-07-11 17:43:54 +02:00
commit dbd68eb5ba
65 changed files with 2262 additions and 1272 deletions

View File

@ -550,6 +550,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6q-apalis-eval.dtb \
imx6q-apalis-ixora.dtb \
imx6q-apalis-ixora-v1.1.dtb \
imx6q-apalis-ixora-v1.2.dtb \
imx6q-apf6dev.dtb \
imx6q-arm2.dtb \
imx6q-b450v3.dtb \
@ -741,8 +742,12 @@ dtb-$(CONFIG_SOC_IMX7D) += \
imx7d-cl-som-imx7.dtb \
imx7d-colibri-aster.dtb \
imx7d-colibri-emmc-aster.dtb \
imx7d-colibri-emmc-iris.dtb \
imx7d-colibri-emmc-iris-v2.dtb \
imx7d-colibri-emmc-eval-v3.dtb \
imx7d-colibri-eval-v3.dtb \
imx7d-colibri-iris.dtb \
imx7d-colibri-iris-v2.dtb \
imx7d-flex-concentrator.dtb \
imx7d-flex-concentrator-mfg.dtb \
imx7d-mba7.dtb \
@ -762,6 +767,8 @@ dtb-$(CONFIG_SOC_IMX7D) += \
imx7d-zii-rpu2.dtb \
imx7s-colibri-aster.dtb \
imx7s-colibri-eval-v3.dtb \
imx7s-colibri-iris.dtb \
imx7s-colibri-iris-v2.dtb \
imx7s-mba7.dtb \
imx7s-warp.dtb
dtb-$(CONFIG_SOC_IMX7ULP) += \

View File

@ -22,14 +22,14 @@
gpio_keys: gpio-keys {
compatible = "gpio-keys";
power {
key-power {
label = "Power";
gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
wakeup-source;
};
cover {
key-cover {
label = "Cover";
gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
linux,code = <SW_LID>;

View File

@ -26,14 +26,14 @@
gpio_keys: gpio-keys {
compatible = "gpio-keys";
power {
key-power {
label = "Power";
gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
wakeup-source;
};
cover {
key-cover {
label = "Cover";
gpios = <&gpio4 23 GPIO_ACTIVE_LOW>;
linux,code = <SW_LID>;
@ -41,13 +41,13 @@
wakeup-source;
};
pageup {
key-pageup {
label = "PageUp";
gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_PAGEUP>;
};
pagedown {
key-pagedown {
label = "PageDown";
gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_PAGEDOWN>;

View File

@ -68,7 +68,7 @@
};
};
soc {
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";

View File

@ -74,14 +74,14 @@
};
};
soc {
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
interrupt-parent = <&aitc>;
ranges;
aipi@10000000 { /* AIPI1 */
aipi1: aipi@10000000 { /* AIPI1 */
compatible = "fsl,aipi-bus", "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
@ -453,7 +453,7 @@
};
};
aipi@10020000 { /* AIPI2 */
aipi2: aipi@10020000 { /* AIPI2 */
compatible = "fsl,aipi-bus", "simple-bus";
#address-cells = <1>;
#size-cells = <1>;

View File

@ -48,7 +48,7 @@
reg = <0x68000000 0x100000>;
};
soc {
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
@ -63,7 +63,7 @@
ranges = <0 0x1fffc000 0x4000>;
};
bus@43f00000 { /* AIPS1 */
aips1: bus@43f00000 { /* AIPS1 */
compatible = "fsl,aips-bus", "simple-bus";
#address-cells = <1>;
#size-cells = <1>;

View File

@ -94,14 +94,14 @@
status = "okay";
};
soc {
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
interrupt-parent = <&tzic>;
ranges;
bus@50000000 { /* AIPS1 */
aips1: bus@50000000 { /* AIPS1 */
compatible = "fsl,aips-bus", "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
@ -385,7 +385,7 @@
};
};
bus@60000000 { /* AIPS2 */
aips2: bus@60000000 { /* AIPS2 */
compatible = "fsl,aips-bus", "simple-bus";
#address-cells = <1>;
#size-cells = <1>;

View File

@ -174,7 +174,7 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_interrupt_fpga>;
interrupt-parent = <&gpio2>;
interrupts= <9 IRQ_TYPE_LEVEL_HIGH>;
interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
#interrupt-cells = <1>;
};

View File

@ -114,7 +114,7 @@
ports = <&ipu_di0>, <&ipu_di1>;
};
soc {
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
@ -171,7 +171,7 @@
};
};
bus@70000000 { /* AIPS1 */
aips1: bus@70000000 { /* AIPS1 */
compatible = "fsl,aips-bus", "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
@ -460,7 +460,7 @@
};
};
bus@80000000 { /* AIPS2 */
aips2: bus@80000000 { /* AIPS2 */
compatible = "fsl,aips-bus", "simple-bus";
#address-cells = <1>;
#size-cells = <1>;

View File

@ -132,7 +132,7 @@
status = "okay";
};
soc {
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
@ -222,7 +222,7 @@
clock-names = "core_clk", "mem_iface_clk";
};
bus@50000000 { /* AIPS1 */
aips1: bus@50000000 { /* AIPS1 */
compatible = "fsl,aips-bus", "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
@ -655,7 +655,7 @@
};
};
bus@60000000 { /* AIPS2 */
aips2: bus@60000000 { /* AIPS2 */
compatible = "fsl,aips-bus", "simple-bus";
#address-cells = <1>;
#size-cells = <1>;

View File

@ -196,7 +196,7 @@
compatible = "ti,tsc2046e-adc";
reg = <0>;
pinctrl-0 = <&pinctrl_tsc2046>;
pinctrl-names ="default";
pinctrl-names = "default";
spi-max-frequency = <1000000>;
interrupts-extended = <&gpio3 20 IRQ_TYPE_LEVEL_LOW>;
#io-channel-cells = <1>;

View File

@ -344,7 +344,7 @@
compatible = "ti,tsc2046e-adc";
reg = <0>;
pinctrl-0 = <&pinctrl_tsc>;
pinctrl-names ="default";
pinctrl-names = "default";
spi-max-frequency = <1000000>;
interrupts-extended = <&gpio3 20 IRQ_TYPE_LEVEL_LOW>;
#io-channel-cells = <1>;

View File

@ -144,7 +144,7 @@
compatible = "ti,tsc2046e-adc";
reg = <0>;
pinctrl-0 = <&pinctrl_touchscreen>;
pinctrl-names ="default";
pinctrl-names = "default";
spi-max-frequency = <1000000>;
interrupts-extended = <&gpio5 8 IRQ_TYPE_LEVEL_LOW>;
#io-channel-cells = <1>;

View File

@ -80,7 +80,7 @@
};
};
soc {
soc: soc {
ocram: sram@900000 {
compatible = "mmio-sram";
reg = <0x00900000 0x20000>;

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0+ OR MIT
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2014-2020 Toradex
* Copyright 2014-2022 Toradex
* Copyright 2012 Freescale Semiconductor, Inc.
* Copyright 2011 Linaro Ltd.
*/
@ -30,89 +30,26 @@
stdout-path = "serial0:115200n8";
};
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>;
wakeup-source;
};
};
lcd_display: disp0 {
compatible = "fsl,imx-parallel-display";
#address-cells = <1>;
#size-cells = <0>;
interface-pix-fmt = "rgb24";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu1_lcdif>;
status = "okay";
port@0 {
reg = <0>;
lcd_display_in: endpoint {
remote-endpoint = <&ipu1_di1_disp1>;
};
};
port@1 {
reg = <1>;
lcd_display_out: endpoint {
remote-endpoint = <&lcd_panel_in>;
};
};
};
panel: panel {
/*
* edt,et057090dhu: EDT 5.7" LCD TFT
* edt,et070080dh6: EDT 7.0" LCD TFT
*/
compatible = "edt,et057090dhu";
backlight = <&backlight>;
power-supply = <&reg_3v3_sw>;
port {
lcd_panel_in: endpoint {
remote-endpoint = <&lcd_display_out>;
};
};
};
reg_pcie_switch: regulator-pcie-switch {
compatible = "regulator-fixed";
regulator-name = "pcie_switch";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
startup-delay-us = <100000>;
enable-active-high;
gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
regulator-max-microvolt = <1800000>;
regulator-min-microvolt = <1800000>;
regulator-name = "pcie_switch";
startup-delay-us = <100000>;
status = "okay";
};
reg_3v3_sw: regulator-3v3-sw {
compatible = "regulator-fixed";
regulator-name = "3.3V_SW";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-max-microvolt = <3300000>;
regulator-min-microvolt = <3300000>;
regulator-name = "3.3V_SW";
};
};
&backlight {
brightness-levels = <0 127 191 223 239 247 251 255>;
default-brightness-level = <1>;
power-supply = <&reg_3v3_sw>;
status = "okay";
};
&can1 {
xceiver-supply = <&reg_3v3_sw>;
status = "okay";
@ -123,27 +60,10 @@
status = "okay";
};
&hdmi {
status = "okay";
};
/* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */
&i2c1 {
status = "okay";
/*
* Touchscreen is using SODIMM 28/30, also used for PWM<B>, PWM<C>,
* aka pwm2, pwm3. so if you enable touchscreen, disable the pwms
*/
touchscreen@4a {
compatible = "atmel,maxtouch";
reg = <0x4a>;
interrupt-parent = <&gpio6>;
interrupts = <10 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&gpio6 9 GPIO_ACTIVE_LOW>; /* SODIMM 13 */
status = "disabled";
};
pcie-switch@58 {
compatible = "plx,pex8605";
reg = <0x58>;
@ -164,14 +84,6 @@
status = "okay";
};
&ipu1_di1_disp1 {
remote-endpoint = <&lcd_display_in>;
};
&ldb {
status = "okay";
};
&pcie {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_reset_moci>;
@ -198,11 +110,11 @@
status = "okay";
};
&reg_usb_otg_vbus {
&reg_usb_host_vbus {
status = "okay";
};
&reg_usb_host_vbus {
&reg_usb_otg_vbus {
status = "okay";
};
@ -246,28 +158,13 @@
/* MMC1 */
&usdhc1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc1_4bit &pinctrl_usdhc1_8bit &pinctrl_mmc_cd>;
cd-gpios = <&gpio4 20 GPIO_ACTIVE_LOW>;
status = "okay";
};
/* SD1 */
&usdhc2 {
cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc2 &pinctrl_sd_cd>;
cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
status = "okay";
};
&iomuxc {
/*
* Mux the Apalis GPIOs
*/
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
>;
};

View File

@ -1,274 +1,37 @@
// SPDX-License-Identifier: GPL-2.0+ OR MIT
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2014-2020 Toradex
* Copyright 2014-2022 Toradex
* Copyright 2012 Freescale Semiconductor, Inc.
* Copyright 2011 Linaro Ltd.
*/
/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"
#include "imx6q-apalis-ixora-v1.2.dts"
/ {
model = "Toradex Apalis iMX6Q/D Module on Ixora Carrier Board V1.1";
compatible = "toradex,apalis_imx6q-ixora-v1.1",
"toradex,apalis_imx6q-ixora", "toradex,apalis_imx6q",
compatible = "toradex,apalis_imx6q-ixora-v1.1", "toradex,apalis_imx6q",
"fsl,imx6q";
aliases {
i2c0 = &i2c1;
i2c1 = &i2c3;
i2c2 = &i2c2;
rtc0 = &rtc_i2c;
rtc1 = &snvs_rtc;
};
chosen {
stdout-path = "serial0:115200n8";
};
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>;
wakeup-source;
};
};
lcd_display: disp0 {
compatible = "fsl,imx-parallel-display";
#address-cells = <1>;
#size-cells = <0>;
interface-pix-fmt = "rgb24";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu1_lcdif>;
status = "okay";
port@0 {
reg = <0>;
lcd_display_in: endpoint {
remote-endpoint = <&ipu1_di1_disp1>;
};
};
port@1 {
reg = <1>;
lcd_display_out: endpoint {
remote-endpoint = <&lcd_panel_in>;
};
};
};
panel: panel {
/*
* edt,et057090dhu: EDT 5.7" LCD TFT
* edt,et070080dh6: EDT 7.0" LCD TFT
*/
compatible = "edt,et057090dhu";
backlight = <&backlight>;
port {
lcd_panel_in: endpoint {
remote-endpoint = <&lcd_display_out>;
};
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_leds_ixora>;
led4-green {
label = "LED_4_GREEN";
gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
};
led4-red {
label = "LED_4_RED";
gpios = <&gpio1 12 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>;
};
};
};
&backlight {
brightness-levels = <0 127 191 223 239 247 251 255>;
default-brightness-level = <1>;
status = "okay";
};
/delete-node/ &eeprom;
/delete-node/ &reg_3v3_vmmc;
/delete-node/ &reg_can1_supply;
/delete-node/ &reg_can2_supply;
&can1 {
status = "okay";
/delete-property/ xceiver-supply;
};
&can2 {
status = "okay";
};
&hdmi {
status = "okay";
};
/* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */
&i2c1 {
status = "okay";
/*
* Touchscreen is using SODIMM 28/30, also used for PWM<B>, PWM<C>,
* aka pwm2, pwm3. so if you enable touchscreen, disable the pwms
*/
touchscreen@4a {
compatible = "atmel,maxtouch";
reg = <0x4a>;
interrupt-parent = <&gpio6>;
interrupts = <10 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&gpio6 9 GPIO_ACTIVE_LOW>; /* SODIMM 13 */
status = "disabled";
};
/* M41T0M6 real time clock on carrier board */
rtc_i2c: rtc@68 {
compatible = "st,m41t0";
reg = <0x68>;
};
};
/*
* I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor on carrier
* board)
*/
&i2c3 {
status = "okay";
};
&ipu1_di1_disp1 {
remote-endpoint = <&lcd_display_in>;
};
&ldb {
status = "okay";
};
&pcie {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_reset_moci>;
/* active-high meaning opposite of regular PERST# active-low polarity */
reset-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
reset-gpio-active-high;
status = "okay";
};
&pwm1 {
status = "okay";
};
&pwm2 {
status = "okay";
};
&pwm3 {
status = "okay";
};
&pwm4 {
status = "okay";
};
&reg_usb_otg_vbus {
status = "okay";
};
&reg_usb_host_vbus {
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 = <&reg_usb_host_vbus>;
status = "okay";
};
&usbotg {
vbus-supply = <&reg_usb_otg_vbus>;
status = "okay";
/delete-property/ xceiver-supply;
};
/* MMC1 */
&usdhc1 {
/delete-property/ cap-power-off-card;
/delete-property/ pinctrl-1;
/delete-property/ vmmc-supply;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc1_4bit &pinctrl_mmc_cd>;
cd-gpios = <&gpio4 20 GPIO_ACTIVE_LOW>;
bus-width = <4>;
status = "okay";
};
&iomuxc {
/*
* Mux the Apalis GPIOs
*/
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
>;
pinctrl_leds_ixora: ledsixoragrp {
fsl,pins = <
MX6QDL_PAD_SD2_DAT1__GPIO1_IO14 0x1b0b0
MX6QDL_PAD_SD2_DAT3__GPIO1_IO12 0x1b0b0
MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1b0b0
MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0
>;
};
};

View File

@ -0,0 +1,276 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2014-2022 Toradex
* Copyright 2012 Freescale Semiconductor, Inc.
* Copyright 2011 Linaro Ltd.
*/
/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 V1.2";
compatible = "toradex,apalis_imx6q-ixora-v1.2", "toradex,apalis_imx6q",
"fsl,imx6q";
aliases {
i2c0 = &i2c1;
i2c1 = &i2c3;
i2c2 = &i2c2;
rtc0 = &rtc_i2c;
rtc1 = &snvs_rtc;
};
chosen {
stdout-path = "serial0:115200n8";
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_leds_ixora>;
led4-green {
gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
label = "LED_4_GREEN";
};
led4-red {
gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
label = "LED_4_RED";
};
led5-green {
gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
label = "LED_5_GREEN";
};
led5-red {
gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
label = "LED_5_RED";
};
};
reg_3v3_vmmc: regulator-3v3-vmmc {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio2 0 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enable_3v3_vmmc>;
regulator-max-microvolt = <3300000>;
regulator-min-microvolt = <3300000>;
regulator-name = "3v3_vmmc";
startup-delay-us = <100>;
};
reg_can1_supply: regulator-can1-supply {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio2 3 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enable_can1_power>;
regulator-name = "can1_supply";
};
reg_can2_supply: regulator-can2-supply {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio3 15 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enable_can2_power>;
regulator-name = "can2_supply";
};
};
&can1 {
xceiver-supply = <&reg_can1_supply>;
status = "okay";
};
&can2 {
xceiver-supply = <&reg_can2_supply>;
status = "okay";
};
&gpio1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart24_forceoff>;
/*
* uart-2-4-on-x21-enable-hog enables the UART transceiver for Apalis
* UART2 and UART3. If one wants to disable the transceiver force
* the GPIO to output-low, if one wants to control the transceiver
* from user space delete the hog node.
*/
uart-2-4-on-x21-enable-hog {
gpio-hog;
gpios = <11 GPIO_ACTIVE_HIGH>; /* MXM3 180 */
output-high;
};
};
/* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */
&i2c1 {
status = "okay";
/* M41T0M6 real time clock on carrier board */
rtc_i2c: rtc@68 {
compatible = "st,m41t0";
reg = <0x68>;
};
eeprom: eeprom@50 {
compatible = "atmel,24c02";
reg = <0x50>;
pagesize = <16>;
};
};
/*
* I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor on carrier
* board)
*/
&i2c3 {
status = "okay";
};
&pcie {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_reset_moci>;
/* active-high meaning opposite of regular PERST# active-low polarity */
reset-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
reset-gpio-active-high;
status = "okay";
};
&pwm1 {
status = "okay";
};
&pwm2 {
status = "okay";
};
&pwm3 {
status = "okay";
};
&pwm4 {
status = "okay";
};
&reg_usb_host_vbus {
status = "okay";
};
&reg_usb_otg_vbus {
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 = <&reg_usb_host_vbus>;
status = "okay";
};
&usbotg {
vbus-supply = <&reg_usb_otg_vbus>;
status = "okay";
};
/* MMC1 */
&usdhc1 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&pinctrl_usdhc1_4bit &pinctrl_mmc_cd>;
pinctrl-1 = <&pinctrl_usdhc1_4bit_sleep &pinctrl_mmc_cd_sleep>;
bus-width = <4>;
cap-power-off-card;
vmmc-supply = <&reg_3v3_vmmc>;
status = "okay";
};
&iomuxc {
pinctrl_enable_3v3_vmmc: enable3v3vmmcgrp {
fsl,pins = <
MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0
>;
};
pinctrl_enable_can1_power: enablecan1powergrp {
fsl,pins = <
MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x1b0b0
>;
};
pinctrl_enable_can2_power: enablecan2powergrp {
fsl,pins = <
MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x1b0b0
>;
};
pinctrl_uart24_forceoff: uart24forceoffgrp {
fsl,pins = <
MX6QDL_PAD_SD2_CMD__GPIO1_IO11 0x1b0b0
>;
};
pinctrl_leds_ixora: ledsixoragrp {
fsl,pins = <
MX6QDL_PAD_SD2_DAT1__GPIO1_IO14 0x1b0b0
MX6QDL_PAD_SD2_DAT3__GPIO1_IO12 0x1b0b0
MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1b0b0
MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0
>;
};
pinctrl_mmc_cd_sleep: mmccdslpgrp {
fsl,pins = <
/* MMC1 CD */
MX6QDL_PAD_DI0_PIN4__GPIO4_IO20 0x0
>;
};
pinctrl_usdhc1_4bit_sleep: usdhc1-4bitslpgrp {
fsl,pins = <
MX6QDL_PAD_SD1_CMD__SD1_CMD 0x3000
MX6QDL_PAD_SD1_CLK__SD1_CLK 0x3000
MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x3000
MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x3000
MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x3000
MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x3000
>;
};
};

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0+ OR MIT
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2014-2020 Toradex
* Copyright 2014-2022 Toradex
* Copyright 2012 Freescale Semiconductor, Inc.
* Copyright 2011 Linaro Ltd.
*/
@ -30,95 +30,33 @@
stdout-path = "serial0:115200n8";
};
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>;
wakeup-source;
};
};
lcd_display: disp0 {
compatible = "fsl,imx-parallel-display";
#address-cells = <1>;
#size-cells = <0>;
interface-pix-fmt = "rgb24";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu1_lcdif>;
status = "okay";
port@0 {
reg = <0>;
lcd_display_in: endpoint {
remote-endpoint = <&ipu1_di1_disp1>;
};
};
port@1 {
reg = <1>;
lcd_display_out: endpoint {
remote-endpoint = <&lcd_panel_in>;
};
};
};
panel: panel {
/*
* edt,et057090dhu: EDT 5.7" LCD TFT
* edt,et070080dh6: EDT 7.0" LCD TFT
*/
compatible = "edt,et057090dhu";
backlight = <&backlight>;
port {
lcd_panel_in: endpoint {
remote-endpoint = <&lcd_display_out>;
};
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_leds_ixora>;
led4-green {
label = "LED_4_GREEN";
gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
label = "LED_4_GREEN";
};
led4-red {
label = "LED_4_RED";
gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
label = "LED_4_RED";
};
led5-green {
label = "LED_5_GREEN";
gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
label = "LED_5_GREEN";
};
led5-red {
label = "LED_5_RED";
gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
label = "LED_5_RED";
};
};
};
&backlight {
brightness-levels = <0 127 191 223 239 247 251 255>;
default-brightness-level = <1>;
status = "okay";
};
&can1 {
status = "okay";
};
@ -127,27 +65,10 @@
status = "okay";
};
&hdmi {
status = "okay";
};
/* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */
&i2c1 {
status = "okay";
/*
* Touchscreen is using SODIMM 28/30, also used for PWM<B>, PWM<C>,
* aka pwm2, pwm3. so if you enable touchscreen, disable the pwms
*/
touchscreen@4a {
compatible = "atmel,maxtouch";
reg = <0x4a>;
interrupt-parent = <&gpio6>;
interrupts = <10 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&gpio6 9 GPIO_ACTIVE_LOW>; /* SODIMM 13 */
status = "disabled";
};
eeprom@50 {
compatible = "atmel,24c02";
reg = <0x50>;
@ -168,14 +89,6 @@
status = "okay";
};
&ipu1_di1_disp1 {
remote-endpoint = <&lcd_display_in>;
};
&ldb {
status = "okay";
};
&pcie {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_reset_moci>;
@ -201,11 +114,11 @@
status = "okay";
};
&reg_usb_otg_vbus {
&reg_usb_host_vbus {
status = "okay";
};
&reg_usb_host_vbus {
&reg_usb_otg_vbus {
status = "okay";
};
@ -249,21 +162,13 @@
/* SD1 */
&usdhc2 {
cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc2 &pinctrl_sd_cd>;
cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
status = "okay";
};
&iomuxc {
/* Mux the Apalis GPIOs */
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
>;
pinctrl_leds_ixora: ledsixoragrp {
fsl,pins = <
MX6QDL_PAD_SD1_DAT1__GPIO1_IO17 0x1b0b0

View File

@ -570,7 +570,7 @@
cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
no-1-8-v;
keep-power-in-suspend;
enable-sdio-wakeup;
wakeup-source;
voltage-ranges = <3300 3300>;
vmmc-supply = <&reg_sw4>;
fsl,wp-controller;
@ -594,7 +594,7 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wdog1>;
fsl,ext-reset-output;
timeout-sec=<10>;
timeout-sec = <10>;
status = "okay";
};

View File

@ -125,3 +125,9 @@
>;
};
};
&reg_tft_vcom {
regulator-min-microvolt = <3160000>;
regulator-max-microvolt = <3160000>;
voltage-table = <3160000 73>;
};

View File

@ -159,14 +159,14 @@
};
};
soc {
soc: soc {
ocram: sram@900000 {
compatible = "mmio-sram";
reg = <0x00900000 0x40000>;
clocks = <&clks IMX6QDL_CLK_OCRAM>;
};
bus@2000000 { /* AIPS1 */
aips1: bus@2000000 { /* AIPS1 */
spba-bus@2000000 {
ecspi5: spi@2018000 {
#address-cells = <1>;

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,7 @@
*/
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
/ {
model = "Toradex Colibri iMX6DL/S Module";
@ -13,13 +14,13 @@
backlight: backlight {
compatible = "pwm-backlight";
brightness-levels = <0 127 191 223 239 247 251 255>;
default-brightness-level = <1>;
brightness-levels = <0 45 63 88 119 158 203 255>;
default-brightness-level = <4>;
enable-gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>; /* Colibri BL_ON */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_bl_on>;
power-supply = <&reg_module_3v3>;
pwms = <&pwm3 0 5000000>;
pwms = <&pwm3 0 5000000 PWM_POLARITY_INVERTED>;
status = "disabled";
};
@ -520,6 +521,8 @@
compatible = "fsl,sgtl5000";
clocks = <&clks IMX6QDL_CLK_CKO>;
lrclk-strength = <3>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sgtl5000>;
reg = <0x0a>;
#sound-dai-cells = <0>;
VDDA-supply = <&reg_module_3v3_audio>;
@ -618,7 +621,6 @@
/* Colibri PWM<A> */
&pwm3 {
#pwm-cells = <2>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm3>;
status = "disabled";
@ -739,8 +741,6 @@
pinctrl_audmux: audmuxgrp {
fsl,pins = <
/* SGTL5000 sys_mclk */
MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x000b0
MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0
MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x130b0
MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0
@ -991,6 +991,13 @@
>;
};
pinctrl_sgtl5000: sgtl5000grp {
fsl,pins = <
/* SGTL5000 sys_mclk */
MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x000b0
>;
};
pinctrl_spdif: spdifgrp {
fsl,pins = <
MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x1b0b0

View File

@ -94,6 +94,9 @@
pinctrl-0 = <&pinctrl_usdhc3>;
bus-width = <8>;
non-removable;
no-1-8-v;
no-sd;
no-sdio;
status = "okay";
};

View File

@ -15,13 +15,13 @@
reg = <0>;
spi-max-frequency = <1000000>;
interrupts-extended = <&gpio3 19 IRQ_TYPE_LEVEL_LOW>;
vcc-supply = <&reg_3v3>;
vcc-supply = <&reg_3v3>;
pendown-gpio = <&gpio3 19 GPIO_ACTIVE_LOW>;
ti,x-plate-ohms = /bits/ 16 <850>;
ti,y-plate-ohms = /bits/ 16 <295>;
ti,pressure-min = /bits/ 16 <2>;
ti,pressure-max = /bits/ 16 <1500>;
ti,vref-mv = /bits/ 16 <3300>;
ti,vref-mv = /bits/ 16 <3300>;
ti,settle-delay-usec = /bits/ 16 <15>;
ti,vref-delay-usecs = /bits/ 16 <0>;
ti,penirq-recheck-delay-usecs = /bits/ 16 <100>;

View File

@ -149,6 +149,16 @@
gpio = <&gpio4 11 GPIO_ACTIVE_LOW>;
};
reg_tft_vcom: regulator-tft-vcom {
compatible = "pwm-regulator";
pwms = <&pwm3 0 20000 0>;
regulator-name = "tft_vcom";
regulator-min-microvolt = <3600000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
voltage-table = <3600000 26>;
};
reg_vcc_mmc: regulator-vcc-mmc {
compatible = "regulator-fixed";
pinctrl-names = "default";

View File

@ -143,7 +143,7 @@
#phy-cells = <0>;
};
soc {
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
@ -290,7 +290,7 @@
status = "disabled";
};
bus@2000000 { /* AIPS1 */
aips1: bus@2000000 { /* AIPS1 */
compatible = "fsl,aips-bus", "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
@ -941,7 +941,7 @@
};
};
bus@2100000 { /* AIPS2 */
aips2: bus@2100000 { /* AIPS2 */
compatible = "fsl,aips-bus", "simple-bus";
#address-cells = <1>;
#size-cells = <1>;

View File

@ -27,7 +27,7 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_keys>;
cover {
key-cover {
label = "Cover";
gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
linux,code = <SW_LID>;
@ -35,19 +35,19 @@
wakeup-source;
};
fl {
key-fl {
label = "Frontlight";
gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
linux,code = <KEY_BRIGHTNESS_CYCLE>;
};
home {
key-home {
label = "Home";
gpios = <&gpio3 25 GPIO_ACTIVE_LOW>;
linux,code = <KEY_HOME>;
};
power {
key-power {
label = "Power";
gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
@ -60,7 +60,7 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_led>;
on {
led-0 {
label = "tolinoshine2hd:white:on";
gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
linux,default-trigger = "timer";

View File

@ -154,7 +154,7 @@
#phy-cells = <0>;
};
soc {
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";

View File

@ -72,7 +72,6 @@
&adc1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc1>;
num-channels = <3>;
vref-supply = <&reg_vref_adc>;
status = "okay";
};

View File

@ -83,11 +83,6 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc1>;
vref-supply = <&reg_adc1_vref_3v3>;
/*
* driver can not separate a specific channel so we request 4 channels
* here - we need only the fourth channel
*/
num-channels = <4>;
status = "disabled";
};

View File

@ -14,7 +14,7 @@
};
&usdhc2 {
fsl,tuning-step= <6>;
fsl,tuning-step = <6>;
};
&iomuxc {

View File

@ -64,20 +64,18 @@
clock-frequency = <696000000>;
clock-latency = <61036>; /* two CLK32 periods */
#cooling-cells = <2>;
operating-points = <
operating-points =
/* kHz uV */
696000 1275000
528000 1175000
396000 1025000
198000 950000
>;
fsl,soc-operating-points = <
<696000 1275000>,
<528000 1175000>,
<396000 1025000>,
<198000 950000>;
fsl,soc-operating-points =
/* KHz uV */
696000 1275000
528000 1175000
396000 1175000
198000 1175000
>;
<696000 1275000>,
<528000 1175000>,
<396000 1175000>,
<198000 1175000>;
clocks = <&clks IMX6UL_CLK_ARM>,
<&clks IMX6UL_CLK_PLL2_BUS>,
<&clks IMX6UL_CLK_PLL2_PFD2>,
@ -139,7 +137,7 @@
interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
};
soc {
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
@ -149,6 +147,9 @@
ocram: sram@900000 {
compatible = "mmio-sram";
reg = <0x00900000 0x20000>;
ranges = <0 0x00900000 0x20000>;
#address-cells = <1>;
#size-cells = <1>;
};
intc: interrupt-controller@a01000 {
@ -543,7 +544,7 @@
};
kpp: keypad@20b8000 {
compatible = "fsl,imx6ul-kpp", "fsl,imx6q-kpp", "fsl,imx21-kpp";
compatible = "fsl,imx6ul-kpp", "fsl,imx21-kpp";
reg = <0x020b8000 0x4000>;
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6UL_CLK_KPP>;
@ -923,7 +924,6 @@
reg = <0x02198000 0x4000>;
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6UL_CLK_ADC1>;
num-channels = <2>;
clock-names = "adc";
fsl,adck-max-frequency = <30000000>, <40000000>,
<20000000>;
@ -998,7 +998,7 @@
};
csi: csi@21c4000 {
compatible = "fsl,imx6ul-csi", "fsl,imx7-csi";
compatible = "fsl,imx6ul-csi";
reg = <0x021c4000 0x4000>;
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6UL_CLK_CSI>;
@ -1007,7 +1007,7 @@
};
lcdif: lcdif@21c8000 {
compatible = "fsl,imx6ul-lcdif", "fsl,imx28-lcdif";
compatible = "fsl,imx6ul-lcdif", "fsl,imx6sx-lcdif";
reg = <0x021c8000 0x4000>;
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6UL_CLK_LCDIF_PIX>,
@ -1028,7 +1028,7 @@
qspi: spi@21e0000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,imx6ul-qspi", "fsl,imx6sx-qspi";
compatible = "fsl,imx6ul-qspi";
reg = <0x021e0000 0x4000>, <0x60000000 0x10000000>;
reg-names = "QuadSPI", "QuadSPI-memory";
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;

View File

@ -94,7 +94,6 @@
};
&adc1 {
num-channels = <10>;
vref-supply = <&reg_module_3v3_avdd>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc1>;

View File

@ -14,7 +14,7 @@
};
&usdhc2 {
fsl,tuning-step= <6>;
fsl,tuning-step = <6>;
/* Errata ERR010450 Workaround */
max-frequency = <99000000>;
assigned-clocks = <&clks IMX6UL_CLK_USDHC2_SEL>, <&clks IMX6UL_CLK_USDHC2>;

View File

@ -14,7 +14,7 @@
};
&usdhc2 {
fsl,tuning-step= <6>;
fsl,tuning-step = <6>;
/* Errata ERR010450 Workaround */
max-frequency = <99000000>;
assigned-clocks = <&clks IMX6UL_CLK_USDHC2_SEL>, <&clks IMX6UL_CLK_USDHC2>;

View File

@ -50,7 +50,7 @@
};
/ {
soc {
soc: soc {
aips3: bus@2200000 {
compatible = "fsl,aips-bus", "simple-bus";
#address-cells = <1>;

View File

@ -29,6 +29,10 @@
status = "okay";
};
&snvs_poweroff {
status = "okay";
};
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3>;

View File

@ -1,169 +1,79 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2017-2020 Toradex AG
*
* Copyright 2017-2022 Toradex
*/
#include <dt-bindings/input/input.h>
#include <dt-bindings/pwm/pwm.h>
/ {
chosen {
stdout-path = "serial0:115200n8";
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpiokeys>;
power {
label = "Wake-Up";
gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_WAKEUP>;
debounce-interval = <10>;
wakeup-source;
};
};
panel: panel {
compatible = "edt,et057090dhu";
backlight = <&bl>;
power-supply = <&reg_3v3>;
port {
panel_in: endpoint {
remote-endpoint = <&lcdif_out>;
};
};
};
reg_3v3: regulator-3v3 {
compatible = "regulator-fixed";
regulator-name = "3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
reg_5v0: regulator-5v0 {
compatible = "regulator-fixed";
regulator-name = "5V";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
reg_usbh_vbus: regulator-usbh-vbus {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbh_reg>;
regulator-name = "VCC_USB[1-4]";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio4 7 GPIO_ACTIVE_LOW>;
vin-supply = <&reg_5v0>;
};
};
/* Colibri AD0 to AD3 */
&adc1 {
status = "okay";
};
/*
* ADC2 is not available on the Aster board and
* conflicts with AD7879 resistive touchscreen.
*/
&adc2 {
status = "disabled";
};
&bl {
brightness-levels = <0 4 8 16 32 64 128 255>;
default-brightness-level = <6>;
power-supply = <&reg_3v3>;
/* Colibri SSP */
&ecspi3 {
cs-gpios = <
&gpio4 11 GPIO_ACTIVE_LOW /* SODIMM 86 / regular SSPFRM as UNO_SPI_CS or */
&gpio4 23 GPIO_ACTIVE_LOW /* SODIMM 65 / already muxed pinctrl_gpio2 as SPI_CE0_N */
&gpio4 22 GPIO_ACTIVE_LOW /* SODIMM 85 / already muxed pinctrl_gpio2 as SPI_CE1_N */
>;
status = "okay";
};
/* Colibri Fast Ethernet */
&fec1 {
status = "okay";
};
/* Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 */
&i2c4 {
status = "okay";
/* Microchip/Atmel maxtouch controller */
touchscreen@4a {
compatible = "atmel,maxtouch";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpiotouch>;
reg = <0x4a>;
interrupt-parent = <&gpio2>;
interrupts = <15 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 107 */
reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; /* SODIMM 106 */
};
/* M41T0M6 real time clock on carrier board */
rtc: rtc@68 {
compatible = "st,m41t0";
reg = <0x68>;
};
};
&iomuxc {
pinctrl_gpiotouch: touchgpios {
fsl,pins = <
MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74
MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x14
>;
};
};
&lcdif {
status = "okay";
port {
lcdif_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
/* Colibri PWM<A> */
&pwm1 {
status = "okay";
};
/* Colibri PWM<B> */
&pwm2 {
status = "okay";
};
/* Colibri PWM<C> */
&pwm3 {
status = "okay";
};
/* Colibri PWM<D> */
&pwm4 {
status = "okay";
};
/* M41T0M6 real time clock */
&rtc {
status = "okay";
};
/* Colibri UART_A */
&uart1 {
status = "okay";
};
/* Colibri UART_B */
&uart2 {
status = "okay";
};
/* Colibri UART_C */
&uart3 {
status = "okay";
};
/* Colibri USBC */
&usbotg1 {
status = "okay";
};
/* Colibri MMC/SD */
&usdhc1 {
keep-power-in-suspend;
no-1-8-v;
wakeup-source;
vmmc-supply = <&reg_3v3>;
status = "okay";
};

View File

@ -1,194 +1,110 @@
// SPDX-License-Identifier: GPL-2.0+ OR MIT
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2016-2020 Toradex
* Copyright 2016-2022 Toradex
*/
/ {
aliases {
rtc0 = &rtc;
rtc1 = &snvs_rtc;
};
chosen {
stdout-path = "serial0:115200n8";
};
/* fixed crystal dedicated to mpc258x */
/* Fixed crystal dedicated to MCP2515. */
clk16m: clk16m {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <16000000>;
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpiokeys>;
power {
label = "Wake-Up";
gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_WAKEUP>;
debounce-interval = <10>;
wakeup-source;
};
};
panel: panel {
compatible = "edt,et057090dhu";
backlight = <&bl>;
power-supply = <&reg_3v3>;
port {
panel_in: endpoint {
remote-endpoint = <&lcdif_out>;
};
};
};
reg_3v3: regulator-3v3 {
compatible = "regulator-fixed";
regulator-name = "3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
reg_5v0: regulator-5v0 {
compatible = "regulator-fixed";
regulator-name = "5V";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
reg_usbh_vbus: regulator-usbh-vbus {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbh_reg>;
regulator-name = "VCC_USB[1-4]";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio4 7 GPIO_ACTIVE_LOW>;
vin-supply = <&reg_5v0>;
};
};
&bl {
brightness-levels = <0 4 8 16 32 64 128 255>;
default-brightness-level = <6>;
power-supply = <&reg_3v3>;
status = "okay";
};
/* Colibri AD0 to AD3 */
&adc1 {
status = "okay";
};
&adc2 {
status = "okay";
/*
* The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3.
* So if you enable following capacitive touch controller, disable pwm2/pwm3 first.
*/
&atmel_mxt_ts {
interrupt-parent = <&gpio1>;
interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 / INT */
pinctrl-0 = <&pinctrl_atmel_adapter>;
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; /* SODIMM 30 / RST */
status = "disabled";
};
/* Colibri SSP */
&ecspi3 {
status = "okay";
mcp2515: can@0 {
clocks = <&clk16m>;
compatible = "microchip,mcp2515";
interrupt-parent = <&gpio5>;
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_can_int>;
reg = <0>;
clocks = <&clk16m>;
interrupt-parent = <&gpio5>;
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
spi-max-frequency = <10000000>;
vdd-supply = <&reg_3v3>;
xceiver-supply = <&reg_5v0>;
status = "okay";
};
};
/* Colibri Fast Ethernet */
&fec1 {
status = "okay";
};
/* Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 */
&i2c4 {
status = "okay";
/*
* Touchscreen is using SODIMM 28/30, also used for PWM<B>, PWM<C>,
* aka pwm2, pwm3. so if you enable touchscreen, disable the pwms
*/
touchscreen@4a {
compatible = "atmel,maxtouch";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpiotouch>;
reg = <0x4a>;
interrupt-parent = <&gpio1>;
interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 */
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; /* SODIMM 30 */
status = "disabled";
};
/* M41T0M6 real time clock on carrier board */
rtc: rtc@68 {
compatible = "st,m41t0";
reg = <0x68>;
};
};
&lcdif {
status = "okay";
port {
lcdif_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
/* Colibri PWM<A> */
&pwm1 {
status = "okay";
};
/* Colibri PWM<B> */
&pwm2 {
/* The pwm2 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
status = "okay";
};
/* Colibri PWM<C> */
&pwm3 {
/* The pwm3 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
status = "okay";
};
/* Colibri PWM<D> */
&pwm4 {
status = "okay";
};
/* M41T0M6 real time clock */
&rtc {
status = "okay";
};
/* Colibri UART_A */
&uart1 {
status = "okay";
};
/* Colibri UART_B */
&uart2 {
status = "okay";
};
/* Colibri UART_C */
&uart3 {
status = "okay";
};
/* Colibri USBC */
&usbotg1 {
status = "okay";
};
/* Colibri MMC/SD */
&usdhc1 {
keep-power-in-suspend;
wakeup-source;
vmmc-supply = <&reg_3v3>;
status = "okay";
};
&iomuxc {
pinctrl_gpiotouch: touchgpios {
fsl,pins = <
MX7D_PAD_GPIO1_IO09__GPIO1_IO9 0x74
MX7D_PAD_GPIO1_IO10__GPIO1_IO10 0x14
>;
};
};

View File

@ -0,0 +1,112 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2022 Toradex
*/
/ {
reg_3v3_vmmc: regulator-3v3-vmmc {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio5 16 GPIO_ACTIVE_HIGH>; /* SODIMM 100 */
regulator-max-microvolt = <3300000>;
regulator-min-microvolt = <3300000>;
regulator-name = "3v3_vmmc";
startup-delay-us = <100>;
};
};
/* Colibri AD0 to AD3 */
&adc1 {
status = "okay";
};
/* Colibri SSP */
&ecspi3 {
status = "okay";
};
/* Colibri Fast Ethernet */
&fec1 {
status = "okay";
};
&gpio2 {
/*
* uart_b_c_on_x14_enable turns the UART transceiver for UART2 and 5 on. If one wants to
* turn the transceiver off, that property has to be deleted and the gpio handled in
* userspace.
* The same applies to uart_a_on_x13_enable where the UART_A transceiver is turned on.
*/
uart-b-c-on-x14-enable-hog {
gpio-hog;
gpios = <27 GPIO_ACTIVE_HIGH>; /* SODIMM 104 */
output-high;
};
};
&gpio5 {
uart-a-on-x13-enable-hog {
gpio-hog;
gpios = <17 GPIO_ACTIVE_HIGH>; /* SODIMM 102 */
output-high;
};
};
/* Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 */
&i2c4 {
status = "okay";
};
/* Colibri PWM<A> */
&pwm1 {
status = "okay";
};
/* Colibri PWM<B> */
&pwm2 {
status = "okay";
};
/* Colibri PWM<C> */
&pwm3 {
status = "okay";
};
/* Colibri PWM<D> */
&pwm4 {
status = "okay";
};
/* M41T0M6 real time clock */
&rtc {
status = "okay";
};
/* Colibri UART_A */
&uart1 {
status = "okay";
};
/* Colibri UART_B */
&uart2 {
status = "okay";
};
/* Colibri UART_C */
&uart3 {
status = "okay";
};
/* Colibri USBC */
&usbotg1 {
status = "okay";
};
/* Colibri MMC/SD, UHS-I capable uSD slot */
&usdhc1 {
cap-power-off-card;
/delete-property/ keep-power-in-suspend;
/delete-property/ no-1-8-v;
vmmc-supply = <&reg_3v3_vmmc>;
status = "okay";
};

View File

@ -0,0 +1,108 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2022 Toradex
*/
/* Colibri AD0 to AD3 */
&adc1 {
status = "okay";
};
/*
* The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3.
* So if you enable following capacitive touch controller, disable pwm2/pwm3 first.
*/
&atmel_mxt_ts {
interrupt-parent = <&gpio1>;
interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 / INT */
pinctrl-0 = <&pinctrl_atmel_adapter>;
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; /* SODIMM 30 / RST */
};
/* Colibri SSP */
&ecspi3 {
status = "okay";
};
/* Colibri Fast Ethernet */
&fec1 {
status = "okay";
};
&gpio2 {
/*
* uart25 turns the UART transceiver for UART2 and 5 on. If one wants to turn the
* transceiver off, that property has to be deleted and the gpio handled in userspace.
* The same applies to uart1_tx_on where the UART1 transceiver is turned on.
*/
uart25-tx-on-hog {
gpio-hog;
gpios = <27 GPIO_ACTIVE_HIGH>; /* SODIMM 104 */
output-high;
};
};
&gpio5 {
uart1-tx-on-hog {
gpio-hog;
gpios = <17 GPIO_ACTIVE_HIGH>; /* SODIMM 102 */
output-high;
};
};
/* Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 */
&i2c4 {
status = "okay";
};
/* Colibri PWM<A> */
&pwm1 {
status = "okay";
};
/* Colibri PWM<B> */
&pwm2 {
/* The pwm2 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
status = "okay";
};
/* Colibri PWM<C> */
&pwm3 {
/* The pwm3 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
status = "okay";
};
/* Colibri PWM<D> */
&pwm4 {
status = "okay";
};
/* M41T0M6 real time clock */
&rtc {
status = "okay";
};
/* Colibri UART_A */
&uart1 {
status = "okay";
};
/* Colibri UART_B */
&uart2 {
status = "okay";
};
/* Colibri UART_C */
&uart3 {
status = "okay";
};
/* Colibri USBC */
&usbotg1 {
status = "okay";
};
/* Colibri MMC/SD */
&usdhc1 {
status = "okay";
};

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,6 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2017-2020 Toradex AG
*
* Copyright 2017-2022 Toradex
*/
/dts-v1/;
@ -10,11 +9,32 @@
/ {
model = "Toradex Colibri iMX7D on Aster Carrier Board";
compatible = "toradex,colibri-imx7d-aster", "toradex,colibri-imx7d",
compatible = "toradex,colibri-imx7d-aster",
"toradex,colibri-imx7d",
"fsl,imx7d";
};
&usbotg2 {
vbus-supply = <&reg_usbh_vbus>;
&ad7879_ts {
status = "okay";
};
&atmel_mxt_ts {
status = "okay";
};
&backlight {
status = "okay";
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};
/* Colibri USBH */
&usbotg2 {
status = "okay";
};

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2017-2020 Toradex AG
* Copyright 2017-2022 Toradex
*
*/
@ -11,10 +11,12 @@
/ {
model = "Toradex Colibri iMX7D 1GB (eMMC) on Aster Carrier Board";
compatible = "toradex,colibri-imx7d-emmc-aster",
"toradex,colibri-imx7d-emmc", "fsl,imx7d";
"toradex,colibri-imx7d-emmc",
"toradex,colibri-imx7d",
"fsl,imx7d";
};
/* Colibri USBH */
&usbotg2 {
vbus-supply = <&reg_usbh_vbus>;
status = "okay";
};

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2017 Toradex AG
* Copyright 2017-2022 Toradex
*/
/dts-v1/;
@ -10,10 +10,12 @@
/ {
model = "Toradex Colibri iMX7D 1GB (eMMC) on Colibri Evaluation Board V3";
compatible = "toradex,colibri-imx7d-emmc-eval-v3",
"toradex,colibri-imx7d-emmc", "fsl,imx7d";
"toradex,colibri-imx7d-emmc",
"toradex,colibri-imx7d",
"fsl,imx7d";
};
/* Colibri USBH */
&usbotg2 {
vbus-supply = <&reg_usbh_vbus>;
status = "okay";
};

View File

@ -0,0 +1,21 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2022 Toradex
*/
/dts-v1/;
#include "imx7d-colibri-emmc.dtsi"
#include "imx7-colibri-iris-v2.dtsi"
/ {
model = "Toradex Colibri iMX7D 1GB on Iris V2 Carrier Board";
compatible = "toradex,colibri-imx7d-emmc-iris-v2",
"toradex,colibri-imx7d-emmc",
"toradex,colibri-imx7d",
"fsl,imx7d";
};
/* Colibri USBH */
&usbotg2 {
status = "okay";
};

View File

@ -0,0 +1,21 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2022 Toradex
*/
/dts-v1/;
#include "imx7d-colibri-emmc.dtsi"
#include "imx7-colibri-iris.dtsi"
/ {
model = "Toradex Colibri iMX7D 1GB on Iris Carrier Board";
compatible = "toradex,colibri-imx7d-emmc-iris",
"toradex,colibri-imx7d-emmc",
"toradex,colibri-imx7d",
"fsl,imx7d";
};
/* Colibri USBH */
&usbotg2 {
status = "okay";
};

View File

@ -1,18 +1,28 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2017 Toradex AG
* Copyright 2017-2022 Toradex
*/
#include "imx7d.dtsi"
#include "imx7-colibri.dtsi"
/ {
aliases {
/* Required to properly pass MAC addresses from bootloader. */
ethernet0 = &fec1;
ethernet1 = &fec2;
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x40000000>;
};
};
&cpu1 {
cpu-supply = <&reg_DCDC2>;
};
&gpio6 {
gpio-line-names = "",
"",
@ -39,10 +49,13 @@
"SODIMM_34";
};
/* Colibri USBH */
&usbotg2 {
dr_mode = "host";
vbus-supply = <&reg_usbh_vbus>;
};
/* eMMC */
&usdhc3 {
status = "okay";
};

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0+ OR MIT
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2016-2020 Toradex
* Copyright 2016-2022 Toradex
*/
/dts-v1/;
@ -9,11 +9,48 @@
/ {
model = "Toradex Colibri iMX7D on Colibri Evaluation Board V3";
compatible = "toradex,colibri-imx7d-eval-v3", "toradex,colibri-imx7d",
compatible = "toradex,colibri-imx7d-eval-v3",
"toradex,colibri-imx7d",
"fsl,imx7d";
};
&usbotg2 {
vbus-supply = <&reg_usbh_vbus>;
&ad7879_ts {
status = "okay";
};
/*
* The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3.
* So if you enable following capacitive touch controller, disable pwm2/pwm3 first.
*/
&atmel_mxt_ts {
status = "disabled";
};
&backlight {
status = "okay";
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};
/* Colibri PWM<B> */
&pwm2 {
/* The pwm2 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
status = "okay";
};
/* Colibri PWM<C> */
&pwm3 {
/* The pwm3 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
status = "okay";
};
/* Colibri USBH */
&usbotg2 {
status = "okay";
};

View File

@ -0,0 +1,83 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2022 Toradex
*/
/dts-v1/;
#include "imx7d-colibri.dtsi"
#include "imx7-colibri-iris-v2.dtsi"
/ {
model = "Toradex Colibri iMX7D on Iris V2 Carrier Board";
compatible = "toradex,colibri-imx7d-iris-v2",
"toradex,colibri-imx7d",
"fsl,imx7d";
};
&ad7879_ts {
status = "okay";
};
&atmel_mxt_ts {
status = "okay";
};
&backlight {
status = "okay";
};
&gpio2 {
/*
* This switches the LVDS transceiver to VESA color mapping mode.
*/
lvds-color-map-hog {
gpio-hog;
gpios = <13 GPIO_ACTIVE_HIGH>; /* SODIMM 95 */
line-name = "LVDS_COLOR_MAP";
output-low;
};
};
&gpio7 {
/*
* This switches the LVDS transceiver to the 24-bit RGB mode.
*/
lvds-rgb-mode-hog {
gpio-hog;
gpios = <2 GPIO_ACTIVE_HIGH>; /* SODIMM 63 */
line-name = "LVDS_RGB_MODE";
output-low;
};
/*
* This switches the LVDS transceiver to the single-channel
* output mode.
*/
lvds-ch-mode-hog {
gpio-hog;
gpios = <3 GPIO_ACTIVE_HIGH>; /* SODIMM 55 */
line-name = "LVDS_CH_MODE";
output-high;
};
/* This turns the LVDS transceiver on */
lvds-power-on-hog {
gpio-hog;
gpios = <11 GPIO_ACTIVE_HIGH>; /* SODIMM 99 */
line-name = "LVDS_POWER_ON";
output-high;
};
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};
/* Colibri USBH */
&usbotg2 {
status = "okay";
};

View File

@ -0,0 +1,56 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2022 Toradex
*/
/dts-v1/;
#include "imx7d-colibri.dtsi"
#include "imx7-colibri-iris.dtsi"
/ {
model = "Toradex Colibri iMX7D on Iris Carrier Board";
compatible = "toradex,colibri-imx7d-iris",
"toradex,colibri-imx7d",
"fsl,imx7d";
};
&ad7879_ts {
status = "okay";
};
/*
* The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3.
* So if you enable following capacitive touch controller, disable pwm2/pwm3 first.
*/
&atmel_mxt_ts {
status = "disabled";
};
&backlight {
status = "okay";
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};
/* Colibri PWM<B> */
&pwm2 {
/* The pwm2 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
status = "okay";
};
/* Colibri PWM<C> */
&pwm3 {
/* The pwm3 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
status = "okay";
};
/* Colibri USBH */
&usbotg2 {
status = "okay";
};

View File

@ -1,12 +1,18 @@
// SPDX-License-Identifier: GPL-2.0+ OR MIT
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2016-2020 Toradex
* Copyright 2016-2022 Toradex
*/
#include "imx7d.dtsi"
#include "imx7-colibri.dtsi"
/ {
aliases {
/* Required to properly pass MAC addresses from bootloader. */
ethernet0 = &fec1;
ethernet1 = &fec2;
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x20000000>;
@ -17,10 +23,13 @@
cpu-supply = <&reg_DCDC2>;
};
/* NAND */
&gpmi {
status = "okay";
};
/* Colibri USBH */
&usbotg2 {
dr_mode = "host";
vbus-supply = <&reg_usbh_vbus>;
};

View File

@ -201,7 +201,7 @@
compatible = "ti,tsc2046";
reg = <0>;
spi-max-frequency = <1000000>;
pinctrl-names ="default";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_tsc2046_pendown>;
interrupt-parent = <&gpio2>;
interrupts = <29 0>;

View File

@ -207,7 +207,7 @@
pinctrl-0 = <&pinctrl_usdhc1>;
cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
no-1-8-v;
enable-sdio-wakeup;
wakeup-source;
keep-power-in-suspend;
status = "okay";
};
@ -221,7 +221,7 @@
sd-uhs-ddr50;
mmc-ddr-1_8v;
vmmc-supply = <&reg_wifi>;
enable-sdio-wakeup;
wakeup-source;
status = "okay";
};

View File

@ -78,7 +78,7 @@
#phy-cells = <0>;
};
soc {
soc: soc {
etm@3007d000 {
compatible = "arm,coresight-etm3x", "arm,primecell";
reg = <0x3007d000 0x1000>;

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2017-2020 Toradex AG
* Copyright 2017-2022 Toradex
*
*/
@ -10,6 +10,27 @@
/ {
model = "Toradex Colibri iMX7S on Aster Carrier Board";
compatible = "toradex,colibri-imx7s-aster", "toradex,colibri-imx7s",
compatible = "toradex,colibri-imx7s-aster",
"toradex,colibri-imx7s",
"fsl,imx7s";
};
&ad7879_ts {
status = "okay";
};
&atmel_mxt_ts {
status = "okay";
};
&backlight {
status = "okay";
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0+ OR MIT
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2016-2020 Toradex
* Copyright 2016-2022 Toradex
*/
/dts-v1/;
@ -9,6 +9,43 @@
/ {
model = "Toradex Colibri iMX7S on Colibri Evaluation Board V3";
compatible = "toradex,colibri-imx7s-eval-v3", "toradex,colibri-imx7s",
compatible = "toradex,colibri-imx7s-eval-v3",
"toradex,colibri-imx7s",
"fsl,imx7s";
};
&ad7879_ts {
status = "okay";
};
/*
* The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3.
* So if you enable following capacitive touch controller, disable pwm2/pwm3 first.
*/
&atmel_mxt_ts {
status = "disabled";
};
&backlight {
status = "okay";
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};
/* Colibri PWM<B> */
&pwm2 {
/* The pwm2 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
status = "okay";
};
/* Colibri PWM<C> */
&pwm3 {
/* The pwm3 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
status = "okay";
};

View File

@ -0,0 +1,78 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2022 Toradex
*/
/dts-v1/;
#include "imx7s-colibri.dtsi"
#include "imx7-colibri-iris-v2.dtsi"
/ {
model = "Toradex Colibri iMX7S on Iris V2 Carrier Board";
compatible = "toradex,colibri-imx7s-iris-v2",
"toradex,colibri-imx7s",
"fsl,imx7s";
};
&ad7879_ts {
status = "okay";
};
&atmel_mxt_ts {
status = "okay";
};
&backlight {
status = "okay";
};
&gpio2 {
/*
* This switches the LVDS transceiver to VESA color mapping mode.
*/
lvds-color-map-hog {
gpio-hog;
gpios = <13 GPIO_ACTIVE_HIGH>; /* SODIMM 95 */
line-name = "LVDS_COLOR_MAP";
output-low;
};
};
&gpio7 {
/*
* This switches the LVDS transceiver to the 24-bit RGB mode.
*/
lvds-rgb-mode-hog {
gpio-hog;
gpios = <2 GPIO_ACTIVE_HIGH>; /* SODIMM 63 */
line-name = "LVDS_RGB_MODE";
output-low;
};
/*
* This switches the LVDS transceiver to the single-channel
* output mode.
*/
lvds-ch-mode-hog {
gpio-hog;
gpios = <3 GPIO_ACTIVE_HIGH>; /* SODIMM 55 */
line-name = "LVDS_CH_MODE";
output-high;
};
/* This turns the LVDS transceiver on */
lvds-power-on-hog {
gpio-hog;
gpios = <11 GPIO_ACTIVE_HIGH>; /* SODIMM 99 */
line-name = "LVDS_POWER_ON";
output-high;
};
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};

View File

@ -0,0 +1,51 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2022 Toradex
*/
/dts-v1/;
#include "imx7s-colibri.dtsi"
#include "imx7-colibri-iris.dtsi"
/ {
model = "Toradex Colibri iMX7S on Iris Carrier Board";
compatible = "toradex,colibri-imx7s-iris",
"toradex,colibri-imx7s",
"fsl,imx7s";
};
&ad7879_ts {
status = "okay";
};
/*
* The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3.
* So if you enable following capacitive touch controller, disable pwm2/pwm3 first.
*/
&atmel_mxt_ts {
status = "disabled";
};
&backlight {
status = "okay";
};
&lcdif {
status = "okay";
};
&panel_dpi {
status = "okay";
};
/* Colibri PWM<B> */
&pwm2 {
/* The pwm2 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
status = "okay";
};
/* Colibri PWM<C> */
&pwm3 {
/* The pwm3 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
status = "okay";
};

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0+ OR MIT
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2016-2020 Toradex
* Copyright 2016-2022 Toradex
*/
#include "imx7s.dtsi"
@ -13,6 +13,7 @@
};
};
/* NAND */
&gpmi {
status = "okay";
};

View File

@ -176,7 +176,7 @@
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
};
soc {
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";

View File

@ -83,7 +83,7 @@
};
usdhc1: mmc@402c0000 {
compatible ="fsl,imxrt1050-usdhc", "fsl,imx6sl-usdhc";
compatible = "fsl,imxrt1050-usdhc", "fsl,imx6sl-usdhc";
reg = <0x402c0000 0x4000>;
interrupts = <110>;
clocks = <&clks IMXRT1050_CLK_IPG_PDOF>,
@ -95,7 +95,7 @@
no-1-8-v;
max-frequency = <4000000>;
fsl,tuning-start-tap = <20>;
fsl,tuning-step= <2>;
fsl,tuning-step = <2>;
status = "disabled";
};

View File

@ -142,7 +142,7 @@
};
sgtl5000: audio-codec@2a {
#sound-dai-cells=<0x0>;
#sound-dai-cells = <0x0>;
compatible = "fsl,sgtl5000";
reg = <0x2a>;
VDDA-supply = <&reg_3p3v>;

View File

@ -129,6 +129,13 @@
status = "disabled";
};
sfp: efuse@1e80000 {
compatible = "fsl,ls1021a-sfp";
reg = <0x0 0x1e80000 0x0 0x10000>;
clocks = <&clockgen 4 3>;
clock-names = "sfp";
};
dcfg: dcfg@1ee0000 {
compatible = "fsl,ls1021a-dcfg", "syscon";
reg = <0x0 0x1ee0000 0x0 0x1000>;