| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT |
| /* |
| * Copyright 2022 Toradex |
| */ |
| |
| / { |
| native-hdmi-connector { |
| compatible = "hdmi-connector"; |
| label = "X21"; |
| type = "a"; |
| |
| port { |
| native_hdmi_connector_in: endpoint { |
| remote-endpoint = <&hdmi_tx_out>; |
| }; |
| }; |
| }; |
| |
| sound { |
| compatible = "simple-audio-card"; |
| simple-audio-card,bitclock-master = <&codec_dai>; |
| simple-audio-card,format = "i2s"; |
| simple-audio-card,frame-master = <&codec_dai>; |
| simple-audio-card,mclk-fs = <256>; |
| simple-audio-card,name = "verdin-wm8904"; |
| simple-audio-card,routing = |
| "Headphone Jack", "HPOUTL", |
| "Headphone Jack", "HPOUTR", |
| "IN2L", "Line In Jack", |
| "IN2R", "Line In Jack", |
| "Headphone Jack", "MICBIAS", |
| "IN1L", "Headphone Jack"; |
| simple-audio-card,widgets = |
| "Microphone", "Headphone Jack", |
| "Headphone", "Headphone Jack", |
| "Line", "Line In Jack"; |
| |
| codec_dai: simple-audio-card,codec { |
| clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>; |
| sound-dai = <&wm8904_1a>; |
| }; |
| |
| simple-audio-card,cpu { |
| sound-dai = <&sai1>; |
| }; |
| }; |
| |
| reg_usb_hub: regulator-usb-hub { |
| compatible = "regulator-fixed"; |
| enable-active-high; |
| /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */ |
| gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>; |
| regulator-boot-on; |
| regulator-name = "HUB_PWR_EN"; |
| }; |
| |
| reg_pcie: regulator-pcie { |
| compatible = "regulator-fixed"; |
| enable-active-high; |
| /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */ |
| gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>; |
| regulator-boot-on; |
| regulator-name = "PCIE_1_PWR_EN"; |
| startup-delay-us = <100000>; |
| }; |
| }; |
| |
| &backlight { |
| power-supply = <®_3p3v>; |
| }; |
| |
| /* Verdin SPI_1 */ |
| &ecspi1 { |
| status = "okay"; |
| }; |
| |
| /* EEPROM on display adapter boards */ |
| &eeprom_display_adapter { |
| status = "okay"; |
| }; |
| |
| /* EEPROM on Verdin Development board */ |
| &eeprom_carrier_board { |
| status = "okay"; |
| }; |
| |
| &eqos { |
| status = "okay"; |
| }; |
| |
| &flexcan1 { |
| status = "okay"; |
| }; |
| |
| &flexcan2 { |
| status = "okay"; |
| }; |
| |
| /* Verdin QSPI_1 */ |
| &flexspi { |
| status = "okay"; |
| }; |
| |
| &gpio4 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_ctrl_sleep_moci>; |
| }; |
| |
| /* Verdin HDMI_1 */ |
| &hdmi_pvi { |
| status = "okay"; |
| }; |
| |
| &hdmi_tx { |
| status = "okay"; |
| |
| ports { |
| port@1 { |
| hdmi_tx_out: endpoint { |
| remote-endpoint = <&native_hdmi_connector_in>; |
| }; |
| }; |
| }; |
| }; |
| |
| &hdmi_tx_phy { |
| status = "okay"; |
| }; |
| |
| /* Current measurement into module VCC */ |
| &hwmon { |
| status = "okay"; |
| }; |
| |
| &hwmon_temp { |
| vs-supply = <®_1p8v>; |
| status = "okay"; |
| }; |
| |
| /* Verdin I2C_2_DSI */ |
| &i2c2 { |
| status = "okay"; |
| }; |
| |
| &i2c3 { |
| status = "okay"; |
| }; |
| |
| /* Verdin I2C_1 */ |
| &i2c4 { |
| status = "okay"; |
| |
| /* Audio Codec */ |
| wm8904_1a: audio-codec@1a { |
| compatible = "wlf,wm8904"; |
| reg = <0x1a>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_sai1>; |
| #sound-dai-cells = <0>; |
| clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>; |
| clock-names = "mclk"; |
| AVDD-supply = <®_1p8v>; |
| CPVDD-supply = <®_1p8v>; |
| DBVDD-supply = <®_1p8v>; |
| DCVDD-supply = <®_1p8v>; |
| MICVDD-supply = <®_1p8v>; |
| }; |
| }; |
| |
| /* Verdin I2C_3_HDMI */ |
| &i2c5 { |
| status = "okay"; |
| }; |
| |
| &lcdif3 { |
| status = "okay"; |
| }; |
| |
| /* Verdin PCIE_1 */ |
| &pcie { |
| vpcie-supply = <®_pcie>; |
| status = "okay"; |
| }; |
| |
| &pcie_phy { |
| status = "okay"; |
| }; |
| |
| /* Verdin PWM_1 */ |
| &pwm1 { |
| status = "okay"; |
| }; |
| |
| /* Verdin PWM_2 */ |
| &pwm2 { |
| status = "okay"; |
| }; |
| |
| /* Verdin PWM_3_DSI */ |
| &pwm3 { |
| status = "okay"; |
| }; |
| |
| ®_usdhc2_vmmc { |
| vin-supply = <®_3p3v>; |
| }; |
| |
| /* We support turning off sleep moci on Dahlia */ |
| ®_force_sleep_moci { |
| status = "disabled"; |
| }; |
| |
| /* Verdin I2S_1 */ |
| &sai1 { |
| assigned-clocks = <&clk IMX8MP_CLK_SAI1>; |
| assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; |
| assigned-clock-rates = <24576000>; |
| fsl,sai-mclk-direction-output; |
| status = "okay"; |
| }; |
| |
| /* Verdin UART_1 */ |
| &uart1 { |
| status = "okay"; |
| }; |
| |
| /* Verdin UART_2 */ |
| &uart2 { |
| status = "okay"; |
| }; |
| |
| /* Verdin UART_3, used as the Linux Console */ |
| &uart3 { |
| status = "okay"; |
| }; |
| |
| /* Verdin USB_1 */ |
| &usb3_0 { |
| status = "okay"; |
| }; |
| |
| &usb3_phy0 { |
| status = "okay"; |
| }; |
| |
| /* Verdin USB_2 */ |
| &usb3_1 { |
| fsl,permanently-attached; |
| status = "okay"; |
| }; |
| |
| &usb3_phy1 { |
| status = "okay"; |
| }; |
| |
| &usb_dwc3_1 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| usb_hub_3_0: usb-hub@1 { |
| compatible = "usb424,5744"; |
| reg = <1>; |
| peer-hub = <&usb_hub_2_0>; |
| vdd-supply = <®_usb_hub>; |
| }; |
| |
| usb_hub_2_0: usb-hub@2 { |
| compatible = "usb424,2744"; |
| reg = <2>; |
| peer-hub = <&usb_hub_3_0>; |
| vdd-supply = <®_usb_hub>; |
| }; |
| }; |
| |
| /* Verdin SD_1 */ |
| &usdhc2 { |
| status = "okay"; |
| }; |