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 native-hdmi-connector { << 8 compatible = "hdmi-connector"; << 9 label = "X21"; << 10 type = "a"; << 11 << 12 port { << 13 native_hdmi_connector_ << 14 remote-endpoin << 15 }; << 16 }; << 17 }; << 18 << 19 sound { 7 sound { 20 compatible = "simple-audio-car 8 compatible = "simple-audio-card"; 21 simple-audio-card,bitclock-mas 9 simple-audio-card,bitclock-master = <&codec_dai>; 22 simple-audio-card,format = "i2 10 simple-audio-card,format = "i2s"; 23 simple-audio-card,frame-master 11 simple-audio-card,frame-master = <&codec_dai>; 24 simple-audio-card,mclk-fs = <2 12 simple-audio-card,mclk-fs = <256>; 25 simple-audio-card,name = "verd 13 simple-audio-card,name = "verdin-wm8904"; 26 simple-audio-card,routing = 14 simple-audio-card,routing = 27 "Headphone Jack", "HPO 15 "Headphone Jack", "HPOUTL", 28 "Headphone Jack", "HPO 16 "Headphone Jack", "HPOUTR", 29 "IN2L", "Line In Jack" 17 "IN2L", "Line In Jack", 30 "IN2R", "Line In Jack" 18 "IN2R", "Line In Jack", 31 "Headphone Jack", "MIC 19 "Headphone Jack", "MICBIAS", 32 "IN1L", "Headphone Jac 20 "IN1L", "Headphone Jack"; 33 simple-audio-card,widgets = 21 simple-audio-card,widgets = 34 "Microphone", "Headpho 22 "Microphone", "Headphone Jack", 35 "Headphone", "Headphon 23 "Headphone", "Headphone Jack", 36 "Line", "Line In Jack" 24 "Line", "Line In Jack"; 37 25 38 codec_dai: simple-audio-card,c 26 codec_dai: simple-audio-card,codec { 39 clocks = <&audio_blk_c 27 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>; 40 sound-dai = <&wm8904_1 28 sound-dai = <&wm8904_1a>; 41 }; 29 }; 42 30 43 simple-audio-card,cpu { 31 simple-audio-card,cpu { 44 sound-dai = <&sai1>; 32 sound-dai = <&sai1>; 45 }; 33 }; 46 }; 34 }; 47 35 48 reg_usb_hub: regulator-usb-hub { 36 reg_usb_hub: regulator-usb-hub { 49 compatible = "regulator-fixed" 37 compatible = "regulator-fixed"; 50 enable-active-high; 38 enable-active-high; 51 /* Verdin CTRL_SLEEP_MOCI# (SO 39 /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */ 52 gpio = <&gpio4 29 GPIO_ACTIVE_ 40 gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>; 53 regulator-boot-on; 41 regulator-boot-on; 54 regulator-name = "HUB_PWR_EN"; 42 regulator-name = "HUB_PWR_EN"; 55 }; 43 }; 56 44 57 reg_pcie: regulator-pcie { 45 reg_pcie: regulator-pcie { 58 compatible = "regulator-fixed" 46 compatible = "regulator-fixed"; 59 enable-active-high; 47 enable-active-high; 60 /* Verdin CTRL_SLEEP_MOCI# (SO 48 /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */ 61 gpio = <&gpio4 29 GPIO_ACTIVE_ 49 gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>; 62 regulator-boot-on; 50 regulator-boot-on; 63 regulator-name = "PCIE_1_PWR_E 51 regulator-name = "PCIE_1_PWR_EN"; 64 startup-delay-us = <100000>; 52 startup-delay-us = <100000>; 65 }; 53 }; 66 }; 54 }; 67 55 68 /* Verdin HDMI_1 Audio */ << 69 &aud2htx { << 70 status = "okay"; << 71 }; << 72 << 73 &backlight { 56 &backlight { 74 power-supply = <®_3p3v>; 57 power-supply = <®_3p3v>; 75 }; 58 }; 76 59 77 /* Verdin SPI_1 */ 60 /* Verdin SPI_1 */ 78 &ecspi1 { 61 &ecspi1 { 79 status = "okay"; 62 status = "okay"; 80 }; 63 }; 81 64 82 /* EEPROM on display adapter boards */ 65 /* EEPROM on display adapter boards */ 83 &eeprom_display_adapter { 66 &eeprom_display_adapter { 84 status = "okay"; 67 status = "okay"; 85 }; 68 }; 86 69 87 /* EEPROM on Verdin Development board */ 70 /* EEPROM on Verdin Development board */ 88 &eeprom_carrier_board { 71 &eeprom_carrier_board { 89 status = "okay"; 72 status = "okay"; 90 }; 73 }; 91 74 92 &eqos { 75 &eqos { 93 status = "okay"; 76 status = "okay"; 94 }; 77 }; 95 78 96 &flexcan1 { 79 &flexcan1 { 97 status = "okay"; 80 status = "okay"; 98 }; 81 }; 99 82 100 &flexcan2 { 83 &flexcan2 { 101 status = "okay"; 84 status = "okay"; 102 }; 85 }; 103 86 104 /* Verdin QSPI_1 */ 87 /* Verdin QSPI_1 */ 105 &flexspi { 88 &flexspi { 106 status = "okay"; 89 status = "okay"; 107 }; 90 }; 108 91 109 &gpio4 { 92 &gpio4 { 110 pinctrl-names = "default"; 93 pinctrl-names = "default"; 111 pinctrl-0 = <&pinctrl_ctrl_sleep_moci> 94 pinctrl-0 = <&pinctrl_ctrl_sleep_moci>; 112 }; 95 }; 113 96 114 /* Verdin HDMI_1 */ << 115 &hdmi_pvi { << 116 status = "okay"; << 117 }; << 118 << 119 &hdmi_tx { << 120 status = "okay"; << 121 << 122 ports { << 123 port@1 { << 124 hdmi_tx_out: endpoint << 125 remote-endpoin << 126 }; << 127 }; << 128 }; << 129 }; << 130 << 131 &hdmi_tx_phy { << 132 status = "okay"; << 133 }; << 134 << 135 /* Current measurement into module VCC */ 97 /* Current measurement into module VCC */ 136 &hwmon { 98 &hwmon { 137 status = "okay"; 99 status = "okay"; 138 }; 100 }; 139 101 140 &hwmon_temp { 102 &hwmon_temp { 141 vs-supply = <®_1p8v>; 103 vs-supply = <®_1p8v>; 142 status = "okay"; 104 status = "okay"; 143 }; 105 }; 144 106 145 /* Verdin I2C_2_DSI */ 107 /* Verdin I2C_2_DSI */ 146 &i2c2 { 108 &i2c2 { 147 status = "okay"; 109 status = "okay"; 148 }; 110 }; 149 111 150 &i2c3 { 112 &i2c3 { 151 status = "okay"; 113 status = "okay"; 152 }; 114 }; 153 115 154 /* Verdin I2C_1 */ 116 /* Verdin I2C_1 */ 155 &i2c4 { 117 &i2c4 { 156 status = "okay"; 118 status = "okay"; 157 119 158 /* Audio Codec */ 120 /* Audio Codec */ 159 wm8904_1a: audio-codec@1a { 121 wm8904_1a: audio-codec@1a { 160 compatible = "wlf,wm8904"; 122 compatible = "wlf,wm8904"; 161 reg = <0x1a>; 123 reg = <0x1a>; 162 pinctrl-names = "default"; 124 pinctrl-names = "default"; 163 pinctrl-0 = <&pinctrl_sai1>; 125 pinctrl-0 = <&pinctrl_sai1>; 164 #sound-dai-cells = <0>; 126 #sound-dai-cells = <0>; 165 clocks = <&audio_blk_ctrl IMX8 127 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>; 166 clock-names = "mclk"; 128 clock-names = "mclk"; 167 AVDD-supply = <®_1p8v>; 129 AVDD-supply = <®_1p8v>; 168 CPVDD-supply = <®_1p8v>; 130 CPVDD-supply = <®_1p8v>; 169 DBVDD-supply = <®_1p8v>; 131 DBVDD-supply = <®_1p8v>; 170 DCVDD-supply = <®_1p8v>; 132 DCVDD-supply = <®_1p8v>; 171 MICVDD-supply = <®_1p8v>; 133 MICVDD-supply = <®_1p8v>; 172 }; 134 }; 173 }; 135 }; 174 136 175 /* Verdin I2C_3_HDMI */ 137 /* Verdin I2C_3_HDMI */ 176 &i2c5 { 138 &i2c5 { 177 status = "okay"; 139 status = "okay"; 178 }; 140 }; 179 141 180 &lcdif3 { << 181 status = "okay"; << 182 }; << 183 << 184 /* Verdin PCIE_1 */ 142 /* Verdin PCIE_1 */ 185 &pcie { 143 &pcie { 186 vpcie-supply = <®_pcie>; 144 vpcie-supply = <®_pcie>; 187 status = "okay"; 145 status = "okay"; 188 }; 146 }; 189 147 190 &pcie_phy { 148 &pcie_phy { 191 status = "okay"; 149 status = "okay"; 192 }; 150 }; 193 151 194 /* Verdin PWM_1 */ 152 /* Verdin PWM_1 */ 195 &pwm1 { 153 &pwm1 { 196 status = "okay"; 154 status = "okay"; 197 }; 155 }; 198 156 199 /* Verdin PWM_2 */ 157 /* Verdin PWM_2 */ 200 &pwm2 { 158 &pwm2 { 201 status = "okay"; 159 status = "okay"; 202 }; 160 }; 203 161 204 /* Verdin PWM_3_DSI */ 162 /* Verdin PWM_3_DSI */ 205 &pwm3 { 163 &pwm3 { 206 status = "okay"; 164 status = "okay"; 207 }; 165 }; 208 166 209 ®_usdhc2_vmmc { 167 ®_usdhc2_vmmc { 210 vin-supply = <®_3p3v>; 168 vin-supply = <®_3p3v>; 211 }; 169 }; 212 170 213 /* We support turning off sleep moci on Dahlia 171 /* We support turning off sleep moci on Dahlia */ 214 ®_force_sleep_moci { 172 ®_force_sleep_moci { 215 status = "disabled"; 173 status = "disabled"; 216 }; 174 }; 217 175 218 /* Verdin I2S_1 */ 176 /* Verdin I2S_1 */ 219 &sai1 { 177 &sai1 { 220 assigned-clocks = <&clk IMX8MP_CLK_SAI 178 assigned-clocks = <&clk IMX8MP_CLK_SAI1>; 221 assigned-clock-parents = <&clk IMX8MP_ 179 assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; 222 assigned-clock-rates = <24576000>; 180 assigned-clock-rates = <24576000>; 223 fsl,sai-mclk-direction-output; 181 fsl,sai-mclk-direction-output; 224 status = "okay"; << 225 }; << 226 << 227 /* Verdin HDMI_1 Audio */ << 228 &sound_hdmi { << 229 status = "okay"; 182 status = "okay"; 230 }; 183 }; 231 184 232 /* Verdin UART_1 */ 185 /* Verdin UART_1 */ 233 &uart1 { 186 &uart1 { 234 status = "okay"; 187 status = "okay"; 235 }; 188 }; 236 189 237 /* Verdin UART_2 */ 190 /* Verdin UART_2 */ 238 &uart2 { 191 &uart2 { 239 status = "okay"; 192 status = "okay"; 240 }; 193 }; 241 194 242 /* Verdin UART_3, used as the Linux Console */ 195 /* Verdin UART_3, used as the Linux Console */ 243 &uart3 { 196 &uart3 { 244 status = "okay"; 197 status = "okay"; 245 }; 198 }; 246 199 247 /* Verdin USB_1 */ 200 /* Verdin USB_1 */ 248 &usb3_0 { 201 &usb3_0 { 249 status = "okay"; 202 status = "okay"; 250 }; 203 }; 251 204 252 &usb3_phy0 { 205 &usb3_phy0 { 253 status = "okay"; 206 status = "okay"; 254 }; 207 }; 255 208 256 /* Verdin USB_2 */ 209 /* Verdin USB_2 */ 257 &usb3_1 { 210 &usb3_1 { 258 fsl,permanently-attached; 211 fsl,permanently-attached; 259 status = "okay"; 212 status = "okay"; 260 }; 213 }; 261 214 262 &usb3_phy1 { 215 &usb3_phy1 { 263 status = "okay"; 216 status = "okay"; 264 }; 217 }; 265 218 266 &usb_dwc3_1 { 219 &usb_dwc3_1 { 267 #address-cells = <1>; 220 #address-cells = <1>; 268 #size-cells = <0>; 221 #size-cells = <0>; 269 222 270 usb_hub_3_0: usb-hub@1 { 223 usb_hub_3_0: usb-hub@1 { 271 compatible = "usb424,5744"; 224 compatible = "usb424,5744"; 272 reg = <1>; 225 reg = <1>; 273 peer-hub = <&usb_hub_2_0>; 226 peer-hub = <&usb_hub_2_0>; 274 vdd-supply = <®_usb_hub>; 227 vdd-supply = <®_usb_hub>; 275 }; 228 }; 276 229 277 usb_hub_2_0: usb-hub@2 { 230 usb_hub_2_0: usb-hub@2 { 278 compatible = "usb424,2744"; 231 compatible = "usb424,2744"; 279 reg = <2>; 232 reg = <2>; 280 peer-hub = <&usb_hub_3_0>; 233 peer-hub = <&usb_hub_3_0>; 281 vdd-supply = <®_usb_hub>; 234 vdd-supply = <®_usb_hub>; 282 }; 235 }; 283 }; 236 }; 284 237 285 /* Verdin SD_1 */ 238 /* Verdin SD_1 */ 286 &usdhc2 { 239 &usdhc2 { 287 status = "okay"; 240 status = "okay"; 288 }; 241 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.