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 11c9065820SFrancesco Dolcini/ { 12c9065820SFrancesco Dolcini sound { 13c9065820SFrancesco Dolcini compatible = "simple-audio-card"; 14c9065820SFrancesco Dolcini simple-audio-card,bitclock-master = <&codec_dai>; 15c9065820SFrancesco Dolcini simple-audio-card,format = "i2s"; 16c9065820SFrancesco Dolcini simple-audio-card,frame-master = <&codec_dai>; 17*feebfe95SAndrejs Cainikovs simple-audio-card,mclk-fs = <256>; 18c9065820SFrancesco Dolcini simple-audio-card,name = "verdin-nau8822"; 19c9065820SFrancesco Dolcini simple-audio-card,routing = 20c9065820SFrancesco Dolcini "Headphones", "LHP", 21c9065820SFrancesco Dolcini "Headphones", "RHP", 22c9065820SFrancesco Dolcini "Speaker", "LSPK", 23c9065820SFrancesco Dolcini "Speaker", "RSPK", 24c9065820SFrancesco Dolcini "Line Out", "AUXOUT1", 25c9065820SFrancesco Dolcini "Line Out", "AUXOUT2", 26c9065820SFrancesco Dolcini "LAUX", "Line In", 27c9065820SFrancesco Dolcini "RAUX", "Line In", 28c9065820SFrancesco Dolcini "LMICP", "Mic In", 29c9065820SFrancesco Dolcini "RMICP", "Mic In"; 30c9065820SFrancesco Dolcini simple-audio-card,widgets = 31c9065820SFrancesco Dolcini "Headphones", "Headphones", 32c9065820SFrancesco Dolcini "Line Out", "Line Out", 33c9065820SFrancesco Dolcini "Speaker", "Speaker", 34c9065820SFrancesco Dolcini "Microphone", "Mic In", 35c9065820SFrancesco Dolcini "Line", "Line In"; 36c9065820SFrancesco Dolcini 37c9065820SFrancesco Dolcini codec_dai: simple-audio-card,codec { 38c9065820SFrancesco Dolcini sound-dai = <&nau8822_1a>; 39c9065820SFrancesco Dolcini }; 40c9065820SFrancesco Dolcini 41c9065820SFrancesco Dolcini simple-audio-card,cpu { 42c9065820SFrancesco Dolcini sound-dai = <&mcasp0>; 43c9065820SFrancesco Dolcini }; 44c9065820SFrancesco Dolcini }; 45c9065820SFrancesco Dolcini}; 46c9065820SFrancesco 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 104c9065820SFrancesco Dolcini /* Audio Codec */ 105c9065820SFrancesco Dolcini nau8822_1a: audio-codec@1a { 106c9065820SFrancesco Dolcini compatible = "nuvoton,nau8822"; 107c9065820SFrancesco Dolcini reg = <0x1a>; 108c9065820SFrancesco Dolcini pinctrl-names = "default"; 109c9065820SFrancesco Dolcini pinctrl-0 = <&pinctrl_i2s1_mclk>; 110*feebfe95SAndrejs Cainikovs clock-names = "mclk"; 111*feebfe95SAndrejs Cainikovs clocks = <&audio_refclk1>; 112c9065820SFrancesco Dolcini #sound-dai-cells = <0>; 113c9065820SFrancesco Dolcini }; 114c9065820SFrancesco Dolcini 115316b8024SFrancesco Dolcini /* IO Expander */ 116316b8024SFrancesco Dolcini gpio_expander_21: gpio@21 { 117316b8024SFrancesco Dolcini compatible = "nxp,pcal6416"; 118316b8024SFrancesco Dolcini reg = <0x21>; 119316b8024SFrancesco Dolcini #gpio-cells = <2>; 120316b8024SFrancesco Dolcini gpio-controller; 121316b8024SFrancesco Dolcini }; 122316b8024SFrancesco Dolcini 123316b8024SFrancesco Dolcini /* Current measurement into module VCC */ 124316b8024SFrancesco Dolcini hwmon@40 { 125316b8024SFrancesco Dolcini compatible = "ti,ina219"; 126316b8024SFrancesco Dolcini reg = <0x40>; 127316b8024SFrancesco Dolcini shunt-resistor = <10000>; 128316b8024SFrancesco Dolcini }; 129316b8024SFrancesco Dolcini 130316b8024SFrancesco Dolcini /* Temperature sensor */ 131316b8024SFrancesco Dolcini sensor@4f { 132316b8024SFrancesco Dolcini compatible = "ti,tmp75c"; 133316b8024SFrancesco Dolcini reg = <0x4f>; 134316b8024SFrancesco Dolcini }; 135316b8024SFrancesco Dolcini 136316b8024SFrancesco Dolcini /* EEPROM */ 137316b8024SFrancesco Dolcini eeprom@57 { 138316b8024SFrancesco Dolcini compatible = "st,24c02", "atmel,24c02"; 139316b8024SFrancesco Dolcini reg = <0x57>; 140316b8024SFrancesco Dolcini pagesize = <16>; 141316b8024SFrancesco Dolcini }; 142316b8024SFrancesco Dolcini}; 143316b8024SFrancesco Dolcini 144316b8024SFrancesco Dolcini/* Verdin I2C_2_DSI */ 145316b8024SFrancesco Dolcini&main_i2c2 { 146316b8024SFrancesco Dolcini status = "okay"; 147316b8024SFrancesco Dolcini}; 148316b8024SFrancesco Dolcini 149316b8024SFrancesco Dolcini/* Verdin I2C_4_CSI */ 150316b8024SFrancesco Dolcini&main_i2c3 { 151316b8024SFrancesco Dolcini status = "okay"; 152316b8024SFrancesco Dolcini}; 153316b8024SFrancesco Dolcini 154316b8024SFrancesco Dolcini/* Verdin CAN_1 */ 155316b8024SFrancesco Dolcini&main_mcan0 { 156316b8024SFrancesco Dolcini status = "okay"; 157316b8024SFrancesco Dolcini}; 158316b8024SFrancesco Dolcini 159316b8024SFrancesco Dolcini/* Verdin SPI_1 */ 160316b8024SFrancesco Dolcini&main_spi1 { 161316b8024SFrancesco Dolcini status = "okay"; 162316b8024SFrancesco Dolcini}; 163316b8024SFrancesco Dolcini 164316b8024SFrancesco Dolcini/* Verdin UART_3 */ 165316b8024SFrancesco Dolcini&main_uart0 { 166316b8024SFrancesco Dolcini status = "okay"; 167316b8024SFrancesco Dolcini}; 168316b8024SFrancesco Dolcini 169316b8024SFrancesco Dolcini/* Verdin UART_1, connector X50 through RS485 transceiver. */ 170316b8024SFrancesco Dolcini&main_uart1 { 171316b8024SFrancesco Dolcini linux,rs485-enabled-at-boot-time; 172316b8024SFrancesco Dolcini rs485-rx-during-tx; 173316b8024SFrancesco Dolcini status = "okay"; 174316b8024SFrancesco Dolcini}; 175316b8024SFrancesco Dolcini 176316b8024SFrancesco Dolcini/* Verdin I2S_1 */ 177316b8024SFrancesco Dolcini&mcasp0 { 178316b8024SFrancesco Dolcini status = "okay"; 179316b8024SFrancesco Dolcini}; 180316b8024SFrancesco Dolcini 181316b8024SFrancesco Dolcini&mcu_gpio0 { 182316b8024SFrancesco Dolcini pinctrl-names = "default"; 183316b8024SFrancesco Dolcini pinctrl-0 = <&pinctrl_gpio_1>, 184316b8024SFrancesco Dolcini <&pinctrl_gpio_2>, 185316b8024SFrancesco Dolcini <&pinctrl_gpio_3>, 18669ef7d9cSFrancesco Dolcini <&pinctrl_gpio_4>, 18769ef7d9cSFrancesco Dolcini <&pinctrl_pcie_1_reset>; 188316b8024SFrancesco Dolcini}; 189316b8024SFrancesco Dolcini 190316b8024SFrancesco Dolcini/* Verdin I2C_3_HDMI */ 191316b8024SFrancesco Dolcini&mcu_i2c0 { 192316b8024SFrancesco Dolcini status = "okay"; 193316b8024SFrancesco Dolcini}; 194316b8024SFrancesco Dolcini 1957480cea3SHiago De Franco/* Verdin CAN_2 */ 1967480cea3SHiago De Franco&mcu_mcan0 { 1977480cea3SHiago De Franco status = "okay"; 1987480cea3SHiago De Franco}; 1997480cea3SHiago De Franco 200316b8024SFrancesco Dolcini/* Verdin UART_4 */ 201316b8024SFrancesco Dolcini&mcu_uart0 { 202316b8024SFrancesco Dolcini status = "okay"; 203316b8024SFrancesco Dolcini}; 204316b8024SFrancesco Dolcini 205316b8024SFrancesco Dolcini/* Verdin QSPI_1 */ 206316b8024SFrancesco Dolcini&ospi0 { 207316b8024SFrancesco Dolcini status = "okay"; 208316b8024SFrancesco Dolcini}; 209316b8024SFrancesco Dolcini 210316b8024SFrancesco Dolcini/* Verdin SD_1 */ 211316b8024SFrancesco Dolcini&sdhci1 { 212316b8024SFrancesco Dolcini status = "okay"; 213316b8024SFrancesco Dolcini}; 214316b8024SFrancesco Dolcini 215316b8024SFrancesco Dolcini/* Verdin USB_1 */ 216316b8024SFrancesco Dolcini&usbss0 { 217316b8024SFrancesco Dolcini status = "okay"; 218316b8024SFrancesco Dolcini}; 219316b8024SFrancesco Dolcini 220316b8024SFrancesco Dolcini&usb0 { 221316b8024SFrancesco Dolcini status = "okay"; 222316b8024SFrancesco Dolcini}; 223316b8024SFrancesco Dolcini 224316b8024SFrancesco Dolcini/* Verdin USB_2 */ 225316b8024SFrancesco Dolcini&usbss1 { 226316b8024SFrancesco Dolcini status = "okay"; 227316b8024SFrancesco Dolcini}; 228316b8024SFrancesco Dolcini 229316b8024SFrancesco Dolcini&usb1 { 230316b8024SFrancesco Dolcini status = "okay"; 231316b8024SFrancesco Dolcini}; 232316b8024SFrancesco Dolcini 233316b8024SFrancesco Dolcini/* Verdin CTRL_WAKE1_MICO# */ 234316b8024SFrancesco Dolcini&verdin_gpio_keys { 235316b8024SFrancesco Dolcini status = "okay"; 236316b8024SFrancesco Dolcini}; 237316b8024SFrancesco Dolcini 23869ef7d9cSFrancesco Dolcini/* Verdin PCIE_1_RESET# */ 23969ef7d9cSFrancesco Dolcini&verdin_pcie_1_reset_hog { 24069ef7d9cSFrancesco Dolcini status = "okay"; 24169ef7d9cSFrancesco Dolcini}; 24269ef7d9cSFrancesco Dolcini 243316b8024SFrancesco Dolcini/* Verdin UART_2 */ 244316b8024SFrancesco Dolcini&wkup_uart0 { 24526e01246SParth Pancholi status = "okay"; 246316b8024SFrancesco Dolcini}; 247