270 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			270 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 | |
| /*
 | |
|  * Copyright 2022 Toradex
 | |
|  */
 | |
| 
 | |
| / {
 | |
| 	native-hdmi-connector {
 | |
| 		compatible = "hdmi-connector";
 | |
| 		label = "X37";
 | |
| 		type = "a";
 | |
| 
 | |
| 		port {
 | |
| 			native_hdmi_connector_in: endpoint {
 | |
| 				remote-endpoint = <&hdmi_tx_out>;
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	reg_eth2phy: regulator-eth2phy {
 | |
| 		compatible = "regulator-fixed";
 | |
| 		enable-active-high;
 | |
| 		gpio = <&gpio_expander_21 4 GPIO_ACTIVE_HIGH>; /* ETH_PWR_EN */
 | |
| 		off-on-delay-us = <500000>;
 | |
| 		regulator-max-microvolt = <3300000>;
 | |
| 		regulator-min-microvolt = <3300000>;
 | |
| 		regulator-name = "+V3.3_ETH";
 | |
| 		startup-delay-us = <200000>;
 | |
| 		vin-supply = <®_3p3v>;
 | |
| 	};
 | |
| 
 | |
| 	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-nau8822";
 | |
| 		simple-audio-card,routing =
 | |
| 			"Headphones", "LHP",
 | |
| 			"Headphones", "RHP",
 | |
| 			"Speaker", "LSPK",
 | |
| 			"Speaker", "RSPK",
 | |
| 			"Line Out", "AUXOUT1",
 | |
| 			"Line Out", "AUXOUT2",
 | |
| 			"LAUX", "Line In",
 | |
| 			"RAUX", "Line In",
 | |
| 			"LMICP", "Mic In",
 | |
| 			"RMICP", "Mic In";
 | |
| 		simple-audio-card,widgets =
 | |
| 			"Headphones", "Headphones",
 | |
| 			"Line Out", "Line Out",
 | |
| 			"Speaker", "Speaker",
 | |
| 			"Microphone", "Mic In",
 | |
| 			"Line", "Line In";
 | |
| 
 | |
| 		codec_dai: simple-audio-card,codec {
 | |
| 			clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>;
 | |
| 			sound-dai = <&nau8822_1a>;
 | |
| 		};
 | |
| 
 | |
| 		simple-audio-card,cpu {
 | |
| 			sound-dai = <&sai1>;
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| /* Verdin HDMI_1 Audio */
 | |
| &aud2htx {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &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";
 | |
| };
 | |
| 
 | |
| &fec {
 | |
| 	phy-supply = <®_eth2phy>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &flexcan1 {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &flexcan2 {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| /* Verdin QSPI_1 */
 | |
| &flexspi {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gpio4 {
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&pinctrl_ctrl_sleep_moci>;
 | |
| };
 | |
| 
 | |
| &gpio_expander_21 {
 | |
| 	status = "okay";
 | |
| 	vcc-supply = <®_1p8v>;
 | |
| };
 | |
| 
 | |
| /* 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 */
 | |
| 	nau8822_1a: audio-codec@1a {
 | |
| 		compatible = "nuvoton,nau8822";
 | |
| 		reg = <0x1a>;
 | |
| 		pinctrl-names = "default";
 | |
| 		pinctrl-0 = <&pinctrl_sai1>;
 | |
| 		#sound-dai-cells = <0>;
 | |
| 	};
 | |
| };
 | |
| 
 | |
| /* Verdin I2C_3_HDMI */
 | |
| &i2c5 {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &lcdif3 {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| /* Verdin PCIE_1 */
 | |
| &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>;
 | |
| };
 | |
| 
 | |
| /* 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 HDMI_1 Audio */
 | |
| &sound_hdmi {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| /* Verdin UART_1, connector X50 through RS485 transceiver */
 | |
| &uart1 {
 | |
| 	linux,rs485-enabled-at-boot-time;
 | |
| 	rs485-rts-active-low;
 | |
| 	rs485-rx-during-tx;
 | |
| 	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";
 | |
| };
 | |
| 
 | |
| /* Limit frequency on dev board due to long traces and bad signal integrity */
 | |
| &usdhc2 {
 | |
| 	max-frequency = <100000000>;
 | |
| 	status = "okay";
 | |
| };
 |