diff mbox series

[v2,04/16] dt-bindings: clock: at91: Allow referencing main rc oscillator in DT

Message ID 20250210164506.495747-5-ada@thorsis.com (mailing list archive)
State New
Headers show
Series Microchip OTPC driver on SAM9X60 exposing UIDxR as additional nvmem device | expand

Commit Message

Alexander Dahl Feb. 10, 2025, 4:44 p.m. UTC
The main rc oscillator will be needed for the OTPC to work properly.

The new index introduced here was not used on the four affected SoC
clock drivers before, but for sama5d2 only (PMC_I2S1_MUX).

Link: https://lore.kernel.org/linux-devicetree/20250207-jailbird-circus-bcc04ee90e05@thorsis.com/T/#u
Signed-off-by: Alexander Dahl <ada@thorsis.com>
---

Notes:
    v2:
    - new patch, not present in v1

 include/dt-bindings/clock/microchip,sam9x60-pmc.h  | 3 +++
 include/dt-bindings/clock/microchip,sam9x7-pmc.h   | 3 +++
 include/dt-bindings/clock/microchip,sama7d65-pmc.h | 3 +++
 include/dt-bindings/clock/microchip,sama7g5-pmc.h  | 3 +++
 4 files changed, 12 insertions(+)

Comments

Krzysztof Kozlowski Feb. 10, 2025, 5:07 p.m. UTC | #1
On 10/02/2025 17:44, Alexander Dahl wrote:
> The main rc oscillator will be needed for the OTPC to work properly.
> 
> The new index introduced here was not used on the four affected SoC
> clock drivers before, but for sama5d2 only (PMC_I2S1_MUX).
> 
> Link: https://lore.kernel.org/linux-devicetree/20250207-jailbird-circus-bcc04ee90e05@thorsis.com/T/#u
> Signed-off-by: Alexander Dahl <ada@thorsis.com>
> ---
> 
> Notes:
>     v2:
>     - new patch, not present in v1
> 
>  include/dt-bindings/clock/microchip,sam9x60-pmc.h  | 3 +++
>  include/dt-bindings/clock/microchip,sam9x7-pmc.h   | 3 +++
>  include/dt-bindings/clock/microchip,sama7d65-pmc.h | 3 +++
>  include/dt-bindings/clock/microchip,sama7g5-pmc.h  | 3 +++
>  4 files changed, 12 insertions(+)
> 
> diff --git a/include/dt-bindings/clock/microchip,sam9x60-pmc.h b/include/dt-bindings/clock/microchip,sam9x60-pmc.h
> index e01e867e8c4da..dcd3c74f75b54 100644
> --- a/include/dt-bindings/clock/microchip,sam9x60-pmc.h
> +++ b/include/dt-bindings/clock/microchip,sam9x60-pmc.h
> @@ -16,4 +16,7 @@
>  
>  #define SAM9X60_PMC_PLLACK	PMC_PLLACK	/* 7 */
>  
> +/* new from after bindings splitup */
> +#define SAM9X60_PMC_MAIN_RC	6

This is confusing me, because:
1. You still have holes in IDs
2. This should be placed in proper order by ID
3. Why not using 4 - the next available empty ID?

Best regards,
Krzysztof
Alexander Dahl Feb. 11, 2025, 7:26 a.m. UTC | #2
Hello Krzysztof,

Am Mon, Feb 10, 2025 at 06:07:10PM +0100 schrieb Krzysztof Kozlowski:
> On 10/02/2025 17:44, Alexander Dahl wrote:
> > The main rc oscillator will be needed for the OTPC to work properly.
> > 
> > The new index introduced here was not used on the four affected SoC
> > clock drivers before, but for sama5d2 only (PMC_I2S1_MUX).
> > 
> > Link: https://lore.kernel.org/linux-devicetree/20250207-jailbird-circus-bcc04ee90e05@thorsis.com/T/#u
> > Signed-off-by: Alexander Dahl <ada@thorsis.com>
> > ---
> > 
> > Notes:
> >     v2:
> >     - new patch, not present in v1
> > 
> >  include/dt-bindings/clock/microchip,sam9x60-pmc.h  | 3 +++
> >  include/dt-bindings/clock/microchip,sam9x7-pmc.h   | 3 +++
> >  include/dt-bindings/clock/microchip,sama7d65-pmc.h | 3 +++
> >  include/dt-bindings/clock/microchip,sama7g5-pmc.h  | 3 +++
> >  4 files changed, 12 insertions(+)
> > 
> > diff --git a/include/dt-bindings/clock/microchip,sam9x60-pmc.h b/include/dt-bindings/clock/microchip,sam9x60-pmc.h
> > index e01e867e8c4da..dcd3c74f75b54 100644
> > --- a/include/dt-bindings/clock/microchip,sam9x60-pmc.h
> > +++ b/include/dt-bindings/clock/microchip,sam9x60-pmc.h
> > @@ -16,4 +16,7 @@
> >  
> >  #define SAM9X60_PMC_PLLACK	PMC_PLLACK	/* 7 */
> >  
> > +/* new from after bindings splitup */
> > +#define SAM9X60_PMC_MAIN_RC	6
> 
> This is confusing me, because:
> 1. You still have holes in IDs

Yes, I was told to maintain the old values for interface stability in
series v1 feedback.

> 2. This should be placed in proper order by ID

Okay, no problem.

> 3. Why not using 4 - the next available empty ID?

The MAIN_RC clock is used on four out of thirteen (?) SoC variants
which all used the same IDs before.  6 is the first ID which is free
on all of sam9x60, sam9x7, sama7g5, and sama7d65.  The last two
already use 4 for a different clock.

The whole splitup is to avoid even more and/or bigger holes, but is it
important where the existent holes are filled?

Technically if the next available empty ID should be used it would be
4 for sam9x60 and sam9x7, 2 for sama7d65, and 6 for sama7g5.  I
thought it would be nice to use the same value instead to make
somewhat compatible to the old approach.

Greets
Alex
Krzysztof Kozlowski Feb. 11, 2025, 8:01 a.m. UTC | #3
On 11/02/2025 08:26, Alexander Dahl wrote:
> Hello Krzysztof,
> 
> Am Mon, Feb 10, 2025 at 06:07:10PM +0100 schrieb Krzysztof Kozlowski:
>> On 10/02/2025 17:44, Alexander Dahl wrote:
>>> The main rc oscillator will be needed for the OTPC to work properly.
>>>
>>> The new index introduced here was not used on the four affected SoC
>>> clock drivers before, but for sama5d2 only (PMC_I2S1_MUX).
>>>
>>> Link: https://lore.kernel.org/linux-devicetree/20250207-jailbird-circus-bcc04ee90e05@thorsis.com/T/#u
>>> Signed-off-by: Alexander Dahl <ada@thorsis.com>
>>> ---
>>>
>>> Notes:
>>>     v2:
>>>     - new patch, not present in v1
>>>
>>>  include/dt-bindings/clock/microchip,sam9x60-pmc.h  | 3 +++
>>>  include/dt-bindings/clock/microchip,sam9x7-pmc.h   | 3 +++
>>>  include/dt-bindings/clock/microchip,sama7d65-pmc.h | 3 +++
>>>  include/dt-bindings/clock/microchip,sama7g5-pmc.h  | 3 +++
>>>  4 files changed, 12 insertions(+)
>>>
>>> diff --git a/include/dt-bindings/clock/microchip,sam9x60-pmc.h b/include/dt-bindings/clock/microchip,sam9x60-pmc.h
>>> index e01e867e8c4da..dcd3c74f75b54 100644
>>> --- a/include/dt-bindings/clock/microchip,sam9x60-pmc.h
>>> +++ b/include/dt-bindings/clock/microchip,sam9x60-pmc.h
>>> @@ -16,4 +16,7 @@
>>>  
>>>  #define SAM9X60_PMC_PLLACK	PMC_PLLACK	/* 7 */
>>>  
>>> +/* new from after bindings splitup */
>>> +#define SAM9X60_PMC_MAIN_RC	6
>>
>> This is confusing me, because:
>> 1. You still have holes in IDs
> 
> Yes, I was told to maintain the old values for interface stability in
> series v1 feedback.
> 
>> 2. This should be placed in proper order by ID
> 
> Okay, no problem.
> 
>> 3. Why not using 4 - the next available empty ID?
> 
> The MAIN_RC clock is used on four out of thirteen (?) SoC variants
> which all used the same IDs before.  6 is the first ID which is free
> on all of sam9x60, sam9x7, sama7g5, and sama7d65.  The last two
> already use 4 for a different clock.

So driver for this device already uses something for 4?

> 
> The whole splitup is to avoid even more and/or bigger holes, but is it
> important where the existent holes are filled?
> 
> Technically if the next available empty ID should be used it would be
> 4 for sam9x60 and sam9x7, 2 for sama7d65, and 6 for sama7g5.  I
> thought it would be nice to use the same value instead to make
> somewhat compatible to the old approach.


Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/include/dt-bindings/clock/microchip,sam9x60-pmc.h b/include/dt-bindings/clock/microchip,sam9x60-pmc.h
index e01e867e8c4da..dcd3c74f75b54 100644
--- a/include/dt-bindings/clock/microchip,sam9x60-pmc.h
+++ b/include/dt-bindings/clock/microchip,sam9x60-pmc.h
@@ -16,4 +16,7 @@ 
 
 #define SAM9X60_PMC_PLLACK	PMC_PLLACK	/* 7 */
 
+/* new from after bindings splitup */
+#define SAM9X60_PMC_MAIN_RC	6
+
 #endif
diff --git a/include/dt-bindings/clock/microchip,sam9x7-pmc.h b/include/dt-bindings/clock/microchip,sam9x7-pmc.h
index 2df1ff97a5b18..6f17d6553b33c 100644
--- a/include/dt-bindings/clock/microchip,sam9x7-pmc.h
+++ b/include/dt-bindings/clock/microchip,sam9x7-pmc.h
@@ -22,4 +22,7 @@ 
 #define SAM9X7_PMC_PLLADIV2	PMC_PLLADIV2	/* 14 */
 #define SAM9X7_PMC_LVDSPLL	PMC_LVDSPLL	/* 15 */
 
+/* new from after bindings splitup */
+#define SAM9X7_PMC_MAIN_RC	6
+
 #endif
diff --git a/include/dt-bindings/clock/microchip,sama7d65-pmc.h b/include/dt-bindings/clock/microchip,sama7d65-pmc.h
index f5be643be9b36..5c8e52299c110 100644
--- a/include/dt-bindings/clock/microchip,sama7d65-pmc.h
+++ b/include/dt-bindings/clock/microchip,sama7d65-pmc.h
@@ -29,4 +29,7 @@ 
 
 #define SAMA7D65_PMC_INDEX_MAX		25
 
+/* new from after bindings splitup */
+#define SAMA7D65_PMC_MAIN_RC		6
+
 #endif
diff --git a/include/dt-bindings/clock/microchip,sama7g5-pmc.h b/include/dt-bindings/clock/microchip,sama7g5-pmc.h
index ad69ccdf9dc78..7bcd2634da37e 100644
--- a/include/dt-bindings/clock/microchip,sama7g5-pmc.h
+++ b/include/dt-bindings/clock/microchip,sama7g5-pmc.h
@@ -21,4 +21,7 @@ 
 
 #define SAMA7G5_PMC_MCK1	PMC_MCK1	/* 13 */
 
+/* new from after bindings splitup */
+#define SAMA7G5_PMC_MAIN_RC	6
+
 #endif