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

From: Andrew Davis
Date: Mon Aug 07 2023 - 14:18:09 EST


On 8/7/23 12:43 PM, Nishanth Menon wrote:
On 10:51-20230806, Francesco Dolcini wrote:
From: Jai Luthra <j-luthra@xxxxxx>

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@xxxxxx>
Signed-off-by: Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx>
---
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@xxxxxx/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.