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