Thread (29 messages) 29 messages, 10 authors, 2018-06-28

[PATCH 5/5] RFC: ARM64: dts: Add Low-Speed Connector to ZCU100

From: robh+dt@kernel.org (Rob Herring)
Date: 2018-06-19 14:55:10
Also in: linux-devicetree

+David G

On Mon, Jun 18, 2018 at 1:45 AM, Linus Walleij [off-list ref] wrote:
quoted hunk ↗ jump to hunk
This adds the low-speed connector to the ZCU100 rev C device
tree (also known as the Ultra96 board).

This is a proof-of-concept only, showing how it is possible
to populate a Secure96 board using the other patches in the
series.

If you comment out or delete the board {} node, you can
populate/depopulate the board from sysfs instead.

Signed-off-by: Linus Walleij <redacted>
---
 .../boot/dts/xilinx/zynqmp-zcu100-revC.dts    | 27 +++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts
index d62276e0e0a9..fc30497f248d 100644
--- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts
@@ -110,6 +110,28 @@
                compatible = "mmc-pwrseq-simple";
                reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */
        };
+
+       lscon: connector {
+               compatible = "96boards,low-speed-connector";
+               i2c0 = <&i2csw_0>;
+               i2c1 = <&i2csw_1>;
+               spi = <&spi0>;
David had suggested having an aliases node here for mapping things
like SPI and I2C. That actually seems like a good use for aliases
compared to the usual abuse to make Linux provide fixed numbering.
+               gpios = <&gpio 36 GPIO_ACTIVE_HIGH>, /* GPIO-A */
Why aren't you using gpio-map? This is what it was defined for.
+                       <&gpio 37 GPIO_ACTIVE_HIGH>, /* GPIO-B */
+                       <&gpio 39 GPIO_ACTIVE_HIGH>, /* GPIO-C */
+                       <&gpio 40 GPIO_ACTIVE_HIGH>, /* GPIO-D */
+                       <&gpio 44 GPIO_ACTIVE_HIGH>, /* GPIO-E */
+                       <&gpio 45 GPIO_ACTIVE_HIGH>, /* GPIO-F */
+                       <&gpio 78 GPIO_ACTIVE_HIGH>, /* GPIO-G */
+                       <&gpio 79 GPIO_ACTIVE_HIGH>, /* GPIO-H */
+                       <&gpio 80 GPIO_ACTIVE_HIGH>, /* GPIO-I */
+                       <&gpio 81 GPIO_ACTIVE_HIGH>, /* GPIO-J */
+                       <&gpio 82 GPIO_ACTIVE_HIGH>, /* GPIO-K */
+                       <&gpio 83 GPIO_ACTIVE_HIGH>; /* GPIO-L */
+               board {
+                       compatible = "96boards,secure96";
I'm all for putting things in the kernel/drivers for things we can't
nail down bindings for, but it really seems like you are punting all
the problems. Plus if we fully define how to handle the different
bindings, we'll likely end up with something different and
incompatible with what you have here.

Rob
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help