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