[PATCH v2] dt-bindings: gpio: aspeed,ast2400-gpio: Convert to DT schema

Conor Dooley conor at kernel.org
Tue Mar 5 07:23:27 AEDT 2024


On Mon, Feb 26, 2024 at 01:49:51PM +1030, Andrew Jeffery wrote:
> Squash warnings such as:
> 
> ```
> arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-galaxy100.dtb: /ahb/apb at 1e600000/gpio at 1e780000: failed to match any schema with compatible: ['aspeed,ast2400-gpio']
> ```
> 
> Signed-off-by: Andrew Jeffery <andrew at codeconstruct.com.au>
> ---
> v2: Address feedback from Krzysztof:
>     https://lore.kernel.org/all/0d1dd262-b6dd-4d71-9239-8b0aec8cceff@linaro.org/
> 
> v1: https://lore.kernel.org/all/20240220052918.742793-1-andrew@codeconstruct.com.au/
> 
>  .../bindings/gpio/aspeed,ast2400-gpio.yaml    | 73 +++++++++++++++++++
>  .../devicetree/bindings/gpio/gpio-aspeed.txt  | 39 ----------
>  2 files changed, 73 insertions(+), 39 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml
>  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-aspeed.txt
> 
> diff --git a/Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml b/Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml
> new file mode 100644
> index 000000000000..74d376567dfc
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml
> @@ -0,0 +1,73 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gpio/aspeed,ast2400-gpio.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Aspeed GPIO controller
> +
> +maintainers:
> +  - Andrew Jeffery <andrew at codeconstruct.com.au>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - aspeed,ast2400-gpio
> +      - aspeed,ast2500-gpio
> +      - aspeed,ast2600-gpio
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +    description: The clock to use for debounce timings

The original binding does not require this clock, but I can't help but
wonder if it should be required. I suspect that this peripheral does
not actually work if a clock is not provided to it. Whether or not the
rate of the clock is then used by the driver for debounce timings or
whatever is a different question.

Otherwise though, this looks fine to me.
Reviewed-by: Conor Dooley <conor.dooley at microchip.com>

Cheers,
Conor.

> +  "#gpio-cells":
> +    const: 2
> +
> +  gpio-controller: true
> +  gpio-line-names: true
> +  gpio-ranges: true
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  interrupt-controller: true
> +
> +  "#interrupt-cells":
> +    const: 2
> +
> +  ngpios: true
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - interrupt-controller
> +  - "#interrupt-cells"
> +  - "#gpio-cells"
> +  - gpio-controller
> +
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: aspeed,ast2600-gpio
> +    then:
> +      required:
> +        - ngpios
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    gpio at 1e780000 {
> +        compatible = "aspeed,ast2400-gpio";
> +        reg = <0x1e780000 0x1000>;
> +        interrupts = <20>;
> +        interrupt-controller;
> +        #gpio-cells = <2>;
> +        gpio-controller;
> +    };
> diff --git a/Documentation/devicetree/bindings/gpio/gpio-aspeed.txt b/Documentation/devicetree/bindings/gpio/gpio-aspeed.txt
> deleted file mode 100644
> index b2033fc3a71a..000000000000
> --- a/Documentation/devicetree/bindings/gpio/gpio-aspeed.txt
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -Aspeed GPIO controller Device Tree Bindings
> --------------------------------------------
> -
> -Required properties:
> -- compatible		: Either "aspeed,ast2400-gpio", "aspeed,ast2500-gpio",
> -					or "aspeed,ast2600-gpio".
> -
> -- #gpio-cells 		: Should be two
> -			  - First cell is the GPIO line number
> -			  - Second cell is used to specify optional
> -			    parameters (unused)
> -
> -- reg			: Address and length of the register set for the device
> -- gpio-controller	: Marks the device node as a GPIO controller.
> -- interrupts		: Interrupt specifier (see interrupt bindings for
> -			  details)
> -- interrupt-controller	: Mark the GPIO controller as an interrupt-controller
> -
> -Optional properties:
> -
> -- clocks		: A phandle to the clock to use for debounce timings
> -- ngpios		: Number of GPIOs controlled by this controller. Should	be set
> -				  when there are multiple GPIO controllers on a SoC (ast2600).
> -
> -The gpio and interrupt properties are further described in their respective
> -bindings documentation:
> -
> -- Documentation/devicetree/bindings/gpio/gpio.txt
> -- Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
> -
> -  Example:
> -	gpio at 1e780000 {
> -		#gpio-cells = <2>;
> -		compatible = "aspeed,ast2400-gpio";
> -		gpio-controller;
> -		interrupts = <20>;
> -		reg = <0x1e780000 0x1000>;
> -		interrupt-controller;
> -	};
> -- 
> 2.39.2
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linux-aspeed/attachments/20240304/38367245/attachment.sig>


More information about the Linux-aspeed mailing list