1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright 2017-2020 Toradex AG
4 *
5 */
6
7
8#include <dt-bindings/input/input.h>
9#include <dt-bindings/pwm/pwm.h>
10
11/ {
12	chosen {
13		stdout-path = "serial0:115200n8";
14	};
15
16	gpio-keys {
17		compatible = "gpio-keys";
18		pinctrl-names = "default";
19		pinctrl-0 = <&pinctrl_gpiokeys>;
20
21		power {
22			label = "Wake-Up";
23			gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
24			linux,code = <KEY_WAKEUP>;
25			debounce-interval = <10>;
26			wakeup-source;
27		};
28	};
29
30	panel: panel {
31		compatible = "edt,et057090dhu";
32		backlight = <&bl>;
33		power-supply = <&reg_3v3>;
34
35		port {
36			panel_in: endpoint {
37				remote-endpoint = <&lcdif_out>;
38			};
39		};
40	};
41
42	reg_3v3: regulator-3v3 {
43		compatible = "regulator-fixed";
44		regulator-name = "3.3V";
45		regulator-min-microvolt = <3300000>;
46		regulator-max-microvolt = <3300000>;
47	};
48
49	reg_5v0: regulator-5v0 {
50		compatible = "regulator-fixed";
51		regulator-name = "5V";
52		regulator-min-microvolt = <5000000>;
53		regulator-max-microvolt = <5000000>;
54	};
55
56	reg_usbh_vbus: regulator-usbh-vbus {
57		compatible = "regulator-fixed";
58		pinctrl-names = "default";
59		pinctrl-0 = <&pinctrl_usbh_reg>;
60		regulator-name = "VCC_USB[1-4]";
61		regulator-min-microvolt = <5000000>;
62		regulator-max-microvolt = <5000000>;
63		gpio = <&gpio4 7 GPIO_ACTIVE_LOW>;
64		vin-supply = <&reg_5v0>;
65	};
66};
67
68&adc1 {
69	status = "okay";
70};
71
72/*
73 * ADC2 is not available on the Aster board and
74 * conflicts with AD7879 resistive touchscreen.
75 */
76&adc2 {
77	status = "disabled";
78};
79
80&bl {
81	brightness-levels = <0 4 8 16 32 64 128 255>;
82	default-brightness-level = <6>;
83	power-supply = <&reg_3v3>;
84	status = "okay";
85};
86
87&fec1 {
88	status = "okay";
89};
90
91&i2c4 {
92	status = "okay";
93
94	/* Microchip/Atmel maxtouch controller */
95	touchscreen@4a {
96		compatible = "atmel,maxtouch";
97		pinctrl-names = "default";
98		pinctrl-0 = <&pinctrl_gpiotouch>;
99		reg = <0x4a>;
100		interrupt-parent = <&gpio2>;
101		interrupts = <15 IRQ_TYPE_EDGE_FALLING>;	/* SODIMM 107 */
102		reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;	/* SODIMM 106 */
103	};
104
105	/* M41T0M6 real time clock on carrier board */
106	rtc: m41t0m6@68 {
107		compatible = "st,m41t0";
108		reg = <0x68>;
109	};
110};
111
112&iomuxc {
113	pinctrl_gpiotouch: touchgpios {
114		fsl,pins = <
115			MX7D_PAD_EPDC_DATA15__GPIO2_IO15        0x74
116			MX7D_PAD_EPDC_BDR0__GPIO2_IO28          0x14
117		>;
118	};
119};
120
121&lcdif {
122	status = "okay";
123
124	port {
125		lcdif_out: endpoint {
126			remote-endpoint = <&panel_in>;
127		};
128	};
129};
130
131&pwm1 {
132	status = "okay";
133};
134
135&pwm2 {
136	status = "okay";
137};
138
139&pwm3 {
140	status = "okay";
141};
142
143&pwm4 {
144	status = "okay";
145};
146
147&uart1 {
148	status = "okay";
149};
150
151&uart2 {
152	status = "okay";
153};
154
155&uart3 {
156	status = "okay";
157};
158
159&usbotg1 {
160	status = "okay";
161};
162
163&usdhc1 {
164	keep-power-in-suspend;
165	no-1-8-v;
166	wakeup-source;
167	vmmc-supply = <&reg_3v3>;
168	status = "okay";
169};
170