1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2/* 3 * Copyright 2023 Toradex 4 * 5 * Common dtsi for Verdin AM62 SoM on Dahlia carrier board 6 * 7 * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62 8 * https://www.toradex.com/products/carrier-board/dahlia-carrier-board-kit 9 */ 10 11/ { 12 reg_1v8_sw: regulator-1v8-sw { 13 compatible = "regulator-fixed"; 14 regulator-max-microvolt = <1800000>; 15 regulator-min-microvolt = <1800000>; 16 regulator-name = "On-carrier +V1.8_SW"; 17 }; 18 19 sound { 20 compatible = "simple-audio-card"; 21 simple-audio-card,bitclock-master = <&codec_dai>; 22 simple-audio-card,format = "i2s"; 23 simple-audio-card,frame-master = <&codec_dai>; 24 simple-audio-card,name = "verdin-wm8904"; 25 simple-audio-card,routing = 26 "Headphone Jack", "HPOUTL", 27 "Headphone Jack", "HPOUTR", 28 "IN2L", "Line In Jack", 29 "IN2R", "Line In Jack", 30 "Headphone Jack", "MICBIAS", 31 "IN1L", "Headphone Jack"; 32 simple-audio-card,widgets = 33 "Microphone", "Headphone Jack", 34 "Headphone", "Headphone Jack", 35 "Line", "Line In Jack"; 36 37 codec_dai: simple-audio-card,codec { 38 clocks = <&audio_refclk1>; 39 sound-dai = <&wm8904_1a>; 40 }; 41 42 simple-audio-card,cpu { 43 sound-dai = <&mcasp0>; 44 }; 45 }; 46}; 47 48/* Verdin ETHs */ 49&cpsw3g { 50 status = "okay"; 51}; 52 53/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */ 54&cpsw3g_mdio { 55 status = "okay"; 56}; 57 58/* Verdin ETH_1 (On-module PHY) */ 59&cpsw_port1 { 60 status = "okay"; 61}; 62 63/* Verdin PWM_1, PWM_2 */ 64&epwm0 { 65 status = "okay"; 66}; 67 68/* Verdin PWM_3_DSI */ 69&epwm1 { 70 status = "okay"; 71}; 72 73&main_gpio0 { 74 pinctrl-names = "default"; 75 pinctrl-0 = <&pinctrl_ctrl_sleep_moci>, 76 <&pinctrl_gpio_5>, 77 <&pinctrl_gpio_6>, 78 <&pinctrl_gpio_7>, 79 <&pinctrl_gpio_8>; 80}; 81 82/* Verdin I2C_1 */ 83&main_i2c1 { 84 status = "okay"; 85 86 /* Audio Codec */ 87 wm8904_1a: audio-codec@1a { 88 compatible = "wlf,wm8904"; 89 reg = <0x1a>; 90 pinctrl-names = "default"; 91 pinctrl-0 = <&pinctrl_i2s1_mclk>; 92 #sound-dai-cells = <0>; 93 clocks = <&audio_refclk1>; 94 clock-names = "mclk"; 95 AVDD-supply = <®_1v8_sw>; 96 CPVDD-supply = <®_1v8_sw>; 97 DBVDD-supply = <®_1v8_sw>; 98 DCVDD-supply = <®_1v8_sw>; 99 MICVDD-supply = <®_1v8_sw>; 100 }; 101 102 /* Current measurement into module VCC */ 103 hwmon@40 { 104 compatible = "ti,ina219"; 105 reg = <0x40>; 106 shunt-resistor = <10000>; 107 }; 108 109 /* Temperature sensor */ 110 sensor@4f { 111 compatible = "ti,tmp75c"; 112 reg = <0x4f>; 113 }; 114 115 /* EEPROM */ 116 eeprom@57 { 117 compatible = "st,24c02"; 118 reg = <0x57>; 119 pagesize = <16>; 120 }; 121}; 122 123/* Verdin I2C_2_DSI */ 124&main_i2c2 { 125 status = "okay"; 126}; 127 128/* Verdin I2C_4_CSI */ 129&main_i2c3 { 130 status = "okay"; 131}; 132 133/* Verdin CAN_1 */ 134&main_mcan0 { 135 status = "okay"; 136}; 137 138/* Verdin SPI_1 */ 139&main_spi1 { 140 status = "okay"; 141}; 142 143/* Verdin UART_3 */ 144&main_uart0 { 145 status = "okay"; 146}; 147 148/* Verdin UART_1 */ 149&main_uart1 { 150 status = "okay"; 151}; 152 153/* Verdin I2S_1 */ 154&mcasp0 { 155 status = "okay"; 156}; 157 158&mcu_gpio0 { 159 pinctrl-names = "default"; 160 pinctrl-0 = <&pinctrl_gpio_1>, 161 <&pinctrl_gpio_2>, 162 <&pinctrl_gpio_3>, 163 <&pinctrl_gpio_4>; 164}; 165 166/* Verdin I2C_3_HDMI */ 167&mcu_i2c0 { 168 status = "okay"; 169}; 170 171/* Verdin CAN_2 */ 172&mcu_mcan0 { 173 status = "okay"; 174}; 175 176/* Verdin UART_4 */ 177&mcu_uart0 { 178 status = "okay"; 179}; 180 181/* Verdin QSPI_1 */ 182&ospi0 { 183 status = "okay"; 184}; 185 186/* Verdin SD_1 */ 187&sdhci1 { 188 ti,driver-strength-ohm = <33>; 189 status = "okay"; 190}; 191 192/* Verdin USB_1 */ 193&usbss0 { 194 status = "okay"; 195}; 196 197&usb0 { 198 status = "okay"; 199}; 200 201/* Verdin USB_2 */ 202&usbss1 { 203 status = "okay"; 204}; 205 206&usb1 { 207 status = "okay"; 208}; 209 210/* Verdin CTRL_WAKE1_MICO# */ 211&verdin_gpio_keys { 212 status = "okay"; 213}; 214 215/* Verdin UART_2 */ 216&wkup_uart0 { 217 /* FIXME: WKUP UART0 is used by DM firmware */ 218 status = "reserved"; 219}; 220