]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts
arm64: dts: fsl-ls1028a-kontron-sl28: combine unused partitions
[mirror_ubuntu-jammy-kernel.git] / arch / arm64 / boot / dts / freescale / fsl-ls1028a-kontron-sl28.dts
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3 * Device Tree file for the Kontron SMARC-sAL28 board.
4 *
5 * Copyright (C) 2019 Michael Walle <michael@walle.cc>
6 *
7 */
8
9 /dts-v1/;
10 #include "fsl-ls1028a.dtsi"
11 #include <dt-bindings/interrupt-controller/irq.h>
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/input/input.h>
14
15 / {
16 model = "Kontron SMARC-sAL28";
17 compatible = "kontron,sl28", "fsl,ls1028a";
18
19 aliases {
20 crypto = &crypto;
21 serial0 = &duart0;
22 serial1 = &duart1;
23 serial2 = &lpuart1;
24 spi0 = &fspi;
25 spi1 = &dspi2;
26 mmc0 = &esdhc1;
27 mmc1 = &esdhc;
28 };
29
30 buttons0 {
31 compatible = "gpio-keys";
32
33 power-button {
34 interrupts-extended = <&sl28cpld_intc
35 4 IRQ_TYPE_EDGE_BOTH>;
36 linux,code = <KEY_POWER>;
37 label = "Power";
38 };
39
40 sleep-button {
41 interrupts-extended = <&sl28cpld_intc
42 5 IRQ_TYPE_EDGE_BOTH>;
43 linux,code = <KEY_SLEEP>;
44 label = "Sleep";
45 };
46 };
47
48 buttons1 {
49 compatible = "gpio-keys-polled";
50 poll-interval = <200>;
51
52 lid-switch {
53 linux,input-type = <EV_SW>;
54 linux,code = <SW_LID>;
55 gpios = <&sl28cpld_gpio3 4 GPIO_ACTIVE_LOW>;
56 label = "Lid";
57 };
58 };
59
60 chosen {
61 stdout-path = "serial0:115200n8";
62 };
63 };
64
65 &can0 {
66 status = "okay";
67 };
68
69 &dspi2 {
70 status = "okay";
71 };
72
73 &duart0 {
74 status = "okay";
75 };
76
77 &duart1 {
78 status = "okay";
79 };
80
81 &enetc_port0 {
82 phy-handle = <&phy0>;
83 phy-connection-type = "sgmii";
84 managed = "in-band-status";
85 status = "okay";
86
87 mdio {
88 #address-cells = <1>;
89 #size-cells = <0>;
90
91 phy0: ethernet-phy@5 {
92 reg = <0x5>;
93 eee-broken-1000t;
94 eee-broken-100tx;
95 };
96 };
97 };
98
99 &esdhc {
100 sd-uhs-sdr104;
101 sd-uhs-sdr50;
102 sd-uhs-sdr25;
103 sd-uhs-sdr12;
104 status = "okay";
105 };
106
107 &esdhc1 {
108 mmc-hs200-1_8v;
109 mmc-hs400-1_8v;
110 bus-width = <8>;
111 status = "okay";
112 };
113
114 &fspi {
115 status = "okay";
116
117 flash@0 {
118 compatible = "jedec,spi-nor";
119 m25p,fast-read;
120 spi-max-frequency = <133000000>;
121 reg = <0>;
122 /* The following setting enables 1-1-2 (CMD-ADDR-DATA) mode */
123 spi-rx-bus-width = <2>; /* 2 SPI Rx lines */
124 spi-tx-bus-width = <1>; /* 1 SPI Tx line */
125
126 partitions {
127 compatible = "fixed-partitions";
128 #address-cells = <1>;
129 #size-cells = <1>;
130
131 partition@0 {
132 reg = <0x000000 0x010000>;
133 label = "rcw";
134 read-only;
135 };
136
137 partition@10000 {
138 reg = <0x010000 0x1d0000>;
139 label = "failsafe bootloader";
140 read-only;
141 };
142
143 partition@200000 {
144 reg = <0x200000 0x010000>;
145 label = "configuration store";
146 };
147
148 partition@210000 {
149 reg = <0x210000 0x1d0000>;
150 label = "bootloader";
151 };
152
153 partition@3e0000 {
154 reg = <0x3e0000 0x020000>;
155 label = "bootloader environment";
156 };
157 };
158 };
159 };
160
161 &gpio1 {
162 gpio-line-names =
163 "", "", "", "", "", "", "", "",
164 "", "", "", "", "", "", "", "",
165 "", "", "", "", "", "", "TDO", "TCK",
166 "", "", "", "", "", "", "", "";
167 };
168
169 &gpio2 {
170 gpio-line-names =
171 "", "", "", "", "", "", "TMS", "TDI",
172 "", "", "", "", "", "", "", "",
173 "", "", "", "", "", "", "", "",
174 "", "", "", "", "", "", "", "";
175 };
176
177 &i2c0 {
178 status = "okay";
179
180 rtc@32 {
181 compatible = "microcrystal,rv8803";
182 reg = <0x32>;
183 };
184
185 sl28cpld@4a {
186 compatible = "kontron,sl28cpld";
187 reg = <0x4a>;
188 #address-cells = <1>;
189 #size-cells = <0>;
190
191 watchdog@4 {
192 compatible = "kontron,sl28cpld-wdt";
193 reg = <0x4>;
194 kontron,assert-wdt-timeout-pin;
195 };
196
197 hwmon@b {
198 compatible = "kontron,sl28cpld-fan";
199 reg = <0xb>;
200 };
201
202 sl28cpld_pwm0: pwm@c {
203 compatible = "kontron,sl28cpld-pwm";
204 reg = <0xc>;
205 #pwm-cells = <2>;
206 };
207
208 sl28cpld_pwm1: pwm@e {
209 compatible = "kontron,sl28cpld-pwm";
210 reg = <0xe>;
211 #pwm-cells = <2>;
212 };
213
214 sl28cpld_gpio0: gpio@10 {
215 compatible = "kontron,sl28cpld-gpio";
216 reg = <0x10>;
217 interrupts-extended = <&gpio2 6
218 IRQ_TYPE_EDGE_FALLING>;
219
220 gpio-controller;
221 #gpio-cells = <2>;
222 gpio-line-names =
223 "GPIO0_CAM0_PWR_N", "GPIO1_CAM1_PWR_N",
224 "GPIO2_CAM0_RST_N", "GPIO3_CAM1_RST_N",
225 "GPIO4_HDA_RST_N", "GPIO5_PWM_OUT",
226 "GPIO6_TACHIN", "GPIO7";
227
228 interrupt-controller;
229 #interrupt-cells = <2>;
230 };
231
232 sl28cpld_gpio1: gpio@15 {
233 compatible = "kontron,sl28cpld-gpio";
234 reg = <0x15>;
235 interrupts-extended = <&gpio2 6
236 IRQ_TYPE_EDGE_FALLING>;
237
238 gpio-controller;
239 #gpio-cells = <2>;
240 gpio-line-names =
241 "GPIO8", "GPIO9", "GPIO10", "GPIO11",
242 "", "", "", "";
243
244 interrupt-controller;
245 #interrupt-cells = <2>;
246 };
247
248 sl28cpld_gpio2: gpio@1a {
249 compatible = "kontron,sl28cpld-gpo";
250 reg = <0x1a>;
251
252 gpio-controller;
253 #gpio-cells = <2>;
254 gpio-line-names =
255 "LCD0 voltage enable",
256 "LCD0 backlight enable",
257 "eMMC reset", "LVDS bridge reset",
258 "LVDS bridge power-down",
259 "SDIO power enable",
260 "", "";
261 };
262
263 sl28cpld_gpio3: gpio@1b {
264 compatible = "kontron,sl28cpld-gpi";
265 reg = <0x1b>;
266
267 gpio-controller;
268 #gpio-cells = <2>;
269 gpio-line-names =
270 "Power button", "Force recovery", "Sleep",
271 "Battery low", "Lid state", "Charging",
272 "Charger present", "";
273 };
274
275 sl28cpld_intc: interrupt-controller@1c {
276 compatible = "kontron,sl28cpld-intc";
277 reg = <0x1c>;
278 interrupts-extended = <&gpio2 6
279 IRQ_TYPE_EDGE_FALLING>;
280
281 interrupt-controller;
282 #interrupt-cells = <2>;
283 };
284 };
285
286 eeprom@50 {
287 compatible = "atmel,24c32";
288 reg = <0x50>;
289 pagesize = <32>;
290 };
291 };
292
293 &i2c3 {
294 status = "okay";
295 };
296
297 &i2c4 {
298 status = "okay";
299
300 eeprom@50 {
301 compatible = "atmel,24c32";
302 reg = <0x50>;
303 pagesize = <32>;
304 };
305 };
306
307 &lpuart1 {
308 status = "okay";
309 };