devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] dt-bindings: interrupt-controller: Convert Amlogic Meson GPIO interrupt controller binding
@ 2023-03-12 21:29 Heiner Kallweit
  2023-03-30  5:53 ` Heiner Kallweit
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Heiner Kallweit @ 2023-03-12 21:29 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Thomas Gleixner, Marc Zyngier,
	Jerome Brunet, Neil Armstrong, Martin Blumenstingl, Kevin Hilman
  Cc: open list:ARM/Amlogic Meson...,
	linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org

Convert Amlogic Meson GPIO interrupt controller binding to yaml.

Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
- consider that more than one compatible may be set
- remove bus part from example
- remove minItem/maxItem properties for compatible
- reduce compatible fallback complexity
- add that 8 or 12 GIC interrupts can be used
- fix typo
---
 .../amlogic,meson-gpio-intc.txt               | 38 ----------
 .../amlogic,meson-gpio-intc.yaml              | 72 +++++++++++++++++++
 2 files changed, 72 insertions(+), 38 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.yaml

diff --git a/Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt
deleted file mode 100644
index bde63f8f0..000000000
--- a/Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-Amlogic meson GPIO interrupt controller
-
-Meson SoCs contains an interrupt controller which is able to watch the SoC
-pads and generate an interrupt on edge or level. The controller is essentially
-a 256 pads to 8 GIC interrupt multiplexer, with a filter block to select edge
-or level and polarity. It does not expose all 256 mux inputs because the
-documentation shows that the upper part is not mapped to any pad. The actual
-number of interrupt exposed depends on the SoC.
-
-Required properties:
-
-- compatible : must have "amlogic,meson8-gpio-intc" and either
-    "amlogic,meson8-gpio-intc" for meson8 SoCs (S802) or
-    "amlogic,meson8b-gpio-intc" for meson8b SoCs (S805) or
-    "amlogic,meson-gxbb-gpio-intc" for GXBB SoCs (S905) or
-    "amlogic,meson-gxl-gpio-intc" for GXL SoCs (S905X, S912)
-    "amlogic,meson-axg-gpio-intc" for AXG SoCs (A113D, A113X)
-    "amlogic,meson-g12a-gpio-intc" for G12A SoCs (S905D2, S905X2, S905Y2)
-    "amlogic,meson-sm1-gpio-intc" for SM1 SoCs (S905D3, S905X3, S905Y3)
-    "amlogic,meson-a1-gpio-intc" for A1 SoCs (A113L)
-    "amlogic,meson-s4-gpio-intc" for S4 SoCs (S802X2, S905Y4, S805X2G, S905W2)
-- reg : Specifies base physical address and size of the registers.
-- interrupt-controller : Identifies the node as an interrupt controller.
-- #interrupt-cells : Specifies the number of cells needed to encode an
-   interrupt source. The value must be 2.
-- meson,channel-interrupts: Array with the 8 upstream hwirq numbers. These
-   are the hwirqs used on the parent interrupt controller.
-
-Example:
-
-gpio_interrupt: interrupt-controller@9880 {
-	compatible = "amlogic,meson-gxbb-gpio-intc",
-		     "amlogic,meson-gpio-intc";
-	reg = <0x0 0x9880 0x0 0x10>;
-	interrupt-controller;
-	#interrupt-cells = <2>;
-	meson,channel-interrupts = <64 65 66 67 68 69 70 71>;
-};
diff --git a/Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.yaml b/Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.yaml
new file mode 100644
index 000000000..fe7ef1916
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.yaml
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/interrupt-controller/amlogic,meson-gpio-intc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Amlogic Meson GPIO interrupt controller
+
+maintainers:
+  - Heiner Kallweit <hkallweit1@gmail.com>
+
+description: |
+  Meson SoCs contains an interrupt controller which is able to watch the SoC
+  pads and generate an interrupt on edge or level. The controller is essentially
+  a 256 pads to 8 or 12 GIC interrupt multiplexer, with a filter block to select
+  edge or level and polarity. It does not expose all 256 mux inputs because the
+  documentation shows that the upper part is not mapped to any pad. The actual
+  number of interrupts exposed depends on the SoC.
+
+allOf:
+  - $ref: /schemas/interrupt-controller.yaml#
+
+properties:
+  compatible:
+    oneOf:
+      - const: amlogic,meson-gpio-intc
+      - items:
+          - enum:
+              - amlogic,meson8-gpio-intc
+              - amlogic,meson8b-gpio-intc
+              - amlogic,meson-gxbb-gpio-intc
+              - amlogic,meson-gxl-gpio-intc
+              - amlogic,meson-axg-gpio-intc
+              - amlogic,meson-g12a-gpio-intc
+              - amlogic,meson-sm1-gpio-intc
+              - amlogic,meson-a1-gpio-intc
+              - amlogic,meson-s4-gpio-intc
+          - const: amlogic,meson-gpio-intc
+
+  reg:
+    maxItems: 1
+
+  interrupt-controller: true
+
+  "#interrupt-cells":
+    const: 2
+
+  amlogic,channel-interrupts:
+    description: Array with the upstream hwirq numbers
+    minItems: 8
+    maxItems: 12
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+
+required:
+  - compatible
+  - reg
+  - interrupt-controller
+  - "#interrupt-cells"
+  - amlogic,channel-interrupts
+
+additionalProperties: false
+
+examples:
+  - |
+    interrupt-controller@9880 {
+      compatible = "amlogic,meson-gxbb-gpio-intc",
+                   "amlogic,meson-gpio-intc";
+      reg = <0x9880 0x10>;
+      interrupt-controller;
+      #interrupt-cells = <2>;
+      amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
+    };
-- 
2.39.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [PATCH 0/8] soc: amlogic: switch bindings to yaml and adjust some dtbs's
@ 2023-01-23 21:22 Heiner Kallweit
  2023-01-27 21:14 ` [PATCH v2] dt-bindings: interrupt-controller: Convert Amlogic Meson GPIO interrupt controller binding Heiner Kallweit
  0 siblings, 1 reply; 7+ messages in thread
From: Heiner Kallweit @ 2023-01-23 21:22 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Neil Armstrong, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl, Alessandro Zummo,
	Alexandre Belloni, Thierry Reding, Uwe Kleine-König,
	Thomas Gleixner, Marc Zyngier, Linus Walleij
  Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	open list:ARM/Amlogic Meson..., linux-pwm, linux-rtc,
	linux-gpio@vger.kernel.org

At first adjust some existing dtbs's so that they pass dtbs_check
after switching bindings to yaml.

Then switch further Amlogic Meson bindings to yaml.
Tested with make targets dt_binding_check and dtbs_check.

Heiner Kallweit (8):
  arm64: dts: meson-gx: Remove invalid pwm compatible
  arm64: dts: amlogic: Fix non-compliant SD/SDIO node names
  arm64: dts: meson-gx: Set only one compatible string for mmc
  arm64: dts: amlogic: Remove invalid compatible string
    amlogic,meson-gpio-intc
  dt-bindings: rtc: Add Amlogic Meson vrtc controller binding
  dt-bindings: pwm: Add Amlogic Meson PWM binding
  dt-bindings: interrupt-controller: Add Amlogic Meson GPIO interrupt
    controller binding
  dt-bindings: pinctrl: Add Amlogic Meson pinctrl binding

 .../amlogic,meson-gpio-intc.txt               |  38 ------
 .../amlogic,meson-gpio-intc.yaml              |  72 +++++++++++
 .../pinctrl/amlogic,meson-pinctrl.yaml        | 121 ++++++++++++++++++
 .../bindings/pinctrl/meson,pinctrl.txt        |  94 --------------
 .../devicetree/bindings/pwm/pwm-amlogic.yaml  |  61 +++++++++
 .../devicetree/bindings/pwm/pwm-meson.txt     |  29 -----
 .../bindings/rtc/amlogic,meson-vrtc.yaml      |  50 ++++++++
 .../bindings/rtc/rtc-meson-vrtc.txt           |  22 ----
 arch/arm64/boot/dts/amlogic/meson-axg.dtsi    |   5 +-
 .../boot/dts/amlogic/meson-g12-common.dtsi    |   7 +-
 arch/arm64/boot/dts/amlogic/meson-gx.dtsi     |  15 +--
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi   |   3 +-
 arch/arm64/boot/dts/amlogic/meson-gxl.dtsi    |   3 +-
 arch/arm64/boot/dts/amlogic/meson-s4.dtsi     |   3 +-
 arch/arm64/boot/dts/amlogic/meson-sm1.dtsi    |   3 +-
 15 files changed, 320 insertions(+), 206 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.yaml
 create mode 100644 Documentation/devicetree/bindings/pinctrl/amlogic,meson-pinctrl.yaml
 delete mode 100644 Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt
 create mode 100644 Documentation/devicetree/bindings/pwm/pwm-amlogic.yaml
 delete mode 100644 Documentation/devicetree/bindings/pwm/pwm-meson.txt
 create mode 100644 Documentation/devicetree/bindings/rtc/amlogic,meson-vrtc.yaml
 delete mode 100644 Documentation/devicetree/bindings/rtc/rtc-meson-vrtc.txt

-- 
2.39.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-06-22  7:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-12 21:29 [PATCH v2] dt-bindings: interrupt-controller: Convert Amlogic Meson GPIO interrupt controller binding Heiner Kallweit
2023-03-30  5:53 ` Heiner Kallweit
2023-06-20  7:33 ` Neil Armstrong
2023-06-20  7:36   ` Krzysztof Kozlowski
2023-06-20  7:41     ` neil.armstrong
2023-06-22  7:57 ` Neil Armstrong
  -- strict thread matches above, loose matches on Subject: below --
2023-01-23 21:22 [PATCH 0/8] soc: amlogic: switch bindings to yaml and adjust some dtbs's Heiner Kallweit
2023-01-27 21:14 ` [PATCH v2] dt-bindings: interrupt-controller: Convert Amlogic Meson GPIO interrupt controller binding Heiner Kallweit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).