1*676d7ce2SErnest Van Hoecke// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2*676d7ce2SErnest Van Hoecke/* 3*676d7ce2SErnest Van Hoecke * Copyright (c) Toradex 4*676d7ce2SErnest Van Hoecke * 5*676d7ce2SErnest Van Hoecke * Common dtsi for Verdin iMX95 SoM on development carrier board 6*676d7ce2SErnest Van Hoecke * 7*676d7ce2SErnest Van Hoecke * https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95 8*676d7ce2SErnest Van Hoecke * https://www.toradex.com/products/carrier-board/verdin-development-board-kit 9*676d7ce2SErnest Van Hoecke */ 10*676d7ce2SErnest Van Hoecke 11*676d7ce2SErnest Van Hoecke/ { 12*676d7ce2SErnest Van Hoecke aliases { 13*676d7ce2SErnest Van Hoecke eeprom1 = &carrier_eeprom; 14*676d7ce2SErnest Van Hoecke }; 15*676d7ce2SErnest Van Hoecke 16*676d7ce2SErnest Van Hoecke sound { 17*676d7ce2SErnest Van Hoecke compatible = "simple-audio-card"; 18*676d7ce2SErnest Van Hoecke simple-audio-card,bitclock-master = <&codec_dai>; 19*676d7ce2SErnest Van Hoecke simple-audio-card,format = "i2s"; 20*676d7ce2SErnest Van Hoecke simple-audio-card,frame-master = <&codec_dai>; 21*676d7ce2SErnest Van Hoecke simple-audio-card,mclk-fs = <256>; 22*676d7ce2SErnest Van Hoecke simple-audio-card,name = "verdin-nau8822"; 23*676d7ce2SErnest Van Hoecke simple-audio-card,routing = 24*676d7ce2SErnest Van Hoecke "Headphones", "LHP", 25*676d7ce2SErnest Van Hoecke "Headphones", "RHP", 26*676d7ce2SErnest Van Hoecke "Speaker", "LSPK", 27*676d7ce2SErnest Van Hoecke "Speaker", "RSPK", 28*676d7ce2SErnest Van Hoecke "Line Out", "AUXOUT1", 29*676d7ce2SErnest Van Hoecke "Line Out", "AUXOUT2", 30*676d7ce2SErnest Van Hoecke "LAUX", "Line In", 31*676d7ce2SErnest Van Hoecke "RAUX", "Line In", 32*676d7ce2SErnest Van Hoecke "LMICP", "Mic In", 33*676d7ce2SErnest Van Hoecke "RMICP", "Mic In"; 34*676d7ce2SErnest Van Hoecke simple-audio-card,widgets = 35*676d7ce2SErnest Van Hoecke "Headphones", "Headphones", 36*676d7ce2SErnest Van Hoecke "Line Out", "Line Out", 37*676d7ce2SErnest Van Hoecke "Speaker", "Speaker", 38*676d7ce2SErnest Van Hoecke "Microphone", "Mic In", 39*676d7ce2SErnest Van Hoecke "Line", "Line In"; 40*676d7ce2SErnest Van Hoecke 41*676d7ce2SErnest Van Hoecke codec_dai: simple-audio-card,codec { 42*676d7ce2SErnest Van Hoecke clocks = <&scmi_clk IMX95_CLK_SAI3>; 43*676d7ce2SErnest Van Hoecke sound-dai = <&nau8822_1a>; 44*676d7ce2SErnest Van Hoecke }; 45*676d7ce2SErnest Van Hoecke 46*676d7ce2SErnest Van Hoecke simple-audio-card,cpu { 47*676d7ce2SErnest Van Hoecke sound-dai = <&sai3>; 48*676d7ce2SErnest Van Hoecke }; 49*676d7ce2SErnest Van Hoecke }; 50*676d7ce2SErnest Van Hoecke}; 51*676d7ce2SErnest Van Hoecke 52*676d7ce2SErnest Van Hoecke/* Verdin ADC_1, ADC_2, ADC_3 and ADC_4 */ 53*676d7ce2SErnest Van Hoecke&adc1 { 54*676d7ce2SErnest Van Hoecke status = "okay"; 55*676d7ce2SErnest Van Hoecke}; 56*676d7ce2SErnest Van Hoecke 57*676d7ce2SErnest Van Hoecke/* Verdin ETH_1 (On-module PHY) */ 58*676d7ce2SErnest Van Hoecke&enetc_port0 { 59*676d7ce2SErnest Van Hoecke status = "okay"; 60*676d7ce2SErnest Van Hoecke}; 61*676d7ce2SErnest Van Hoecke 62*676d7ce2SErnest Van Hoecke/* Verdin ETH_2_RGMII */ 63*676d7ce2SErnest Van Hoecke&enetc_port1 { 64*676d7ce2SErnest Van Hoecke phy-handle = <ðphy2>; 65*676d7ce2SErnest Van Hoecke phy-mode = "rgmii-id"; 66*676d7ce2SErnest Van Hoecke 67*676d7ce2SErnest Van Hoecke status = "okay"; 68*676d7ce2SErnest Van Hoecke}; 69*676d7ce2SErnest Van Hoecke 70*676d7ce2SErnest Van Hoecke/* Verdin CAN_1 */ 71*676d7ce2SErnest Van Hoecke&flexcan1 { 72*676d7ce2SErnest Van Hoecke status = "okay"; 73*676d7ce2SErnest Van Hoecke}; 74*676d7ce2SErnest Van Hoecke 75*676d7ce2SErnest Van Hoecke/* Verdin CAN_2 */ 76*676d7ce2SErnest Van Hoecke&flexcan2 { 77*676d7ce2SErnest Van Hoecke status = "okay"; 78*676d7ce2SErnest Van Hoecke}; 79*676d7ce2SErnest Van Hoecke 80*676d7ce2SErnest Van Hoecke/* Verdin QSPI_1 */ 81*676d7ce2SErnest Van Hoecke&flexspi1 { 82*676d7ce2SErnest Van Hoecke status = "okay"; 83*676d7ce2SErnest Van Hoecke}; 84*676d7ce2SErnest Van Hoecke 85*676d7ce2SErnest Van Hoecke&gpio1 { 86*676d7ce2SErnest Van Hoecke pinctrl-names = "default"; 87*676d7ce2SErnest Van Hoecke pinctrl-0 = <&pinctrl_ctrl_sleep_moci>; 88*676d7ce2SErnest Van Hoecke}; 89*676d7ce2SErnest Van Hoecke 90*676d7ce2SErnest Van Hoecke&gpio2 { 91*676d7ce2SErnest Van Hoecke pinctrl-names = "default"; 92*676d7ce2SErnest Van Hoecke pinctrl-0 = <&pinctrl_gpio1>, 93*676d7ce2SErnest Van Hoecke <&pinctrl_gpio2>, 94*676d7ce2SErnest Van Hoecke <&pinctrl_gpio3>; 95*676d7ce2SErnest Van Hoecke}; 96*676d7ce2SErnest Van Hoecke 97*676d7ce2SErnest Van Hoecke&gpio3 { 98*676d7ce2SErnest Van Hoecke pinctrl-names = "default"; 99*676d7ce2SErnest Van Hoecke pinctrl-0 = <&pinctrl_gpio6>; 100*676d7ce2SErnest Van Hoecke}; 101*676d7ce2SErnest Van Hoecke 102*676d7ce2SErnest Van Hoecke&gpio4 { 103*676d7ce2SErnest Van Hoecke pinctrl-names = "default"; 104*676d7ce2SErnest Van Hoecke pinctrl-0 = <&pinctrl_gpio5>; 105*676d7ce2SErnest Van Hoecke}; 106*676d7ce2SErnest Van Hoecke 107*676d7ce2SErnest Van Hoecke&gpio5 { 108*676d7ce2SErnest Van Hoecke pinctrl-names = "default"; 109*676d7ce2SErnest Van Hoecke pinctrl-0 = <&pinctrl_gpio4>; 110*676d7ce2SErnest Van Hoecke}; 111*676d7ce2SErnest Van Hoecke 112*676d7ce2SErnest Van Hoecke/* Verdin I2C_3_HDMI */ 113*676d7ce2SErnest Van Hoecke&i3c2 { 114*676d7ce2SErnest Van Hoecke status = "okay"; 115*676d7ce2SErnest Van Hoecke}; 116*676d7ce2SErnest Van Hoecke 117*676d7ce2SErnest Van Hoecke/* Verdin I2C_2_DSI */ 118*676d7ce2SErnest Van Hoecke&lpi2c3 { 119*676d7ce2SErnest Van Hoecke status = "okay"; 120*676d7ce2SErnest Van Hoecke}; 121*676d7ce2SErnest Van Hoecke 122*676d7ce2SErnest Van Hoecke/* Verdin I2C_1 */ 123*676d7ce2SErnest Van Hoecke&lpi2c4 { 124*676d7ce2SErnest Van Hoecke status = "okay"; 125*676d7ce2SErnest Van Hoecke 126*676d7ce2SErnest Van Hoecke nau8822_1a: audio-codec@1a { 127*676d7ce2SErnest Van Hoecke compatible = "nuvoton,nau8822"; 128*676d7ce2SErnest Van Hoecke reg = <0x1a>; 129*676d7ce2SErnest Van Hoecke pinctrl-names = "default"; 130*676d7ce2SErnest Van Hoecke pinctrl-0 = <&pinctrl_sai3_mclk>; 131*676d7ce2SErnest Van Hoecke #sound-dai-cells = <0>; 132*676d7ce2SErnest Van Hoecke }; 133*676d7ce2SErnest Van Hoecke 134*676d7ce2SErnest Van Hoecke carrier_gpio_expander: gpio@21 { 135*676d7ce2SErnest Van Hoecke compatible = "nxp,pcal6416"; 136*676d7ce2SErnest Van Hoecke reg = <0x21>; 137*676d7ce2SErnest Van Hoecke #gpio-cells = <2>; 138*676d7ce2SErnest Van Hoecke gpio-controller; 139*676d7ce2SErnest Van Hoecke }; 140*676d7ce2SErnest Van Hoecke 141*676d7ce2SErnest Van Hoecke /* Current measurement into module VCC */ 142*676d7ce2SErnest Van Hoecke hwmon@40 { 143*676d7ce2SErnest Van Hoecke compatible = "ti,ina219"; 144*676d7ce2SErnest Van Hoecke reg = <0x40>; 145*676d7ce2SErnest Van Hoecke shunt-resistor = <10000>; 146*676d7ce2SErnest Van Hoecke }; 147*676d7ce2SErnest Van Hoecke 148*676d7ce2SErnest Van Hoecke temperature-sensor@4f { 149*676d7ce2SErnest Van Hoecke compatible = "ti,tmp75c"; 150*676d7ce2SErnest Van Hoecke reg = <0x4f>; 151*676d7ce2SErnest Van Hoecke }; 152*676d7ce2SErnest Van Hoecke 153*676d7ce2SErnest Van Hoecke carrier_eeprom: eeprom@57 { 154*676d7ce2SErnest Van Hoecke compatible = "st,24c02", "atmel,24c02"; 155*676d7ce2SErnest Van Hoecke reg = <0x57>; 156*676d7ce2SErnest Van Hoecke pagesize = <16>; 157*676d7ce2SErnest Van Hoecke }; 158*676d7ce2SErnest Van Hoecke}; 159*676d7ce2SErnest Van Hoecke 160*676d7ce2SErnest Van Hoecke/* Verdin I2C_4_CSI */ 161*676d7ce2SErnest Van Hoecke&lpi2c5 { 162*676d7ce2SErnest Van Hoecke status = "okay"; 163*676d7ce2SErnest Van Hoecke}; 164*676d7ce2SErnest Van Hoecke 165*676d7ce2SErnest Van Hoecke/* Verdin UART_3, used as the Linux console */ 166*676d7ce2SErnest Van Hoecke&lpuart1 { 167*676d7ce2SErnest Van Hoecke status = "okay"; 168*676d7ce2SErnest Van Hoecke}; 169*676d7ce2SErnest Van Hoecke 170*676d7ce2SErnest Van Hoecke/* Verdin UART_4 */ 171*676d7ce2SErnest Van Hoecke&lpuart2 { 172*676d7ce2SErnest Van Hoecke status = "okay"; 173*676d7ce2SErnest Van Hoecke}; 174*676d7ce2SErnest Van Hoecke 175*676d7ce2SErnest Van Hoecke/* Verdin UART_1, connector X50 through RS485 transceiver */ 176*676d7ce2SErnest Van Hoecke&lpuart7 { 177*676d7ce2SErnest Van Hoecke rs485-rts-active-low; 178*676d7ce2SErnest Van Hoecke rs485-rx-during-tx; 179*676d7ce2SErnest Van Hoecke linux,rs485-enabled-at-boot-time; 180*676d7ce2SErnest Van Hoecke 181*676d7ce2SErnest Van Hoecke status = "okay"; 182*676d7ce2SErnest Van Hoecke}; 183*676d7ce2SErnest Van Hoecke 184*676d7ce2SErnest Van Hoecke/* Verdin UART_2 */ 185*676d7ce2SErnest Van Hoecke&lpuart8 { 186*676d7ce2SErnest Van Hoecke status = "okay"; 187*676d7ce2SErnest Van Hoecke}; 188*676d7ce2SErnest Van Hoecke 189*676d7ce2SErnest Van Hoecke&netc_emdio { 190*676d7ce2SErnest Van Hoecke ethphy2: ethernet-phy@7 { 191*676d7ce2SErnest Van Hoecke compatible = "ethernet-phy-ieee802.3-c22"; 192*676d7ce2SErnest Van Hoecke reg = <7>; 193*676d7ce2SErnest Van Hoecke pinctrl-names = "default"; 194*676d7ce2SErnest Van Hoecke pinctrl-0 = <&pinctrl_eth2_rgmii_int>; 195*676d7ce2SErnest Van Hoecke interrupt-parent = <&gpio1>; 196*676d7ce2SErnest Van Hoecke interrupts = <12 IRQ_TYPE_LEVEL_LOW>; 197*676d7ce2SErnest Van Hoecke micrel,led-mode = <0>; 198*676d7ce2SErnest Van Hoecke }; 199*676d7ce2SErnest Van Hoecke}; 200*676d7ce2SErnest Van Hoecke 201*676d7ce2SErnest Van Hoecke/* Verdin PCIE_1 */ 202*676d7ce2SErnest Van Hoecke&pcie0 { 203*676d7ce2SErnest Van Hoecke status = "okay"; 204*676d7ce2SErnest Van Hoecke}; 205*676d7ce2SErnest Van Hoecke 206*676d7ce2SErnest Van Hoecke/* Verdin I2S_1 */ 207*676d7ce2SErnest Van Hoecke&sai3 { 208*676d7ce2SErnest Van Hoecke status = "okay"; 209*676d7ce2SErnest Van Hoecke}; 210*676d7ce2SErnest Van Hoecke 211*676d7ce2SErnest Van Hoecke/* Verdin PWM_1 */ 212*676d7ce2SErnest Van Hoecke&tpm4 { 213*676d7ce2SErnest Van Hoecke status = "okay"; 214*676d7ce2SErnest Van Hoecke}; 215*676d7ce2SErnest Van Hoecke 216*676d7ce2SErnest Van Hoecke/* Verdin PWM_2 */ 217*676d7ce2SErnest Van Hoecke&tpm5 { 218*676d7ce2SErnest Van Hoecke status = "okay"; 219*676d7ce2SErnest Van Hoecke}; 220*676d7ce2SErnest Van Hoecke 221*676d7ce2SErnest Van Hoecke/* Verdin PWM_3_DSI */ 222*676d7ce2SErnest Van Hoecke&tpm6 { 223*676d7ce2SErnest Van Hoecke status = "okay"; 224*676d7ce2SErnest Van Hoecke}; 225*676d7ce2SErnest Van Hoecke 226*676d7ce2SErnest Van Hoecke/* Verdin USB_1 */ 227*676d7ce2SErnest Van Hoecke&usb2 { 228*676d7ce2SErnest Van Hoecke status = "okay"; 229*676d7ce2SErnest Van Hoecke}; 230*676d7ce2SErnest Van Hoecke 231*676d7ce2SErnest Van Hoecke/* Verdin USB_2 */ 232*676d7ce2SErnest Van Hoecke&usb3 { 233*676d7ce2SErnest Van Hoecke fsl,permanently-attached; 234*676d7ce2SErnest Van Hoecke 235*676d7ce2SErnest Van Hoecke status = "okay"; 236*676d7ce2SErnest Van Hoecke}; 237*676d7ce2SErnest Van Hoecke 238*676d7ce2SErnest Van Hoecke&usb3_phy { 239*676d7ce2SErnest Van Hoecke status = "okay"; 240*676d7ce2SErnest Van Hoecke}; 241*676d7ce2SErnest Van Hoecke 242*676d7ce2SErnest Van Hoecke/* Verdin SD_1 */ 243*676d7ce2SErnest Van Hoecke&usdhc2 { 244*676d7ce2SErnest Van Hoecke status = "okay"; 245*676d7ce2SErnest Van Hoecke}; 246*676d7ce2SErnest Van Hoecke 247*676d7ce2SErnest Van Hoecke/* Verdin CTRL_WAKE1_MICO# */ 248*676d7ce2SErnest Van Hoecke&verdin_gpio_keys { 249*676d7ce2SErnest Van Hoecke status = "okay"; 250*676d7ce2SErnest Van Hoecke}; 251