xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright 2017 Toradex AG
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun/ {
7*4882a593Smuzhiyun	chosen {
8*4882a593Smuzhiyun		stdout-path = "serial0:115200n8";
9*4882a593Smuzhiyun	};
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun	gpio-keys {
12*4882a593Smuzhiyun		compatible = "gpio-keys";
13*4882a593Smuzhiyun		pinctrl-names = "default";
14*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_snvs_gpiokeys>;
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun		power {
17*4882a593Smuzhiyun			label = "Wake-Up";
18*4882a593Smuzhiyun			gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
19*4882a593Smuzhiyun			linux,code = <KEY_WAKEUP>;
20*4882a593Smuzhiyun			debounce-interval = <10>;
21*4882a593Smuzhiyun			wakeup-source;
22*4882a593Smuzhiyun		};
23*4882a593Smuzhiyun	};
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun	/* fixed crystal dedicated to mcp2515 */
26*4882a593Smuzhiyun	clk16m: clk16m {
27*4882a593Smuzhiyun		compatible = "fixed-clock";
28*4882a593Smuzhiyun		#clock-cells = <0>;
29*4882a593Smuzhiyun		clock-frequency = <16000000>;
30*4882a593Smuzhiyun	};
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun	panel: panel {
33*4882a593Smuzhiyun		compatible = "edt,et057090dhu";
34*4882a593Smuzhiyun		backlight = <&bl>;
35*4882a593Smuzhiyun		power-supply = <&reg_3v3>;
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun		port {
38*4882a593Smuzhiyun			panel_in: endpoint {
39*4882a593Smuzhiyun				remote-endpoint = <&lcdif_out>;
40*4882a593Smuzhiyun			};
41*4882a593Smuzhiyun		};
42*4882a593Smuzhiyun	};
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun	reg_3v3: regulator-3v3 {
45*4882a593Smuzhiyun		compatible = "regulator-fixed";
46*4882a593Smuzhiyun		regulator-name = "3.3V";
47*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
48*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
49*4882a593Smuzhiyun	};
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun	reg_5v0: regulator-5v0 {
52*4882a593Smuzhiyun		compatible = "regulator-fixed";
53*4882a593Smuzhiyun		regulator-name = "5V";
54*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
55*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
56*4882a593Smuzhiyun	};
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun	reg_usbh_vbus: regulator-usbh-vbus {
59*4882a593Smuzhiyun		compatible = "regulator-fixed";
60*4882a593Smuzhiyun		pinctrl-names = "default";
61*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_usbh_reg>;
62*4882a593Smuzhiyun		regulator-name = "VCC_USB[1-4]";
63*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
64*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
65*4882a593Smuzhiyun		gpio = <&gpio1 2 GPIO_ACTIVE_LOW>;
66*4882a593Smuzhiyun		vin-supply = <&reg_5v0>;
67*4882a593Smuzhiyun	};
68*4882a593Smuzhiyun};
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun&adc1 {
71*4882a593Smuzhiyun	status = "okay";
72*4882a593Smuzhiyun};
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun&bl {
75*4882a593Smuzhiyun	brightness-levels = <0 4 8 16 32 64 128 255>;
76*4882a593Smuzhiyun	default-brightness-level = <6>;
77*4882a593Smuzhiyun	power-supply = <&reg_3v3>;
78*4882a593Smuzhiyun	pwms = <&pwm4 0 5000000 1>;
79*4882a593Smuzhiyun	status = "okay";
80*4882a593Smuzhiyun};
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun&ecspi1 {
83*4882a593Smuzhiyun	status = "okay";
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun	mcp2515: can@0 {
86*4882a593Smuzhiyun		compatible = "microchip,mcp2515";
87*4882a593Smuzhiyun		pinctrl-names = "default";
88*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_can_int>;
89*4882a593Smuzhiyun		reg = <0>;
90*4882a593Smuzhiyun		clocks = <&clk16m>;
91*4882a593Smuzhiyun		interrupt-parent = <&gpio2>;
92*4882a593Smuzhiyun		interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
93*4882a593Smuzhiyun		spi-max-frequency = <10000000>;
94*4882a593Smuzhiyun		vdd-supply = <&reg_3v3>;
95*4882a593Smuzhiyun		xceiver-supply = <&reg_5v0>;
96*4882a593Smuzhiyun		status = "okay";
97*4882a593Smuzhiyun	};
98*4882a593Smuzhiyun};
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun&i2c1 {
101*4882a593Smuzhiyun	status = "okay";
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun	/* M41T0M6 real time clock on carrier board */
104*4882a593Smuzhiyun	m41t0m6: rtc@68 {
105*4882a593Smuzhiyun		compatible = "st,m41t0";
106*4882a593Smuzhiyun		reg = <0x68>;
107*4882a593Smuzhiyun	};
108*4882a593Smuzhiyun};
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun&lcdif {
111*4882a593Smuzhiyun	status = "okay";
112*4882a593Smuzhiyun
113*4882a593Smuzhiyun	port {
114*4882a593Smuzhiyun		lcdif_out: endpoint {
115*4882a593Smuzhiyun			remote-endpoint = <&panel_in>;
116*4882a593Smuzhiyun		};
117*4882a593Smuzhiyun	};
118*4882a593Smuzhiyun};
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun/* PWM <A> */
121*4882a593Smuzhiyun&pwm4 {
122*4882a593Smuzhiyun	status = "okay";
123*4882a593Smuzhiyun};
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun/* PWM <B> */
126*4882a593Smuzhiyun&pwm5 {
127*4882a593Smuzhiyun	status = "okay";
128*4882a593Smuzhiyun};
129*4882a593Smuzhiyun
130*4882a593Smuzhiyun/* PWM <C> */
131*4882a593Smuzhiyun&pwm6 {
132*4882a593Smuzhiyun	status = "okay";
133*4882a593Smuzhiyun};
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun/* PWM <D> */
136*4882a593Smuzhiyun&pwm7 {
137*4882a593Smuzhiyun	status = "okay";
138*4882a593Smuzhiyun};
139*4882a593Smuzhiyun
140*4882a593Smuzhiyun&uart1 {
141*4882a593Smuzhiyun	status = "okay";
142*4882a593Smuzhiyun};
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun&uart2 {
145*4882a593Smuzhiyun	status = "okay";
146*4882a593Smuzhiyun};
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun&uart5 {
149*4882a593Smuzhiyun	status = "okay";
150*4882a593Smuzhiyun};
151*4882a593Smuzhiyun
152*4882a593Smuzhiyun&usbotg1 {
153*4882a593Smuzhiyun	status = "okay";
154*4882a593Smuzhiyun};
155*4882a593Smuzhiyun
156*4882a593Smuzhiyun&usbotg2 {
157*4882a593Smuzhiyun	vbus-supply = <&reg_usbh_vbus>;
158*4882a593Smuzhiyun	status = "okay";
159*4882a593Smuzhiyun};
160*4882a593Smuzhiyun
161*4882a593Smuzhiyun&usdhc1 {
162*4882a593Smuzhiyun	pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
163*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_cd>;
164*4882a593Smuzhiyun	pinctrl-1 = <&pinctrl_usdhc1_100mhz &pinctrl_snvs_usdhc1_cd>;
165*4882a593Smuzhiyun	pinctrl-2 = <&pinctrl_usdhc1_200mhz &pinctrl_snvs_usdhc1_cd>;
166*4882a593Smuzhiyun	pinctrl-3 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_sleep_cd>;
167*4882a593Smuzhiyun	cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
168*4882a593Smuzhiyun	disable-wp;
169*4882a593Smuzhiyun	wakeup-source;
170*4882a593Smuzhiyun	keep-power-in-suspend;
171*4882a593Smuzhiyun	vmmc-supply = <&reg_3v3>;
172*4882a593Smuzhiyun	vqmmc-supply = <&reg_sd1_vmmc>;
173*4882a593Smuzhiyun	sd-uhs-sdr12;
174*4882a593Smuzhiyun	sd-uhs-sdr25;
175*4882a593Smuzhiyun	sd-uhs-sdr50;
176*4882a593Smuzhiyun	sd-uhs-sdr104;
177*4882a593Smuzhiyun	status = "okay";
178*4882a593Smuzhiyun};
179