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@1e600000/gpio@1e780000: failed to match any schema with compatible: ['aspeed,ast2400-gpio'] > ``` > > Signed-off-by: Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx> > --- > v2: Address feedback from Krzysztof: > https://lore.kernel.org/all/0d1dd262-b6dd-4d71-9239-8b0aec8cceff@xxxxxxxxxx/ > > v1: https://lore.kernel.org/all/20240220052918.742793-1-andrew@xxxxxxxxxxxxxxxxxxxx/ > > .../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@xxxxxxxxxxxxxxxxxxxx> > + > +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@xxxxxxxxxxxxx> 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@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@1e780000 { > - #gpio-cells = <2>; > - compatible = "aspeed,ast2400-gpio"; > - gpio-controller; > - interrupts = <20>; > - reg = <0x1e780000 0x1000>; > - interrupt-controller; > - }; > -- > 2.39.2 >
Attachment:
signature.asc
Description: PGP signature