On Sat, Nov 23, 2019 at 09:13:17PM +0100, Michael Walle wrote: > Add device tree files for the Kontron SMARC-sAL28 board and its > carriers. > > Signed-off-by: Michael Walle <michael@xxxxxxxx> > --- > arch/arm64/boot/dts/freescale/Makefile | 4 + > .../fsl-ls1028a-kontron-kbox-a-230-ls.dts | 27 +++ > .../fsl-ls1028a-kontron-sl28-var3-ads2.dts | 73 ++++++++ > .../fsl-ls1028a-kontron-sl28-var4.dts | 34 ++++ > .../freescale/fsl-ls1028a-kontron-sl28.dts | 158 ++++++++++++++++++ > 5 files changed, 296 insertions(+) > create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-kbox-a-230-ls.dts > create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var3-ads2.dts > create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var4.dts > create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts > > diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile > index 93fce8f0c66d..080c5a59d6bd 100644 > --- a/arch/arm64/boot/dts/freescale/Makefile > +++ b/arch/arm64/boot/dts/freescale/Makefile > @@ -4,6 +4,10 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frwy.dtb > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-oxalis.dtb > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-qds.dtb > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-rdb.dtb > +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-kbox-a-230-ls.dtb > +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28.dtb > +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var3-ads2.dtb > +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var4.dtb > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds.dtb > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-rdb.dtb > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-kbox-a-230-ls.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-kbox-a-230-ls.dts > new file mode 100644 > index 000000000000..97e72c94b7fc > --- /dev/null > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-kbox-a-230-ls.dts > @@ -0,0 +1,27 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * Device Tree File for the Kontron KBox A-230-LS. > + * > + * This consists of a Kontron SMARC-sAL28 (Dual PHY) and a special > + * carrier (s1914). > + * > + * Copyright (C) 2019 Michael Walle <michael@xxxxxxxx> > + * > + */ > + > +/dts-v1/; > +#include "fsl-ls1028a-kontron-sl28-var4.dts" > + > +/ { > + model = "Kontron KBox A-230-LS"; > + compatible = "kontron,kbox-a-230-ls", "kontron,sl28-var3", > + "kontron,sl28", "fsl,ls1028a"; Any new compatible needs to be documented. > +}; > + > +&i2c4 { > + eeprom@50 { > + compatible = "atmel,24c32"; > + reg = <0x50>; > + pagesize = <32>; > + }; > +}; > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var3-ads2.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var3-ads2.dts > new file mode 100644 > index 000000000000..a4640e6b3928 > --- /dev/null > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var3-ads2.dts > @@ -0,0 +1,73 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * Device Tree file for the Kontron SMARC-sAL28 board on a SMARC Eval 2.0 > + * carrier (ADS2). > + * > + * Copyright (C) 2019 Michael Walle <michael@xxxxxxxx> > + * > + */ > + > +/dts-v1/; > +#include "fsl-ls1028a-kontron-sl28.dts" > + > +/ { > + model = "Kontron SMARC-sAL28 (Single PHY) on SMARC Eval 2.0 carrier"; > + compatible = "kontron,sl28-var3-ads2", "kontron,sl28", "fsl,ls1028a"; > + > + sound { > + compatible = "simple-audio-card"; > + simple-audio-card,format = "i2s"; > + simple-audio-card,widgets = > + "Headphone", "Headphone Jack", > + "Line", "Line Out Jack"; > + simple-audio-card,routing = > + "Line Out Jack", "LINEOUTR", > + "Line Out Jack", "LINEOUTL", > + "Headphone Jack", "HPOUTR", > + "Headphone Jack", "HPOUTL"; > + simple-audio-card,mclk-fs = <256>; > + > + simple-audio-card,cpu { > + sound-dai = <&sai6>; > + }; > + > + simple-audio-card,codec { > + sound-dai = <&wm8904>; > + frame-master; > + bitclock-master; > + }; > + }; > +}; > + > +&i2c4 { > + status = "okay"; > + > + wm8904: wm8904@1a { audio-codec for node name. > + #sound-dai-cells = <0>; > + compatible = "wlf,wm8904"; > + reg = <0x1a>; > + clocks = <&wm8904_mclk>; > + clock-names = "mclk"; > + assigned-clocks = <&wm8904_mclk>; > + assigned-clock-rates = <1250000>; > + }; > + > + eeprom@50 { > + compatible = "atmel,24c32"; > + reg = <0x50>; > + pagesize = <32>; > + }; > +}; > + > +&sai6 { > + status = "okay"; > +}; > + > +&soc { > + wm8904_mclk: wm8904-mclk@f130080 { > + compatible = "fsl,vf610-sai-clock"; Unsupported/undocumented binding? > + reg = <0x0 0xf130080 0x0 0x80>; > + clocks = <&clockgen 4 1>; > + #clock-cells = <0>; > + }; > +}; > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var4.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var4.dts > new file mode 100644 > index 000000000000..5c8b13108e4d > --- /dev/null > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var4.dts > @@ -0,0 +1,34 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * Device Tree file for the Kontron SMARC-sAL28 board. > + * > + * This is for the network variant 4 which has two ethernet ports. It > + * extends the base and provides one more port connected via RGMII. > + * > + * Copyright (C) 2019 Michael Walle <michael@xxxxxxxx> > + * > + */ > + > +/dts-v1/; > +#include "fsl-ls1028a-kontron-sl28.dts" > + > +/ { > + model = "Kontron SMARC-sAL28 (Dual PHY)"; > + compatible = "kontron,sl28-var4", "kontron,sl28", "fsl,ls1028a"; > +}; > + > +&enetc_port1 { > + phy-handle = <&phy1>; > + phy-connection-type = "rgmii-id"; > + > + mdio { > + #address-cells = <1>; > + #size-cells = <0>; > + > + phy1: ethernet-phy@4 { > + reg = <0x4>; > + eee-broken-1000t; > + eee-broken-100tx; > + }; > + }; > +}; > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts > new file mode 100644 > index 000000000000..a18cb4395ad0 > --- /dev/null > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts > @@ -0,0 +1,158 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * Device Tree file for the Kontron SMARC-sAL28 board. > + * > + * Copyright (C) 2019 Michael Walle <michael@xxxxxxxx> > + * > + */ > + > +/dts-v1/; > +#include "fsl-ls1028a.dtsi" > + > +/ { > + model = "Kontron SMARC-sAL28"; > + compatible = "kontron,sl28", "fsl,ls1028a"; > + > + aliases { > + crypto = &crypto; > + serial0 = &duart0; > + serial1 = &duart1; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > +}; > + > +&duart0 { > + status = "okay"; > +}; > + > +&duart1 { > + status = "okay"; > +}; > + > +&enetc_port0 { > + phy-handle = <&phy0>; > + phy-connection-type = "sgmii"; > + > + mdio { > + #address-cells = <1>; > + #size-cells = <0>; > + > + phy0: ethernet-phy@5 { > + reg = <0x5>; > + eee-broken-1000t; > + eee-broken-100tx; > + }; > + }; > +}; > + > +&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"; > + > + w25q32jw@0 { Use a generic node name. > + #address-cells = <1>; > + #size-cells = <1>; > + compatible = "w25q32jw", "jedec,spi-nor"; Is "w25q32jw" documented somewhere? Shawn > + 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 */ > + > + partition@0 { > + reg = <0x000000 0x010000>; > + label = "rcw"; > + read-only; > + }; > + > + partition@10000 { > + reg = <0x010000 0x0f0000>; > + label = "failsafe bootloader"; > + read-only; > + }; > + > + partition@100000 { > + reg = <0x100000 0x040000>; > + label = "failsafe DP firmware"; > + read-only; > + }; > + > + partition@140000 { > + reg = <0x140000 0x0a0000>; > + label = "failsafe trusted firmware"; > + read-only; > + }; > + > + partition@1e0000 { > + reg = <0x1e0000 0x020000>; > + label = "reserved"; > + read-only; > + }; > + > + partition@200000 { > + reg = <0x200000 0x010000>; > + label = "configuration store"; > + }; > + > + partition@210000 { > + reg = <0x210000 0x0f0000>; > + label = "bootloader"; > + }; > + > + partition@300000 { > + reg = <0x300000 0x040000>; > + label = "DP firmware"; > + }; > + > + partition@340000 { > + reg = <0x340000 0x0a0000>; > + label = "trusted firmware"; > + }; > + > + partition@3e0000 { > + reg = <0x3e0000 0x020000>; > + label = "bootloader environment"; > + }; > + }; > +}; > + > +&i2c0 { > + status = "okay"; > + > + rtc@32 { > + compatible = "microcrystal,rv8803"; > + reg = <0x32>; > + }; > + > + eeprom@50 { > + compatible = "atmel,24c32"; > + reg = <0x50>; > + pagesize = <32>; > + }; > +}; > + > +&i2c3 { > + status = "okay"; > +}; > + > +&i2c4 { > + status = "okay"; > +}; > -- > 2.20.1 >