Hi Conor, On 25/06/24 10:04 pm, Conor Dooley wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > > ForwardedMessage.eml > > Subject: > Re: [PATCH v2 4/5] dt-bindings: gpio: convert Atmel GPIO to json-schema > From: > Conor Dooley <conor@xxxxxxxxxx> > Date: > 25/06/24, 10:04 pm > > To: > Manikandan Muralidharan <manikandan.m@xxxxxxxxxxxxx> > CC: > linus.walleij@xxxxxxxxxx, brgl@xxxxxxxx, robh@xxxxxxxxxx, > krzk+dt@xxxxxxxxxx, conor+dt@xxxxxxxxxx, nicolas.ferre@xxxxxxxxxxxxx, > alexandre.belloni@xxxxxxxxxxx, claudiu.beznea@xxxxxxxxx, arnd@xxxxxxxx, > durai.manickamkr@xxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx, > devicetree@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, > linux-kernel@xxxxxxxxxxxxxxx > > > On Tue, Jun 25, 2024 at 10:05:24AM +0530, Manikandan Muralidharan wrote: >> Convert the Atmel GPIO controller binding document to DT schema format >> using json-schema. >> The compatible string "microchip,sam9x7-gpio" is added as well. >> >> Signed-off-by: Manikandan Muralidharan<manikandan.m@xxxxxxxxxxxxx> >> --- >> changes in v2: >> - Fix bot errors with 'make dt_binding_check', missed to add >> "atmel,at91rm9200-gpio" as separate compatible for devices that uses it >> - Remove label from example >> - Add default entry for #gpio-lines property >> - Add new compatible string details in commit message >> --- >> .../bindings/gpio/atmel,at91rm9200-gpio.yaml | 81 +++++++++++++++++++ >> .../devicetree/bindings/gpio/gpio_atmel.txt | 31 ------- >> 2 files changed, 81 insertions(+), 31 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/gpio/atmel,at91rm9200-gpio.yaml >> delete mode 100644 Documentation/devicetree/bindings/gpio/gpio_atmel.txt >> >> diff --git a/Documentation/devicetree/bindings/gpio/atmel,at91rm9200-gpio.yaml b/Documentation/devicetree/bindings/gpio/atmel,at91rm9200-gpio.yaml >> new file mode 100644 >> index 000000000000..3dd70933ed8e >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/gpio/atmel,at91rm9200-gpio.yaml >> @@ -0,0 +1,81 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id:http://devicetree.org/schemas/gpio/atmel,at91rm9200-gpio.yaml# >> +$schema:http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Microchip GPIO controller (PIO) >> + >> +maintainers: >> + - Manikandan Muralidharan<manikandan.m@xxxxxxxxxxxxx> >> + >> +properties: >> + compatible: >> + oneOf: >> + - items: >> + - enum: >> + - atmel,at91sam9x5-gpio >> + - microchip,sam9x60-gpio >> + - const: atmel,at91rm9200-gpio >> + - items: >> + - enum: >> + - microchip,sam9x7-gpio >> + - const: microchip,sam9x60-gpio >> + - const: atmel,at91rm9200-gpio > It's worth pointing out that this is required, because the driver > implements a different set of ops for the sam9x60. There's not just more > of them, they're different too. > Are the sam9x60 and at91rm9200 are actually compatible, or is the > fallback here some mistake that originated in the dts? > The PIO3 pinctrl driver uses the compatible "atmel,at91rm9200-gpio" to find the number of active GPIO banks and also to differentiate them from the pinmux child nodes.The driver probe fails if the at91rm9200 is not present in the GPIO bank compatible property list. For sam9x7, "microchip,sam9x60-gpio" is used as the fallback compatible and "atmel,at91rm9200-gpio" is added by default to avoid probe issues and help find the number of GPIO banks by the driver. -- Thanks and Regards, Manikandan M.