Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / arch / arm / boot / dts / imx7-colibri-eval-v3.dtsi
1 // SPDX-License-Identifier: GPL-2.0+ OR MIT
2 /*
3  * Copyright 2016-2020 Toradex
4  */
5
6 / {
7         aliases {
8                 rtc0 = &rtc;
9                 rtc1 = &snvs_rtc;
10         };
11
12         chosen {
13                 stdout-path = "serial0:115200n8";
14         };
15
16         /* fixed crystal dedicated to mpc258x */
17         clk16m: clk16m {
18                 compatible = "fixed-clock";
19                 #clock-cells = <0>;
20                 clock-frequency = <16000000>;
21         };
22
23         gpio-keys {
24                 compatible = "gpio-keys";
25                 pinctrl-names = "default";
26                 pinctrl-0 = <&pinctrl_gpiokeys>;
27
28                 power {
29                         label = "Wake-Up";
30                         gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
31                         linux,code = <KEY_WAKEUP>;
32                         debounce-interval = <10>;
33                         wakeup-source;
34                 };
35         };
36
37         panel: panel {
38                 compatible = "edt,et057090dhu";
39                 backlight = <&bl>;
40                 power-supply = <&reg_3v3>;
41
42                 port {
43                         panel_in: endpoint {
44                                 remote-endpoint = <&lcdif_out>;
45                         };
46                 };
47         };
48
49         reg_3v3: regulator-3v3 {
50                 compatible = "regulator-fixed";
51                 regulator-name = "3.3V";
52                 regulator-min-microvolt = <3300000>;
53                 regulator-max-microvolt = <3300000>;
54         };
55
56         reg_5v0: regulator-5v0 {
57                 compatible = "regulator-fixed";
58                 regulator-name = "5V";
59                 regulator-min-microvolt = <5000000>;
60                 regulator-max-microvolt = <5000000>;
61         };
62
63         reg_usbh_vbus: regulator-usbh-vbus {
64                 compatible = "regulator-fixed";
65                 pinctrl-names = "default";
66                 pinctrl-0 = <&pinctrl_usbh_reg>;
67                 regulator-name = "VCC_USB[1-4]";
68                 regulator-min-microvolt = <5000000>;
69                 regulator-max-microvolt = <5000000>;
70                 gpio = <&gpio4 7 GPIO_ACTIVE_LOW>;
71                 vin-supply = <&reg_5v0>;
72         };
73 };
74
75 &bl {
76         brightness-levels = <0 4 8 16 32 64 128 255>;
77         default-brightness-level = <6>;
78         power-supply = <&reg_3v3>;
79
80         status = "okay";
81 };
82
83 &adc1 {
84         status = "okay";
85 };
86
87 &adc2 {
88         status = "okay";
89 };
90
91 &ecspi3 {
92         status = "okay";
93
94         mcp2515: can@0 {
95                 compatible = "microchip,mcp2515";
96                 pinctrl-names = "default";
97                 pinctrl-0 = <&pinctrl_can_int>;
98                 reg = <0>;
99                 clocks = <&clk16m>;
100                 interrupt-parent = <&gpio5>;
101                 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
102                 spi-max-frequency = <10000000>;
103                 vdd-supply = <&reg_3v3>;
104                 xceiver-supply = <&reg_5v0>;
105                 status = "okay";
106         };
107 };
108
109 &fec1 {
110         status = "okay";
111 };
112
113 &i2c4 {
114         status = "okay";
115
116         /*
117          * Touchscreen is using SODIMM 28/30, also used for PWM<B>, PWM<C>,
118          * aka pwm2, pwm3. so if you enable touchscreen, disable the pwms
119          */
120         touchscreen@4a {
121                 compatible = "atmel,maxtouch";
122                 pinctrl-names = "default";
123                 pinctrl-0 = <&pinctrl_gpiotouch>;
124                 reg = <0x4a>;
125                 interrupt-parent = <&gpio1>;
126                 interrupts = <9 IRQ_TYPE_EDGE_FALLING>;         /* SODIMM 28 */
127                 reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;      /* SODIMM 30 */
128                 status = "disabled";
129         };
130
131         /* M41T0M6 real time clock on carrier board */
132         rtc: m41t0m6@68 {
133                 compatible = "st,m41t0";
134                 reg = <0x68>;
135         };
136 };
137
138 &lcdif {
139         status = "okay";
140
141         port {
142                 lcdif_out: endpoint {
143                         remote-endpoint = <&panel_in>;
144                 };
145         };
146 };
147
148 &pwm1 {
149         status = "okay";
150 };
151
152 &pwm2 {
153         status = "okay";
154 };
155
156 &pwm3 {
157         status = "okay";
158 };
159
160 &pwm4 {
161         status = "okay";
162 };
163
164 &uart1 {
165         status = "okay";
166 };
167
168 &uart2 {
169         status = "okay";
170 };
171
172 &uart3 {
173         status = "okay";
174 };
175
176 &usbotg1 {
177         status = "okay";
178 };
179
180 &usdhc1 {
181         keep-power-in-suspend;
182         wakeup-source;
183         vmmc-supply = <&reg_3v3>;
184         status = "okay";
185 };
186
187 &iomuxc {
188         pinctrl_gpiotouch: touchgpios {
189                 fsl,pins = <
190                         MX7D_PAD_GPIO1_IO09__GPIO1_IO9          0x74
191                         MX7D_PAD_GPIO1_IO10__GPIO1_IO10         0x14
192                 >;
193         };
194 };