1 // SPDX-License-Identifier: GPL-2.0+
3 * Device Tree file for the Kontron SMARC-sAL28 board.
5 * Copyright (C) 2021 Michael Walle <michael@walle.cc>
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>
16 model = "Kontron SMARC-sAL28";
17 compatible = "kontron,sl28", "fsl,ls1028a";
33 compatible = "gpio-keys";
36 interrupts-extended = <&sl28cpld_intc
37 4 IRQ_TYPE_EDGE_BOTH>;
38 linux,code = <KEY_POWER>;
43 interrupts-extended = <&sl28cpld_intc
44 5 IRQ_TYPE_EDGE_BOTH>;
45 linux,code = <KEY_SLEEP>;
51 compatible = "gpio-keys-polled";
52 poll-interval = <200>;
55 linux,input-type = <EV_SW>;
56 linux,code = <SW_LID>;
57 gpios = <&sl28cpld_gpio3 4 GPIO_ACTIVE_LOW>;
63 stdout-path = "serial0:115200n8";
84 phy0: ethernet-phy@5 {
94 managed = "in-band-status";
95 nvmem-cells = <&base_mac_address 0>;
96 nvmem-cell-names = "mac-address";
119 compatible = "jedec,spi-nor";
121 spi-max-frequency = <133000000>;
123 /* The following setting enables 1-1-2 (CMD-ADDR-DATA) mode */
124 spi-rx-bus-width = <2>; /* 2 SPI Rx lines */
125 spi-tx-bus-width = <1>; /* 1 SPI Tx line */
128 compatible = "fixed-partitions";
129 #address-cells = <1>;
133 reg = <0x000000 0x010000>;
139 reg = <0x010000 0x1d0000>;
140 label = "failsafe bootloader";
145 reg = <0x200000 0x010000>;
146 label = "configuration store";
150 reg = <0x210000 0x1d0000>;
151 label = "bootloader";
155 reg = <0x3e0000 0x020000>;
156 label = "bootloader environment";
161 compatible = "user-otp";
164 compatible = "kontron,sl28-vpd";
166 serial_number: serial-number {
169 base_mac_address: base-mac-address {
170 #nvmem-cell-cells = <1>;
183 "", "", "", "", "", "", "", "",
184 "", "", "", "", "", "", "", "",
185 "", "", "", "", "", "", "TDO", "TCK",
186 "", "", "", "", "", "", "", "";
191 "", "", "", "", "", "", "TMS", "TDI",
192 "", "", "", "", "", "", "", "",
193 "", "", "", "", "", "", "", "",
194 "", "", "", "", "", "", "", "";
201 compatible = "microcrystal,rv8803";
206 compatible = "kontron,sl28cpld";
208 #address-cells = <1>;
212 compatible = "kontron,sl28cpld-wdt";
214 kontron,assert-wdt-timeout-pin;
218 compatible = "kontron,sl28cpld-fan";
222 sl28cpld_pwm0: pwm@c {
223 compatible = "kontron,sl28cpld-pwm";
228 sl28cpld_pwm1: pwm@e {
229 compatible = "kontron,sl28cpld-pwm";
234 sl28cpld_gpio0: gpio@10 {
235 compatible = "kontron,sl28cpld-gpio";
237 interrupts-extended = <&gpio2 6
238 IRQ_TYPE_EDGE_FALLING>;
243 "GPIO0_CAM0_PWR_N", "GPIO1_CAM1_PWR_N",
244 "GPIO2_CAM0_RST_N", "GPIO3_CAM1_RST_N",
245 "GPIO4_HDA_RST_N", "GPIO5_PWM_OUT",
246 "GPIO6_TACHIN", "GPIO7";
248 interrupt-controller;
249 #interrupt-cells = <2>;
252 sl28cpld_gpio1: gpio@15 {
253 compatible = "kontron,sl28cpld-gpio";
255 interrupts-extended = <&gpio2 6
256 IRQ_TYPE_EDGE_FALLING>;
261 "GPIO8", "GPIO9", "GPIO10", "GPIO11",
264 interrupt-controller;
265 #interrupt-cells = <2>;
268 sl28cpld_gpio2: gpio@1a {
269 compatible = "kontron,sl28cpld-gpo";
275 "LCD0 voltage enable",
276 "LCD0 backlight enable",
277 "eMMC reset", "LVDS bridge reset",
278 "LVDS bridge power-down",
283 sl28cpld_gpio3: gpio@1b {
284 compatible = "kontron,sl28cpld-gpi";
290 "Power button", "Force recovery", "Sleep",
291 "Battery low", "Lid state", "Charging",
292 "Charger present", "";
295 sl28cpld_intc: interrupt-controller@1c {
296 compatible = "kontron,sl28cpld-intc";
298 interrupts-extended = <&gpio2 6
299 IRQ_TYPE_EDGE_FALLING>;
301 interrupt-controller;
302 #interrupt-cells = <2>;
307 compatible = "atmel,24c32";
321 compatible = "atmel,24c32";
332 dsa-tag-protocol = "ocelot-8021q";
336 dsa-tag-protocol = "ocelot-8021q";