arm64: dts: freescale: imx95-verdin: Add Dahlia carrier board

Add support for the Verdin i.MX95 mated with the Verdin Dahlia carrier
board.

Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95
Link: https://www.toradex.com/products/carrier-board/dahlia-carrier-board-kit
Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
This commit is contained in:
Ernest Van Hoecke 2026-03-25 15:46:04 +01:00 committed by Frank Li
parent 676d7ce22f
commit e79c2c016b
4 changed files with 314 additions and 0 deletions

View File

@ -506,7 +506,9 @@ dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk-sof.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-toradex-smarc-dev.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-tqma9596sa-mb-smarc-2.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-var-dart-sonata.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-nonwifi-dahlia.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-nonwifi-dev.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-dahlia.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-dev.dtb
imx95-15x15-evk-pcie0-ep-dtbs = imx95-15x15-evk.dtb imx-pcie0-ep.dtbo

View File

@ -0,0 +1,270 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright (c) Toradex
*
* Common dtsi for Verdin iMX95 SoM on Dahlia carrier board
*
* https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95
* https://www.toradex.com/products/carrier-board/dahlia-carrier-board-kit
*/
/ {
aliases {
eeprom1 = &carrier_eeprom;
};
reg_1v8_sw: regulator-1v8-sw {
compatible = "regulator-fixed";
regulator-max-microvolt = <1800000>;
regulator-min-microvolt = <1800000>;
regulator-name = "On-carrier +V1.8_SW";
};
reg_pcie: regulator-pcie {
compatible = "regulator-fixed";
/* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-boot-on;
regulator-name = "PCIE_1_PWR_EN";
};
reg_usb_hub: regulator-usb-hub {
compatible = "regulator-fixed";
/* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-boot-on;
regulator-name = "HUB_PWR_EN";
};
sound {
compatible = "simple-audio-card";
simple-audio-card,bitclock-master = <&codec_dai>;
simple-audio-card,format = "i2s";
simple-audio-card,frame-master = <&codec_dai>;
simple-audio-card,mclk-fs = <256>;
simple-audio-card,name = "verdin-wm8904";
simple-audio-card,routing =
"Headphone Jack", "HPOUTL",
"Headphone Jack", "HPOUTR",
"IN2L", "Line In Jack",
"IN2R", "Line In Jack",
"Microphone Jack", "MICBIAS",
"IN1L", "Microphone Jack";
simple-audio-card,widgets =
"Microphone", "Microphone Jack",
"Headphone", "Headphone Jack",
"Line", "Line In Jack";
codec_dai: simple-audio-card,codec {
sound-dai = <&wm8904_1a>;
};
simple-audio-card,cpu {
sound-dai = <&sai3>;
};
};
};
/* Verdin ADC_1, ADC_2, ADC_3 and ADC_4 */
&adc1 {
status = "okay";
};
/* Verdin ETH_1 (On-module PHY) */
&enetc_port0 {
status = "okay";
};
/* Verdin CAN_1 */
&flexcan1 {
status = "okay";
};
/* Verdin CAN_2 */
&flexcan2 {
status = "okay";
};
/* Verdin QSPI_1 */
&flexspi1 {
status = "okay";
};
&gpio1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ctrl_sleep_moci>;
};
&gpio2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio1>,
<&pinctrl_gpio2>,
<&pinctrl_gpio3>;
};
&gpio3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio6>;
};
&gpio4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio5>;
};
&gpio5 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio4>;
};
/* Verdin I2C_3_HDMI */
&i3c2 {
status = "okay";
};
/* Verdin I2C_2_DSI */
&lpi2c3 {
status = "okay";
};
/* Verdin I2C_1 */
&lpi2c4 {
status = "okay";
wm8904_1a: audio-codec@1a {
compatible = "wlf,wm8904";
reg = <0x1a>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai3_mclk>;
clocks = <&scmi_clk IMX95_CLK_SAI3>;
clock-names = "mclk";
#sound-dai-cells = <0>;
AVDD-supply = <&reg_1v8_sw>;
CPVDD-supply = <&reg_1v8_sw>;
DBVDD-supply = <&reg_1v8_sw>;
DCVDD-supply = <&reg_1v8_sw>;
MICVDD-supply = <&reg_1v8_sw>;
};
/* Current measurement into module VCC */
hwmon@40 {
compatible = "ti,ina219";
reg = <0x40>;
shunt-resistor = <10000>;
};
temperature-sensor@4f {
compatible = "ti,tmp75c";
reg = <0x4f>;
};
carrier_eeprom: eeprom@57 {
compatible = "st,24c02", "atmel,24c02";
reg = <0x57>;
pagesize = <16>;
};
};
/* Verdin I2C_4_CSI */
&lpi2c5 {
status = "okay";
};
/* Verdin UART_3, used as the Linux console */
&lpuart1 {
status = "okay";
};
/* Verdin UART_4 */
&lpuart2 {
status = "okay";
};
/* Verdin UART_1 */
&lpuart7 {
status = "okay";
};
/* Verdin UART_2 */
&lpuart8 {
status = "okay";
};
/* Verdin PCIE_1 */
&pcie0 {
vpcie-supply = <&reg_pcie>;
status = "okay";
};
/* We support turning off sleep moci on Dahlia */
&reg_force_sleep_moci {
status = "disabled";
};
/* Verdin I2S_1 */
&sai3 {
status = "okay";
};
/* Verdin PWM_1 */
&tpm4 {
status = "okay";
};
/* Verdin PWM_2 */
&tpm5 {
status = "okay";
};
/* Verdin PWM_3_DSI */
&tpm6 {
status = "okay";
};
/* Verdin USB_1 */
&usb2 {
status = "okay";
};
/* Verdin USB_2 */
&usb3 {
fsl,permanently-attached;
status = "okay";
};
&usb3_dwc3 {
#address-cells = <1>;
#size-cells = <0>;
usb_hub_3_0: usb-hub@1 {
compatible = "usb424,5744";
reg = <1>;
peer-hub = <&usb_hub_2_0>;
vdd-supply = <&reg_usb_hub>;
};
usb_hub_2_0: usb-hub@2 {
compatible = "usb424,2744";
reg = <2>;
peer-hub = <&usb_hub_3_0>;
vdd-supply = <&reg_usb_hub>;
};
};
&usb3_phy {
status = "okay";
};
/* Verdin SD_1 */
&usdhc2 {
status = "okay";
};
/* Verdin CTRL_WAKE1_MICO# */
&verdin_gpio_keys {
status = "okay";
};

View File

@ -0,0 +1,21 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright (c) Toradex
*
* https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95
* https://www.toradex.com/products/carrier-board/dahlia-carrier-board-kit
*/
/dts-v1/;
#include "imx95-verdin.dtsi"
#include "imx95-verdin-nonwifi.dtsi"
#include "imx95-verdin-dahlia.dtsi"
/ {
model = "Toradex Verdin iMX95 on Dahlia Board";
compatible = "toradex,verdin-imx95-nonwifi-dahlia",
"toradex,verdin-imx95-nonwifi",
"toradex,verdin-imx95",
"fsl,imx95";
};

View File

@ -0,0 +1,21 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright (c) Toradex
*
* https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95
* https://www.toradex.com/products/carrier-board/dahlia-carrier-board-kit
*/
/dts-v1/;
#include "imx95-verdin.dtsi"
#include "imx95-verdin-wifi.dtsi"
#include "imx95-verdin-dahlia.dtsi"
/ {
model = "Toradex Verdin iMX95 WB on Dahlia Board";
compatible = "toradex,verdin-imx95-wifi-dahlia",
"toradex,verdin-imx95-wifi",
"toradex,verdin-imx95",
"fsl,imx95";
};