spi: dt-bindings: brcm,bcm2835-aux-spi: Convert to dtschema
authorKaran Sanghavi <karansanghvi98@gmail.com>
Thu, 17 Oct 2024 15:02:16 +0000 (15:02 +0000)
committerMark Brown <broonie@kernel.org>
Thu, 17 Oct 2024 15:07:59 +0000 (16:07 +0100)
Convert bcm2835-aux-spi binding to Dt schema

Signed-off-by: Karan Sanghavi <karansanghvi98@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/ZxEm-H-PjlQyXeOH@Emma
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.txt [deleted file]
Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.yaml [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.txt b/Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.txt
deleted file mode 100644 (file)
index d7668f4..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-Broadcom BCM2835 auxiliary SPI1/2 controller
-
-The BCM2835 contains two forms of SPI master controller, one known simply as
-SPI0, and the other known as the "Universal SPI Master"; part of the
-auxiliary block. This binding applies to the SPI1/2 controller.
-
-Required properties:
-- compatible: Should be "brcm,bcm2835-aux-spi".
-- reg: Should contain register location and length for the spi block
-- interrupts: Should contain shared interrupt of the aux block
-- clocks: The clock feeding the SPI controller - needs to
-         point to the auxiliary clock driver of the bcm2835,
-         as this clock will enable the output gate for the specific
-         clock.
-- cs-gpios: the cs-gpios (native cs is NOT supported)
-           see also spi-bus.txt
-
-Example:
-
-spi1@7e215080 {
-       compatible = "brcm,bcm2835-aux-spi";
-       reg = <0x7e215080 0x40>;
-       interrupts = <1 29>;
-       clocks = <&aux_clocks BCM2835_AUX_CLOCK_SPI1>;
-       #address-cells = <1>;
-       #size-cells = <0>;
-       cs-gpios = <&gpio 18>, <&gpio 17>, <&gpio 16>;
-};
-
-spi2@7e2150c0 {
-       compatible = "brcm,bcm2835-aux-spi";
-       reg = <0x7e2150c0 0x40>;
-       interrupts = <1 29>;
-       clocks = <&aux_clocks BCM2835_AUX_CLOCK_SPI2>;
-       #address-cells = <1>;
-       #size-cells = <0>;
-       cs-gpios = <&gpio 43>, <&gpio 44>, <&gpio 45>;
-};
diff --git a/Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.yaml b/Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.yaml
new file mode 100644 (file)
index 0000000..5613195
--- /dev/null
@@ -0,0 +1,53 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/spi/brcm,bcm2835-aux-spi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Broadcom BCM2835 Auxiliary SPI1/2 Controller
+
+maintainers:
+  - Karan Sanghavi <karansanghvi98@gmail.com>
+
+description:
+  The BCM2835 contains two forms of SPI master controller. One is known simply
+  as SPI0, and the other as the "Universal SPI Master," which is part of the
+  auxiliary block. This binding applies to the SPI1 and SPI2 auxiliary
+  controllers.
+
+allOf:
+  - $ref: spi-controller.yaml#
+
+properties:
+  compatible:
+    enum:
+      - brcm,bcm2835-aux-spi
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/bcm2835-aux.h>
+    spi@7e215080 {
+        compatible = "brcm,bcm2835-aux-spi";
+        reg = <0x7e215080 0x40>;
+        interrupts = <1 29>;
+        clocks = <&aux_clocks BCM2835_AUX_CLOCK_SPI1>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+    };