| // SPDX-License-Identifier: GPL-2.0 | 
 | /dts-v1/; | 
 |  | 
 | #include <dt-bindings/input/input.h> | 
 | #include "tegra30-apalis.dtsi" | 
 |  | 
 | / { | 
 | 	model = "Toradex Apalis T30 on Apalis Evaluation Board"; | 
 | 	compatible = "toradex,apalis_t30-eval", "toradex,apalis_t30", | 
 | 		     "nvidia,tegra30"; | 
 |  | 
 | 	aliases { | 
 | 		rtc0 = "/i2c@7000c000/rtc@68"; | 
 | 		rtc1 = "/i2c@7000d000/pmic@2d"; | 
 | 		rtc2 = "/rtc@7000e000"; | 
 | 		serial0 = &uarta; | 
 | 		serial1 = &uartb; | 
 | 		serial2 = &uartc; | 
 | 		serial3 = &uartd; | 
 | 	}; | 
 |  | 
 | 	chosen { | 
 | 		stdout-path = "serial0:115200n8"; | 
 | 	}; | 
 |  | 
 | 	pcie@3000 { | 
 | 		pci@1,0 { | 
 | 			status = "okay"; | 
 | 		}; | 
 |  | 
 | 		pci@2,0 { | 
 | 			status = "okay"; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	host1x@50000000 { | 
 | 		dc@54200000 { | 
 | 			rgb { | 
 | 				status = "okay"; | 
 | 				nvidia,panel = <&panel>; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		hdmi@54280000 { | 
 | 			status = "okay"; | 
 | 			hdmi-supply = <®_5v0>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	/* Apalis UART1 */ | 
 | 	serial@70006000 { | 
 | 		status = "okay"; | 
 | 	}; | 
 |  | 
 | 	/* Apalis UART2 */ | 
 | 	serial@70006040 { | 
 | 		status = "okay"; | 
 | 	}; | 
 |  | 
 | 	/* Apalis UART3 */ | 
 | 	serial@70006200 { | 
 | 		status = "okay"; | 
 | 	}; | 
 |  | 
 | 	/* Apalis UART4 */ | 
 | 	serial@70006300 { | 
 | 		status = "okay"; | 
 | 	}; | 
 |  | 
 | 	pwm@7000a000 { | 
 | 		status = "okay"; | 
 | 	}; | 
 |  | 
 | 	/* | 
 | 	 * GEN1_I2C: I2C1_SDA/SCL on MXM3 pin 209/211 (e.g. RTC on carrier | 
 | 	 * board) | 
 | 	 */ | 
 | 	i2c@7000c000 { | 
 | 		status = "okay"; | 
 | 		clock-frequency = <400000>; | 
 |  | 
 | 		pcie-switch@58 { | 
 | 			compatible = "plx,pex8605"; | 
 | 			reg = <0x58>; | 
 | 		}; | 
 |  | 
 | 		/* M41T0M6 real time clock on carrier board */ | 
 | 		rtc@68 { | 
 | 			compatible = "st,m41t0"; | 
 | 			reg = <0x68>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	/* GEN2_I2C: unused */ | 
 |  | 
 | 	/* | 
 | 	 * CAM_I2C: I2C3_SDA/SCL on MXM3 pin 201/203 (e.g. camera sensor on | 
 | 	 * carrier board) | 
 | 	 */ | 
 | 	i2c@7000c500 { | 
 | 		status = "okay"; | 
 | 		clock-frequency = <400000>; | 
 | 	}; | 
 |  | 
 | 	/* DDC: I2C2_SDA/SCL on MXM3 pin 205/207 (e.g. display EDID) */ | 
 | 	i2c@7000c700 { | 
 | 		status = "okay"; | 
 | 	}; | 
 |  | 
 | 	/* SPI1: Apalis SPI1 */ | 
 | 	spi@7000d400 { | 
 | 		status = "okay"; | 
 | 		spi-max-frequency = <25000000>; | 
 | 	}; | 
 |  | 
 | 	/* SPI5: Apalis SPI2 */ | 
 | 	spi@7000dc00 { | 
 | 		status = "okay"; | 
 | 		spi-max-frequency = <25000000>; | 
 | 	}; | 
 |  | 
 | 	/* Apalis SD1 */ | 
 | 	sdhci@78000000 { | 
 | 		status = "okay"; | 
 | 		bus-width = <4>; | 
 | 		/* SD1_CD# */ | 
 | 		cd-gpios = <&gpio TEGRA_GPIO(CC, 5) GPIO_ACTIVE_LOW>; | 
 | 		no-1-8-v; | 
 | 	}; | 
 |  | 
 | 	/* Apalis MMC1 */ | 
 | 	sdhci@78000400 { | 
 | 		status = "okay"; | 
 | 		bus-width = <8>; | 
 | 		/* MMC1_CD# */ | 
 | 		cd-gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_LOW>; | 
 | 		no-1-8-v; | 
 | 	}; | 
 |  | 
 | 	/* EHCI instance 0: USB1_DP/N -> USBO1_DP/N */ | 
 | 	usb@7d000000 { | 
 | 		status = "okay"; | 
 | 		dr_mode = "otg"; | 
 | 	}; | 
 |  | 
 | 	usb-phy@7d000000 { | 
 | 		status = "okay"; | 
 | 		vbus-supply = <®_usbo1_vbus>; | 
 | 	}; | 
 |  | 
 | 	/* EHCI instance 1: USB2_DP/N -> USBH2_DP/N */ | 
 | 	usb@7d004000 { | 
 | 		status = "okay"; | 
 | 	}; | 
 |  | 
 | 	usb-phy@7d004000 { | 
 | 		status = "okay"; | 
 | 		vbus-supply = <®_usbh_vbus>; | 
 | 	}; | 
 |  | 
 | 	/* EHCI instance 2: USB3_DP/N -> USBH3_DP/N */ | 
 | 	usb@7d008000 { | 
 | 		status = "okay"; | 
 | 	}; | 
 |  | 
 | 	usb-phy@7d008000 { | 
 | 		status = "okay"; | 
 | 		vbus-supply = <®_usbh_vbus>; | 
 | 	}; | 
 |  | 
 | 	backlight: backlight { | 
 | 		compatible = "pwm-backlight"; | 
 | 		brightness-levels = <255 231 223 207 191 159 127 0>; | 
 | 		default-brightness-level = <6>; | 
 | 		/* BKL1_ON */ | 
 | 		enable-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>; | 
 | 		power-supply = <®_3v3>; | 
 | 		pwms = <&pwm 0 5000000>; /* BKL1_PWM */ | 
 | 	}; | 
 |  | 
 | 	gpio-keys { | 
 | 		compatible = "gpio-keys"; | 
 |  | 
 | 		wakeup { | 
 | 			label = "WAKE1_MICO"; | 
 | 			gpios = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_LOW>; | 
 | 			linux,code = <KEY_WAKEUP>; | 
 | 			debounce-interval = <10>; | 
 | 			wakeup-source; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	panel: panel { | 
 | 		/* | 
 | 		 * edt,et057090dhu: EDT 5.7" LCD TFT | 
 | 		 * edt,et070080dh6: EDT 7.0" LCD TFT | 
 | 		 */ | 
 | 		compatible = "edt,et057090dhu"; | 
 | 		backlight = <&backlight>; | 
 | 		power-supply = <®_3v3>; | 
 | 	}; | 
 |  | 
 | 	reg_3v3: regulator-3v3 { | 
 | 		compatible = "regulator-fixed"; | 
 | 		regulator-name = "3.3V_SW"; | 
 | 		regulator-min-microvolt = <3300000>; | 
 | 		regulator-max-microvolt = <3300000>; | 
 | 	}; | 
 |  | 
 | 	reg_5v0: regulator-5v0 { | 
 | 		compatible = "regulator-fixed"; | 
 | 		regulator-name = "5V_SW"; | 
 | 		regulator-min-microvolt = <5000000>; | 
 | 		regulator-max-microvolt = <5000000>; | 
 | 	}; | 
 |  | 
 | 	/* USBO1_EN */ | 
 | 	reg_usbo1_vbus: regulator-usbo1-vbus { | 
 | 		compatible = "regulator-fixed"; | 
 | 		regulator-name = "VCC_USBO1"; | 
 | 		regulator-min-microvolt = <5000000>; | 
 | 		regulator-max-microvolt = <5000000>; | 
 | 		gpio = <&gpio TEGRA_GPIO(T, 5) GPIO_ACTIVE_HIGH>; | 
 | 		enable-active-high; | 
 | 		vin-supply = <®_5v0>; | 
 | 	}; | 
 |  | 
 | 	/* USBH_EN */ | 
 | 	reg_usbh_vbus: regulator-usbh-vbus { | 
 | 		compatible = "regulator-fixed"; | 
 | 		regulator-name = "VCC_USBH(2A|2C|2D|3|4)"; | 
 | 		regulator-min-microvolt = <5000000>; | 
 | 		regulator-max-microvolt = <5000000>; | 
 | 		gpio = <&gpio TEGRA_GPIO(DD, 1) GPIO_ACTIVE_HIGH>; | 
 | 		enable-active-high; | 
 | 		vin-supply = <®_5v0>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &gpio { | 
 | 	/* Apalis GPIO7 MXM3 pin 15 PLX PEX 8605 PCIe Switch Reset */ | 
 | 	pex-perst-n { | 
 | 		gpio-hog; | 
 | 		gpios = <TEGRA_GPIO(S, 7) GPIO_ACTIVE_HIGH>; | 
 | 		output-high; | 
 | 		line-name = "PEX_PERST_N"; | 
 | 	}; | 
 | }; |