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