1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2/* 3 * Copyright 2025 Toradex 4 * 5 * Common dtsi for Verdin AM62P SoM on Development carrier board 6 * 7 * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p 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 sound-dai = <&nau8822_1a>; 43 }; 44 45 simple-audio-card,cpu { 46 sound-dai = <&mcasp0>; 47 }; 48 }; 49}; 50 51/* Verdin ETHs */ 52&cpsw3g { 53 pinctrl-names = "default"; 54 pinctrl-0 = <&pinctrl_rgmii1>, <&pinctrl_rgmii2>; 55 status = "okay"; 56}; 57 58/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */ 59&cpsw3g_mdio { 60 status = "okay"; 61 62 carrier_eth_phy: ethernet-phy@7 { 63 compatible = "ethernet-phy-ieee802.3-c22"; 64 reg = <7>; 65 pinctrl-names = "default"; 66 pinctrl-0 = <&pinctrl_eth2_rgmii_int>; 67 interrupt-parent = <&main_gpio0>; 68 interrupts = <42 IRQ_TYPE_EDGE_FALLING>; 69 micrel,led-mode = <0>; 70 }; 71}; 72 73/* Verdin ETH_1 (On-module PHY) */ 74&cpsw_port1 { 75 status = "okay"; 76}; 77 78/* Verdin ETH_2_RGMII */ 79&cpsw_port2 { 80 phy-handle = <&carrier_eth_phy>; 81 phy-mode = "rgmii-rxid"; 82 status = "okay"; 83}; 84 85/* Verdin PWM_3_DSI */ 86&epwm0 { 87 status = "okay"; 88}; 89 90/* Verdin PWM_1, PWM_2 */ 91&epwm2 { 92 status = "okay"; 93}; 94 95&main_gpio0 { 96 pinctrl-names = "default"; 97 pinctrl-0 = <&pinctrl_pcie_1_reset>, 98 <&pinctrl_gpio_5>, 99 <&pinctrl_gpio_6>, 100 <&pinctrl_gpio_7>, 101 <&pinctrl_gpio_8>; 102}; 103 104/* Verdin I2C_1 */ 105&main_i2c0 { 106 status = "okay"; 107 108 nau8822_1a: audio-codec@1a { 109 compatible = "nuvoton,nau8822"; 110 reg = <0x1a>; 111 pinctrl-names = "default"; 112 pinctrl-0 = <&pinctrl_i2s1_mclk>; 113 clock-names = "mclk"; 114 clocks = <&audio_refclk0>; 115 #sound-dai-cells = <0>; 116 }; 117 118 carrier_gpio_expander: gpio@21 { 119 compatible = "nxp,pcal6416"; 120 reg = <0x21>; 121 #gpio-cells = <2>; 122 gpio-controller; 123 }; 124 125 /* Current measurement into module VCC */ 126 hwmon@40 { 127 compatible = "ti,ina219"; 128 reg = <0x40>; 129 shunt-resistor = <10000>; 130 }; 131 132 temperature-sensor@4f { 133 compatible = "ti,tmp75c"; 134 reg = <0x4f>; 135 }; 136 137 carrier_eeprom: eeprom@57 { 138 compatible = "st,24c02", "atmel,24c02"; 139 reg = <0x57>; 140 pagesize = <16>; 141 }; 142}; 143 144/* Verdin I2C_2_DSI */ 145&main_i2c1 { 146 status = "okay"; 147}; 148 149/* Verdin I2C_4_CSI */ 150&main_i2c3 { 151 status = "okay"; 152}; 153 154/* Verdin CAN_1 */ 155&main_mcan0 { 156 status = "okay"; 157}; 158 159/* Verdin SPI_1 */ 160&main_spi1 { 161 status = "okay"; 162}; 163 164/* Verdin UART_3, used as the Linux console */ 165&main_uart0 { 166 status = "okay"; 167}; 168 169/* Verdin UART_1, connector X50 through RS485 transceiver */ 170&main_uart1 { 171 rs485-rx-during-tx; 172 linux,rs485-enabled-at-boot-time; 173 status = "okay"; 174}; 175 176/* Verdin I2S_1 */ 177&mcasp0 { 178 status = "okay"; 179}; 180 181&mcu_gpio0 { 182 pinctrl-names = "default"; 183 pinctrl-0 = <&pinctrl_gpio_1>, 184 <&pinctrl_gpio_2>, 185 <&pinctrl_gpio_3>, 186 <&pinctrl_gpio_4>; 187}; 188 189/* Verdin I2C_3_HDMI */ 190&mcu_i2c0 { 191 status = "okay"; 192}; 193 194/* Verdin CAN_2 */ 195&mcu_mcan0 { 196 status = "okay"; 197}; 198 199/* Verdin UART_4 */ 200&mcu_uart0 { 201 status = "okay"; 202}; 203 204/* Verdin QSPI_1 */ 205&ospi0 { 206 status = "okay"; 207}; 208 209/* Verdin SD_1 */ 210&sdhci1 { 211 status = "okay"; 212}; 213 214/* Verdin USB_1 */ 215&usbss0 { 216 status = "okay"; 217}; 218 219&usb0 { 220 status = "okay"; 221}; 222 223/* Verdin USB_2 */ 224&usbss1 { 225 status = "okay"; 226}; 227 228&usb1 { 229 status = "okay"; 230}; 231 232/* Verdin CTRL_WAKE1_MICO# */ 233&verdin_gpio_keys { 234 status = "okay"; 235}; 236 237/* Verdin PCIE_1_RESET# */ 238&verdin_pcie_1_reset_hog { 239 status = "okay"; 240}; 241 242/* Verdin UART_2 */ 243&wkup_uart0 { 244 status = "okay"; 245}; 246