@@ -337,7 +337,8 @@ dtb-$(CONFIG_ARCH_MMP) += \
pxa168-aspenite.dtb \
pxa910-dkb.dtb \
mmp2-brownstone.dtb \
- mmp2-olpc-xo-1-75.dtb
+ mmp2-olpc-xo-1-75.dtb \
+ mmp3-dell-ariel.dtb
dtb-$(CONFIG_ARCH_MPS2) += \
mps2-an385.dtb \
mps2-an399.dtb
new file mode 100644
@@ -0,0 +1,90 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Dell Wyse 3020 a.k.a. "Ariel" a.k.a. Tx0D (T00D, T10D)
+ *
+ * Copyright (C) 2019 Lubomir Rintel <lkundrak@v3.sk>
+ */
+
+/dts-v1/;
+#include "mmp3.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+ model = "Dell Ariel";
+ compatible = "dell,wyse-ariel", "marvell,mmp3";
+
+ chosen {
+ #address-cells = <0x1>;
+ #size-cells = <0x1>;
+ ranges;
+ bootargs = "earlyprintk=ttyS2,115200 console=ttyS2,115200";
+ };
+
+ memory {
+ linux,usable-memory = <0x0 0x7f600000>;
+ available = <0x7f700000 0x7ff00000 0x00000000 0x7f600000>;
+ reg = <0x0 0x80000000>;
+ device_type = "memory";
+ };
+};
+
+&uart3 {
+ status = "okay";
+};
+
+&rtc {
+ status = "okay";
+};
+
+&usb_otg0 {
+ status = "okay";
+};
+
+&usb_otg_phy0 {
+ status = "okay";
+};
+
+&mmc3 {
+ status = "okay";
+ max-frequency = <50000000>;
+ status = "okay";
+ bus-width = <8>;
+ non-removable;
+ cap-mmc-highspeed;
+};
+
+&twsi1 {
+ status = "okay";
+
+ rtc@68 {
+ compatible = "dallas,ds1338";
+ reg = <0x68>;
+ status = "okay";
+ };
+};
+
+&twsi3 {
+ status = "okay";
+};
+
+&twsi4 {
+ status = "okay";
+};
+
+&ssp3 {
+ status = "okay";
+ cs-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
+
+ firmware-flash@0 {
+ compatible = "st,m25p80", "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <40000000>;
+ m25p,fast-read;
+ };
+};
+
+&ssp4 {
+ cs-gpios = <&gpio 56 GPIO_ACTIVE_HIGH>;
+ status = "okay";
+};
This is a Dell Wyse thin client, variously referred to as "Ariel", "3020" or "Tx0D" where "x" stands for the software it was shipped with. I somewhat arbitrarily chose "ariel". There are bits missing, because the drivers are not in and bindings are not settled yet: * Things missing from mmp3.dtsi: HSIC controller and its PHY (only the internal Ethernet is connected here, the hub with external USB2 ports is connected to the U2O controller that works well), Vivante GC2000 GPU * &twsi1/regulator@19 Marvell 88pm867 power regulator * &twsi3/vga-dvi-encoder@76 Chrontel CH7033B-BF VGA & DVI encoder * &twsi3/sound-codec@30 Sound chip, probably a Marvell 88ce156 * &twsi4/embedded-controller@58 ENE KB3930QF Embedded Controller, also seems to be connected to &ssp4. Might not need a driver -- about the only useful thing it can do is to reboot the machine when tickled via some GPIO lines. Also there seems to be something at &twsi1 address 0x50. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> --- The patche applies on top of soc/arm/dt. I'm not sure whether it's appropriate to call the machine "Ariel". Perhaps wyse-3020 or something else. Not sure whether the marketing names or code names are preferred. There seem to be some warnings that escaped my attention previously. I'll address them separately. Nothing seems particularly worrysome though. I guess interrupt-conroller unit address warnings are due to the bindings being odd, which can not be fixed now. $ dtc -I dtb -O dts arch/arm/boot/dts/mmp3-dell-ariel.dtb >/dev/null <stdout>: Warning (unit_address_vs_reg): /soc/clocks: node has a reg or ranges property, but no unit name <stdout>: Warning (unit_address_vs_reg): /memory: node has a reg or ranges property, but no unit name <stdout>: Warning (simple_bus_reg): /soc/axi@d4200000/interrupt-controller@d4282150: simple-bus unit address format error, expected "150" <stdout>: Warning (simple_bus_reg): /soc/axi@d4200000/interrupt-controller@d4282154: simple-bus unit address format error, expected "154" <stdout>: Warning (simple_bus_reg): /soc/axi@d4200000/interrupt-controller@d42821bc: simple-bus unit address format error, expected "1bc" <stdout>: Warning (simple_bus_reg): /soc/axi@d4200000/interrupt-controller@d42821c0: simple-bus unit address format error, expected "1c0" <stdout>: Warning (simple_bus_reg): /soc/axi@d4200000/interrupt-controller@d4282158: simple-bus unit address format error, expected "158" <stdout>: Warning (simple_bus_reg): /soc/axi@d4200000/interrupt-controller@d42821c4: simple-bus unit address format error, expected "1c4" <stdout>: Warning (simple_bus_reg): /soc/axi@d4200000/interrupt-controller@d42821c8: simple-bus unit address format error, expected "1c8" <stdout>: Warning (simple_bus_reg): /soc/axi@d4200000/interrupt-controller@d428215c: simple-bus unit address format error, expected "15c" <stdout>: Warning (simple_bus_reg): /soc/axi@d4200000/interrupt-controller@d42821cc: simple-bus unit address format error, expected "1cc" <stdout>: Warning (simple_bus_reg): /soc/axi@d4200000/interrupt-controller@d4282160: simple-bus unit address format error, expected "160" <stdout>: Warning (simple_bus_reg): /soc/axi@d4200000/interrupt-controller@d4282184: simple-bus unit address format error, expected "184" <stdout>: Warning (simple_bus_reg): /soc/axi@d4200000/interrupt-controller@d4282188: simple-bus unit address format error, expected "188" <stdout>: Warning (simple_bus_reg): /soc/axi@d4200000/interrupt-controller@d42821d0: simple-bus unit address format error, expected "1d0" <stdout>: Warning (simple_bus_reg): /soc/clocks: simple-bus unit address format error, expected "d4050000" <stdout>: Warning (simple_bus_reg): /soc/watchdog@2c000620: simple-bus unit address format error, expected "e0000620" arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/mmp3-dell-ariel.dts | 90 +++++++++++++++++++++++++++ 2 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/mmp3-dell-ariel.dts