Loading...
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 = <®_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 = <®_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 = <®_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 = <®_3v3>;
104 xceiver-supply = <®_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 = <®_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};
1/*
2 * Copyright 2016 Toradex AG
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This file is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This file is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/ {
44 chosen {
45 stdout-path = "serial0:115200n8";
46 };
47
48 /* fixed crystal dedicated to mpc258x */
49 clk16m: clk16m {
50 compatible = "fixed-clock";
51 #clock-cells = <0>;
52 clock-frequency = <16000000>;
53 };
54
55 panel: panel {
56 compatible = "edt,et057090dhu";
57 backlight = <&bl>;
58 power-supply = <®_3v3>;
59
60 port {
61 panel_in: endpoint {
62 remote-endpoint = <&lcdif_out>;
63 };
64 };
65 };
66
67 reg_3v3: regulator-3v3 {
68 compatible = "regulator-fixed";
69 regulator-name = "3.3V";
70 regulator-min-microvolt = <3300000>;
71 regulator-max-microvolt = <3300000>;
72 };
73
74 reg_5v0: regulator-5v0 {
75 compatible = "regulator-fixed";
76 regulator-name = "5V";
77 regulator-min-microvolt = <5000000>;
78 regulator-max-microvolt = <5000000>;
79 };
80
81 reg_usbh_vbus: regulator-usbh-vbus {
82 compatible = "regulator-fixed";
83 pinctrl-names = "default";
84 pinctrl-0 = <&pinctrl_usbh_reg>;
85 regulator-name = "VCC_USB[1-4]";
86 regulator-min-microvolt = <5000000>;
87 regulator-max-microvolt = <5000000>;
88 gpio = <&gpio4 7 GPIO_ACTIVE_LOW>;
89 vin-supply = <®_5v0>;
90 };
91};
92
93&bl {
94 brightness-levels = <0 4 8 16 32 64 128 255>;
95 default-brightness-level = <6>;
96 power-supply = <®_3v3>;
97
98 status = "okay";
99};
100
101&adc1 {
102 status = "okay";
103};
104
105&adc2 {
106 status = "okay";
107};
108
109&ecspi3 {
110 status = "okay";
111
112 mcp2515: can@0 {
113 compatible = "microchip,mcp2515";
114 pinctrl-names = "default";
115 pinctrl-0 = <&pinctrl_can_int>;
116 reg = <0>;
117 clocks = <&clk16m>;
118 interrupt-parent = <&gpio5>;
119 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
120 spi-max-frequency = <10000000>;
121 vdd-supply = <®_3v3>;
122 xceiver-supply = <®_5v0>;
123 status = "okay";
124 };
125};
126
127&fec1 {
128 status = "okay";
129};
130
131&i2c4 {
132 status = "okay";
133
134 /* M41T0M6 real time clock on carrier board */
135 rtc: m41t0m6@68 {
136 compatible = "st,m41t0";
137 reg = <0x68>;
138 };
139};
140
141&lcdif {
142 status = "okay";
143
144 port {
145 lcdif_out: endpoint {
146 remote-endpoint = <&panel_in>;
147 };
148 };
149};
150
151&pwm1 {
152 status = "okay";
153};
154
155&pwm2 {
156 status = "okay";
157};
158
159&pwm3 {
160 status = "okay";
161};
162
163&pwm4 {
164 status = "okay";
165};
166
167&uart1 {
168 status = "okay";
169};
170
171&uart2 {
172 status = "okay";
173};
174
175&uart3 {
176 status = "okay";
177};
178
179&usbotg1 {
180 status = "okay";
181};
182
183&usdhc1 {
184 keep-power-in-suspend;
185 wakeup-source;
186 vmmc-supply = <®_3v3>;
187 status = "okay";
188};