[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Z6XFPYaj069fvW1h@gaggiata.pivistrello.it>
Date: Fri, 7 Feb 2025 09:33:01 +0100
From: Francesco Dolcini <francesco@...cini.it>
To: Nishanth Menon <nm@...com>, Jayesh Choudhary <j-choudhary@...com>
Cc: Francesco Dolcini <francesco@...cini.it>,
Vignesh Raghavendra <vigneshr@...com>,
Tero Kristo <kristo@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Francesco Dolcini <francesco.dolcini@...adex.com>,
linux-arm-kernel@...ts.infradead.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1] arm64: dts: ti: k3-am62p: Enable AUDIO_REFCLKx
Hello Nishanth,
On Thu, Feb 06, 2025 at 07:42:39PM -0600, Nishanth Menon wrote:
> On 16:39-20250206, Francesco Dolcini wrote:
> > From: Francesco Dolcini <francesco.dolcini@...adex.com>
> >
> > On AM62P-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.
> >
> > Link: http://downloads.ti.com/tisci/esd/latest/5_soc_doc/am62px/clocks.html
> > Signed-off-by: Francesco Dolcini <francesco.dolcini@...adex.com>
> > ---
> > arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 20 ++++++++++++++++++++
> > 1 file changed, 20 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
> > index 420c77c8e9e5..4b47b0774330 100644
> > --- a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
> > +++ b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
> > @@ -42,6 +42,26 @@ &inta_main_dmss {
> > ti,interrupt-ranges = <5 69 35>;
> > };
> >
> > +&main_conf {
>
> Why not add it to main_conf section it self in the file?
The reason is that main_conf is defined in k3-am62p-j722s-common-main.dtsi,
that is shared between am62p and j722s.
On j722s the audio refclk is added in k3-j722s-main.dtsi the same way as I did
here, so I cannot move this to k3-am62p-j722s-common-main.dtsi without updating
also k3-j722s-main.dtsi.
I looked into the differences of j722s and am62p, and from my understanding,
from the audio refclk point of view, they are identical (same IP, same reg, same
clocks and same IDs), so this should naturally be moved to
k3-am62p-j722s-common-main.dtsi as you are suggesting.
... however, for some reason I am not aware of, on k3-j722s-main.dtsi a different
parent clock is used, and I cannot understand the reason. The actual parent clocks
in this patch are just the same we already have everywhere apart on j722s. I tried
to look at the history of this and it seems that on the TI downstream kernel branch
this is defined in the board dts file (!) and this confused me even more.
So, not wanting to break stuff I was not able to understand I came up with this
proposal.
An alternative could be to override the "unexpected" clocks from
k3-j722s-main.dtsi to the board dts file, and have the "standard" clocks, as
proposed in this patch and already used on all the other AM62 variants, in
k3-am62p-j722s-common-main.dtsi.
+Jayesh that is the author of this specific change in k3-j722s-main.dtsi.
Francesco
> > + audio_refclk0: clock-controller@...0 {
> > + 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 16>;
> > + #clock-cells = <0>;
> > + };
> > +
> > + audio_refclk1: clock-controller@...4 {
> > + compatible = "ti,am62-audio-refclk";
> > + reg = <0x82e4 0x4>;
> > + clocks = <&k3_clks 157 18>;
> > + assigned-clocks = <&k3_clks 157 18>;
> > + assigned-clock-parents = <&k3_clks 157 34>;
> > + #clock-cells = <0>;
> > + };
> > +};
> > +
Powered by blists - more mailing lists