1316b8024SFrancesco Dolcini// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2316b8024SFrancesco Dolcini/* 3316b8024SFrancesco Dolcini * Copyright 2023 Toradex 4316b8024SFrancesco Dolcini * 5316b8024SFrancesco Dolcini * Common dtsi for Verdin AM62 SoM on Development carrier board 6316b8024SFrancesco Dolcini * 7316b8024SFrancesco Dolcini * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62 8316b8024SFrancesco Dolcini * https://www.toradex.com/products/carrier-board/verdin-development-board-kit 9316b8024SFrancesco Dolcini */ 10316b8024SFrancesco Dolcini 11*c9065820SFrancesco Dolcini/ { 12*c9065820SFrancesco Dolcini sound { 13*c9065820SFrancesco Dolcini compatible = "simple-audio-card"; 14*c9065820SFrancesco Dolcini simple-audio-card,bitclock-master = <&codec_dai>; 15*c9065820SFrancesco Dolcini simple-audio-card,format = "i2s"; 16*c9065820SFrancesco Dolcini simple-audio-card,frame-master = <&codec_dai>; 17*c9065820SFrancesco Dolcini simple-audio-card,name = "verdin-nau8822"; 18*c9065820SFrancesco Dolcini simple-audio-card,routing = 19*c9065820SFrancesco Dolcini "Headphones", "LHP", 20*c9065820SFrancesco Dolcini "Headphones", "RHP", 21*c9065820SFrancesco Dolcini "Speaker", "LSPK", 22*c9065820SFrancesco Dolcini "Speaker", "RSPK", 23*c9065820SFrancesco Dolcini "Line Out", "AUXOUT1", 24*c9065820SFrancesco Dolcini "Line Out", "AUXOUT2", 25*c9065820SFrancesco Dolcini "LAUX", "Line In", 26*c9065820SFrancesco Dolcini "RAUX", "Line In", 27*c9065820SFrancesco Dolcini "LMICP", "Mic In", 28*c9065820SFrancesco Dolcini "RMICP", "Mic In"; 29*c9065820SFrancesco Dolcini simple-audio-card,widgets = 30*c9065820SFrancesco Dolcini "Headphones", "Headphones", 31*c9065820SFrancesco Dolcini "Line Out", "Line Out", 32*c9065820SFrancesco Dolcini "Speaker", "Speaker", 33*c9065820SFrancesco Dolcini "Microphone", "Mic In", 34*c9065820SFrancesco Dolcini "Line", "Line In"; 35*c9065820SFrancesco Dolcini 36*c9065820SFrancesco Dolcini codec_dai: simple-audio-card,codec { 37*c9065820SFrancesco Dolcini clocks = <&audio_refclk1>; 38*c9065820SFrancesco Dolcini sound-dai = <&nau8822_1a>; 39*c9065820SFrancesco Dolcini }; 40*c9065820SFrancesco Dolcini 41*c9065820SFrancesco Dolcini simple-audio-card,cpu { 42*c9065820SFrancesco Dolcini sound-dai = <&mcasp0>; 43*c9065820SFrancesco Dolcini }; 44*c9065820SFrancesco Dolcini }; 45*c9065820SFrancesco Dolcini}; 46*c9065820SFrancesco Dolcini 47316b8024SFrancesco Dolcini/* Verdin ETHs */ 48316b8024SFrancesco Dolcini&cpsw3g { 49316b8024SFrancesco Dolcini pinctrl-names = "default"; 50316b8024SFrancesco Dolcini pinctrl-0 = <&pinctrl_rgmii1>, <&pinctrl_rgmii2>; 51316b8024SFrancesco Dolcini status = "okay"; 52316b8024SFrancesco Dolcini}; 53316b8024SFrancesco Dolcini 54316b8024SFrancesco Dolcini/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */ 55316b8024SFrancesco Dolcini&cpsw3g_mdio { 56316b8024SFrancesco Dolcini status = "okay"; 57316b8024SFrancesco Dolcini 58316b8024SFrancesco Dolcini cpsw3g_phy1: ethernet-phy@7 { 59316b8024SFrancesco Dolcini compatible = "ethernet-phy-ieee802.3-c22"; 60316b8024SFrancesco Dolcini reg = <7>; 61316b8024SFrancesco Dolcini interrupt-parent = <&main_gpio0>; 62316b8024SFrancesco Dolcini interrupts = <38 IRQ_TYPE_EDGE_FALLING>; 63316b8024SFrancesco Dolcini pinctrl-names = "default"; 64316b8024SFrancesco Dolcini pinctrl-0 = <&pinctrl_eth2_rgmii_int>; 65316b8024SFrancesco Dolcini micrel,led-mode = <0>; 66316b8024SFrancesco Dolcini }; 67316b8024SFrancesco Dolcini}; 68316b8024SFrancesco Dolcini 69316b8024SFrancesco Dolcini/* Verdin ETH_1 (On-module PHY) */ 70316b8024SFrancesco Dolcini&cpsw_port1 { 71316b8024SFrancesco Dolcini status = "okay"; 72316b8024SFrancesco Dolcini}; 73316b8024SFrancesco Dolcini 74316b8024SFrancesco Dolcini/* Verdin ETH_2_RGMII */ 75316b8024SFrancesco Dolcini&cpsw_port2 { 76316b8024SFrancesco Dolcini phy-handle = <&cpsw3g_phy1>; 77316b8024SFrancesco Dolcini phy-mode = "rgmii-rxid"; 78316b8024SFrancesco Dolcini status = "okay"; 79316b8024SFrancesco Dolcini}; 80316b8024SFrancesco Dolcini 81316b8024SFrancesco Dolcini/* Verdin PWM_1, PWM_2 */ 82316b8024SFrancesco Dolcini&epwm0 { 83316b8024SFrancesco Dolcini status = "okay"; 84316b8024SFrancesco Dolcini}; 85316b8024SFrancesco Dolcini 86316b8024SFrancesco Dolcini/* Verdin PWM_3_DSI */ 87316b8024SFrancesco Dolcini&epwm1 { 88316b8024SFrancesco Dolcini status = "okay"; 89316b8024SFrancesco Dolcini}; 90316b8024SFrancesco Dolcini 91316b8024SFrancesco Dolcini&main_gpio0 { 92316b8024SFrancesco Dolcini pinctrl-names = "default"; 93316b8024SFrancesco Dolcini pinctrl-0 = <&pinctrl_ctrl_sleep_moci>, 94316b8024SFrancesco Dolcini <&pinctrl_gpio_5>, 95316b8024SFrancesco Dolcini <&pinctrl_gpio_6>, 96316b8024SFrancesco Dolcini <&pinctrl_gpio_7>, 97316b8024SFrancesco Dolcini <&pinctrl_gpio_8>; 98316b8024SFrancesco Dolcini}; 99316b8024SFrancesco Dolcini 100316b8024SFrancesco Dolcini/* Verdin I2C_1 */ 101316b8024SFrancesco Dolcini&main_i2c1 { 102316b8024SFrancesco Dolcini status = "okay"; 103316b8024SFrancesco Dolcini 104*c9065820SFrancesco Dolcini /* Audio Codec */ 105*c9065820SFrancesco Dolcini nau8822_1a: audio-codec@1a { 106*c9065820SFrancesco Dolcini compatible = "nuvoton,nau8822"; 107*c9065820SFrancesco Dolcini reg = <0x1a>; 108*c9065820SFrancesco Dolcini pinctrl-names = "default"; 109*c9065820SFrancesco Dolcini pinctrl-0 = <&pinctrl_i2s1_mclk>; 110*c9065820SFrancesco Dolcini #sound-dai-cells = <0>; 111*c9065820SFrancesco Dolcini }; 112*c9065820SFrancesco Dolcini 113316b8024SFrancesco Dolcini /* IO Expander */ 114316b8024SFrancesco Dolcini gpio_expander_21: gpio@21 { 115316b8024SFrancesco Dolcini compatible = "nxp,pcal6416"; 116316b8024SFrancesco Dolcini reg = <0x21>; 117316b8024SFrancesco Dolcini #gpio-cells = <2>; 118316b8024SFrancesco Dolcini gpio-controller; 119316b8024SFrancesco Dolcini }; 120316b8024SFrancesco Dolcini 121316b8024SFrancesco Dolcini /* Current measurement into module VCC */ 122316b8024SFrancesco Dolcini hwmon@40 { 123316b8024SFrancesco Dolcini compatible = "ti,ina219"; 124316b8024SFrancesco Dolcini reg = <0x40>; 125316b8024SFrancesco Dolcini shunt-resistor = <10000>; 126316b8024SFrancesco Dolcini }; 127316b8024SFrancesco Dolcini 128316b8024SFrancesco Dolcini /* Temperature sensor */ 129316b8024SFrancesco Dolcini sensor@4f { 130316b8024SFrancesco Dolcini compatible = "ti,tmp75c"; 131316b8024SFrancesco Dolcini reg = <0x4f>; 132316b8024SFrancesco Dolcini }; 133316b8024SFrancesco Dolcini 134316b8024SFrancesco Dolcini /* EEPROM */ 135316b8024SFrancesco Dolcini eeprom@57 { 136316b8024SFrancesco Dolcini compatible = "st,24c02", "atmel,24c02"; 137316b8024SFrancesco Dolcini reg = <0x57>; 138316b8024SFrancesco Dolcini pagesize = <16>; 139316b8024SFrancesco Dolcini }; 140316b8024SFrancesco Dolcini}; 141316b8024SFrancesco Dolcini 142316b8024SFrancesco Dolcini/* Verdin I2C_2_DSI */ 143316b8024SFrancesco Dolcini&main_i2c2 { 144316b8024SFrancesco Dolcini status = "okay"; 145316b8024SFrancesco Dolcini}; 146316b8024SFrancesco Dolcini 147316b8024SFrancesco Dolcini/* Verdin I2C_4_CSI */ 148316b8024SFrancesco Dolcini&main_i2c3 { 149316b8024SFrancesco Dolcini status = "okay"; 150316b8024SFrancesco Dolcini}; 151316b8024SFrancesco Dolcini 152316b8024SFrancesco Dolcini/* Verdin CAN_1 */ 153316b8024SFrancesco Dolcini&main_mcan0 { 154316b8024SFrancesco Dolcini status = "okay"; 155316b8024SFrancesco Dolcini}; 156316b8024SFrancesco Dolcini 157316b8024SFrancesco Dolcini/* Verdin SPI_1 */ 158316b8024SFrancesco Dolcini&main_spi1 { 159316b8024SFrancesco Dolcini status = "okay"; 160316b8024SFrancesco Dolcini}; 161316b8024SFrancesco Dolcini 162316b8024SFrancesco Dolcini/* Verdin UART_3 */ 163316b8024SFrancesco Dolcini&main_uart0 { 164316b8024SFrancesco Dolcini status = "okay"; 165316b8024SFrancesco Dolcini}; 166316b8024SFrancesco Dolcini 167316b8024SFrancesco Dolcini/* Verdin UART_1, connector X50 through RS485 transceiver. */ 168316b8024SFrancesco Dolcini&main_uart1 { 169316b8024SFrancesco Dolcini linux,rs485-enabled-at-boot-time; 170316b8024SFrancesco Dolcini rs485-rx-during-tx; 171316b8024SFrancesco Dolcini status = "okay"; 172316b8024SFrancesco Dolcini}; 173316b8024SFrancesco Dolcini 174316b8024SFrancesco Dolcini/* Verdin I2S_1 */ 175316b8024SFrancesco Dolcini&mcasp0 { 176316b8024SFrancesco Dolcini status = "okay"; 177316b8024SFrancesco Dolcini}; 178316b8024SFrancesco Dolcini 179316b8024SFrancesco Dolcini&mcu_gpio0 { 180316b8024SFrancesco Dolcini pinctrl-names = "default"; 181316b8024SFrancesco Dolcini pinctrl-0 = <&pinctrl_gpio_1>, 182316b8024SFrancesco Dolcini <&pinctrl_gpio_2>, 183316b8024SFrancesco Dolcini <&pinctrl_gpio_3>, 184316b8024SFrancesco Dolcini <&pinctrl_gpio_4>; 185316b8024SFrancesco Dolcini}; 186316b8024SFrancesco Dolcini 187316b8024SFrancesco Dolcini/* Verdin I2C_3_HDMI */ 188316b8024SFrancesco Dolcini&mcu_i2c0 { 189316b8024SFrancesco Dolcini status = "okay"; 190316b8024SFrancesco Dolcini}; 191316b8024SFrancesco Dolcini 1927480cea3SHiago De Franco/* Verdin CAN_2 */ 1937480cea3SHiago De Franco&mcu_mcan0 { 1947480cea3SHiago De Franco status = "okay"; 1957480cea3SHiago De Franco}; 1967480cea3SHiago De Franco 197316b8024SFrancesco Dolcini/* Verdin UART_4 */ 198316b8024SFrancesco Dolcini&mcu_uart0 { 199316b8024SFrancesco Dolcini status = "okay"; 200316b8024SFrancesco Dolcini}; 201316b8024SFrancesco Dolcini 202316b8024SFrancesco Dolcini/* Verdin QSPI_1 */ 203316b8024SFrancesco Dolcini&ospi0 { 204316b8024SFrancesco Dolcini status = "okay"; 205316b8024SFrancesco Dolcini}; 206316b8024SFrancesco Dolcini 207316b8024SFrancesco Dolcini/* Verdin SD_1 */ 208316b8024SFrancesco Dolcini&sdhci1 { 209316b8024SFrancesco Dolcini ti,driver-strength-ohm = <33>; 210316b8024SFrancesco Dolcini status = "okay"; 211316b8024SFrancesco Dolcini}; 212316b8024SFrancesco Dolcini 213316b8024SFrancesco Dolcini/* Verdin USB_1 */ 214316b8024SFrancesco Dolcini&usbss0 { 215316b8024SFrancesco Dolcini status = "okay"; 216316b8024SFrancesco Dolcini}; 217316b8024SFrancesco Dolcini 218316b8024SFrancesco Dolcini&usb0 { 219316b8024SFrancesco Dolcini status = "okay"; 220316b8024SFrancesco Dolcini}; 221316b8024SFrancesco Dolcini 222316b8024SFrancesco Dolcini/* Verdin USB_2 */ 223316b8024SFrancesco Dolcini&usbss1 { 224316b8024SFrancesco Dolcini status = "okay"; 225316b8024SFrancesco Dolcini}; 226316b8024SFrancesco Dolcini 227316b8024SFrancesco Dolcini&usb1 { 228316b8024SFrancesco Dolcini status = "okay"; 229316b8024SFrancesco Dolcini}; 230316b8024SFrancesco Dolcini 231316b8024SFrancesco Dolcini/* Verdin CTRL_WAKE1_MICO# */ 232316b8024SFrancesco Dolcini&verdin_gpio_keys { 233316b8024SFrancesco Dolcini status = "okay"; 234316b8024SFrancesco Dolcini}; 235316b8024SFrancesco Dolcini 236316b8024SFrancesco Dolcini/* Verdin UART_2 */ 237316b8024SFrancesco Dolcini&wkup_uart0 { 238316b8024SFrancesco Dolcini /* FIXME: WKUP UART0 is used by DM firmware */ 239316b8024SFrancesco Dolcini status = "reserved"; 240316b8024SFrancesco Dolcini}; 241