Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/1] arm64: dts: ti: k3-j722s-evm: Switch audio codec clock from audio_refclk1 to external clock
@ 2026-08-04 21:05 Jared McArthur
  2026-08-10 22:15 ` Wang, Sen
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Jared McArthur @ 2026-08-04 21:05 UTC (permalink / raw)
  To: Conor Dooley, Krzysztof Kozlowski, Rob Herring, Tero Kristo,
	Vignesh Raghavendra, Nishanth Menon
  Cc: linux-kernel, devicetree, linux-arm-kernel, Sen Wang,
	Jared McArthur, Moteen Shah

In revision PROC170E1 of the J722SXH01EVM [0], the audio codec's
(TLV320AIC3106IRGZT [1]) MCLK was provided by the AUDIO_EXT_REFCLK1
(96MHz). Revisions PROC170E2 and later switched the MCLK's source
to an external LMK6CE012288CDLFT [2] oscillator (12.288MHz). The
PROC170E1 revision of the board is not publicly available.

Fix the audio codec's clock by creating a new fixed clock node with
a frequency of 12.288MHz, and switch the audio codec's clock from
the audio_refclk1 to the new fixed clock. Remove pinmuxing and clock
muxing for the audio_refclk1.

[0] https://www.ti.com/lit/zip/SPRR495
[1] https://www.ti.com/lit/gpn/TLV320AIC3106
[2] https://www.ti.com/lit/gpn/lmk6c

Signed-off-by: Jared McArthur <j-mcarthur@ti.com>
Tested-by: Moteen Shah <m-shah@ti.com>
---
v2 changes:
- Change the audio codec mclk's name from lmk6x-clk to clock-12288000
  to resolve sashiko-bot's issue
- Change the alias from lmk6x_clk to tlv320_mclk (this mimics the
  k3-am62a7-sk.dts)

v1:
- Link: https://lore.kernel.org/all/20260724203250.1914444-1-j-mcarthur@ti.com/

arch/arm64/boot/dts/ti/k3-j722s-evm.dts | 25 +++++++------------------
 1 file changed, 7 insertions(+), 18 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
index e66330c71593a..90c3e3c9c496e 100644
--- a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
@@ -162,6 +162,12 @@ vsys_io_1v2: regulator-vsys-io-1v2 {
 		regulator-boot-on;
 	};
 
+	tlv320_mclk: clock-12288000 {
+		compatible = "fixed-clock";
+		clock-frequency = <12288000>;
+		#clock-cells = <0>;
+	};
+
 	codec_audio: sound {
 		compatible = "simple-audio-card";
 		simple-audio-card,name = "J722S-EVM";
@@ -187,7 +193,7 @@ simple-audio-card,cpu {
 
 		sound_master: simple-audio-card,codec {
 			sound-dai = <&tlv320aic3106>;
-			clocks = <&audio_refclk1>;
+			clocks = <&tlv320_mclk>;
 		};
 	};
 
@@ -228,11 +234,6 @@ csi23_mux: mux-controller-1 {
 	};
 };
 
-&audio_refclk1 {
-	assigned-clocks = <&k3_clks 157 0>;
-	assigned-clock-parents = <&k3_clks 157 15>;
-};
-
 &cpsw_mac_syscon {
 	bootph-all;
 };
@@ -358,12 +359,6 @@ J722S_IOPAD(0x0084, PIN_INPUT, 2) /* (N21) GPMC0_ADVn_ALE.MCASP1_AXR2 */
 		>;
 	};
 
-	audio_ext_refclk1_pins_default: audio-ext-refclk1-default-pins {
-		pinctrl-single,pins = <
-			J722S_IOPAD(0x00a0, PIN_OUTPUT, 1) /* (N24) GPMC0_WPn.AUDIO_EXT_REFCLK1 */
-		>;
-	};
-
 	pmic_irq_pins_default: pmic-irq-default-pins {
 		pinctrl-single,pins = <
 			J722S_IOPAD(0x030, PIN_INPUT, 7) /* (K23) GPIO0_12 */
@@ -562,12 +557,6 @@ ldo3: ldo3 {
 	};
 };
 
-&k3_clks {
-	/* Configure AUDIO_EXT_REFCLK1 pin as output */
-	pinctrl-names = "default";
-	pinctrl-0 = <&audio_ext_refclk1_pins_default>;
-};
-
 &main_i2c0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&main_i2c0_pins_default>;
-- 
2.34.1



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

* Re: [PATCH v2 1/1] arm64: dts: ti: k3-j722s-evm: Switch audio codec clock from audio_refclk1 to external clock
  2026-08-04 21:05 [PATCH v2 1/1] arm64: dts: ti: k3-j722s-evm: Switch audio codec clock from audio_refclk1 to external clock Jared McArthur
@ 2026-08-10 22:15 ` Wang, Sen
  2026-09-03 20:00 ` Nishanth Menon
  2026-09-04 16:03 ` Nishanth Menon
  2 siblings, 0 replies; 5+ messages in thread
From: Wang, Sen @ 2026-08-10 22:15 UTC (permalink / raw)
  To: Jared McArthur, Conor Dooley, Krzysztof Kozlowski, Rob Herring,
	Tero Kristo, Vignesh Raghavendra, Nishanth Menon
  Cc: linux-kernel, devicetree, linux-arm-kernel, Moteen Shah

On 8/4/2026 4:05 PM, Jared McArthur wrote:
> In revision PROC170E1 of the J722SXH01EVM [0], the audio codec's
> (TLV320AIC3106IRGZT [1]) MCLK was provided by the AUDIO_EXT_REFCLK1
> (96MHz). Revisions PROC170E2 and later switched the MCLK's source
> to an external LMK6CE012288CDLFT [2] oscillator (12.288MHz). The
> PROC170E1 revision of the board is not publicly available.
> 
> Fix the audio codec's clock by creating a new fixed clock node with
> a frequency of 12.288MHz, and switch the audio codec's clock from
> the audio_refclk1 to the new fixed clock. Remove pinmuxing and clock
> muxing for the audio_refclk1.
> 
> [0] https://www.ti.com/lit/zip/SPRR495
> [1] https://www.ti.com/lit/gpn/TLV320AIC3106
> [2] https://www.ti.com/lit/gpn/lmk6c
> 
> Signed-off-by: Jared McArthur <j-mcarthur@ti.com>
> Tested-by: Moteen Shah <m-shah@ti.com>
Hi Jared, thanks for the patch

Tested-by: Sen Wang <sen@ti.com>


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

* Re: [PATCH v2 1/1] arm64: dts: ti: k3-j722s-evm: Switch audio codec clock from audio_refclk1 to external clock
  2026-08-04 21:05 [PATCH v2 1/1] arm64: dts: ti: k3-j722s-evm: Switch audio codec clock from audio_refclk1 to external clock Jared McArthur
  2026-08-10 22:15 ` Wang, Sen
@ 2026-09-03 20:00 ` Nishanth Menon
  2026-09-03 20:09   ` Jared McArthur
  2026-09-04 16:03 ` Nishanth Menon
  2 siblings, 1 reply; 5+ messages in thread
From: Nishanth Menon @ 2026-09-03 20:00 UTC (permalink / raw)
  To: Jared McArthur
  Cc: Conor Dooley, Krzysztof Kozlowski, Rob Herring, Tero Kristo,
	Vignesh Raghavendra, linux-kernel, devicetree, linux-arm-kernel,
	Sen Wang, Moteen Shah

On 16:05-20260804, Jared McArthur wrote:
> In revision PROC170E1 of the J722SXH01EVM [0], the audio codec's
> (TLV320AIC3106IRGZT [1]) MCLK was provided by the AUDIO_EXT_REFCLK1
> (96MHz). Revisions PROC170E2 and later switched the MCLK's source
> to an external LMK6CE012288CDLFT [2] oscillator (12.288MHz). The
> PROC170E1 revision of the board is not publicly available.
> 
> Fix the audio codec's clock by creating a new fixed clock node with
> a frequency of 12.288MHz, and switch the audio codec's clock from
> the audio_refclk1 to the new fixed clock. Remove pinmuxing and clock
> muxing for the audio_refclk1.
> 
> [0] https://www.ti.com/lit/zip/SPRR495
> [1] https://www.ti.com/lit/gpn/TLV320AIC3106
> [2] https://www.ti.com/lit/gpn/lmk6c
> 

Do we need:
Fixes: 3a36c535dfd2 ("arm64: dts: ti: k3-j722s-evm: Enable analog audio support")

?

-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D
https://ti.com/opensource


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

* Re: [PATCH v2 1/1] arm64: dts: ti: k3-j722s-evm: Switch audio codec clock from audio_refclk1 to external clock
  2026-09-03 20:00 ` Nishanth Menon
@ 2026-09-03 20:09   ` Jared McArthur
  0 siblings, 0 replies; 5+ messages in thread
From: Jared McArthur @ 2026-09-03 20:09 UTC (permalink / raw)
  To: Nishanth Menon
  Cc: Conor Dooley, Krzysztof Kozlowski, Rob Herring, Tero Kristo,
	Vignesh Raghavendra, linux-kernel, devicetree, linux-arm-kernel,
	Sen Wang, Moteen Shah

On 9/3/26 15:00, Nishanth Menon wrote:
> On 16:05-20260804, Jared McArthur wrote:
>> In revision PROC170E1 of the J722SXH01EVM [0], the audio codec's
>> (TLV320AIC3106IRGZT [1]) MCLK was provided by the AUDIO_EXT_REFCLK1
>> (96MHz). Revisions PROC170E2 and later switched the MCLK's source
>> to an external LMK6CE012288CDLFT [2] oscillator (12.288MHz). The
>> PROC170E1 revision of the board is not publicly available.
>>
>> Fix the audio codec's clock by creating a new fixed clock node with
>> a frequency of 12.288MHz, and switch the audio codec's clock from
>> the audio_refclk1 to the new fixed clock. Remove pinmuxing and clock
>> muxing for the audio_refclk1.
>>
>> [0] https://www.ti.com/lit/zip/SPRR495
>> [1] https://www.ti.com/lit/gpn/TLV320AIC3106
>> [2] https://www.ti.com/lit/gpn/lmk6c
>>
> 
> Do we need:
> Fixes: 3a36c535dfd2 ("arm64: dts: ti: k3-j722s-evm: Enable analog audio support")
> 
> ?
> 

Thank you for the comment.

I can add the fixes tag. I was unsure about adding it originally,
because the commit did work for the original revision. To me,
it's debatable whether the commit introduced a bug, because the
bug is due to a hardware change.

-- 
Best,
Jared McArthur



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

* Re: [PATCH v2 1/1] arm64: dts: ti: k3-j722s-evm: Switch audio codec clock from audio_refclk1 to external clock
  2026-08-04 21:05 [PATCH v2 1/1] arm64: dts: ti: k3-j722s-evm: Switch audio codec clock from audio_refclk1 to external clock Jared McArthur
  2026-08-10 22:15 ` Wang, Sen
  2026-09-03 20:00 ` Nishanth Menon
@ 2026-09-04 16:03 ` Nishanth Menon
  2 siblings, 0 replies; 5+ messages in thread
From: Nishanth Menon @ 2026-09-04 16:03 UTC (permalink / raw)
  To: Conor Dooley, Krzysztof Kozlowski, Rob Herring, Tero Kristo,
	Vignesh Raghavendra, Jared McArthur
  Cc: Nishanth Menon, linux-kernel, devicetree, linux-arm-kernel,
	Sen Wang, Moteen Shah

Hi Jared McArthur,

On Tue, 04 Aug 2026 16:05:58 -0500, Jared McArthur wrote:
> In revision PROC170E1 of the J722SXH01EVM [0], the audio codec's
> (TLV320AIC3106IRGZT [1]) MCLK was provided by the AUDIO_EXT_REFCLK1
> (96MHz). Revisions PROC170E2 and later switched the MCLK's source
> to an external LMK6CE012288CDLFT [2] oscillator (12.288MHz). The
> PROC170E1 revision of the board is not publicly available.
> 
> Fix the audio codec's clock by creating a new fixed clock node with
> a frequency of 12.288MHz, and switch the audio codec's clock from
> the audio_refclk1 to the new fixed clock. Remove pinmuxing and clock
> muxing for the audio_refclk1.
> 
> [...]

I applied the fixes since all boards people can procure has this fix
needed, so best to get it into stable.

I have applied the following to branch ti-k3-dts-next on [1].
Thank you!

[1/1] arm64: dts: ti: k3-j722s-evm: Switch audio codec clock from audio_refclk1 to external clock
      commit: 432bfc86fe62b654c74d9376b03cbe4d3513ac5f

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent up the chain during
the next merge window (or sooner if it is a relevant bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D
https://ti.com/opensource



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

end of thread, other threads:[~2026-09-04 16:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-04 21:05 [PATCH v2 1/1] arm64: dts: ti: k3-j722s-evm: Switch audio codec clock from audio_refclk1 to external clock Jared McArthur
2026-08-10 22:15 ` Wang, Sen
2026-09-03 20:00 ` Nishanth Menon
2026-09-03 20:09   ` Jared McArthur
2026-09-04 16:03 ` Nishanth Menon

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