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