diff mbox series

ARM: dts: mmp3: add Dell Wyse 3020 machine

Message ID 20191022152837.3553524-1-lkundrak@v3.sk (mailing list archive)
State Mainlined
Commit 044393a7b3318c786698188857b037abc7a770ef
Headers show
Series ARM: dts: mmp3: add Dell Wyse 3020 machine | expand

Commit Message

Lubomir Rintel Oct. 22, 2019, 3:28 p.m. UTC
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
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index b21b3a64641a7..7c2f8c9112a62 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -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
diff --git a/arch/arm/boot/dts/mmp3-dell-ariel.dts b/arch/arm/boot/dts/mmp3-dell-ariel.dts
new file mode 100644
index 0000000000000..61edb4d06880b
--- /dev/null
+++ b/arch/arm/boot/dts/mmp3-dell-ariel.dts
@@ -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";
+};