330 lines
5.6 KiB
Plaintext
330 lines
5.6 KiB
Plaintext
|
// SPDX-License-Identifier: GPL-2.0+
|
||
|
/*
|
||
|
* Device Tree file for the Kontron SMARC-sAL28 board.
|
||
|
*
|
||
|
* Copyright (C) 2021 Michael Walle <michael@walle.cc>
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
/dts-v1/;
|
||
|
#include "fsl-ls1028a.dtsi"
|
||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||
|
#include <dt-bindings/gpio/gpio.h>
|
||
|
#include <dt-bindings/input/input.h>
|
||
|
|
||
|
/ {
|
||
|
model = "Kontron SMARC-sAL28";
|
||
|
compatible = "kontron,sl28", "fsl,ls1028a";
|
||
|
|
||
|
aliases {
|
||
|
crypto = &crypto;
|
||
|
serial0 = &duart0;
|
||
|
serial1 = &duart1;
|
||
|
serial2 = &lpuart1;
|
||
|
spi0 = &fspi;
|
||
|
spi1 = &dspi2;
|
||
|
mmc0 = &esdhc1;
|
||
|
mmc1 = &esdhc;
|
||
|
rtc0 = &rtc;
|
||
|
rtc1 = &ftm_alarm0;
|
||
|
};
|
||
|
|
||
|
buttons0 {
|
||
|
compatible = "gpio-keys";
|
||
|
|
||
|
power-button {
|
||
|
interrupts-extended = <&sl28cpld_intc
|
||
|
4 IRQ_TYPE_EDGE_BOTH>;
|
||
|
linux,code = <KEY_POWER>;
|
||
|
label = "Power";
|
||
|
};
|
||
|
|
||
|
sleep-button {
|
||
|
interrupts-extended = <&sl28cpld_intc
|
||
|
5 IRQ_TYPE_EDGE_BOTH>;
|
||
|
linux,code = <KEY_SLEEP>;
|
||
|
label = "Sleep";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
buttons1 {
|
||
|
compatible = "gpio-keys-polled";
|
||
|
poll-interval = <200>;
|
||
|
|
||
|
lid-switch {
|
||
|
linux,input-type = <EV_SW>;
|
||
|
linux,code = <SW_LID>;
|
||
|
gpios = <&sl28cpld_gpio3 4 GPIO_ACTIVE_LOW>;
|
||
|
label = "Lid";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
chosen {
|
||
|
stdout-path = "serial0:115200n8";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&can0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&dspi2 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&duart0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&duart1 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&enetc_mdio_pf3 {
|
||
|
phy0: ethernet-phy@5 {
|
||
|
reg = <0x5>;
|
||
|
eee-broken-1000t;
|
||
|
eee-broken-100tx;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&enetc_port0 {
|
||
|
phy-handle = <&phy0>;
|
||
|
phy-mode = "sgmii";
|
||
|
managed = "in-band-status";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&esdhc {
|
||
|
sd-uhs-sdr104;
|
||
|
sd-uhs-sdr50;
|
||
|
sd-uhs-sdr25;
|
||
|
sd-uhs-sdr12;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&esdhc1 {
|
||
|
mmc-hs200-1_8v;
|
||
|
mmc-hs400-1_8v;
|
||
|
bus-width = <8>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&fspi {
|
||
|
status = "okay";
|
||
|
|
||
|
flash@0 {
|
||
|
compatible = "jedec,spi-nor";
|
||
|
m25p,fast-read;
|
||
|
spi-max-frequency = <133000000>;
|
||
|
reg = <0>;
|
||
|
/* The following setting enables 1-1-2 (CMD-ADDR-DATA) mode */
|
||
|
spi-rx-bus-width = <2>; /* 2 SPI Rx lines */
|
||
|
spi-tx-bus-width = <1>; /* 1 SPI Tx line */
|
||
|
|
||
|
partitions {
|
||
|
compatible = "fixed-partitions";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <1>;
|
||
|
|
||
|
partition@0 {
|
||
|
reg = <0x000000 0x010000>;
|
||
|
label = "rcw";
|
||
|
read-only;
|
||
|
};
|
||
|
|
||
|
partition@10000 {
|
||
|
reg = <0x010000 0x1d0000>;
|
||
|
label = "failsafe bootloader";
|
||
|
read-only;
|
||
|
};
|
||
|
|
||
|
partition@200000 {
|
||
|
reg = <0x200000 0x010000>;
|
||
|
label = "configuration store";
|
||
|
};
|
||
|
|
||
|
partition@210000 {
|
||
|
reg = <0x210000 0x1d0000>;
|
||
|
label = "bootloader";
|
||
|
};
|
||
|
|
||
|
partition@3e0000 {
|
||
|
reg = <0x3e0000 0x020000>;
|
||
|
label = "bootloader environment";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&ftm_alarm0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&gpio1 {
|
||
|
gpio-line-names =
|
||
|
"", "", "", "", "", "", "", "",
|
||
|
"", "", "", "", "", "", "", "",
|
||
|
"", "", "", "", "", "", "TDO", "TCK",
|
||
|
"", "", "", "", "", "", "", "";
|
||
|
};
|
||
|
|
||
|
&gpio2 {
|
||
|
gpio-line-names =
|
||
|
"", "", "", "", "", "", "TMS", "TDI",
|
||
|
"", "", "", "", "", "", "", "",
|
||
|
"", "", "", "", "", "", "", "",
|
||
|
"", "", "", "", "", "", "", "";
|
||
|
};
|
||
|
|
||
|
&i2c0 {
|
||
|
status = "okay";
|
||
|
|
||
|
rtc: rtc@32 {
|
||
|
compatible = "microcrystal,rv8803";
|
||
|
reg = <0x32>;
|
||
|
};
|
||
|
|
||
|
sl28cpld@4a {
|
||
|
compatible = "kontron,sl28cpld";
|
||
|
reg = <0x4a>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
watchdog@4 {
|
||
|
compatible = "kontron,sl28cpld-wdt";
|
||
|
reg = <0x4>;
|
||
|
kontron,assert-wdt-timeout-pin;
|
||
|
};
|
||
|
|
||
|
hwmon@b {
|
||
|
compatible = "kontron,sl28cpld-fan";
|
||
|
reg = <0xb>;
|
||
|
};
|
||
|
|
||
|
sl28cpld_pwm0: pwm@c {
|
||
|
compatible = "kontron,sl28cpld-pwm";
|
||
|
reg = <0xc>;
|
||
|
#pwm-cells = <2>;
|
||
|
};
|
||
|
|
||
|
sl28cpld_pwm1: pwm@e {
|
||
|
compatible = "kontron,sl28cpld-pwm";
|
||
|
reg = <0xe>;
|
||
|
#pwm-cells = <2>;
|
||
|
};
|
||
|
|
||
|
sl28cpld_gpio0: gpio@10 {
|
||
|
compatible = "kontron,sl28cpld-gpio";
|
||
|
reg = <0x10>;
|
||
|
interrupts-extended = <&gpio2 6
|
||
|
IRQ_TYPE_EDGE_FALLING>;
|
||
|
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
gpio-line-names =
|
||
|
"GPIO0_CAM0_PWR_N", "GPIO1_CAM1_PWR_N",
|
||
|
"GPIO2_CAM0_RST_N", "GPIO3_CAM1_RST_N",
|
||
|
"GPIO4_HDA_RST_N", "GPIO5_PWM_OUT",
|
||
|
"GPIO6_TACHIN", "GPIO7";
|
||
|
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <2>;
|
||
|
};
|
||
|
|
||
|
sl28cpld_gpio1: gpio@15 {
|
||
|
compatible = "kontron,sl28cpld-gpio";
|
||
|
reg = <0x15>;
|
||
|
interrupts-extended = <&gpio2 6
|
||
|
IRQ_TYPE_EDGE_FALLING>;
|
||
|
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
gpio-line-names =
|
||
|
"GPIO8", "GPIO9", "GPIO10", "GPIO11",
|
||
|
"", "", "", "";
|
||
|
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <2>;
|
||
|
};
|
||
|
|
||
|
sl28cpld_gpio2: gpio@1a {
|
||
|
compatible = "kontron,sl28cpld-gpo";
|
||
|
reg = <0x1a>;
|
||
|
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
gpio-line-names =
|
||
|
"LCD0 voltage enable",
|
||
|
"LCD0 backlight enable",
|
||
|
"eMMC reset", "LVDS bridge reset",
|
||
|
"LVDS bridge power-down",
|
||
|
"SDIO power enable",
|
||
|
"", "";
|
||
|
};
|
||
|
|
||
|
sl28cpld_gpio3: gpio@1b {
|
||
|
compatible = "kontron,sl28cpld-gpi";
|
||
|
reg = <0x1b>;
|
||
|
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
gpio-line-names =
|
||
|
"Power button", "Force recovery", "Sleep",
|
||
|
"Battery low", "Lid state", "Charging",
|
||
|
"Charger present", "";
|
||
|
};
|
||
|
|
||
|
sl28cpld_intc: interrupt-controller@1c {
|
||
|
compatible = "kontron,sl28cpld-intc";
|
||
|
reg = <0x1c>;
|
||
|
interrupts-extended = <&gpio2 6
|
||
|
IRQ_TYPE_EDGE_FALLING>;
|
||
|
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <2>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
eeprom@50 {
|
||
|
compatible = "atmel,24c32";
|
||
|
reg = <0x50>;
|
||
|
pagesize = <32>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&i2c3 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&i2c4 {
|
||
|
status = "okay";
|
||
|
|
||
|
eeprom@50 {
|
||
|
compatible = "atmel,24c32";
|
||
|
reg = <0x50>;
|
||
|
pagesize = <32>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&lpuart1 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&mscc_felix_port4 {
|
||
|
dsa-tag-protocol = "ocelot-8021q";
|
||
|
};
|
||
|
|
||
|
&mscc_felix_port5 {
|
||
|
dsa-tag-protocol = "ocelot-8021q";
|
||
|
};
|
||
|
|
||
|
&usb0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb1 {
|
||
|
dr_mode = "host";
|
||
|
status = "okay";
|
||
|
};
|