1c9ccf3a3SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2c9ccf3a3SEmmanuel Vadot/* 3c9ccf3a3SEmmanuel Vadot * Copyright 2022 Toradex 4c9ccf3a3SEmmanuel Vadot */ 5c9ccf3a3SEmmanuel Vadot 6c9ccf3a3SEmmanuel Vadot/ { 7c9ccf3a3SEmmanuel Vadot sound_card: sound-card { 8c9ccf3a3SEmmanuel Vadot compatible = "simple-audio-card"; 9c9ccf3a3SEmmanuel Vadot simple-audio-card,bitclock-master = <&dailink_master>; 10c9ccf3a3SEmmanuel Vadot simple-audio-card,format = "i2s"; 11c9ccf3a3SEmmanuel Vadot simple-audio-card,frame-master = <&dailink_master>; 128bab661aSEmmanuel Vadot simple-audio-card,mclk-fs = <256>; 13*7d0873ebSEmmanuel Vadot simple-audio-card,name = "verdin-nau8822"; 14c9ccf3a3SEmmanuel Vadot simple-audio-card,routing = 15c9ccf3a3SEmmanuel Vadot "Headphones", "LHP", 16c9ccf3a3SEmmanuel Vadot "Headphones", "RHP", 17c9ccf3a3SEmmanuel Vadot "Speaker", "LSPK", 18c9ccf3a3SEmmanuel Vadot "Speaker", "RSPK", 19c9ccf3a3SEmmanuel Vadot "Line Out", "AUXOUT1", 20c9ccf3a3SEmmanuel Vadot "Line Out", "AUXOUT2", 21c9ccf3a3SEmmanuel Vadot "LAUX", "Line In", 22c9ccf3a3SEmmanuel Vadot "RAUX", "Line In", 23c9ccf3a3SEmmanuel Vadot "LMICP", "Mic In", 24c9ccf3a3SEmmanuel Vadot "RMICP", "Mic In"; 25c9ccf3a3SEmmanuel Vadot simple-audio-card,widgets = 26c9ccf3a3SEmmanuel Vadot "Headphones", "Headphones", 27c9ccf3a3SEmmanuel Vadot "Line Out", "Line Out", 28c9ccf3a3SEmmanuel Vadot "Speaker", "Speaker", 29c9ccf3a3SEmmanuel Vadot "Microphone", "Mic In", 30c9ccf3a3SEmmanuel Vadot "Line", "Line In"; 31c9ccf3a3SEmmanuel Vadot 32c9ccf3a3SEmmanuel Vadot dailink_master: simple-audio-card,codec { 33c9ccf3a3SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_SAI2_ROOT>; 34c9ccf3a3SEmmanuel Vadot sound-dai = <&nau8822_1a>; 35c9ccf3a3SEmmanuel Vadot }; 36c9ccf3a3SEmmanuel Vadot 37c9ccf3a3SEmmanuel Vadot simple-audio-card,cpu { 38c9ccf3a3SEmmanuel Vadot sound-dai = <&sai2>; 39c9ccf3a3SEmmanuel Vadot }; 40c9ccf3a3SEmmanuel Vadot }; 41c9ccf3a3SEmmanuel Vadot}; 42c9ccf3a3SEmmanuel Vadot 43cb7aa33aSEmmanuel Vadot/* Verdin SPI_1 */ 44cb7aa33aSEmmanuel Vadot&ecspi2 { 45cb7aa33aSEmmanuel Vadot status = "okay"; 46cb7aa33aSEmmanuel Vadot}; 47cb7aa33aSEmmanuel Vadot 48cb7aa33aSEmmanuel Vadot/* EEPROM on display adapter boards */ 49cb7aa33aSEmmanuel Vadot&eeprom_display_adapter { 50cb7aa33aSEmmanuel Vadot status = "okay"; 51cb7aa33aSEmmanuel Vadot}; 52cb7aa33aSEmmanuel Vadot 53cb7aa33aSEmmanuel Vadot/* EEPROM on Verdin Development board */ 54cb7aa33aSEmmanuel Vadot&eeprom_carrier_board { 55cb7aa33aSEmmanuel Vadot status = "okay"; 56cb7aa33aSEmmanuel Vadot}; 57cb7aa33aSEmmanuel Vadot 58cb7aa33aSEmmanuel Vadot&fec1 { 59cb7aa33aSEmmanuel Vadot status = "okay"; 60cb7aa33aSEmmanuel Vadot}; 61cb7aa33aSEmmanuel Vadot 62cb7aa33aSEmmanuel Vadot/* Verdin QSPI_1 */ 63cb7aa33aSEmmanuel Vadot&flexspi { 64cb7aa33aSEmmanuel Vadot status = "okay"; 65cb7aa33aSEmmanuel Vadot}; 66cb7aa33aSEmmanuel Vadot 67cb7aa33aSEmmanuel Vadot/* Current measurement into module VCC */ 68cb7aa33aSEmmanuel Vadot&hwmon { 69cb7aa33aSEmmanuel Vadot status = "okay"; 70cb7aa33aSEmmanuel Vadot}; 71cb7aa33aSEmmanuel Vadot 72cb7aa33aSEmmanuel Vadot&hwmon_temp { 73cb7aa33aSEmmanuel Vadot vs-supply = <®_1p8v>; 74cb7aa33aSEmmanuel Vadot status = "okay"; 75cb7aa33aSEmmanuel Vadot}; 76cb7aa33aSEmmanuel Vadot 77cb7aa33aSEmmanuel Vadot&i2c3 { 78cb7aa33aSEmmanuel Vadot status = "okay"; 79cb7aa33aSEmmanuel Vadot}; 80cb7aa33aSEmmanuel Vadot 81*7d0873ebSEmmanuel Vadot&gpio5 { 82*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 83*7d0873ebSEmmanuel Vadot pinctrl-0 = <&pinctrl_ctrl_sleep_moci>; 84*7d0873ebSEmmanuel Vadot}; 85*7d0873ebSEmmanuel Vadot 86c9ccf3a3SEmmanuel Vadot&gpio_expander_21 { 87c9ccf3a3SEmmanuel Vadot status = "okay"; 88c9ccf3a3SEmmanuel Vadot}; 89c9ccf3a3SEmmanuel Vadot 90c9ccf3a3SEmmanuel Vadot/* Verdin I2C_1 */ 91c9ccf3a3SEmmanuel Vadot&i2c4 { 92cb7aa33aSEmmanuel Vadot status = "okay"; 93cb7aa33aSEmmanuel Vadot 94c9ccf3a3SEmmanuel Vadot /* Audio Codec */ 95c9ccf3a3SEmmanuel Vadot nau8822_1a: audio-codec@1a { 96c9ccf3a3SEmmanuel Vadot compatible = "nuvoton,nau8822"; 97c9ccf3a3SEmmanuel Vadot reg = <0x1a>; 98cb7aa33aSEmmanuel Vadot #sound-dai-cells = <0>; 99c9ccf3a3SEmmanuel Vadot }; 100c9ccf3a3SEmmanuel Vadot}; 101c9ccf3a3SEmmanuel Vadot 102cb7aa33aSEmmanuel Vadot/* Verdin PCIE_1 */ 103cb7aa33aSEmmanuel Vadot&pcie0 { 104cb7aa33aSEmmanuel Vadot status = "okay"; 105cb7aa33aSEmmanuel Vadot}; 106cb7aa33aSEmmanuel Vadot 107cb7aa33aSEmmanuel Vadot&pcie_phy { 108cb7aa33aSEmmanuel Vadot status = "okay"; 109cb7aa33aSEmmanuel Vadot}; 110cb7aa33aSEmmanuel Vadot 111cb7aa33aSEmmanuel Vadot/* Verdin PWM_3_DSI */ 112cb7aa33aSEmmanuel Vadot&pwm1 { 113cb7aa33aSEmmanuel Vadot status = "okay"; 114cb7aa33aSEmmanuel Vadot}; 115cb7aa33aSEmmanuel Vadot 116cb7aa33aSEmmanuel Vadot/* Verdin PWM_1 */ 117cb7aa33aSEmmanuel Vadot&pwm2 { 118cb7aa33aSEmmanuel Vadot status = "okay"; 119cb7aa33aSEmmanuel Vadot}; 120cb7aa33aSEmmanuel Vadot 121cb7aa33aSEmmanuel Vadot/* Verdin PWM_2 */ 122cb7aa33aSEmmanuel Vadot&pwm3 { 123cb7aa33aSEmmanuel Vadot status = "okay"; 124cb7aa33aSEmmanuel Vadot}; 125cb7aa33aSEmmanuel Vadot 126cb7aa33aSEmmanuel Vadot/* Verdin I2S_1 */ 127cb7aa33aSEmmanuel Vadot&sai2 { 128cb7aa33aSEmmanuel Vadot status = "okay"; 129cb7aa33aSEmmanuel Vadot}; 130cb7aa33aSEmmanuel Vadot 131cb7aa33aSEmmanuel Vadot/* Verdin UART_3 */ 132cb7aa33aSEmmanuel Vadot&uart1 { 133cb7aa33aSEmmanuel Vadot status = "okay"; 134cb7aa33aSEmmanuel Vadot}; 135cb7aa33aSEmmanuel Vadot 136c9ccf3a3SEmmanuel Vadot/* Verdin UART_1, connector X50 through RS485 transceiver */ 137c9ccf3a3SEmmanuel Vadot&uart2 { 138c9ccf3a3SEmmanuel Vadot linux,rs485-enabled-at-boot-time; 139c9ccf3a3SEmmanuel Vadot rs485-rts-active-low; 140c9ccf3a3SEmmanuel Vadot rs485-rx-during-tx; 141cb7aa33aSEmmanuel Vadot status = "okay"; 142cb7aa33aSEmmanuel Vadot}; 143cb7aa33aSEmmanuel Vadot 144cb7aa33aSEmmanuel Vadot/* Verdin UART_2 */ 145cb7aa33aSEmmanuel Vadot&uart3 { 146cb7aa33aSEmmanuel Vadot status = "okay"; 147cb7aa33aSEmmanuel Vadot}; 148cb7aa33aSEmmanuel Vadot 149cb7aa33aSEmmanuel Vadot/* Verdin USB_1 */ 150cb7aa33aSEmmanuel Vadot&usbotg1 { 151cb7aa33aSEmmanuel Vadot disable-over-current; 152cb7aa33aSEmmanuel Vadot status = "okay"; 153cb7aa33aSEmmanuel Vadot}; 154cb7aa33aSEmmanuel Vadot 155cb7aa33aSEmmanuel Vadot/* Verdin USB_2 */ 156cb7aa33aSEmmanuel Vadot&usbotg2 { 157cb7aa33aSEmmanuel Vadot disable-over-current; 158cb7aa33aSEmmanuel Vadot status = "okay"; 159c9ccf3a3SEmmanuel Vadot}; 160c9ccf3a3SEmmanuel Vadot 161c9ccf3a3SEmmanuel Vadot/* Limit frequency on dev board due to long traces and bad signal integrity */ 162c9ccf3a3SEmmanuel Vadot&usdhc2 { 163c9ccf3a3SEmmanuel Vadot max-frequency = <100000000>; 164cb7aa33aSEmmanuel Vadot status = "okay"; 165c9ccf3a3SEmmanuel Vadot}; 166