public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] [PATCH 0/2] Add Clocks to ICSSG
@ 2024-11-07 10:45 MD Danish Anwar
  2024-11-07 10:45 ` [PATCH 1/2] dt-bindings: soc: ti: pruss: Add clocks for ICSSG MD Danish Anwar
  2024-11-07 10:45 ` [PATCH 2/2] arm64: dts: ti: k3-am64-main: Switch ICSSG clock to core clock MD Danish Anwar
  0 siblings, 2 replies; 12+ messages in thread
From: MD Danish Anwar @ 2024-11-07 10:45 UTC (permalink / raw)
  To: conor+dt, krzk+dt, robh, ssantosh, nm, Vignesh Raghavendra
  Cc: devicetree, linux-arm-kernel, linux-kernel, s-anna, kristo, srk,
	Roger Quadros, danishanwar

This series adds clocks for ICSSG for AM64x.

PATCH 1/2 Adds the dt binding necessary to add clocks to the device tree.
It adds the `clocks`, `assigned-clocks` and `assigned-clock-parents` in
the dt binding of ICSSG node.

PATCH 2/2 Adds the required clock to the ICSSG nodes. It also changes the
clock used from clock 20 (ICSSG_ICLK) to clock 0 (ICSSG_CORE). This patch
adds the clock-names, assigned-clocks and assigned-clock-parents to icssg nodes.

There is no additonal driver changes needed for this binding change.

MD Danish Anwar (2):
  dt-bindings: soc: ti: pruss: Add clocks for ICSSG
  arm64: dts: ti: k3-am64-main: Switch ICSSG clock to core clock

 .../devicetree/bindings/soc/ti/ti,pruss.yaml         | 11 +++++++++++
 arch/arm64/boot/dts/ti/k3-am64-main.dtsi             | 12 ++++++++++--
 2 files changed, 21 insertions(+), 2 deletions(-)


base-commit: 5b913f5d7d7fe0f567dea8605f21da6eaa1735fb
-- 
2.34.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/2] dt-bindings: soc: ti: pruss: Add clocks for ICSSG
  2024-11-07 10:45 [PATCH 0/2] [PATCH 0/2] Add Clocks to ICSSG MD Danish Anwar
@ 2024-11-07 10:45 ` MD Danish Anwar
  2024-11-07 11:31   ` Krzysztof Kozlowski
  2024-11-07 10:45 ` [PATCH 2/2] arm64: dts: ti: k3-am64-main: Switch ICSSG clock to core clock MD Danish Anwar
  1 sibling, 1 reply; 12+ messages in thread
From: MD Danish Anwar @ 2024-11-07 10:45 UTC (permalink / raw)
  To: conor+dt, krzk+dt, robh, ssantosh, nm, Vignesh Raghavendra
  Cc: devicetree, linux-arm-kernel, linux-kernel, s-anna, kristo, srk,
	Roger Quadros, danishanwar

Add clocks, assigned-clocks and assigned-clock-parents for ICSSG

Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
---
 .../devicetree/bindings/soc/ti/ti,pruss.yaml          | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
index 3cb1471cc6b6..cf4c5884d8be 100644
--- a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
+++ b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
@@ -92,6 +92,17 @@ properties:
     description: |
       This property is as per sci-pm-domain.txt.
 
+  clocks:
+    items:
+      - description: ICSSG_CORE Clock
+      - description: ICSSG_ICLK Clock
+
+  assigned-clocks:
+    maxItems: 1
+
+  assigned-clock-parents:
+    maxItems: 1
+
 patternProperties:
 
   memories@[a-f0-9]+$:
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/2] arm64: dts: ti: k3-am64-main: Switch ICSSG clock to core clock
  2024-11-07 10:45 [PATCH 0/2] [PATCH 0/2] Add Clocks to ICSSG MD Danish Anwar
  2024-11-07 10:45 ` [PATCH 1/2] dt-bindings: soc: ti: pruss: Add clocks for ICSSG MD Danish Anwar
@ 2024-11-07 10:45 ` MD Danish Anwar
  1 sibling, 0 replies; 12+ messages in thread
From: MD Danish Anwar @ 2024-11-07 10:45 UTC (permalink / raw)
  To: conor+dt, krzk+dt, robh, ssantosh, nm, Vignesh Raghavendra
  Cc: devicetree, linux-arm-kernel, linux-kernel, s-anna, kristo, srk,
	Roger Quadros, danishanwar

ICSSG currently uses ICSSG_ICLK (clk id 20) which operates at 250MHz.
Switch ICSSG clock to ICSSG_CORE clock (clk id 0) which operates at
333MHz.

ICSSG_CORE clock will help get the most out of ICSSG as more cycles are
needed to fully support all ICSSG features.

This commit also changes assigned-clock-parents of coreclk-mux to
ICSSG_CORE clock from ICSSG_ICLK.

Performance update in dual mac mode
  With ICSSG_CORE Clk @ 333MHz
    Tx throughput - 934 Mbps
    Rx throuhput - 914 Mbps,

  With ICSSG_ICLK clk @ 250MHz,
    Tx throughput - 920 Mbps
    Rx throughput - 706 Mbps

Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
---
 arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
index c66289a4362b..ceceee2affd9 100644
--- a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
@@ -1227,6 +1227,10 @@ icssg0: icssg@30000000 {
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges = <0x0 0x00 0x30000000 0x80000>;
+		clocks = <&k3_clks 81 0>,  /* icssg0_core_clk */
+			 <&k3_clks 81 20>; /* icssg0_iclk */
+		assigned-clocks = <&k3_clks 81 0>;
+		assigned-clock-parents = <&k3_clks 81 2>;
 
 		icssg0_mem: memories@0 {
 			reg = <0x0 0x2000>,
@@ -1252,7 +1256,7 @@ icssg0_coreclk_mux: coreclk-mux@3c {
 					clocks = <&k3_clks 81 0>,  /* icssg0_core_clk */
 						 <&k3_clks 81 20>; /* icssg0_iclk */
 					assigned-clocks = <&icssg0_coreclk_mux>;
-					assigned-clock-parents = <&k3_clks 81 20>;
+					assigned-clock-parents = <&k3_clks 81 0>;
 				};
 
 				icssg0_iepclk_mux: iepclk-mux@30 {
@@ -1397,6 +1401,10 @@ icssg1: icssg@30080000 {
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges = <0x0 0x00 0x30080000 0x80000>;
+		clocks = <&k3_clks 82 0>,   /* icssg1_core_clk */
+			 <&k3_clks 82 20>;  /* icssg1_iclk */
+		assigned-clocks = <&k3_clks 82 0>;
+		assigned-clock-parents = <&k3_clks 82 2>;
 
 		icssg1_mem: memories@0 {
 			reg = <0x0 0x2000>,
@@ -1422,7 +1430,7 @@ icssg1_coreclk_mux: coreclk-mux@3c {
 					clocks = <&k3_clks 82 0>,   /* icssg1_core_clk */
 						 <&k3_clks 82 20>;  /* icssg1_iclk */
 					assigned-clocks = <&icssg1_coreclk_mux>;
-					assigned-clock-parents = <&k3_clks 82 20>;
+					assigned-clock-parents = <&k3_clks 82 0>;
 				};
 
 				icssg1_iepclk_mux: iepclk-mux@30 {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] dt-bindings: soc: ti: pruss: Add clocks for ICSSG
  2024-11-07 10:45 ` [PATCH 1/2] dt-bindings: soc: ti: pruss: Add clocks for ICSSG MD Danish Anwar
@ 2024-11-07 11:31   ` Krzysztof Kozlowski
  2024-11-07 11:36     ` MD Danish Anwar
  0 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2024-11-07 11:31 UTC (permalink / raw)
  To: MD Danish Anwar, conor+dt, krzk+dt, robh, ssantosh, nm,
	Vignesh Raghavendra
  Cc: devicetree, linux-arm-kernel, linux-kernel, s-anna, kristo, srk,
	Roger Quadros

On 07/11/2024 11:45, MD Danish Anwar wrote:
> Add clocks, assigned-clocks and assigned-clock-parents for ICSSG

Why? We see what you are doing from the diff, no point to repeat it. I
don't understand why you are doing it.

> 
> Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
> ---
>  .../devicetree/bindings/soc/ti/ti,pruss.yaml          | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
> index 3cb1471cc6b6..cf4c5884d8be 100644
> --- a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
> +++ b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
> @@ -92,6 +92,17 @@ properties:
>      description: |
>        This property is as per sci-pm-domain.txt.
>  
> +  clocks:
> +    items:
> +      - description: ICSSG_CORE Clock
> +      - description: ICSSG_ICLK Clock
> +
> +  assigned-clocks:
> +    maxItems: 1
> +
> +  assigned-clock-parents:
> +    maxItems: 1

Why? This is really not needed, so you need to explain why you are doing
things differently than entire Linux kernel / DT bindings.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] dt-bindings: soc: ti: pruss: Add clocks for ICSSG
  2024-11-07 11:31   ` Krzysztof Kozlowski
@ 2024-11-07 11:36     ` MD Danish Anwar
  2024-11-07 11:44       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 12+ messages in thread
From: MD Danish Anwar @ 2024-11-07 11:36 UTC (permalink / raw)
  To: Krzysztof Kozlowski, conor+dt, krzk+dt, robh, ssantosh, nm,
	Vignesh Raghavendra
  Cc: devicetree, linux-arm-kernel, linux-kernel, s-anna, kristo, srk,
	Roger Quadros



On 07/11/24 5:01 pm, Krzysztof Kozlowski wrote:
> On 07/11/2024 11:45, MD Danish Anwar wrote:
>> Add clocks, assigned-clocks and assigned-clock-parents for ICSSG
> 
> Why? We see what you are doing from the diff, no point to repeat it. I
> don't understand why you are doing it.
> 
>>
>> Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
>> ---
>>  .../devicetree/bindings/soc/ti/ti,pruss.yaml          | 11 +++++++++++
>>  1 file changed, 11 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>> index 3cb1471cc6b6..cf4c5884d8be 100644
>> --- a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>> +++ b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>> @@ -92,6 +92,17 @@ properties:
>>      description: |
>>        This property is as per sci-pm-domain.txt.
>>  
>> +  clocks:
>> +    items:
>> +      - description: ICSSG_CORE Clock
>> +      - description: ICSSG_ICLK Clock
>> +
>> +  assigned-clocks:
>> +    maxItems: 1
>> +
>> +  assigned-clock-parents:
>> +    maxItems: 1
> 
> Why? This is really not needed, so you need to explain why you are doing
> things differently than entire Linux kernel / DT bindings.
> 

I need to add this to the device tree node

+		clocks = <&k3_clks 81 0>,  /* icssg0_core_clk */
+			 <&k3_clks 81 20>; /* icssg0_iclk */
+		assigned-clocks = <&k3_clks 81 0>;
+		assigned-clock-parents = <&k3_clks 81 2>;

But without the above change in the binding I am getting below errors
while running dtbs check.

/workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30000000:
'assigned-clock-parents', 'assigned-clocks' do not match any of the
regexes: '^(pru|rtu|txpru)@[0-9a-f]+$', '^pa-stats@[a-f0-9]+$',
'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$', 'interrupt-controller@[a-f0-9]+$',
'mdio@[a-f0-9]+$', 'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$',
'mii-rt@[a-f0-9]+$', 'pinctrl-[0-9]+'
+/workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30080000:
'anyOf' conditional failed, one must be fixed:

To fix this warning I added these in the binding and the warnings were
fixed.

> Best regards,
> Krzysztof
> 

-- 
Thanks and Regards,
Danish

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] dt-bindings: soc: ti: pruss: Add clocks for ICSSG
  2024-11-07 11:36     ` MD Danish Anwar
@ 2024-11-07 11:44       ` Krzysztof Kozlowski
  2024-11-07 11:46         ` MD Danish Anwar
  0 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2024-11-07 11:44 UTC (permalink / raw)
  To: MD Danish Anwar, conor+dt, krzk+dt, robh, ssantosh, nm,
	Vignesh Raghavendra
  Cc: devicetree, linux-arm-kernel, linux-kernel, s-anna, kristo, srk,
	Roger Quadros

On 07/11/2024 12:36, MD Danish Anwar wrote:
> 
> 
> On 07/11/24 5:01 pm, Krzysztof Kozlowski wrote:
>> On 07/11/2024 11:45, MD Danish Anwar wrote:
>>> Add clocks, assigned-clocks and assigned-clock-parents for ICSSG
>>
>> Why? We see what you are doing from the diff, no point to repeat it. I
>> don't understand why you are doing it.
>>
>>>
>>> Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
>>> ---
>>>  .../devicetree/bindings/soc/ti/ti,pruss.yaml          | 11 +++++++++++
>>>  1 file changed, 11 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>> index 3cb1471cc6b6..cf4c5884d8be 100644
>>> --- a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>> +++ b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>> @@ -92,6 +92,17 @@ properties:
>>>      description: |
>>>        This property is as per sci-pm-domain.txt.
>>>  
>>> +  clocks:
>>> +    items:
>>> +      - description: ICSSG_CORE Clock
>>> +      - description: ICSSG_ICLK Clock
>>> +
>>> +  assigned-clocks:
>>> +    maxItems: 1
>>> +
>>> +  assigned-clock-parents:
>>> +    maxItems: 1
>>
>> Why? This is really not needed, so you need to explain why you are doing
>> things differently than entire Linux kernel / DT bindings.
>>
> 
> I need to add this to the device tree node
> 
> +		clocks = <&k3_clks 81 0>,  /* icssg0_core_clk */
> +			 <&k3_clks 81 20>; /* icssg0_iclk */
> +		assigned-clocks = <&k3_clks 81 0>;
> +		assigned-clock-parents = <&k3_clks 81 2>;
> 
> But without the above change in the binding I am getting below errors
> while running dtbs check.
> 
> /workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30000000:
> 'assigned-clock-parents', 'assigned-clocks' do not match any of the
> regexes: '^(pru|rtu|txpru)@[0-9a-f]+$', '^pa-stats@[a-f0-9]+$',
> 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$', 'interrupt-controller@[a-f0-9]+$',
> 'mdio@[a-f0-9]+$', 'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$',
> 'mii-rt@[a-f0-9]+$', 'pinctrl-[0-9]+'
> +/workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30080000:
> 'anyOf' conditional failed, one must be fixed:
> 
> To fix this warning I added these in the binding and the warnings were
> fixed.

nah, cannot reproduce. Just be sure you work on recent kernel (last time
you were sending it on some ancient stuff) and your packages are
updated, including dt schema and other kernel dependencies.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] dt-bindings: soc: ti: pruss: Add clocks for ICSSG
  2024-11-07 11:44       ` Krzysztof Kozlowski
@ 2024-11-07 11:46         ` MD Danish Anwar
  2024-11-07 11:58           ` MD Danish Anwar
  0 siblings, 1 reply; 12+ messages in thread
From: MD Danish Anwar @ 2024-11-07 11:46 UTC (permalink / raw)
  To: Krzysztof Kozlowski, conor+dt, krzk+dt, robh, ssantosh, nm,
	Vignesh Raghavendra
  Cc: devicetree, linux-arm-kernel, linux-kernel, s-anna, kristo, srk,
	Roger Quadros



On 07/11/24 5:14 pm, Krzysztof Kozlowski wrote:
> On 07/11/2024 12:36, MD Danish Anwar wrote:
>>
>>
>> On 07/11/24 5:01 pm, Krzysztof Kozlowski wrote:
>>> On 07/11/2024 11:45, MD Danish Anwar wrote:
>>>> Add clocks, assigned-clocks and assigned-clock-parents for ICSSG
>>>
>>> Why? We see what you are doing from the diff, no point to repeat it. I
>>> don't understand why you are doing it.
>>>
>>>>
>>>> Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
>>>> ---
>>>>  .../devicetree/bindings/soc/ti/ti,pruss.yaml          | 11 +++++++++++
>>>>  1 file changed, 11 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>> index 3cb1471cc6b6..cf4c5884d8be 100644
>>>> --- a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>> +++ b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>> @@ -92,6 +92,17 @@ properties:
>>>>      description: |
>>>>        This property is as per sci-pm-domain.txt.
>>>>  
>>>> +  clocks:
>>>> +    items:
>>>> +      - description: ICSSG_CORE Clock
>>>> +      - description: ICSSG_ICLK Clock
>>>> +
>>>> +  assigned-clocks:
>>>> +    maxItems: 1
>>>> +
>>>> +  assigned-clock-parents:
>>>> +    maxItems: 1
>>>
>>> Why? This is really not needed, so you need to explain why you are doing
>>> things differently than entire Linux kernel / DT bindings.
>>>
>>
>> I need to add this to the device tree node
>>
>> +		clocks = <&k3_clks 81 0>,  /* icssg0_core_clk */
>> +			 <&k3_clks 81 20>; /* icssg0_iclk */
>> +		assigned-clocks = <&k3_clks 81 0>;
>> +		assigned-clock-parents = <&k3_clks 81 2>;
>>
>> But without the above change in the binding I am getting below errors
>> while running dtbs check.
>>
>> /workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30000000:
>> 'assigned-clock-parents', 'assigned-clocks' do not match any of the
>> regexes: '^(pru|rtu|txpru)@[0-9a-f]+$', '^pa-stats@[a-f0-9]+$',
>> 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$', 'interrupt-controller@[a-f0-9]+$',
>> 'mdio@[a-f0-9]+$', 'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$',
>> 'mii-rt@[a-f0-9]+$', 'pinctrl-[0-9]+'
>> +/workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30080000:
>> 'anyOf' conditional failed, one must be fixed:
>>
>> To fix this warning I added these in the binding and the warnings were
>> fixed.
> 
> nah, cannot reproduce. Just be sure you work on recent kernel (last time
> you were sending it on some ancient stuff) and your packages are
> updated, including dt schema and other kernel dependencies.
> 

I have posted this series on the latest kernel. Base commit
5b913f5d7d7fe0f567dea8605f21da6eaa1735fb

Let me check if the schema is up to date or not. I will re test and
reply. Thanks for pointing it out.



> Best regards,
> Krzysztof
> 

-- 
Thanks and Regards,
Danish

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] dt-bindings: soc: ti: pruss: Add clocks for ICSSG
  2024-11-07 11:46         ` MD Danish Anwar
@ 2024-11-07 11:58           ` MD Danish Anwar
  2024-11-07 12:21             ` Krzysztof Kozlowski
  0 siblings, 1 reply; 12+ messages in thread
From: MD Danish Anwar @ 2024-11-07 11:58 UTC (permalink / raw)
  To: Krzysztof Kozlowski, conor+dt, krzk+dt, robh, ssantosh, nm,
	Vignesh Raghavendra
  Cc: devicetree, linux-arm-kernel, linux-kernel, s-anna, kristo, srk,
	Roger Quadros



On 07/11/24 5:16 pm, MD Danish Anwar wrote:
> 
> 
> On 07/11/24 5:14 pm, Krzysztof Kozlowski wrote:
>> On 07/11/2024 12:36, MD Danish Anwar wrote:
>>>
>>>
>>> On 07/11/24 5:01 pm, Krzysztof Kozlowski wrote:
>>>> On 07/11/2024 11:45, MD Danish Anwar wrote:
>>>>> Add clocks, assigned-clocks and assigned-clock-parents for ICSSG
>>>>
>>>> Why? We see what you are doing from the diff, no point to repeat it. I
>>>> don't understand why you are doing it.
>>>>
>>>>>
>>>>> Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
>>>>> ---
>>>>>  .../devicetree/bindings/soc/ti/ti,pruss.yaml          | 11 +++++++++++
>>>>>  1 file changed, 11 insertions(+)
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>>> index 3cb1471cc6b6..cf4c5884d8be 100644
>>>>> --- a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>>> +++ b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>>> @@ -92,6 +92,17 @@ properties:
>>>>>      description: |
>>>>>        This property is as per sci-pm-domain.txt.
>>>>>  
>>>>> +  clocks:
>>>>> +    items:
>>>>> +      - description: ICSSG_CORE Clock
>>>>> +      - description: ICSSG_ICLK Clock
>>>>> +
>>>>> +  assigned-clocks:
>>>>> +    maxItems: 1
>>>>> +
>>>>> +  assigned-clock-parents:
>>>>> +    maxItems: 1
>>>>
>>>> Why? This is really not needed, so you need to explain why you are doing
>>>> things differently than entire Linux kernel / DT bindings.
>>>>
>>>
>>> I need to add this to the device tree node
>>>
>>> +		clocks = <&k3_clks 81 0>,  /* icssg0_core_clk */
>>> +			 <&k3_clks 81 20>; /* icssg0_iclk */
>>> +		assigned-clocks = <&k3_clks 81 0>;
>>> +		assigned-clock-parents = <&k3_clks 81 2>;
>>>
>>> But without the above change in the binding I am getting below errors
>>> while running dtbs check.
>>>
>>> /workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30000000:
>>> 'assigned-clock-parents', 'assigned-clocks' do not match any of the
>>> regexes: '^(pru|rtu|txpru)@[0-9a-f]+$', '^pa-stats@[a-f0-9]+$',
>>> 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$', 'interrupt-controller@[a-f0-9]+$',
>>> 'mdio@[a-f0-9]+$', 'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$',
>>> 'mii-rt@[a-f0-9]+$', 'pinctrl-[0-9]+'
>>> +/workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30080000:
>>> 'anyOf' conditional failed, one must be fixed:
>>>
>>> To fix this warning I added these in the binding and the warnings were
>>> fixed.
>>
>> nah, cannot reproduce. Just be sure you work on recent kernel (last time
>> you were sending it on some ancient stuff) and your packages are
>> updated, including dt schema and other kernel dependencies.
>>
> 
> I have posted this series on the latest kernel. Base commit
> 5b913f5d7d7fe0f567dea8605f21da6eaa1735fb
> 
> Let me check if the schema is up to date or not. I will re test and
> reply. Thanks for pointing it out.
> 

Krzysztof, I re-checked.
I am on the latest kernel (commit
5b913f5d7d7fe0f567dea8605f21da6eaa1735fb (tag: next-20241106,
origin/master, origin/HEAD)) and I am using the lastest dtschema v2024.9

❯ python3 -m pip list|grep 'dtschema'
dtschema                      2024.9

Still I am getting the below dtbs check errors while running `make
CHECK_DTBS=y ti/k3-am642-evm.dtb` without the binding change.

Let me know if I am missing something else.

/home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
icssg@30000000: 'assigned-clock-parents', 'assigned-clocks', 'clocks' do
not match any of the regexes: '^(pru|rtu|txpru)@[0-9a-f]+$',
'^pa-stats@[a-f0-9]+$', 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$',
'interrupt-controller@[a-f0-9]+$', 'mdio@[a-f0-9]+$',
'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$', 'mii-rt@[a-f0-9]+$',
'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/soc/ti/ti,pruss.yaml#
/home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
icssg@30000000: 'assigned-clock-parents', 'assigned-clocks', 'clocks' do
not match any of the regexes: '^(pru|rtu|txpru)@[0-9a-f]+$',
'^pa-stats@[a-f0-9]+$', 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$',
'interrupt-controller@[a-f0-9]+$', 'mdio@[a-f0-9]+$',
'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$', 'mii-rt@[a-f0-9]+$',
'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/soc/ti/ti,pruss.yaml#
/home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
icssg@30080000: 'assigned-clock-parents', 'assigned-clocks', 'clocks' do
not match any of the regexes: '^(pru|rtu|txpru)@[0-9a-f]+$',
'^pa-stats@[a-f0-9]+$', 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$',
'interrupt-controller@[a-f0-9]+$', 'mdio@[a-f0-9]+$',
'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$', 'mii-rt@[a-f0-9]+$',
'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/soc/ti/ti,pruss.yaml#
/home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
icssg@30080000: 'assigned-clock-parents', 'assigned-clocks', 'clocks' do
not match any of the regexes: '^(pru|rtu|txpru)@[0-9a-f]+$',
'^pa-stats@[a-f0-9]+$', 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$',
'interrupt-controller@[a-f0-9]+$', 'mdio@[a-f0-9]+$',
'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$', 'mii-rt@[a-f0-9]+$',
'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/soc/ti/ti,pruss.yaml#

> 
> 
>> Best regards,
>> Krzysztof
>>
> 

-- 
Thanks and Regards,
Danish

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] dt-bindings: soc: ti: pruss: Add clocks for ICSSG
  2024-11-07 11:58           ` MD Danish Anwar
@ 2024-11-07 12:21             ` Krzysztof Kozlowski
  2024-11-08 12:19               ` Anwar, Md Danish
  0 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2024-11-07 12:21 UTC (permalink / raw)
  To: MD Danish Anwar, conor+dt, krzk+dt, robh, ssantosh, nm,
	Vignesh Raghavendra
  Cc: devicetree, linux-arm-kernel, linux-kernel, s-anna, kristo, srk,
	Roger Quadros

On 07/11/2024 12:58, MD Danish Anwar wrote:
> 
> 
> On 07/11/24 5:16 pm, MD Danish Anwar wrote:
>>
>>
>> On 07/11/24 5:14 pm, Krzysztof Kozlowski wrote:
>>> On 07/11/2024 12:36, MD Danish Anwar wrote:
>>>>
>>>>
>>>> On 07/11/24 5:01 pm, Krzysztof Kozlowski wrote:
>>>>> On 07/11/2024 11:45, MD Danish Anwar wrote:
>>>>>> Add clocks, assigned-clocks and assigned-clock-parents for ICSSG
>>>>>
>>>>> Why? We see what you are doing from the diff, no point to repeat it. I
>>>>> don't understand why you are doing it.
>>>>>
>>>>>>
>>>>>> Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
>>>>>> ---
>>>>>>  .../devicetree/bindings/soc/ti/ti,pruss.yaml          | 11 +++++++++++
>>>>>>  1 file changed, 11 insertions(+)
>>>>>>
>>>>>> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>>>> index 3cb1471cc6b6..cf4c5884d8be 100644
>>>>>> --- a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>>>> +++ b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>>>> @@ -92,6 +92,17 @@ properties:
>>>>>>      description: |
>>>>>>        This property is as per sci-pm-domain.txt.
>>>>>>  
>>>>>> +  clocks:
>>>>>> +    items:
>>>>>> +      - description: ICSSG_CORE Clock
>>>>>> +      - description: ICSSG_ICLK Clock
>>>>>> +
>>>>>> +  assigned-clocks:
>>>>>> +    maxItems: 1
>>>>>> +
>>>>>> +  assigned-clock-parents:
>>>>>> +    maxItems: 1
>>>>>
>>>>> Why? This is really not needed, so you need to explain why you are doing
>>>>> things differently than entire Linux kernel / DT bindings.
>>>>>
>>>>
>>>> I need to add this to the device tree node
>>>>
>>>> +		clocks = <&k3_clks 81 0>,  /* icssg0_core_clk */
>>>> +			 <&k3_clks 81 20>; /* icssg0_iclk */
>>>> +		assigned-clocks = <&k3_clks 81 0>;
>>>> +		assigned-clock-parents = <&k3_clks 81 2>;
>>>>
>>>> But without the above change in the binding I am getting below errors
>>>> while running dtbs check.
>>>>
>>>> /workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30000000:
>>>> 'assigned-clock-parents', 'assigned-clocks' do not match any of the
>>>> regexes: '^(pru|rtu|txpru)@[0-9a-f]+$', '^pa-stats@[a-f0-9]+$',
>>>> 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$', 'interrupt-controller@[a-f0-9]+$',
>>>> 'mdio@[a-f0-9]+$', 'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$',
>>>> 'mii-rt@[a-f0-9]+$', 'pinctrl-[0-9]+'
>>>> +/workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30080000:
>>>> 'anyOf' conditional failed, one must be fixed:
>>>>
>>>> To fix this warning I added these in the binding and the warnings were
>>>> fixed.
>>>
>>> nah, cannot reproduce. Just be sure you work on recent kernel (last time
>>> you were sending it on some ancient stuff) and your packages are
>>> updated, including dt schema and other kernel dependencies.
>>>
>>
>> I have posted this series on the latest kernel. Base commit
>> 5b913f5d7d7fe0f567dea8605f21da6eaa1735fb
>>
>> Let me check if the schema is up to date or not. I will re test and
>> reply. Thanks for pointing it out.
>>
> 
> Krzysztof, I re-checked.
> I am on the latest kernel (commit
> 5b913f5d7d7fe0f567dea8605f21da6eaa1735fb (tag: next-20241106,
> origin/master, origin/HEAD)) and I am using the lastest dtschema v2024.9
> 
> ❯ python3 -m pip list|grep 'dtschema'
> dtschema                      2024.9
> 
> Still I am getting the below dtbs check errors while running `make
> CHECK_DTBS=y ti/k3-am642-evm.dtb` without the binding change.
> 
> Let me know if I am missing something else.
> 
> /home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
> icssg@30000000: 'assigned-clock-parents', 'assigned-clocks', 'clocks' do

Wait, what? That's different error. You have clocks documented. To
remind: we talk about previous error so only, *only* assigned-clocks.

> not match any of the regexes: '^(pru|rtu|txpru)@[0-9a-f]+$',
> '^pa-stats@[a-f0-9]+$', 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$',
> 'interrupt-controller@[a-f0-9]+$', 'mdio@[a-f0-9]+$',
> 'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$', 'mii-rt@[a-f0-9]+$',
> 'pinctrl-[0-9]+'
> 	from schema $id: http://devicetree.org/schemas/soc/ti/ti,pruss.yaml#
> /home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
> icssg@30000000: 'assigned-clock-parents', 'assigned-clocks', 'clocks' do
> not match any of the regexes: '^(pru|rtu|txpru)@[0-9a-f]+$',
> '^pa-stats@[a-f0-9]+$', 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$',
> 'interrupt-controller@[a-f0-9]+$', 'mdio@[a-f0-9]+$',
> 'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$', 'mii-rt@[a-f0-9]+$',
> 'pinctrl-[0-9]+'
> 	from schema $id: http://devicetree.org/schemas/soc/ti/ti,pruss.yaml#
> /home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
> icssg@30080000: 'assigned-clock-parents', 'assigned-clocks', 'clocks' do
> not match any of the regexes: '^(pru|rtu|txpru)@[0-9a-f]+$',
> '^pa-stats@[a-f0-9]+$', 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$',
> 'interrupt-controller@[a-f0-9]+$', 'mdio@[a-f0-9]+$',
> 'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$', 'mii-rt@[a-f0-9]+$',
> 'pinctrl-[0-9]+'
> 	from schema $id: http://devicetree.org/schemas/soc/ti/ti,pruss.yaml#
> /home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
> icssg@30080000: 'assigned-clock-parents', 'assigned-clocks', 'clocks' do
> not match any of the regexes: '^(pru|rtu|txpru)@[0-9a-f]+$',
> '^pa-stats@[a-f0-9]+$', 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$',

I don't understand these, either.  All of them have clocks. What are you
testing? You add clocks to DTS but not to the binding? What would be the
point of that test?

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] dt-bindings: soc: ti: pruss: Add clocks for ICSSG
  2024-11-07 12:21             ` Krzysztof Kozlowski
@ 2024-11-08 12:19               ` Anwar, Md Danish
  2024-11-08 12:30                 ` Krzysztof Kozlowski
  0 siblings, 1 reply; 12+ messages in thread
From: Anwar, Md Danish @ 2024-11-08 12:19 UTC (permalink / raw)
  To: Krzysztof Kozlowski, MD Danish Anwar, conor+dt, krzk+dt, robh,
	ssantosh, nm, Vignesh Raghavendra
  Cc: devicetree, linux-arm-kernel, linux-kernel, s-anna, kristo, srk,
	Roger Quadros

Hi Krzysztof,

On 11/7/2024 5:51 PM, Krzysztof Kozlowski wrote:
> On 07/11/2024 12:58, MD Danish Anwar wrote:
>>
>>
>> On 07/11/24 5:16 pm, MD Danish Anwar wrote:
>>>
>>>
>>> On 07/11/24 5:14 pm, Krzysztof Kozlowski wrote:
>>>> On 07/11/2024 12:36, MD Danish Anwar wrote:
>>>>>
>>>>>
>>>>> On 07/11/24 5:01 pm, Krzysztof Kozlowski wrote:
>>>>>> On 07/11/2024 11:45, MD Danish Anwar wrote:
>>>>>>> Add clocks, assigned-clocks and assigned-clock-parents for ICSSG
>>>>>>
>>>>>> Why? We see what you are doing from the diff, no point to repeat it. I
>>>>>> don't understand why you are doing it.
>>>>>>
>>>>>>>
>>>>>>> Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
>>>>>>> ---
>>>>>>>  .../devicetree/bindings/soc/ti/ti,pruss.yaml          | 11 +++++++++++
>>>>>>>  1 file changed, 11 insertions(+)
>>>>>>>
>>>>>>> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>>>>> index 3cb1471cc6b6..cf4c5884d8be 100644
>>>>>>> --- a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>>>>> +++ b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>>>>> @@ -92,6 +92,17 @@ properties:
>>>>>>>      description: |
>>>>>>>        This property is as per sci-pm-domain.txt.
>>>>>>>  
>>>>>>> +  clocks:
>>>>>>> +    items:
>>>>>>> +      - description: ICSSG_CORE Clock
>>>>>>> +      - description: ICSSG_ICLK Clock
>>>>>>> +
>>>>>>> +  assigned-clocks:
>>>>>>> +    maxItems: 1
>>>>>>> +
>>>>>>> +  assigned-clock-parents:
>>>>>>> +    maxItems: 1
>>>>>>
>>>>>> Why? This is really not needed, so you need to explain why you are doing
>>>>>> things differently than entire Linux kernel / DT bindings.
>>>>>>
>>>>>
>>>>> I need to add this to the device tree node
>>>>>
>>>>> +		clocks = <&k3_clks 81 0>,  /* icssg0_core_clk */
>>>>> +			 <&k3_clks 81 20>; /* icssg0_iclk */
>>>>> +		assigned-clocks = <&k3_clks 81 0>;
>>>>> +		assigned-clock-parents = <&k3_clks 81 2>;
>>>>>
>>>>> But without the above change in the binding I am getting below errors
>>>>> while running dtbs check.
>>>>>
>>>>> /workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30000000:
>>>>> 'assigned-clock-parents', 'assigned-clocks' do not match any of the
>>>>> regexes: '^(pru|rtu|txpru)@[0-9a-f]+$', '^pa-stats@[a-f0-9]+$',
>>>>> 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$', 'interrupt-controller@[a-f0-9]+$',
>>>>> 'mdio@[a-f0-9]+$', 'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$',
>>>>> 'mii-rt@[a-f0-9]+$', 'pinctrl-[0-9]+'
>>>>> +/workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30080000:
>>>>> 'anyOf' conditional failed, one must be fixed:
>>>>>
>>>>> To fix this warning I added these in the binding and the warnings were
>>>>> fixed.
>>>>
>>>> nah, cannot reproduce. Just be sure you work on recent kernel (last time
>>>> you were sending it on some ancient stuff) and your packages are
>>>> updated, including dt schema and other kernel dependencies.
>>>>

The purpose of this series is to add 'assigned-clock-parents',
'assigned-clocks' to the DT node. Initially I was only trying to add
these two nodes to DT and at that time I got the above error. I also got
 the below error as well

/home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
icssg@30000000: 'anyOf' conditional failed, one must be fixed:
        'clocks' is a required property
        '#clock-cells' is a required property
        from schema $id: http://devicetree.org/schemas/clock/clock.yaml#


To fix this I added 'assigned-clock-parents', 'assigned-clocks' to the
binding and at this time I got only the below error,

/home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
icssg@30000000: 'anyOf' conditional failed, one must be fixed:
        'clocks' is a required property
        '#clock-cells' is a required property
        from schema $id: http://devicetree.org/schemas/clock/clock.yaml#

So to fix this, I added clocks to the binding as well as DT and after
that all the errors got resolved and I posted the series.

>>>
>>> I have posted this series on the latest kernel. Base commit
>>> 5b913f5d7d7fe0f567dea8605f21da6eaa1735fb
>>>
>>> Let me check if the schema is up to date or not. I will re test and
>>> reply. Thanks for pointing it out.
>>>
>>
>> Krzysztof, I re-checked.
>> I am on the latest kernel (commit
>> 5b913f5d7d7fe0f567dea8605f21da6eaa1735fb (tag: next-20241106,
>> origin/master, origin/HEAD)) and I am using the lastest dtschema v2024.9
>>
>> ❯ python3 -m pip list|grep 'dtschema'
>> dtschema                      2024.9
>>
>> Still I am getting the below dtbs check errors while running `make
>> CHECK_DTBS=y ti/k3-am642-evm.dtb` without the binding change.
>>
>> Let me know if I am missing something else.
>>
>> /home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
>> icssg@30000000: 'assigned-clock-parents', 'assigned-clocks', 'clocks' do
> 
> Wait, what? That's different error. You have clocks documented. To
> remind: we talk about previous error so only, *only* assigned-clocks.
> 

I agree. This is a different error. I encountered this error when I
dropped the binding patch of this series and tested only the DT patch.

When you commented on Binding patch mentioning it's not needed, I
thought you were referring to the entire diff. So I dropped the patch
and tested the DT patch only. And at this time I got this error.

>> not match any of the regexes: '^(pru|rtu|txpru)@[0-9a-f]+$',
>> '^pa-stats@[a-f0-9]+$', 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$',
>> 'interrupt-controller@[a-f0-9]+$', 'mdio@[a-f0-9]+$',
>> 'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$', 'mii-rt@[a-f0-9]+$',
>> 'pinctrl-[0-9]+'
>> 	from schema $id: http://devicetree.org/schemas/soc/ti/ti,pruss.yaml#
>> /home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
>> icssg@30000000: 'assigned-clock-parents', 'assigned-clocks', 'clocks' do
>> not match any of the regexes: '^(pru|rtu|txpru)@[0-9a-f]+$',
>> '^pa-stats@[a-f0-9]+$', 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$',
>> 'interrupt-controller@[a-f0-9]+$', 'mdio@[a-f0-9]+$',
>> 'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$', 'mii-rt@[a-f0-9]+$',
>> 'pinctrl-[0-9]+'
>> 	from schema $id: http://devicetree.org/schemas/soc/ti/ti,pruss.yaml#
>> /home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
>> icssg@30080000: 'assigned-clock-parents', 'assigned-clocks', 'clocks' do
>> not match any of the regexes: '^(pru|rtu|txpru)@[0-9a-f]+$',
>> '^pa-stats@[a-f0-9]+$', 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$',
>> 'interrupt-controller@[a-f0-9]+$', 'mdio@[a-f0-9]+$',
>> 'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$', 'mii-rt@[a-f0-9]+$',
>> 'pinctrl-[0-9]+'
>> 	from schema $id: http://devicetree.org/schemas/soc/ti/ti,pruss.yaml#
>> /home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
>> icssg@30080000: 'assigned-clock-parents', 'assigned-clocks', 'clocks' do
>> not match any of the regexes: '^(pru|rtu|txpru)@[0-9a-f]+$',
>> '^pa-stats@[a-f0-9]+$', 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$',
> 
> I don't understand these, either.  All of them have clocks. What are you
> testing? You add clocks to DTS but not to the binding? What would be the
> point of that test?
> 

I did some more testing. Turns out just adding clocks to dt binding is
enough. Clocks will need to be added to binding however
'assigned-clock-parents', 'assigned-clocks' are not needed in the binding.

I will drop the 'assigned-clock-parents', 'assigned-clocks' from
dt-binding and only keep below diff. Where as for DT patch (2/2) - I
will keep it as it is.

diff --git a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
index 3cb1471cc6b6..12350409d154 100644
--- a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
+++ b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
@@ -92,6 +92,11 @@ properties:
     description: |
       This property is as per sci-pm-domain.txt.

+  clocks:
+    items:
+      - description: ICSSG_CORE Clock
+      - description: ICSSG_ICLK Clock
+
 patternProperties:

   memories@[a-f0-9]+$:

Let me know if this looks ok to you. Thanks for your feedback.

> Best regards,
> Krzysztof
> 

-- 
Thanks and Regards,
Md Danish Anwar

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] dt-bindings: soc: ti: pruss: Add clocks for ICSSG
  2024-11-08 12:19               ` Anwar, Md Danish
@ 2024-11-08 12:30                 ` Krzysztof Kozlowski
  2024-11-08 12:34                   ` Anwar, Md Danish
  0 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2024-11-08 12:30 UTC (permalink / raw)
  To: Anwar, Md Danish
  Cc: MD Danish Anwar, conor+dt, krzk+dt, robh, ssantosh, nm,
	Vignesh Raghavendra, devicetree, linux-arm-kernel, linux-kernel,
	s-anna, kristo, srk, Roger Quadros

On Fri, Nov 08, 2024 at 05:49:54PM +0530, Anwar, Md Danish wrote:
> Hi Krzysztof,
> 
> On 11/7/2024 5:51 PM, Krzysztof Kozlowski wrote:
> > On 07/11/2024 12:58, MD Danish Anwar wrote:
> >>
> >>
> >> On 07/11/24 5:16 pm, MD Danish Anwar wrote:
> >>>
> >>>
> >>> On 07/11/24 5:14 pm, Krzysztof Kozlowski wrote:
> >>>> On 07/11/2024 12:36, MD Danish Anwar wrote:
> >>>>>
> >>>>>
> >>>>> On 07/11/24 5:01 pm, Krzysztof Kozlowski wrote:
> >>>>>> On 07/11/2024 11:45, MD Danish Anwar wrote:
> >>>>>>> Add clocks, assigned-clocks and assigned-clock-parents for ICSSG
> >>>>>>
> >>>>>> Why? We see what you are doing from the diff, no point to repeat it. I
> >>>>>> don't understand why you are doing it.
> >>>>>>
> >>>>>>>
> >>>>>>> Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
> >>>>>>> ---
> >>>>>>>  .../devicetree/bindings/soc/ti/ti,pruss.yaml          | 11 +++++++++++
> >>>>>>>  1 file changed, 11 insertions(+)
> >>>>>>>
> >>>>>>> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
> >>>>>>> index 3cb1471cc6b6..cf4c5884d8be 100644
> >>>>>>> --- a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
> >>>>>>> +++ b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
> >>>>>>> @@ -92,6 +92,17 @@ properties:
> >>>>>>>      description: |
> >>>>>>>        This property is as per sci-pm-domain.txt.
> >>>>>>>  
> >>>>>>> +  clocks:
> >>>>>>> +    items:
> >>>>>>> +      - description: ICSSG_CORE Clock
> >>>>>>> +      - description: ICSSG_ICLK Clock
> >>>>>>> +
> >>>>>>> +  assigned-clocks:
> >>>>>>> +    maxItems: 1
> >>>>>>> +
> >>>>>>> +  assigned-clock-parents:
> >>>>>>> +    maxItems: 1
> >>>>>>
> >>>>>> Why? This is really not needed, so you need to explain why you are doing
> >>>>>> things differently than entire Linux kernel / DT bindings.
> >>>>>>
> >>>>>
> >>>>> I need to add this to the device tree node
> >>>>>
> >>>>> +		clocks = <&k3_clks 81 0>,  /* icssg0_core_clk */
> >>>>> +			 <&k3_clks 81 20>; /* icssg0_iclk */
> >>>>> +		assigned-clocks = <&k3_clks 81 0>;
> >>>>> +		assigned-clock-parents = <&k3_clks 81 2>;
> >>>>>
> >>>>> But without the above change in the binding I am getting below errors
> >>>>> while running dtbs check.
> >>>>>
> >>>>> /workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30000000:
> >>>>> 'assigned-clock-parents', 'assigned-clocks' do not match any of the
> >>>>> regexes: '^(pru|rtu|txpru)@[0-9a-f]+$', '^pa-stats@[a-f0-9]+$',
> >>>>> 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$', 'interrupt-controller@[a-f0-9]+$',
> >>>>> 'mdio@[a-f0-9]+$', 'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$',
> >>>>> 'mii-rt@[a-f0-9]+$', 'pinctrl-[0-9]+'
> >>>>> +/workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30080000:
> >>>>> 'anyOf' conditional failed, one must be fixed:
> >>>>>
> >>>>> To fix this warning I added these in the binding and the warnings were
> >>>>> fixed.
> >>>>
> >>>> nah, cannot reproduce. Just be sure you work on recent kernel (last time
> >>>> you were sending it on some ancient stuff) and your packages are
> >>>> updated, including dt schema and other kernel dependencies.
> >>>>
> 
> The purpose of this series is to add 'assigned-clock-parents',
> 'assigned-clocks' to the DT node. Initially I was only trying to add
> these two nodes to DT and at that time I got the above error. I also got
>  the below error as well

So you pasted different error, not related to topic we discussed.
assigned-clock* depend on clocks. You must have clocks to assign them,
obviously. Device should no assign rates to clocks which are not its
inputs. :/


> 
> /home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
> icssg@30000000: 'anyOf' conditional failed, one must be fixed:
>         'clocks' is a required property
>         '#clock-cells' is a required property
>         from schema $id: http://devicetree.org/schemas/clock/clock.yaml#
> 
> 
> To fix this I added 'assigned-clock-parents', 'assigned-clocks' to the
> binding and at this time I got only the below error,

To fix this you must add clocks. The error tells you this.

So again: drop assigned properties. No error msg asked you to add them.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] dt-bindings: soc: ti: pruss: Add clocks for ICSSG
  2024-11-08 12:30                 ` Krzysztof Kozlowski
@ 2024-11-08 12:34                   ` Anwar, Md Danish
  0 siblings, 0 replies; 12+ messages in thread
From: Anwar, Md Danish @ 2024-11-08 12:34 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: MD Danish Anwar, conor+dt, krzk+dt, robh, ssantosh, nm,
	Vignesh Raghavendra, devicetree, linux-arm-kernel, linux-kernel,
	s-anna, kristo, srk, Roger Quadros



On 11/8/2024 6:00 PM, Krzysztof Kozlowski wrote:
> On Fri, Nov 08, 2024 at 05:49:54PM +0530, Anwar, Md Danish wrote:
>> Hi Krzysztof,
>>
>> On 11/7/2024 5:51 PM, Krzysztof Kozlowski wrote:
>>> On 07/11/2024 12:58, MD Danish Anwar wrote:
>>>>
>>>>
>>>> On 07/11/24 5:16 pm, MD Danish Anwar wrote:
>>>>>
>>>>>
>>>>> On 07/11/24 5:14 pm, Krzysztof Kozlowski wrote:
>>>>>> On 07/11/2024 12:36, MD Danish Anwar wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 07/11/24 5:01 pm, Krzysztof Kozlowski wrote:
>>>>>>>> On 07/11/2024 11:45, MD Danish Anwar wrote:
>>>>>>>>> Add clocks, assigned-clocks and assigned-clock-parents for ICSSG
>>>>>>>>
>>>>>>>> Why? We see what you are doing from the diff, no point to repeat it. I
>>>>>>>> don't understand why you are doing it.
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
>>>>>>>>> ---
>>>>>>>>>  .../devicetree/bindings/soc/ti/ti,pruss.yaml          | 11 +++++++++++
>>>>>>>>>  1 file changed, 11 insertions(+)
>>>>>>>>>
>>>>>>>>> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>>>>>>> index 3cb1471cc6b6..cf4c5884d8be 100644
>>>>>>>>> --- a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>>>>>>> +++ b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
>>>>>>>>> @@ -92,6 +92,17 @@ properties:
>>>>>>>>>      description: |
>>>>>>>>>        This property is as per sci-pm-domain.txt.
>>>>>>>>>  
>>>>>>>>> +  clocks:
>>>>>>>>> +    items:
>>>>>>>>> +      - description: ICSSG_CORE Clock
>>>>>>>>> +      - description: ICSSG_ICLK Clock
>>>>>>>>> +
>>>>>>>>> +  assigned-clocks:
>>>>>>>>> +    maxItems: 1
>>>>>>>>> +
>>>>>>>>> +  assigned-clock-parents:
>>>>>>>>> +    maxItems: 1
>>>>>>>>
>>>>>>>> Why? This is really not needed, so you need to explain why you are doing
>>>>>>>> things differently than entire Linux kernel / DT bindings.
>>>>>>>>
>>>>>>>
>>>>>>> I need to add this to the device tree node
>>>>>>>
>>>>>>> +		clocks = <&k3_clks 81 0>,  /* icssg0_core_clk */
>>>>>>> +			 <&k3_clks 81 20>; /* icssg0_iclk */
>>>>>>> +		assigned-clocks = <&k3_clks 81 0>;
>>>>>>> +		assigned-clock-parents = <&k3_clks 81 2>;
>>>>>>>
>>>>>>> But without the above change in the binding I am getting below errors
>>>>>>> while running dtbs check.
>>>>>>>
>>>>>>> /workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30000000:
>>>>>>> 'assigned-clock-parents', 'assigned-clocks' do not match any of the
>>>>>>> regexes: '^(pru|rtu|txpru)@[0-9a-f]+$', '^pa-stats@[a-f0-9]+$',
>>>>>>> 'cfg@[a-f0-9]+$', 'iep@[a-f0-9]+$', 'interrupt-controller@[a-f0-9]+$',
>>>>>>> 'mdio@[a-f0-9]+$', 'memories@[a-f0-9]+$', 'mii-g-rt@[a-f0-9]+$',
>>>>>>> 'mii-rt@[a-f0-9]+$', 'pinctrl-[0-9]+'
>>>>>>> +/workdir/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtb: icssg@30080000:
>>>>>>> 'anyOf' conditional failed, one must be fixed:
>>>>>>>
>>>>>>> To fix this warning I added these in the binding and the warnings were
>>>>>>> fixed.
>>>>>>
>>>>>> nah, cannot reproduce. Just be sure you work on recent kernel (last time
>>>>>> you were sending it on some ancient stuff) and your packages are
>>>>>> updated, including dt schema and other kernel dependencies.
>>>>>>
>>
>> The purpose of this series is to add 'assigned-clock-parents',
>> 'assigned-clocks' to the DT node. Initially I was only trying to add
>> these two nodes to DT and at that time I got the above error. I also got
>>  the below error as well
> 
> So you pasted different error, not related to topic we discussed.
> assigned-clock* depend on clocks. You must have clocks to assign them,
> obviously. Device should no assign rates to clocks which are not its
> inputs. :/
> 
> 
>>
>> /home/danish/workspace/linux-next/arch/arm64/boot/dts/ti/k3-am642-evm.dtb:
>> icssg@30000000: 'anyOf' conditional failed, one must be fixed:
>>         'clocks' is a required property
>>         '#clock-cells' is a required property
>>         from schema $id: http://devicetree.org/schemas/clock/clock.yaml#
>>
>>
>> To fix this I added 'assigned-clock-parents', 'assigned-clocks' to the
>> binding and at this time I got only the below error,
> 
> To fix this you must add clocks. The error tells you this.
> 
> So again: drop assigned properties. No error msg asked you to add them.
> 

Yes, I will drop assigned properties from binding and post a v2.

> Best regards,
> Krzysztof
> 

-- 
Thanks and Regards,
Md Danish Anwar

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-11-08 12:35 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-07 10:45 [PATCH 0/2] [PATCH 0/2] Add Clocks to ICSSG MD Danish Anwar
2024-11-07 10:45 ` [PATCH 1/2] dt-bindings: soc: ti: pruss: Add clocks for ICSSG MD Danish Anwar
2024-11-07 11:31   ` Krzysztof Kozlowski
2024-11-07 11:36     ` MD Danish Anwar
2024-11-07 11:44       ` Krzysztof Kozlowski
2024-11-07 11:46         ` MD Danish Anwar
2024-11-07 11:58           ` MD Danish Anwar
2024-11-07 12:21             ` Krzysztof Kozlowski
2024-11-08 12:19               ` Anwar, Md Danish
2024-11-08 12:30                 ` Krzysztof Kozlowski
2024-11-08 12:34                   ` Anwar, Md Danish
2024-11-07 10:45 ` [PATCH 2/2] arm64: dts: ti: k3-am64-main: Switch ICSSG clock to core clock MD Danish Anwar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox