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 Dahlia 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/dahlia-carrier-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 reg_1v8_sw: regulator-1v8-sw { 17*ae5de77eSEmmanuel Vadot compatible = "regulator-fixed"; 18*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1800000>; 19*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <1800000>; 20*ae5de77eSEmmanuel Vadot regulator-name = "On-carrier +V1.8_SW"; 21*ae5de77eSEmmanuel Vadot }; 22*ae5de77eSEmmanuel Vadot 23*ae5de77eSEmmanuel Vadot sound { 24*ae5de77eSEmmanuel Vadot compatible = "simple-audio-card"; 25*ae5de77eSEmmanuel Vadot simple-audio-card,bitclock-master = <&codec_dai>; 26*ae5de77eSEmmanuel Vadot simple-audio-card,format = "i2s"; 27*ae5de77eSEmmanuel Vadot simple-audio-card,frame-master = <&codec_dai>; 28*ae5de77eSEmmanuel Vadot simple-audio-card,mclk-fs = <256>; 29*ae5de77eSEmmanuel Vadot simple-audio-card,name = "verdin-wm8904"; 30*ae5de77eSEmmanuel Vadot simple-audio-card,routing = 31*ae5de77eSEmmanuel Vadot "Headphone Jack", "HPOUTL", 32*ae5de77eSEmmanuel Vadot "Headphone Jack", "HPOUTR", 33*ae5de77eSEmmanuel Vadot "IN2L", "Line In Jack", 34*ae5de77eSEmmanuel Vadot "IN2R", "Line In Jack", 35*ae5de77eSEmmanuel Vadot "Microphone Jack", "MICBIAS", 36*ae5de77eSEmmanuel Vadot "IN1L", "Microphone Jack"; 37*ae5de77eSEmmanuel Vadot simple-audio-card,widgets = 38*ae5de77eSEmmanuel Vadot "Microphone", "Microphone Jack", 39*ae5de77eSEmmanuel Vadot "Headphone", "Headphone Jack", 40*ae5de77eSEmmanuel Vadot "Line", "Line In Jack"; 41*ae5de77eSEmmanuel Vadot 42*ae5de77eSEmmanuel Vadot codec_dai: simple-audio-card,codec { 43*ae5de77eSEmmanuel Vadot sound-dai = <&wm8904_1a>; 44*ae5de77eSEmmanuel Vadot }; 45*ae5de77eSEmmanuel Vadot 46*ae5de77eSEmmanuel Vadot simple-audio-card,cpu { 47*ae5de77eSEmmanuel Vadot sound-dai = <&mcasp0>; 48*ae5de77eSEmmanuel Vadot }; 49*ae5de77eSEmmanuel Vadot }; 50*ae5de77eSEmmanuel Vadot}; 51*ae5de77eSEmmanuel Vadot 52*ae5de77eSEmmanuel Vadot/* Verdin ETHs */ 53*ae5de77eSEmmanuel Vadot&cpsw3g { 54*ae5de77eSEmmanuel Vadot status = "okay"; 55*ae5de77eSEmmanuel Vadot}; 56*ae5de77eSEmmanuel Vadot 57*ae5de77eSEmmanuel Vadot/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */ 58*ae5de77eSEmmanuel Vadot&cpsw3g_mdio { 59*ae5de77eSEmmanuel Vadot status = "okay"; 60*ae5de77eSEmmanuel Vadot}; 61*ae5de77eSEmmanuel Vadot 62*ae5de77eSEmmanuel Vadot/* Verdin ETH_1 (On-module PHY) */ 63*ae5de77eSEmmanuel Vadot&cpsw_port1 { 64*ae5de77eSEmmanuel Vadot status = "okay"; 65*ae5de77eSEmmanuel Vadot}; 66*ae5de77eSEmmanuel Vadot 67*ae5de77eSEmmanuel Vadot/* Verdin PWM_3_DSI */ 68*ae5de77eSEmmanuel Vadot&epwm0 { 69*ae5de77eSEmmanuel Vadot status = "okay"; 70*ae5de77eSEmmanuel Vadot}; 71*ae5de77eSEmmanuel Vadot 72*ae5de77eSEmmanuel Vadot/* Verdin PWM_1, PWM_2 */ 73*ae5de77eSEmmanuel Vadot&epwm2 { 74*ae5de77eSEmmanuel Vadot status = "okay"; 75*ae5de77eSEmmanuel Vadot}; 76*ae5de77eSEmmanuel Vadot 77*ae5de77eSEmmanuel Vadot&main_gpio0 { 78*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 79*ae5de77eSEmmanuel Vadot pinctrl-0 = <&pinctrl_pcie_1_reset>, 80*ae5de77eSEmmanuel Vadot <&pinctrl_gpio_5>, 81*ae5de77eSEmmanuel Vadot <&pinctrl_gpio_6>, 82*ae5de77eSEmmanuel Vadot <&pinctrl_gpio_7>, 83*ae5de77eSEmmanuel Vadot <&pinctrl_gpio_8>; 84*ae5de77eSEmmanuel Vadot}; 85*ae5de77eSEmmanuel Vadot 86*ae5de77eSEmmanuel Vadot/* Verdin I2C_1 */ 87*ae5de77eSEmmanuel Vadot&main_i2c0 { 88*ae5de77eSEmmanuel Vadot status = "okay"; 89*ae5de77eSEmmanuel Vadot 90*ae5de77eSEmmanuel Vadot wm8904_1a: audio-codec@1a { 91*ae5de77eSEmmanuel Vadot compatible = "wlf,wm8904"; 92*ae5de77eSEmmanuel Vadot reg = <0x1a>; 93*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 94*ae5de77eSEmmanuel Vadot pinctrl-0 = <&pinctrl_i2s1_mclk>; 95*ae5de77eSEmmanuel Vadot clocks = <&audio_refclk0>; 96*ae5de77eSEmmanuel Vadot clock-names = "mclk"; 97*ae5de77eSEmmanuel Vadot #sound-dai-cells = <0>; 98*ae5de77eSEmmanuel Vadot AVDD-supply = <®_1v8_sw>; 99*ae5de77eSEmmanuel Vadot CPVDD-supply = <®_1v8_sw>; 100*ae5de77eSEmmanuel Vadot DBVDD-supply = <®_1v8_sw>; 101*ae5de77eSEmmanuel Vadot DCVDD-supply = <®_1v8_sw>; 102*ae5de77eSEmmanuel Vadot MICVDD-supply = <®_1v8_sw>; 103*ae5de77eSEmmanuel Vadot }; 104*ae5de77eSEmmanuel Vadot 105*ae5de77eSEmmanuel Vadot /* Current measurement into module VCC */ 106*ae5de77eSEmmanuel Vadot hwmon@40 { 107*ae5de77eSEmmanuel Vadot compatible = "ti,ina219"; 108*ae5de77eSEmmanuel Vadot reg = <0x40>; 109*ae5de77eSEmmanuel Vadot shunt-resistor = <10000>; 110*ae5de77eSEmmanuel Vadot }; 111*ae5de77eSEmmanuel Vadot 112*ae5de77eSEmmanuel Vadot temperature-sensor@4f { 113*ae5de77eSEmmanuel Vadot compatible = "ti,tmp75c"; 114*ae5de77eSEmmanuel Vadot reg = <0x4f>; 115*ae5de77eSEmmanuel Vadot }; 116*ae5de77eSEmmanuel Vadot 117*ae5de77eSEmmanuel Vadot carrier_eeprom: eeprom@57 { 118*ae5de77eSEmmanuel Vadot compatible = "st,24c02", "atmel,24c02"; 119*ae5de77eSEmmanuel Vadot reg = <0x57>; 120*ae5de77eSEmmanuel Vadot pagesize = <16>; 121*ae5de77eSEmmanuel Vadot }; 122*ae5de77eSEmmanuel Vadot}; 123*ae5de77eSEmmanuel Vadot 124*ae5de77eSEmmanuel Vadot/* Verdin I2C_2_DSI */ 125*ae5de77eSEmmanuel Vadot&main_i2c1 { 126*ae5de77eSEmmanuel Vadot status = "okay"; 127*ae5de77eSEmmanuel Vadot}; 128*ae5de77eSEmmanuel Vadot 129*ae5de77eSEmmanuel Vadot/* Verdin I2C_4_CSI */ 130*ae5de77eSEmmanuel Vadot&main_i2c3 { 131*ae5de77eSEmmanuel Vadot status = "okay"; 132*ae5de77eSEmmanuel Vadot}; 133*ae5de77eSEmmanuel Vadot 134*ae5de77eSEmmanuel Vadot/* Verdin CAN_1 */ 135*ae5de77eSEmmanuel Vadot&main_mcan0 { 136*ae5de77eSEmmanuel Vadot status = "okay"; 137*ae5de77eSEmmanuel Vadot}; 138*ae5de77eSEmmanuel Vadot 139*ae5de77eSEmmanuel Vadot/* Verdin SPI_1 */ 140*ae5de77eSEmmanuel Vadot&main_spi1 { 141*ae5de77eSEmmanuel Vadot status = "okay"; 142*ae5de77eSEmmanuel Vadot}; 143*ae5de77eSEmmanuel Vadot 144*ae5de77eSEmmanuel Vadot/* Verdin UART_3, used as the Linux console */ 145*ae5de77eSEmmanuel Vadot&main_uart0 { 146*ae5de77eSEmmanuel Vadot status = "okay"; 147*ae5de77eSEmmanuel Vadot}; 148*ae5de77eSEmmanuel Vadot 149*ae5de77eSEmmanuel Vadot/* Verdin UART_1 */ 150*ae5de77eSEmmanuel Vadot&main_uart1 { 151*ae5de77eSEmmanuel Vadot status = "okay"; 152*ae5de77eSEmmanuel Vadot}; 153*ae5de77eSEmmanuel Vadot 154*ae5de77eSEmmanuel Vadot/* Verdin I2S_1 */ 155*ae5de77eSEmmanuel Vadot&mcasp0 { 156*ae5de77eSEmmanuel Vadot status = "okay"; 157*ae5de77eSEmmanuel Vadot}; 158*ae5de77eSEmmanuel Vadot 159*ae5de77eSEmmanuel Vadot&mcu_gpio0 { 160*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 161*ae5de77eSEmmanuel Vadot pinctrl-0 = <&pinctrl_gpio_1>, 162*ae5de77eSEmmanuel Vadot <&pinctrl_gpio_2>, 163*ae5de77eSEmmanuel Vadot <&pinctrl_gpio_3>, 164*ae5de77eSEmmanuel Vadot <&pinctrl_gpio_4>; 165*ae5de77eSEmmanuel Vadot}; 166*ae5de77eSEmmanuel Vadot 167*ae5de77eSEmmanuel Vadot/* Verdin I2C_3_HDMI */ 168*ae5de77eSEmmanuel Vadot&mcu_i2c0 { 169*ae5de77eSEmmanuel Vadot status = "okay"; 170*ae5de77eSEmmanuel Vadot}; 171*ae5de77eSEmmanuel Vadot 172*ae5de77eSEmmanuel Vadot/* Verdin CAN_2 */ 173*ae5de77eSEmmanuel Vadot&mcu_mcan0 { 174*ae5de77eSEmmanuel Vadot status = "okay"; 175*ae5de77eSEmmanuel Vadot}; 176*ae5de77eSEmmanuel Vadot 177*ae5de77eSEmmanuel Vadot/* Verdin UART_4 */ 178*ae5de77eSEmmanuel Vadot&mcu_uart0 { 179*ae5de77eSEmmanuel Vadot status = "okay"; 180*ae5de77eSEmmanuel Vadot}; 181*ae5de77eSEmmanuel Vadot 182*ae5de77eSEmmanuel Vadot/* Verdin QSPI_1 */ 183*ae5de77eSEmmanuel Vadot&ospi0 { 184*ae5de77eSEmmanuel Vadot status = "okay"; 185*ae5de77eSEmmanuel Vadot}; 186*ae5de77eSEmmanuel Vadot 187*ae5de77eSEmmanuel Vadot/* We support turning off sleep moci on Dahlia */ 188*ae5de77eSEmmanuel Vadot®_force_sleep_moci { 189*ae5de77eSEmmanuel Vadot status = "disabled"; 190*ae5de77eSEmmanuel Vadot}; 191*ae5de77eSEmmanuel Vadot 192*ae5de77eSEmmanuel Vadot/* Verdin SD_1 */ 193*ae5de77eSEmmanuel Vadot&sdhci1 { 194*ae5de77eSEmmanuel Vadot status = "okay"; 195*ae5de77eSEmmanuel Vadot}; 196*ae5de77eSEmmanuel Vadot 197*ae5de77eSEmmanuel Vadot/* Verdin USB_1 */ 198*ae5de77eSEmmanuel Vadot&usbss0 { 199*ae5de77eSEmmanuel Vadot status = "okay"; 200*ae5de77eSEmmanuel Vadot}; 201*ae5de77eSEmmanuel Vadot 202*ae5de77eSEmmanuel Vadot&usb0 { 203*ae5de77eSEmmanuel Vadot status = "okay"; 204*ae5de77eSEmmanuel Vadot}; 205*ae5de77eSEmmanuel Vadot 206*ae5de77eSEmmanuel Vadot/* Verdin USB_2 */ 207*ae5de77eSEmmanuel Vadot&usbss1 { 208*ae5de77eSEmmanuel Vadot status = "okay"; 209*ae5de77eSEmmanuel Vadot}; 210*ae5de77eSEmmanuel Vadot 211*ae5de77eSEmmanuel Vadot&usb1 { 212*ae5de77eSEmmanuel Vadot status = "okay"; 213*ae5de77eSEmmanuel Vadot}; 214*ae5de77eSEmmanuel Vadot 215*ae5de77eSEmmanuel Vadot/* Verdin CTRL_WAKE1_MICO# */ 216*ae5de77eSEmmanuel Vadot&verdin_gpio_keys { 217*ae5de77eSEmmanuel Vadot status = "okay"; 218*ae5de77eSEmmanuel Vadot}; 219*ae5de77eSEmmanuel Vadot 220*ae5de77eSEmmanuel Vadot/* Verdin PCIE_1_RESET# */ 221*ae5de77eSEmmanuel Vadot&verdin_pcie_1_reset_hog { 222*ae5de77eSEmmanuel Vadot status = "okay"; 223*ae5de77eSEmmanuel Vadot}; 224*ae5de77eSEmmanuel Vadot 225*ae5de77eSEmmanuel Vadot/* Verdin UART_2 */ 226*ae5de77eSEmmanuel Vadot&wkup_uart0 { 227*ae5de77eSEmmanuel Vadot status = "okay"; 228*ae5de77eSEmmanuel Vadot}; 229