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