diff mbox series

[v2,1/4] arm64: dts: ti: k3-am62x: Enable AUDIO_REFCLKx

Message ID 20230806085113.15373-2-francesco@dolcini.it (mailing list archive)
State New, archived
Headers show
Series arm64: dts: ti: Enable Audio on Verdin AM62 | expand

Commit Message

Francesco Dolcini Aug. 6, 2023, 8:51 a.m. UTC
From: Jai Luthra <j-luthra@ti.com>

On AM62-based SoCs the AUDIO_REFCLKx clocks can be used as an input to
external peripherals when configured through CTRL_MMR, so add the
clock nodes.

Signed-off-by: Jai Luthra <j-luthra@ti.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
---
v2:
 - s/clock/clock-controller/ on audio refclk nodes name.
---
 arch/arm64/boot/dts/ti/k3-am62-main.dtsi  | 18 ++++++++++++++++++
 arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 18 ++++++++++++++++++
 2 files changed, 36 insertions(+)

Comments

Nishanth Menon Aug. 7, 2023, 5:43 p.m. UTC | #1
On 10:51-20230806, Francesco Dolcini wrote:
> From: Jai Luthra <j-luthra@ti.com>
> 
> On AM62-based SoCs the AUDIO_REFCLKx clocks can be used as an input to
> external peripherals when configured through CTRL_MMR, so add the
> clock nodes.
> 
> Signed-off-by: Jai Luthra <j-luthra@ti.com>
> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> ---
> v2:
>  - s/clock/clock-controller/ on audio refclk nodes name.
> ---
>  arch/arm64/boot/dts/ti/k3-am62-main.dtsi  | 18 ++++++++++++++++++
>  arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 18 ++++++++++++++++++
>  2 files changed, 36 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> index ef90b2bc81eb..5f19ef46d44c 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> @@ -60,6 +60,24 @@ epwm_tbclk: clock-controller@4130 {
>  			reg = <0x4130 0x4>;
>  			#clock-cells = <1>;
>  		};
> +
> +		audio_refclk0: clock-controller@82e0 {
> +			compatible = "ti,am62-audio-refclk";
> +			reg = <0x82e0 0x4>;
> +			clocks = <&k3_clks 157 0>;
> +			assigned-clocks = <&k3_clks 157 0>;
> +			assigned-clock-parents = <&k3_clks 157 8>;
> +			#clock-cells = <0>;
> +		};
> +
> +		audio_refclk1: clock-controller@82e4 {
> +			compatible = "ti,am62-audio-refclk";
> +			reg = <0x82e4 0x4>;
> +			clocks = <&k3_clks 157 10>;
> +			assigned-clocks = <&k3_clks 157 10>;
> +			assigned-clock-parents = <&k3_clks 157 18>;
> +			#clock-cells = <0>;
> +		};
>  	};
>  
>  	dmss: bus@48000000 {
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> index 3198af08fb9f..75ea7202e071 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> @@ -60,6 +60,24 @@ epwm_tbclk: clock-controller@4130 {
>  			reg = <0x4130 0x4>;
>  			#clock-cells = <1>;
>  		};
> +
> +		audio_refclk0: clock-controller@82e0 {
> +			compatible = "ti,am62-audio-refclk";
> +			reg = <0x82e0 0x4>;
> +			clocks = <&k3_clks 157 0>;
> +			assigned-clocks = <&k3_clks 157 0>;
> +			assigned-clock-parents = <&k3_clks 157 8>;
> +			#clock-cells = <0>;
> +		};
> +
> +		audio_refclk1: clock-controller@82e4 {
> +			compatible = "ti,am62-audio-refclk";
> +			reg = <0x82e4 0x4>;
> +			clocks = <&k3_clks 157 10>;
> +			assigned-clocks = <&k3_clks 157 10>;
> +			assigned-clock-parents = <&k3_clks 157 18>;
> +			#clock-cells = <0>;
> +		};
>  	};
>  
>  	dmss: bus@48000000 {
> -- 
> 2.25.1
> 


Jeez what a bit of a mess here - looks like I will have to punt this
series.

a) main_conf in arch/arm64/boot/dts/ti/k3-am62-main.dtsi is still
  syscon, simple-mfd -> I had thought we have converted these already, but
  apparently not.
b) we then have the yaml itself. Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
   it picks up clock-controller as ti,am654-ehrpwm-tbclk.yaml
   but the actual binding is Documentation/devicetree/bindings/clock/ti,am62-audio-refclk.yaml
   which is not enforced.

Jai: please sort this out before I can look at any of these audio
enablement patches involving refclk.


ALSO: please DONOT ignore dtbs_check warnings folks. it does show some
real issues in either bindings or dts.
Andrew Davis Aug. 7, 2023, 6:17 p.m. UTC | #2
On 8/7/23 12:43 PM, Nishanth Menon wrote:
> On 10:51-20230806, Francesco Dolcini wrote:
>> From: Jai Luthra <j-luthra@ti.com>
>>
>> On AM62-based SoCs the AUDIO_REFCLKx clocks can be used as an input to
>> external peripherals when configured through CTRL_MMR, so add the
>> clock nodes.
>>
>> Signed-off-by: Jai Luthra <j-luthra@ti.com>
>> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
>> ---
>> v2:
>>   - s/clock/clock-controller/ on audio refclk nodes name.
>> ---
>>   arch/arm64/boot/dts/ti/k3-am62-main.dtsi  | 18 ++++++++++++++++++
>>   arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 18 ++++++++++++++++++
>>   2 files changed, 36 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
>> index ef90b2bc81eb..5f19ef46d44c 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
>> @@ -60,6 +60,24 @@ epwm_tbclk: clock-controller@4130 {
>>   			reg = <0x4130 0x4>;
>>   			#clock-cells = <1>;
>>   		};
>> +
>> +		audio_refclk0: clock-controller@82e0 {
>> +			compatible = "ti,am62-audio-refclk";
>> +			reg = <0x82e0 0x4>;
>> +			clocks = <&k3_clks 157 0>;
>> +			assigned-clocks = <&k3_clks 157 0>;
>> +			assigned-clock-parents = <&k3_clks 157 8>;
>> +			#clock-cells = <0>;
>> +		};
>> +
>> +		audio_refclk1: clock-controller@82e4 {
>> +			compatible = "ti,am62-audio-refclk";
>> +			reg = <0x82e4 0x4>;
>> +			clocks = <&k3_clks 157 10>;
>> +			assigned-clocks = <&k3_clks 157 10>;
>> +			assigned-clock-parents = <&k3_clks 157 18>;
>> +			#clock-cells = <0>;
>> +		};
>>   	};
>>   
>>   	dmss: bus@48000000 {
>> diff --git a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
>> index 3198af08fb9f..75ea7202e071 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
>> @@ -60,6 +60,24 @@ epwm_tbclk: clock-controller@4130 {
>>   			reg = <0x4130 0x4>;
>>   			#clock-cells = <1>;
>>   		};
>> +
>> +		audio_refclk0: clock-controller@82e0 {
>> +			compatible = "ti,am62-audio-refclk";
>> +			reg = <0x82e0 0x4>;
>> +			clocks = <&k3_clks 157 0>;
>> +			assigned-clocks = <&k3_clks 157 0>;
>> +			assigned-clock-parents = <&k3_clks 157 8>;
>> +			#clock-cells = <0>;
>> +		};
>> +
>> +		audio_refclk1: clock-controller@82e4 {
>> +			compatible = "ti,am62-audio-refclk";
>> +			reg = <0x82e4 0x4>;
>> +			clocks = <&k3_clks 157 10>;
>> +			assigned-clocks = <&k3_clks 157 10>;
>> +			assigned-clock-parents = <&k3_clks 157 18>;
>> +			#clock-cells = <0>;
>> +		};
>>   	};
>>   
>>   	dmss: bus@48000000 {
>> -- 
>> 2.25.1
>>
> 
> 
> Jeez what a bit of a mess here - looks like I will have to punt this
> series.
> 
> a) main_conf in arch/arm64/boot/dts/ti/k3-am62-main.dtsi is still
>    syscon, simple-mfd -> I had thought we have converted these already, but
>    apparently not.


Right, we are working on it, but have been blocked as the "phy_gmii_sel"
node used to require the parent to be a "syscon" node. This was fixed
by [0] but it is still only in -next. After that we can convert more
of these nodes.

[0] https://lore.kernel.org/lkml/20230713200957.134480-1-afd@ti.com/T/

Andrew

> b) we then have the yaml itself. Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
>     it picks up clock-controller as ti,am654-ehrpwm-tbclk.yaml
>     but the actual binding is Documentation/devicetree/bindings/clock/ti,am62-audio-refclk.yaml
>     which is not enforced.
> 
> Jai: please sort this out before I can look at any of these audio
> enablement patches involving refclk.
> 
> 
> ALSO: please DONOT ignore dtbs_check warnings folks. it does show some
> real issues in either bindings or dts.
>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
index ef90b2bc81eb..5f19ef46d44c 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
@@ -60,6 +60,24 @@  epwm_tbclk: clock-controller@4130 {
 			reg = <0x4130 0x4>;
 			#clock-cells = <1>;
 		};
+
+		audio_refclk0: clock-controller@82e0 {
+			compatible = "ti,am62-audio-refclk";
+			reg = <0x82e0 0x4>;
+			clocks = <&k3_clks 157 0>;
+			assigned-clocks = <&k3_clks 157 0>;
+			assigned-clock-parents = <&k3_clks 157 8>;
+			#clock-cells = <0>;
+		};
+
+		audio_refclk1: clock-controller@82e4 {
+			compatible = "ti,am62-audio-refclk";
+			reg = <0x82e4 0x4>;
+			clocks = <&k3_clks 157 10>;
+			assigned-clocks = <&k3_clks 157 10>;
+			assigned-clock-parents = <&k3_clks 157 18>;
+			#clock-cells = <0>;
+		};
 	};
 
 	dmss: bus@48000000 {
diff --git a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
index 3198af08fb9f..75ea7202e071 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
@@ -60,6 +60,24 @@  epwm_tbclk: clock-controller@4130 {
 			reg = <0x4130 0x4>;
 			#clock-cells = <1>;
 		};
+
+		audio_refclk0: clock-controller@82e0 {
+			compatible = "ti,am62-audio-refclk";
+			reg = <0x82e0 0x4>;
+			clocks = <&k3_clks 157 0>;
+			assigned-clocks = <&k3_clks 157 0>;
+			assigned-clock-parents = <&k3_clks 157 8>;
+			#clock-cells = <0>;
+		};
+
+		audio_refclk1: clock-controller@82e4 {
+			compatible = "ti,am62-audio-refclk";
+			reg = <0x82e4 0x4>;
+			clocks = <&k3_clks 157 10>;
+			assigned-clocks = <&k3_clks 157 10>;
+			assigned-clock-parents = <&k3_clks 157 18>;
+			#clock-cells = <0>;
+		};
 	};
 
 	dmss: bus@48000000 {