1// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3
4#include "tegra30-colibri.dtsi"
5
6/ {
7	model = "Toradex Colibri T30 on Colibri Evaluation Board";
8	compatible = "toradex,colibri_t30-eval-v3", "toradex,colibri_t30", "nvidia,tegra30";
9
10	aliases {
11		rtc0 = "/i2c@7000c000/rtc@68";
12		rtc1 = "/i2c@7000d000/tps65911@2d";
13		rtc2 = "/rtc@7000e000";
14		serial0 = &uarta;
15		serial1 = &uartb;
16		serial2 = &uartd;
17	};
18
19	chosen {
20		stdout-path = "serial0:115200n8";
21	};
22
23	host1x@50000000 {
24		dc@54200000 {
25			rgb {
26				status = "okay";
27				nvidia,panel = <&panel>;
28			};
29		};
30		hdmi@54280000 {
31			status = "okay";
32		};
33	};
34
35	serial@70006000 {
36		status = "okay";
37	};
38
39	serial@70006040 {
40		compatible = "nvidia,tegra30-hsuart";
41		status = "okay";
42	};
43
44	serial@70006300 {
45		compatible = "nvidia,tegra30-hsuart";
46		status = "okay";
47	};
48
49	pwm@7000a000 {
50		status = "okay";
51	};
52
53	/*
54	 * GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier
55	 * board)
56	 */
57	i2c@7000c000 {
58		status = "okay";
59		clock-frequency = <400000>;
60
61		/* M41T0M6 real time clock on carrier board */
62		rtc@68 {
63			compatible = "st,m41t0";
64			reg = <0x68>;
65		};
66	};
67
68	/* DDC_CLOCK/DATA on X3 pin 15/16 (e.g. display EDID) */
69	hdmiddc: i2c@7000c700 {
70		status = "okay";
71	};
72
73	/* SPI1: Colibri SSP */
74	spi@7000d400 {
75		status = "okay";
76		spi-max-frequency = <25000000>;
77		can0: can@0 {
78			compatible = "microchip,mcp2515";
79			reg = <0>;
80			clocks = <&clk16m>;
81			interrupt-parent = <&gpio>;
82			interrupts = <TEGRA_GPIO(S, 0) IRQ_TYPE_EDGE_RISING>;
83			spi-max-frequency = <10000000>;
84		};
85		spidev0: spi@1 {
86			compatible = "spidev";
87			reg = <1>;
88			spi-max-frequency = <25000000>;
89		};
90	};
91
92	/* SD/MMC */
93	sdhci@78000200 {
94		status = "okay";
95		bus-width = <4>;
96		cd-gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>;
97		no-1-8-v;
98	};
99
100	/* EHCI instance 0: USB1_DP/N -> USBC_P/N */
101	usb@7d000000 {
102		status = "okay";
103	};
104
105	usb-phy@7d000000 {
106		status = "okay";
107		dr_mode = "otg";
108		vbus-supply = <&usbc_vbus_reg>;
109	};
110
111	/* EHCI instance 2: USB3_DP/N -> USBH_P/N */
112	usb@7d008000 {
113		status = "okay";
114	};
115
116	usb-phy@7d008000 {
117		status = "okay";
118		vbus-supply = <&usbh_vbus_reg>;
119	};
120
121	backlight: backlight {
122		compatible = "pwm-backlight";
123
124		/* PWM<A> */
125		pwms = <&pwm 0 5000000>;
126		brightness-levels = <255 128 64 32 16 8 4 0>;
127		default-brightness-level = <6>;
128		/* BL_ON */
129		enable-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
130	};
131
132	clocks {
133		clk16m: clk@1 {
134			compatible = "fixed-clock";
135			reg = <1>;
136			#clock-cells = <0>;
137			clock-frequency = <16000000>;
138			clock-output-names = "clk16m";
139		};
140	};
141
142	gpio-keys {
143		compatible = "gpio-keys";
144
145		wakeup {
146			label = "SODIMM pin 45 wakeup";
147			gpios = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_HIGH>;
148			linux,code = <KEY_WAKEUP>;
149			debounce-interval = <10>;
150			wakeup-source;
151		};
152	};
153
154	panel: panel {
155		/*
156		 * edt,et057090dhu: EDT 5.7" LCD TFT
157		 * edt,et070080dh6: EDT 7.0" LCD TFT
158		 */
159		compatible = "edt,et057090dhu", "simple-panel";
160
161		backlight = <&backlight>;
162	};
163
164	pwmleds {
165		compatible = "pwm-leds";
166
167		pwmb {
168			label = "PWM<B>";
169			pwms = <&pwm 1 19600>;
170			max-brightness = <255>;
171		};
172		pwmc {
173			label = "PWM<C>";
174			pwms = <&pwm 2 19600>;
175			max-brightness = <255>;
176		};
177		pwmd {
178			label = "PWM<D>";
179			pwms = <&pwm 3 19600>;
180			max-brightness = <255>;
181		};
182	};
183
184	regulators {
185		sys_5v0_reg: regulator@1 {
186			compatible = "regulator-fixed";
187			reg = <1>;
188			regulator-name = "5v0";
189			regulator-min-microvolt = <5000000>;
190			regulator-max-microvolt = <5000000>;
191			regulator-always-on;
192		};
193
194		usbc_vbus_reg: regulator@2 {
195			compatible = "regulator-fixed";
196			reg = <2>;
197			regulator-name = "usbc_vbus";
198			regulator-min-microvolt = <5000000>;
199			regulator-max-microvolt = <5000000>;
200			vin-supply = <&sys_5v0_reg>;
201		};
202
203		/* USBH_PEN */
204		usbh_vbus_reg: regulator@3 {
205			compatible = "regulator-fixed";
206			reg = <3>;
207			regulator-name = "usbh_vbus";
208			regulator-min-microvolt = <5000000>;
209			regulator-max-microvolt = <5000000>;
210			gpio = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
211			vin-supply = <&sys_5v0_reg>;
212		};
213	};
214};
215