verdin-imx8mm/verdin-imx8mp: synchronise device trees with linux

Synchronise device trees with linux v6.5-rc1.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
This commit is contained in:
Marcel Ziswiler 2023-07-11 11:09:14 +02:00 committed by Stefano Babic
parent 788ff422e5
commit cd9a3e3f90
10 changed files with 309 additions and 337 deletions

View file

@ -10,6 +10,7 @@
/ { / {
model = "MENLO MX8MM EMBEDDED DEVICE"; model = "MENLO MX8MM EMBEDDED DEVICE";
compatible = "menlo,mx8menlo", compatible = "menlo,mx8menlo",
"toradex,verdin-imx8mm-nonwifi",
"toradex,verdin-imx8mm", "toradex,verdin-imx8mm",
"fsl,imx8mm"; "fsl,imx8mm";
@ -250,21 +251,21 @@
/* SODIMM 96 */ /* SODIMM 96 */
MX8MM_IOMUXC_SAI1_RXD2_GPIO4_IO4 0x1c4 MX8MM_IOMUXC_SAI1_RXD2_GPIO4_IO4 0x1c4
/* CPLD_D[7] */ /* CPLD_D[7] */
MX8MM_IOMUXC_SAI1_RXD3_GPIO4_IO5 0x1c4 MX8MM_IOMUXC_SAI1_RXD3_GPIO4_IO5 0x184
/* CPLD_D[6] */ /* CPLD_D[6] */
MX8MM_IOMUXC_SAI1_RXFS_GPIO4_IO0 0x1c4 MX8MM_IOMUXC_SAI1_RXFS_GPIO4_IO0 0x184
/* CPLD_D[5] */ /* CPLD_D[5] */
MX8MM_IOMUXC_SAI1_TXC_GPIO4_IO11 0x1c4 MX8MM_IOMUXC_SAI1_TXC_GPIO4_IO11 0x184
/* CPLD_D[4] */ /* CPLD_D[4] */
MX8MM_IOMUXC_SAI1_TXD0_GPIO4_IO12 0x1c4 MX8MM_IOMUXC_SAI1_TXD0_GPIO4_IO12 0x184
/* CPLD_D[3] */ /* CPLD_D[3] */
MX8MM_IOMUXC_SAI1_TXD1_GPIO4_IO13 0x1c4 MX8MM_IOMUXC_SAI1_TXD1_GPIO4_IO13 0x184
/* CPLD_D[2] */ /* CPLD_D[2] */
MX8MM_IOMUXC_SAI1_TXD2_GPIO4_IO14 0x1c4 MX8MM_IOMUXC_SAI1_TXD2_GPIO4_IO14 0x184
/* CPLD_D[1] */ /* CPLD_D[1] */
MX8MM_IOMUXC_SAI1_TXD3_GPIO4_IO15 0x1c4 MX8MM_IOMUXC_SAI1_TXD3_GPIO4_IO15 0x184
/* CPLD_D[0] */ /* CPLD_D[0] */
MX8MM_IOMUXC_SAI1_TXD4_GPIO4_IO16 0x1c4 MX8MM_IOMUXC_SAI1_TXD4_GPIO4_IO16 0x184
/* KBD_intK */ /* KBD_intK */
MX8MM_IOMUXC_SAI2_MCLK_GPIO4_IO27 0x1c4 MX8MM_IOMUXC_SAI2_MCLK_GPIO4_IO27 0x1c4
/* DISP_reset */ /* DISP_reset */

View file

@ -1,150 +0,0 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2022 Toradex
*/
/ {
sound_card: sound-card {
compatible = "simple-audio-card";
simple-audio-card,bitclock-master = <&dailink_master>;
simple-audio-card,format = "i2s";
simple-audio-card,frame-master = <&dailink_master>;
simple-audio-card,name = "imx8mm-wm8904";
simple-audio-card,routing =
"Headphone Jack", "HPOUTL",
"Headphone Jack", "HPOUTR",
"IN2L", "Line In Jack",
"IN2R", "Line In Jack",
"Headphone Jack", "MICBIAS",
"IN1L", "Headphone Jack";
simple-audio-card,widgets =
"Microphone", "Headphone Jack",
"Headphone", "Headphone Jack",
"Line", "Line In Jack";
dailink_master: simple-audio-card,codec {
clocks = <&clk IMX8MM_CLK_SAI2_ROOT>;
sound-dai = <&wm8904_1a>;
};
simple-audio-card,cpu {
sound-dai = <&sai2>;
};
};
};
/* Verdin SPI_1 */
&ecspi2 {
status = "okay";
};
/* EEPROM on display adapter boards */
&eeprom_display_adapter {
status = "okay";
};
/* EEPROM on Verdin Development board */
&eeprom_carrier_board {
status = "okay";
};
&fec1 {
status = "okay";
};
/* Verdin QSPI_1 */
&flexspi {
status = "okay";
};
/* Current measurement into module VCC */
&hwmon {
status = "okay";
};
&hwmon_temp {
vs-supply = <&reg_1p8v>;
status = "okay";
};
&i2c3 {
status = "okay";
};
/* Verdin I2C_1 */
&i2c4 {
status = "okay";
/* Audio Codec */
wm8904_1a: audio-codec@1a {
compatible = "wlf,wm8904";
AVDD-supply = <&reg_3p3v>;
clocks = <&clk IMX8MM_CLK_SAI2_ROOT>;
clock-names = "mclk";
CPVDD-supply = <&reg_3p3v>;
DBVDD-supply = <&reg_3p3v>;
DCVDD-supply = <&reg_3p3v>;
MICVDD-supply = <&reg_3p3v>;
reg = <0x1a>;
#sound-dai-cells = <0>;
};
};
/* Verdin PCIE_1 */
&pcie0 {
status = "okay";
};
&pcie_phy {
status = "okay";
};
/* Verdin PWM_3_DSI */
&pwm1 {
status = "okay";
};
/* Verdin PWM_1 */
&pwm2 {
status = "okay";
};
/* Verdin PWM_2 */
&pwm3 {
status = "okay";
};
/* Verdin I2S_1 */
&sai2 {
status = "okay";
};
/* Verdin UART_3 */
&uart1 {
status = "okay";
};
/* Verdin UART_1 */
&uart2 {
status = "okay";
};
/* Verdin UART_2 */
&uart3 {
status = "okay";
};
/* Verdin USB_1 */
&usbotg1 {
status = "okay";
};
/* Verdin USB_2 */
&usbotg2 {
status = "okay";
};
/* Verdin SD_1 */
&usdhc2 {
status = "okay";
};

View file

@ -3,14 +3,13 @@
* Copyright 2022 Toradex * Copyright 2022 Toradex
*/ */
#include "imx8mm-verdin-dahlia.dtsi"
/ { / {
sound_card: sound-card { sound_card: sound-card {
compatible = "simple-audio-card"; compatible = "simple-audio-card";
simple-audio-card,bitclock-master = <&dailink_master>; simple-audio-card,bitclock-master = <&dailink_master>;
simple-audio-card,format = "i2s"; simple-audio-card,format = "i2s";
simple-audio-card,frame-master = <&dailink_master>; simple-audio-card,frame-master = <&dailink_master>;
simple-audio-card,mclk-fs = <256>;
simple-audio-card,name = "imx8mm-nau8822"; simple-audio-card,name = "imx8mm-nau8822";
simple-audio-card,routing = simple-audio-card,routing =
"Headphones", "LHP", "Headphones", "LHP",
@ -41,27 +40,121 @@
}; };
}; };
/* Verdin SPI_1 */
&ecspi2 {
status = "okay";
};
/* EEPROM on display adapter boards */
&eeprom_display_adapter {
status = "okay";
};
/* EEPROM on Verdin Development board */
&eeprom_carrier_board {
status = "okay";
};
&fec1 {
status = "okay";
};
/* Verdin QSPI_1 */
&flexspi {
status = "okay";
};
/* Current measurement into module VCC */
&hwmon {
status = "okay";
};
&hwmon_temp {
vs-supply = <&reg_1p8v>;
status = "okay";
};
&i2c3 {
status = "okay";
};
&gpio_expander_21 { &gpio_expander_21 {
status = "okay"; status = "okay";
}; };
/* Verdin I2C_1 */ /* Verdin I2C_1 */
&i2c4 { &i2c4 {
status = "okay";
/* Audio Codec */ /* Audio Codec */
nau8822_1a: audio-codec@1a { nau8822_1a: audio-codec@1a {
compatible = "nuvoton,nau8822"; compatible = "nuvoton,nau8822";
reg = <0x1a>; reg = <0x1a>;
#sound-dai-cells = <0>;
}; };
}; };
/* Verdin PCIE_1 */
&pcie0 {
status = "okay";
};
&pcie_phy {
status = "okay";
};
/* Verdin PWM_3_DSI */
&pwm1 {
status = "okay";
};
/* Verdin PWM_1 */
&pwm2 {
status = "okay";
};
/* Verdin PWM_2 */
&pwm3 {
status = "okay";
};
/* Verdin I2S_1 */
&sai2 {
status = "okay";
};
/* Verdin UART_3 */
&uart1 {
status = "okay";
};
/* Verdin UART_1, connector X50 through RS485 transceiver */ /* Verdin UART_1, connector X50 through RS485 transceiver */
&uart2 { &uart2 {
linux,rs485-enabled-at-boot-time; linux,rs485-enabled-at-boot-time;
rs485-rts-active-low; rs485-rts-active-low;
rs485-rx-during-tx; rs485-rx-during-tx;
status = "okay";
};
/* Verdin UART_2 */
&uart3 {
status = "okay";
};
/* Verdin USB_1 */
&usbotg1 {
disable-over-current;
status = "okay";
};
/* Verdin USB_2 */
&usbotg2 {
disable-over-current;
status = "okay";
}; };
/* Limit frequency on dev board due to long traces and bad signal integrity */ /* Limit frequency on dev board due to long traces and bad signal integrity */
&usdhc2 { &usdhc2 {
max-frequency = <100000000>; max-frequency = <100000000>;
status = "okay";
}; };

View file

@ -3,8 +3,8 @@
* Copyright 2022 Toradex * Copyright 2022 Toradex
*/ */
#include "dt-bindings/phy/phy-imx8-pcie.h" #include <dt-bindings/phy/phy-imx8-pcie.h>
#include "dt-bindings/pwm/pwm.h" #include <dt-bindings/pwm/pwm.h>
#include "imx8mm.dtsi" #include "imx8mm.dtsi"
/ { / {
@ -56,7 +56,11 @@
hdmi_connector: hdmi-connector { hdmi_connector: hdmi-connector {
compatible = "hdmi-connector"; compatible = "hdmi-connector";
ddc-i2c-bus = <&i2c2>; ddc-i2c-bus = <&i2c2>;
/* Verdin PWM_3_DSI (SODIMM 19) */
hpd-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
label = "hdmi"; label = "hdmi";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm_3_dsi_hpd_gpio>;
type = "a"; type = "a";
status = "disabled"; status = "disabled";
}; };
@ -95,9 +99,10 @@
compatible = "regulator-fixed"; compatible = "regulator-fixed";
enable-active-high; enable-active-high;
gpio = <&gpio2 20 GPIO_ACTIVE_HIGH>; /* PMIC_EN_ETH */ gpio = <&gpio2 20 GPIO_ACTIVE_HIGH>; /* PMIC_EN_ETH */
off-on-delay = <500000>; off-on-delay-us = <500000>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_reg_eth>; pinctrl-0 = <&pinctrl_reg_eth>;
regulator-always-on;
regulator-boot-on; regulator-boot-on;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
@ -134,7 +139,7 @@
enable-active-high; enable-active-high;
/* Verdin SD_1_PWR_EN (SODIMM 76) */ /* Verdin SD_1_PWR_EN (SODIMM 76) */
gpio = <&gpio3 5 GPIO_ACTIVE_HIGH>; gpio = <&gpio3 5 GPIO_ACTIVE_HIGH>;
off-on-delay = <100000>; off-on-delay-us = <100000>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc2_pwr_en>; pinctrl-0 = <&pinctrl_usdhc2_pwr_en>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
@ -183,15 +188,15 @@
ddrc_opp_table: opp-table { ddrc_opp_table: opp-table {
compatible = "operating-points-v2"; compatible = "operating-points-v2";
opp-25M { opp-25000000 {
opp-hz = /bits/ 64 <25000000>; opp-hz = /bits/ 64 <25000000>;
}; };
opp-100M { opp-100000000 {
opp-hz = /bits/ 64 <100000000>; opp-hz = /bits/ 64 <100000000>;
}; };
opp-750M { opp-750000000 {
opp-hz = /bits/ 64 <750000000>; opp-hz = /bits/ 64 <750000000>;
}; };
}; };
@ -358,7 +363,6 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pmic>; pinctrl-0 = <&pinctrl_pmic>;
reg = <0x25>; reg = <0x25>;
sd-vsel-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
/* /*
* The bootloader is expected to switch on the I2C level shifter for the TLA2024 ADC * The bootloader is expected to switch on the I2C level shifter for the TLA2024 ADC
@ -598,7 +602,7 @@
hdmi_lontium_lt8912: hdmi@48 { hdmi_lontium_lt8912: hdmi@48 {
compatible = "lontium,lt8912b"; compatible = "lontium,lt8912b";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_10_dsi>, <&pinctrl_pwm_3_dsi_hpd_gpio>; pinctrl-0 = <&pinctrl_gpio_10_dsi>;
reg = <0x48>; reg = <0x48>;
/* Verdin GPIO_9_DSI (LT8912 INT, SODIMM 17, unused) */ /* Verdin GPIO_9_DSI (LT8912 INT, SODIMM 17, unused) */
/* Verdin GPIO_10_DSI (SODIMM 21) */ /* Verdin GPIO_10_DSI (SODIMM 21) */
@ -610,7 +614,7 @@
compatible = "atmel,maxtouch"; compatible = "atmel,maxtouch";
/* /*
* Verdin GPIO_9_DSI * Verdin GPIO_9_DSI
* (TOUCH_INT#, SODIMM 17, also routed to SN65DSI83 IRQ albeit currently unused) * (TOUCH_INT#, SODIMM 17, also routed to SN65DSI84 IRQ albeit currently unused)
*/ */
interrupt-parent = <&gpio3>; interrupt-parent = <&gpio3>;
interrupts = <15 IRQ_TYPE_EDGE_FALLING>; interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
@ -653,9 +657,6 @@
assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_50M>, assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_50M>,
<&clk IMX8MM_SYS_PLL2_250M>; <&clk IMX8MM_SYS_PLL2_250M>;
assigned-clock-rates = <10000000>, <250000000>; assigned-clock-rates = <10000000>, <250000000>;
clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>,
<&clk IMX8MM_CLK_PCIE1_PHY>;
clock-names = "pcie", "pcie_aux", "pcie_bus";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcie0>; pinctrl-0 = <&pinctrl_pcie0>;
/* PCIE_1_RESET# (SODIMM 244) */ /* PCIE_1_RESET# (SODIMM 244) */
@ -664,6 +665,7 @@
&pcie_phy { &pcie_phy {
clocks = <&clk IMX8MM_CLK_PCIE1_PHY>; clocks = <&clk IMX8MM_CLK_PCIE1_PHY>;
clock-names = "ref";
fsl,clkreq-unsupported; fsl,clkreq-unsupported;
fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_OUTPUT>; fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_OUTPUT>;
fsl,tx-deemph-gen1 = <0x2d>; fsl,tx-deemph-gen1 = <0x2d>;
@ -739,7 +741,6 @@
adp-disable; adp-disable;
dr_mode = "otg"; dr_mode = "otg";
hnp-disable; hnp-disable;
over-current-active-low;
samsung,picophy-dc-vol-level-adjust = <7>; samsung,picophy-dc-vol-level-adjust = <7>;
samsung,picophy-pre-emp-curr-control = <3>; samsung,picophy-pre-emp-curr-control = <3>;
srp-disable; srp-disable;
@ -749,7 +750,6 @@
/* Verdin USB_2 */ /* Verdin USB_2 */
&usbotg2 { &usbotg2 {
dr_mode = "host"; dr_mode = "host";
over-current-active-low;
samsung,picophy-dc-vol-level-adjust = <7>; samsung,picophy-dc-vol-level-adjust = <7>;
samsung,picophy-pre-emp-curr-control = <3>; samsung,picophy-pre-emp-curr-control = <3>;
vbus-supply = <&reg_usb_otg2_vbus>; vbus-supply = <&reg_usb_otg2_vbus>;

View file

@ -1,129 +0,0 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2022 Toradex
*/
/* TODO: Audio Codec */
&backlight {
power-supply = <&reg_3p3v>;
};
/* Verdin SPI_1 */
&ecspi1 {
status = "okay";
};
/* EEPROM on display adapter boards */
&eeprom_display_adapter {
status = "okay";
};
/* EEPROM on Verdin Development board */
&eeprom_carrier_board {
status = "okay";
};
&eqos {
status = "okay";
};
&flexcan1 {
status = "okay";
};
&flexcan2 {
status = "okay";
};
/* Verdin QSPI_1 */
&flexspi {
status = "okay";
};
/* Current measurement into module VCC */
&hwmon {
status = "okay";
};
&hwmon_temp {
vs-supply = <&reg_1p8v>;
status = "okay";
};
/* Verdin I2C_2_DSI */
&i2c2 {
status = "okay";
};
&i2c3 {
status = "okay";
};
/* Verdin I2C_1 */
&i2c4 {
status = "okay";
/* TODO: Audio Codec */
};
/* TODO: Verdin PCIE_1 */
/* Verdin PWM_1 */
&pwm1 {
status = "okay";
};
/* Verdin PWM_2 */
&pwm2 {
status = "okay";
};
/* Verdin PWM_3_DSI */
&pwm3 {
status = "okay";
};
&reg_usdhc2_vmmc {
vin-supply = <&reg_3p3v>;
};
/* TODO: Verdin I2S_1 */
/* Verdin UART_1 */
&uart1 {
status = "okay";
};
/* Verdin UART_2 */
&uart2 {
status = "okay";
};
/* Verdin UART_3, used as the Linux Console */
&uart3 {
status = "okay";
};
/* Verdin USB_1 */
&usb3_0 {
status = "okay";
};
&usb3_phy0 {
status = "okay";
};
/* Verdin USB_2 */
&usb3_1 {
status = "okay";
};
&usb3_phy1 {
status = "okay";
};
/* Verdin SD_1 */
&usdhc2 {
status = "okay";
};

View file

@ -3,8 +3,6 @@
* Copyright 2022 Toradex * Copyright 2022 Toradex
*/ */
#include "imx8mp-verdin-dahlia.dtsi"
/ { / {
/* TODO: Audio Codec */ /* TODO: Audio Codec */
@ -12,7 +10,7 @@
compatible = "regulator-fixed"; compatible = "regulator-fixed";
enable-active-high; enable-active-high;
gpio = <&gpio_expander_21 4 GPIO_ACTIVE_HIGH>; /* ETH_PWR_EN */ gpio = <&gpio_expander_21 4 GPIO_ACTIVE_HIGH>; /* ETH_PWR_EN */
off-on-delay = <500000>; off-on-delay-us = <500000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-name = "+V3.3_ETH"; regulator-name = "+V3.3_ETH";
@ -21,16 +19,106 @@
}; };
}; };
&backlight {
power-supply = <&reg_3p3v>;
};
/* Verdin SPI_1 */
&ecspi1 {
status = "okay";
};
/* EEPROM on display adapter boards */
&eeprom_display_adapter {
status = "okay";
};
/* EEPROM on Verdin Development board */
&eeprom_carrier_board {
status = "okay";
};
&eqos {
status = "okay";
};
&fec { &fec {
phy-supply = <&reg_eth2phy>; phy-supply = <&reg_eth2phy>;
status = "okay"; status = "okay";
}; };
&flexcan1 {
status = "okay";
};
&flexcan2 {
status = "okay";
};
/* Verdin QSPI_1 */
&flexspi {
status = "okay";
};
&gpio_expander_21 { &gpio_expander_21 {
status = "okay"; status = "okay";
vcc-supply = <&reg_1p8v>; vcc-supply = <&reg_1p8v>;
}; };
/* Current measurement into module VCC */
&hwmon {
status = "okay";
};
&hwmon_temp {
vs-supply = <&reg_1p8v>;
status = "okay";
};
/* Verdin I2C_2_DSI */
&i2c2 {
status = "okay";
};
&i2c3 {
status = "okay";
};
/* Verdin I2C_1 */
&i2c4 {
status = "okay";
/* TODO: Audio Codec */
};
/* Verdin PCIE_1 */
&pcie {
status = "okay";
};
&pcie_phy {
status = "okay";
};
/* Verdin PWM_1 */
&pwm1 {
status = "okay";
};
/* Verdin PWM_2 */
&pwm2 {
status = "okay";
};
/* Verdin PWM_3_DSI */
&pwm3 {
status = "okay";
};
&reg_usdhc2_vmmc {
vin-supply = <&reg_3p3v>;
};
/* TODO: Verdin I2C_1 with Audio Codec */ /* TODO: Verdin I2C_1 with Audio Codec */
/* Verdin UART_1, connector X50 through RS485 transceiver */ /* Verdin UART_1, connector X50 through RS485 transceiver */
@ -38,9 +126,40 @@
linux,rs485-enabled-at-boot-time; linux,rs485-enabled-at-boot-time;
rs485-rts-active-low; rs485-rts-active-low;
rs485-rx-during-tx; rs485-rx-during-tx;
status = "okay";
};
/* Verdin UART_2 */
&uart2 {
status = "okay";
};
/* Verdin UART_3, used as the Linux Console */
&uart3 {
status = "okay";
};
/* Verdin USB_1 */
&usb3_0 {
status = "okay";
};
&usb3_phy0 {
status = "okay";
};
/* Verdin USB_2 */
&usb3_1 {
fsl,permanently-attached;
status = "okay";
};
&usb3_phy1 {
status = "okay";
}; };
/* Limit frequency on dev board due to long traces and bad signal integrity */ /* Limit frequency on dev board due to long traces and bad signal integrity */
&usdhc2 { &usdhc2 {
max-frequency = <100000000>; max-frequency = <100000000>;
status = "okay";
}; };

View file

@ -65,6 +65,11 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_bt_uart>; pinctrl-0 = <&pinctrl_bt_uart>;
status = "okay"; status = "okay";
bluetooth {
compatible = "mrvl,88w8997";
max-speed = <921600>;
};
}; };
/* On-module Wi-Fi */ /* On-module Wi-Fi */

View file

@ -3,7 +3,8 @@
* Copyright 2022 Toradex * Copyright 2022 Toradex
*/ */
#include "dt-bindings/pwm/pwm.h" #include <dt-bindings/phy/phy-imx8-pcie.h>
#include <dt-bindings/pwm/pwm.h>
#include "imx8mp.dtsi" #include "imx8mp.dtsi"
/ { / {
@ -49,7 +50,7 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_keys>; pinctrl-0 = <&pinctrl_gpio_keys>;
button-wakeup { key-wakeup {
debounce-interval = <10>; debounce-interval = <10>;
/* Verdin CTRL_WAKE1_MICO# (SODIMM 252) */ /* Verdin CTRL_WAKE1_MICO# (SODIMM 252) */
gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;
@ -86,7 +87,7 @@
compatible = "regulator-fixed"; compatible = "regulator-fixed";
enable-active-high; enable-active-high;
gpio = <&gpio2 20 GPIO_ACTIVE_HIGH>; /* PMIC_EN_ETH */ gpio = <&gpio2 20 GPIO_ACTIVE_HIGH>; /* PMIC_EN_ETH */
off-on-delay = <500000>; off-on-delay-us = <500000>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_reg_eth>; pinctrl-0 = <&pinctrl_reg_eth>;
regulator-always-on; regulator-always-on;
@ -127,7 +128,7 @@
enable-active-high; enable-active-high;
/* Verdin SD_1_PWR_EN (SODIMM 76) */ /* Verdin SD_1_PWR_EN (SODIMM 76) */
gpio = <&gpio4 22 GPIO_ACTIVE_HIGH>; gpio = <&gpio4 22 GPIO_ACTIVE_HIGH>;
off-on-delay = <100000>; off-on-delay-us = <100000>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc2_pwr_en>; pinctrl-0 = <&pinctrl_usdhc2_pwr_en>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
@ -354,16 +355,6 @@
"SODIMM_82", "SODIMM_82",
"SODIMM_70", "SODIMM_70",
"SODIMM_72"; "SODIMM_72";
ctrl-sleep-moci-hog {
gpio-hog;
/* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
gpios = <29 GPIO_ACTIVE_HIGH>;
line-name = "CTRL_SLEEP_MOCI#";
output-high;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ctrl_sleep_moci>;
};
}; };
&gpio3 { &gpio3 {
@ -432,6 +423,16 @@
"SODIMM_256", "SODIMM_256",
"SODIMM_48", "SODIMM_48",
"SODIMM_44"; "SODIMM_44";
ctrl-sleep-moci-hog {
gpio-hog;
/* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
gpios = <29 GPIO_ACTIVE_HIGH>;
line-name = "CTRL_SLEEP_MOCI#";
output-high;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ctrl_sleep_moci>;
};
}; };
/* On-module I2C */ /* On-module I2C */
@ -452,7 +453,6 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pmic>; pinctrl-0 = <&pinctrl_pmic>;
reg = <0x25>; reg = <0x25>;
sd-vsel-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
/* /*
* The bootloader is expected to switch on LDO4 for the on-module +V3.3_ADC and the * The bootloader is expected to switch on LDO4 for the on-module +V3.3_ADC and the
@ -678,8 +678,8 @@
status = "disabled"; status = "disabled";
}; };
lvds_ti_sn65dsi83: bridge@2c { lvds_ti_sn65dsi84: bridge@2c {
compatible = "ti,sn65dsi83"; compatible = "ti,sn65dsi84";
/* Verdin GPIO_9_DSI (SN65DSI84 IRQ, SODIMM 17, unused) */ /* Verdin GPIO_9_DSI (SN65DSI84 IRQ, SODIMM 17, unused) */
/* Verdin GPIO_10_DSI (SODIMM 21) */ /* Verdin GPIO_10_DSI (SODIMM 21) */
enable-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>; enable-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
@ -712,7 +712,7 @@
compatible = "atmel,maxtouch"; compatible = "atmel,maxtouch";
/* /*
* Verdin GPIO_9_DSI * Verdin GPIO_9_DSI
* (TOUCH_INT#, SODIMM 17, also routed to SN65DSI83 IRQ albeit currently unused) * (TOUCH_INT#, SODIMM 17, also routed to SN65DSI84 IRQ albeit currently unused)
*/ */
interrupt-parent = <&gpio4>; interrupt-parent = <&gpio4>;
interrupts = <25 IRQ_TYPE_EDGE_FALLING>; interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
@ -748,7 +748,20 @@
}; };
}; };
/* TODO: Verdin PCIE_1 */ /* Verdin PCIE_1 */
&pcie {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcie>;
/* PCIE_1_RESET# (SODIMM 244) */
reset-gpio = <&gpio4 19 GPIO_ACTIVE_LOW>;
};
&pcie_phy {
clocks = <&hsio_blk_ctrl>;
clock-names = "ref";
fsl,clkreq-unsupported;
fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_OUTPUT>;
};
/* Verdin PWM_1 */ /* Verdin PWM_1 */
&pwm1 { &pwm1 {
@ -806,28 +819,45 @@
}; };
/* Verdin USB_1 */ /* Verdin USB_1 */
&usb3_phy0 { &usb3_0 {
vbus-supply = <&reg_usb1_vbus>; fsl,disable-port-power-control;
fsl,over-current-active-low;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb_1_oc_n>;
}; };
&usb_dwc3_0 { &usb_dwc3_0 {
/* dual role only, not full featured OTG */
adp-disable; adp-disable;
dr_mode = "otg"; dr_mode = "otg";
hnp-disable; hnp-disable;
maximum-speed = "high-speed"; maximum-speed = "high-speed";
over-current-active-low; role-switch-default-mode = "peripheral";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb_1_id>;
srp-disable; srp-disable;
usb-role-switch;
connector {
compatible = "gpio-usb-b-connector", "usb-b-connector";
id-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
label = "Type-C";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb_1_id>;
self-powered;
type = "micro";
vbus-supply = <&reg_usb1_vbus>;
};
}; };
/* Verdin USB_2 */ /* Verdin USB_2 */
&usb3_1 {
fsl,disable-port-power-control;
};
&usb3_phy1 { &usb3_phy1 {
vbus-supply = <&reg_usb2_vbus>; vbus-supply = <&reg_usb2_vbus>;
}; };
&usb_dwc3_1 { &usb_dwc3_1 {
disable-over-current;
dr_mode = "host"; dr_mode = "host";
}; };
@ -1045,7 +1075,6 @@
pinctrl_gpio_hog3: gpiohog3grp { pinctrl_gpio_hog3: gpiohog3grp {
fsl,pins = fsl,pins =
<MX8MP_IOMUXC_GPIO1_IO13__GPIO1_IO13 0x1c4>, /* SODIMM 157 */
/* CSI_1_MCLK */ /* CSI_1_MCLK */
<MX8MP_IOMUXC_GPIO1_IO15__GPIO1_IO15 0x1c4>; /* SODIMM 91 */ <MX8MP_IOMUXC_GPIO1_IO15__GPIO1_IO15 0x1c4>; /* SODIMM 91 */
}; };
@ -1220,7 +1249,7 @@
pinctrl_usb1_vbus: usb1vbusgrp { pinctrl_usb1_vbus: usb1vbusgrp {
fsl,pins = fsl,pins =
<MX8MP_IOMUXC_GPIO1_IO12__USB1_OTG_PWR 0x19>; /* SODIMM 155 */ <MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 0x106>; /* SODIMM 155 */
}; };
/* USB_1_ID */ /* USB_1_ID */
@ -1229,9 +1258,15 @@
<MX8MP_IOMUXC_SD1_RESET_B__GPIO2_IO10 0x1c4>; /* SODIMM 161 */ <MX8MP_IOMUXC_SD1_RESET_B__GPIO2_IO10 0x1c4>; /* SODIMM 161 */
}; };
/* USB_1_OC# */
pinctrl_usb_1_oc_n: usb1ocngrp {
fsl,pins =
<MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC 0x1c4>; /* SODIMM 157 */
};
pinctrl_usb2_vbus: usb2vbusgrp { pinctrl_usb2_vbus: usb2vbusgrp {
fsl,pins = fsl,pins =
<MX8MP_IOMUXC_GPIO1_IO14__USB2_OTG_PWR 0x19>; /* SODIMM 185 */ <MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14 0x106>; /* SODIMM 185 */
}; };
/* On-module Wi-Fi */ /* On-module Wi-Fi */

View file

@ -3,7 +3,6 @@ M: Marcel Ziswiler <marcel.ziswiler@toradex.com>
W: https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx-8m-mini W: https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx-8m-mini
S: Maintained S: Maintained
F: arch/arm/dts/imx8mm-verdin.dtsi F: arch/arm/dts/imx8mm-verdin.dtsi
F: arch/arm/dts/imx8mm-verdin-dahlia.dtsi
F: arch/arm/dts/imx8mm-verdin-dev.dtsi F: arch/arm/dts/imx8mm-verdin-dev.dtsi
F: arch/arm/dts/imx8mm-verdin-wifi.dtsi F: arch/arm/dts/imx8mm-verdin-wifi.dtsi
F: arch/arm/dts/imx8mm-verdin-wifi-dev.dts F: arch/arm/dts/imx8mm-verdin-wifi-dev.dts

View file

@ -1,6 +1,5 @@
Verdin iMX8M Plus Verdin iMX8M Plus
F: arch/arm/dts/imx8mp-verdin.dtsi F: arch/arm/dts/imx8mp-verdin.dtsi
F: arch/arm/dts/imx8mp-verdin-dahlia.dtsi
F: arch/arm/dts/imx8mp-verdin-dev.dtsi F: arch/arm/dts/imx8mp-verdin-dev.dtsi
F: arch/arm/dts/imx8mp-verdin-wifi.dtsi F: arch/arm/dts/imx8mp-verdin-wifi.dtsi
F: arch/arm/dts/imx8mp-verdin-wifi-dev.dts F: arch/arm/dts/imx8mp-verdin-wifi-dev.dts