// 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 = <®_1v8_sw>; CPVDD-supply = <®_1v8_sw>; DBVDD-supply = <®_1v8_sw>; DCVDD-supply = <®_1v8_sw>; MICVDD-supply = <®_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 = <®_pcie>; status = "okay"; }; /* We support turning off sleep moci on Dahlia */ ®_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 = <®_usb_hub>; }; usb_hub_2_0: usb-hub@2 { compatible = "usb424,2744"; reg = <2>; peer-hub = <&usb_hub_3_0>; vdd-supply = <®_usb_hub>; }; }; &usb3_phy { status = "okay"; }; /* Verdin SD_1 */ &usdhc2 { status = "okay"; }; /* Verdin CTRL_WAKE1_MICO# */ &verdin_gpio_keys { status = "okay"; };