[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cb42c36c-6496-441a-a6c5-e4fdb512292e@microchip.com>
Date: Thu, 27 Jun 2024 06:08:15 +0000
From: <Manikandan.M@...rochip.com>
To: <conor@...nel.org>
CC: <linus.walleij@...aro.org>, <brgl@...ev.pl>, <robh@...nel.org>,
<krzk+dt@...nel.org>, <conor+dt@...nel.org>, <Nicolas.Ferre@...rochip.com>,
<alexandre.belloni@...tlin.com>, <claudiu.beznea@...on.dev>, <arnd@...db.de>,
<Durai.ManickamKR@...rochip.com>, <linux-gpio@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 4/5] dt-bindings: gpio: convert Atmel GPIO to
json-schema
Hi Conor,
On 26/06/24 2:29 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@...nel.org>
> Date:
> 26/06/24, 2:29 pm
>
> To:
> Manikandan.M@...rochip.com
> CC:
> linus.walleij@...aro.org, brgl@...ev.pl, robh@...nel.org,
> krzk+dt@...nel.org, conor+dt@...nel.org, Nicolas.Ferre@...rochip.com,
> alexandre.belloni@...tlin.com, claudiu.beznea@...on.dev, arnd@...db.de,
> Durai.ManickamKR@...rochip.com, linux-gpio@...r.kernel.org,
> devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
> linux-kernel@...r.kernel.org
>
>
> On Wed, Jun 26, 2024 at 08:32:41AM +0000,Manikandan.M@...rochip.com wrote:
>> On 25/06/24 10:04 pm, Conor Dooley wrote:
>>> Re: [PATCH v2 4/5] dt-bindings: gpio: convert Atmel GPIO to json-schema
>>> From: Conor Dooley<conor@...nel.org>
>>> 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@...rochip.com>
>>>> ---
>>>> 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@...rochip.com>
>>>> +
>>>> +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.
> That's unfortunately not what I asked. Forget about
> at91_pinctrl_child_count() for a minute and answer the question again:
> Are the sam9x60 and at91rm9200 actually compatible?
>
> Hints:
> - Do the registers that are in the at91rm9200 have the same behaviour in
> the sam9x60?
The registers in at91rm9200 have the same behavior as sam9x60 expect
that the former supports only 2 Peripheral function per pin while
sam9x60 supports 4.
> - Are the new registers in sam9x60 optional, so that if all sam9x60 code
> was deleted from the driver, the driver would still work for the subset
> of features that the at91rm9200 already supports?
at91rm9200 function will work for sam9x60 but not up-to its full
potential.The new registers in sam9x60 for drive-strength, slew-rate,
debounce, pull-down will help drive the the current pinmux configs for
sam9x60/9x7 board DT.
>
> Thanks,
> Conor.
>
--
Thanks and Regards,
Manikandan M.
Powered by blists - more mailing lists