[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a4d934c6-ec28-50d0-b9bb-9b11fee7ebb6@microchip.com>
Date: Wed, 10 May 2023 07:14:19 +0000
From: <Claudiu.Beznea@...rochip.com>
To: <krzysztof.kozlowski@...aro.org>, <mturquette@...libre.com>,
<sboyd@...nel.org>, <robh+dt@...nel.org>,
<krzysztof.kozlowski+dt@...aro.org>, <Nicolas.Ferre@...rochip.com>,
<alexandre.belloni@...tlin.com>
CC: <linux-clk@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3 2/5] dt-bindings: clocks: atmel,at91rm9200-pmc: convert
to yaml
On 10.05.2023 10:06, Krzysztof Kozlowski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On 10/05/2023 09:00, Claudiu.Beznea@...rochip.com wrote:
>> On 09.05.2023 09:25, Krzysztof Kozlowski wrote:
>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>
>>> On 09/05/2023 07:27, Claudiu Beznea wrote:
>>>> Convert Atmel PMC documentation to yaml. Along with it clock names
>>>> were adapted according to the current available device trees as
>>>> different controller versions accept different clocks (some of them
>>>> have 3 clocks as input, some has 2 clocks as inputs and some with 2
>>>> input clocks uses different clock names).
>>>>
>>>
>>> Thank you for your patch. There is something to discuss/improve.
>>>
>>>> +title: Atmel Power Management Controller (PMC)
>>>> +
>>>> +maintainers:
>>>> + - Claudiu Beznea <claudiu.beznea@...rochip.com>
>>>> +
>>>> +description:
>>>> + The power management controller optimizes power consumption by controlling all
>>>> + system and user peripheral clocks. The PMC enables/disables the clock inputs
>>>> + to many of the peripherals and to the processor.
>>>> +
>>>> +properties:
>>>> + compatible:
>>>> + oneOf:
>>>> + - items:
>>>> + - enum:
>>>> + - atmel,at91sam9g15-pmc
>>>> + - atmel,at91sam9g20-pmc
>>>> + - atmel,at91sam9g25-pmc
>>>> + - atmel,at91sam9g35-pmc
>>>> + - atmel,at91sam9x25-pmc
>>>> + - atmel,at91sam9x35-pmc
>>>> + - enum:
>>>> + - atmel,at91sam9260-pmc
>>>> + - atmel,at91sam9x5-pmc
>>>
>>> I missed it last time - why you have two enums? We never talked about
>>> this. It's usually wrong... are you sure this is real hardware:
>>> atmel,at91sam9g20-pmc, atmel,at91sam9260-pmc
>>> ?
>>
>> I have 2 enums because there are some hardware covered by:
>> "vendor-name,hardware-v1-pmc", "syscon" and some covered by:
>> "vendor-name,hardware-v2-pmc", "vendor-name,hardware-v1-pmc", "syscon".
>
> The enum does not say this. At all.
>
> So again, answer, do not ignore:
> is this valid setup:
> atmel,at91sam9g20-pmc, atmel,at91sam9260-pmc
> ?
Not w/o syscon. This is valid:
compatible = "atmel,at91sam9g20-pmc", "atmel,at91sam9260-pmc", "syscon";
available in arch/arm/boot/dts/at91sam9g20.dtsi +45
>
>>
>> Many AT91 device trees compatibles were written in this way. Thus when new
>> versions of the same IP has been introduced the drivers were not
>> necessarily updated but the compatibles in device trees were updated e.g.
>> with "vendor-name,hardware-v2-pmc" (the full compatible becoming
>> "vendor-name,hardware-v2-pmc", "vendor-name,hardware-v1-pmc", "syscon") and
>> let the drivers fall back to already in driver supported compatible
>> "vendor-name,hardware-v1-pmc", "syscon". In general v2 comes with new
>> features in addition to v1.
>>
>> That way they AT91 ensures the ABI properties of DT and thus when the
>> drivers were finally updated with the new features of the
>> "vendor-name,hardware-v2-pmc" DT remained in place.
>>
>> Please let me know if these could be handled better in YAML.
>
>
> enum + const + syscon, like every binding that type does in all
> bindings. Don't invent some new syntax.
>
> Best regards,
> Krzysztof
>
Powered by blists - more mailing lists