[PATCH linux dev-6.12 1/6] dt-bindings: gpio: cdns: convert to YAML

Andrew Jeffery andrew at codeconstruct.com.au
Fri Jan 9 12:42:56 AEDT 2026


Hi Kuan-Jui,

I've recently moved OpenBMC to use v6.18 (with a bump to v6.18.4
pending). From brief inspection that upgrade removes the need for this
series. Can you confirm?

Regardless, a few procedural things for the future when sending
backports for openbmc/linux. Can you please:

   1. Send your series with a cover letter
   2. Use `git cherry-pick -xs` to establish your series
   3. Use the `--suppress-cc=all` option to `git send-email` (if that's
      what you've used to send the series)

The first gives you an opportunity to provide context for the series
(and this reply could be against that cover-letter rather than patch
1/6). It also makes the mail threading sensible, rather than the tail
patches being a reply to the first patch.

The second helps me track how you pieced it together. I haven't looked,
but I'd be unsurprised if the collection here isn't in one contiguous
series of changes upstream. Adding the upstream commit information
allows me to use tools like range-diff to inspect what you've sent.
Having your sign-off in the case that I directly apply your series
helps track the chain of custody for the patches.

The third ensures that upstream contributors and maintainers aren't
bothered by the noise of backporting to a fork they might not care too
much for.

Cheers,

Andrew

On Thu, 2025-12-25 at 17:57 -0800, Kuan-Jui Chiu wrote:
> From: Harshit Shah <hshah at axiado.com>
> 
> Convert Cadence family GPIO controller bindings to DT schema.
> 
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
> Signed-off-by: Harshit Shah <hshah at axiado.com>
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
> ---
>  .../devicetree/bindings/gpio/cdns,gpio.txt    | 43 ----------
>  .../devicetree/bindings/gpio/cdns,gpio.yaml   | 79
> +++++++++++++++++++
>  2 files changed, 79 insertions(+), 43 deletions(-)
>  delete mode 100644
> Documentation/devicetree/bindings/gpio/cdns,gpio.txt
>  create mode 100644
> Documentation/devicetree/bindings/gpio/cdns,gpio.yaml
> 
> diff --git a/Documentation/devicetree/bindings/gpio/cdns,gpio.txt
> b/Documentation/devicetree/bindings/gpio/cdns,gpio.txt
> deleted file mode 100644
> index 706ef00f5c64..000000000000
> --- a/Documentation/devicetree/bindings/gpio/cdns,gpio.txt
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -Cadence GPIO controller bindings
> -
> -Required properties:
> -- compatible: should be "cdns,gpio-r1p02".
> -- reg: the register base address and size.
> -- #gpio-cells: should be 2.
> - * first cell is the GPIO number.
> - * second cell specifies the GPIO flags, as defined in
> - <dt-bindings/gpio/gpio.h>. Only the GPIO_ACTIVE_HIGH
> - and GPIO_ACTIVE_LOW flags are supported.
> -- gpio-controller: marks the device as a GPIO controller.
> -- clocks: should contain one entry referencing the peripheral clock
> driving
> - the GPIO controller.
> -
> -Optional properties:
> -- ngpios: integer number of gpio lines supported by this controller,
> up to 32.
> -- interrupts: interrupt specifier for the controllers interrupt.
> -- interrupt-controller: marks the device as an interrupt controller.
> When
> - defined, interrupts, interrupt-parent and #interrupt-cells
> - are required.
> -- interrupt-cells: should be 2.
> - * first cell is the GPIO number you want to use as an IRQ source.
> - * second cell specifies the IRQ type, as defined in
> - <dt-bindings/interrupt-controller/irq.h>.
> - Currently only level sensitive IRQs are supported.
> -
> -
> -Example:
> - gpio0: gpio-controller at fd060000 {
> - compatible = "cdns,gpio-r1p02";
> - reg =<0xfd060000 0x1000>;
> -
> - clocks = <&gpio_clk>;
> -
> - interrupt-parent = <&gic>;
> - interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
> -
> - gpio-controller;
> - #gpio-cells = <2>;
> -
> - interrupt-controller;
> - #interrupt-cells = <2>;
> - };
> diff --git a/Documentation/devicetree/bindings/gpio/cdns,gpio.yaml
> b/Documentation/devicetree/bindings/gpio/cdns,gpio.yaml
> new file mode 100644
> index 000000000000..f1a64c173665
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/cdns,gpio.yaml
> @@ -0,0 +1,79 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gpio/cdns,gpio.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cadence GPIO Controller
> +
> +maintainers:
> +  - Jan Kotas <jank at cadence.com>
> +
> +properties:
> +  compatible:
> +    const: cdns,gpio-r1p02
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +
> +  ngpios:
> +    minimum: 1
> +    maximum: 32
> +
> +  gpio-controller: true
> +
> +  "#gpio-cells":
> +    const: 2
> +    description: |
> +      - First cell is the GPIO line number.
> +      - Second cell is flags as defined in <dt-
> bindings/gpio/gpio.h>,
> +        only GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW supported.
> +
> +  interrupt-controller: true
> +
> +  "#interrupt-cells":
> +    const: 2
> +    description: |
> +      - First cell is the GPIO line number used as IRQ.
> +      - Second cell is the trigger type, as defined in
> +        <dt-bindings/interrupt-controller/irq.h>.
> +
> +  interrupts:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +  - gpio-controller
> +  - "#gpio-cells"
> +
> +if:
> +  required: [interrupt-controller]
> +then:
> +  required:
> +    - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    gpio0: gpio-controller at fd060000 {
> +        compatible = "cdns,gpio-r1p02";
> +        reg = <0xfd060000 0x1000>;
> +        clocks = <&gpio_clk>;
> +
> +        interrupt-parent = <&gic>;
> +        interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
> +
> +        gpio-controller;
> +        #gpio-cells = <2>;
> +
> +        interrupt-controller;
> +        #interrupt-cells = <2>;
> +    };


More information about the openbmc mailing list