public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance
@ 2026-05-06 14:09 Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 01/13] arm64: dts: ti: k3-am642-hummingboard-t: fix USB clocking for compliance Siddharth Vadapalli
                   ` (13 more replies)
  0 siblings, 14 replies; 16+ messages in thread
From: Siddharth Vadapalli @ 2026-05-06 14:09 UTC (permalink / raw)
  To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb,
	robertcnelson, afd, u-kumar1
  Cc: stable, devicetree, linux-kernel, linux-arm-kernel, luis.parga,
	srk, s-vadapalli

Hello,

This series enables Internal Spread Spectrum Clocking (SSC) for USB
SuperSpeed configuration. This is mandated by the USB Specification
section 6.5.3 Normative Spread Spectrum Clocking (SSC).

Series has been posted as individual patches for respective boards since
the Fixes tag is different for each board and needs to be backported via
stable.

Series is based on commit
74fe02ce122a Merge tag 'wq-for-7.1-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
of Mainline Linux.

v1 of this series is at:
https://lore.kernel.org/r/20260505110631.1144200-1-s-vadapalli@ti.com/
Changes since v1:
- Collected Acked-by tag on patch 1 from Josua Mayer <josua@solid-run.com>
- Reordered properties in patches 7, 8, 12 and 13 to have 'status' at the
  end of the node based on feedback from Francesco Dolcini <francesco@dolcini.it>

Series has been tested on the following boards:
1. AM642-SK
https://gist.github.com/Siddharth-Vadapalli-at-TI/d4aecc572697bd02bb65a0fe5efea393
2. AM68-SK-Baseboard
https://gist.github.com/Siddharth-Vadapalli-at-TI/371aacaada2b236776455be5fa15e593
3. AM69-SK
https://gist.github.com/Siddharth-Vadapalli-at-TI/1d7c6c3a5cbe6ec2bc966887c3e4d913
4. J721E-Common-Processor-Board
https://gist.github.com/Siddharth-Vadapalli-at-TI/f815f1a9b400ba492133e43c36f69936
5. J721E-SK
https://gist.github.com/Siddharth-Vadapalli-at-TI/0d1e4e72b47ab1482b5b7d1247bc8bfa
6. J722S-EVM
https://gist.github.com/Siddharth-Vadapalli-at-TI/146533f0a89bde59b47ead582a924e62
7. J742S2-EVM
https://gist.github.com/Siddharth-Vadapalli-at-TI/be8ed3e339441b7301f57ad006868238
8. J784S4-EVM
https://gist.github.com/Siddharth-Vadapalli-at-TI/62795430857387491162b21d9c9692d0

Regards,
Siddharth.

Luis Parga (2):
  arm64: dts: ti: k3-am642-sk: fix USB clocking for compliance
  arm64: dts: ti: k3-j722s-evm: fix USB clocking for compliance

Siddharth Vadapalli (11):
  arm64: dts: ti: k3-am642-hummingboard-t: fix USB clocking for
    compliance
  arm64: dts: ti: k3-am642-phyboard-electra-rdk: fix USB clocking for
    compliance
  arm64: dts: ti: k3-am642-tqma64xxl: fix USB clocking for compliance
  arm64: dts: ti: k3-am68-phyboard-izar: fix USB clocking for compliance
  arm64: dts: ti: k3-am68-sk-baseboard: fix USB clocking for compliance
  arm64: dts: ti: k3-am69-aquila: fix USB clocking for compliance
  arm64: dts: ti: k3-am69-sk: fix USB clocking for compliance
  arm64: dts: ti: k3-j721e-beagleboneai64: fix USB clocking for
    compliance
  arm64: dts: ti: k3-j721e-common-proc-board: fix USB clocking for
    compliance
  arm64: dts: ti: k3-j721e-sk: fix USB clocking for compliance
  arm64: dts: ti: k3-j784s4-j742s2-evm-common: fix USB clocking for
    compliance

 .../boot/dts/ti/k3-am642-hummingboard-t-usb3.dts  |  9 +++++++++
 .../boot/dts/ti/k3-am642-phyboard-electra-rdk.dts |  9 +++++++++
 arch/arm64/boot/dts/ti/k3-am642-sk.dts            |  6 ++++++
 .../boot/dts/ti/k3-am642-tqma64xxl-mbax4xxl.dts   |  9 +++++++++
 arch/arm64/boot/dts/ti/k3-am68-phyboard-izar.dts  |  9 +++++++++
 arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts  |  9 +++++++++
 arch/arm64/boot/dts/ti/k3-am69-aquila.dtsi        |  6 ++++++
 arch/arm64/boot/dts/ti/k3-am69-sk.dts             |  6 ++++++
 .../arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts | 15 +++++++++++++++
 .../boot/dts/ti/k3-j721e-common-proc-board.dts    |  6 ++++++
 arch/arm64/boot/dts/ti/k3-j721e-sk.dts            | 15 +++++++++++++++
 arch/arm64/boot/dts/ti/k3-j722s-evm.dts           |  6 ++++++
 .../boot/dts/ti/k3-j784s4-j742s2-evm-common.dtsi  |  6 ++++++
 13 files changed, 111 insertions(+)

-- 
2.51.1


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

* [PATCH v2 01/13] arm64: dts: ti: k3-am642-hummingboard-t: fix USB clocking for compliance
  2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
@ 2026-05-06 14:09 ` Siddharth Vadapalli
  2026-05-06 14:17   ` Josua Mayer
  2026-05-06 14:09 ` [PATCH v2 02/13] arm64: dts: ti: k3-am642-phyboard-electra-rdk: " Siddharth Vadapalli
                   ` (12 subsequent siblings)
  13 siblings, 1 reply; 16+ messages in thread
From: Siddharth Vadapalli @ 2026-05-06 14:09 UTC (permalink / raw)
  To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb,
	robertcnelson, afd, u-kumar1
  Cc: stable, devicetree, linux-kernel, linux-arm-kernel, luis.parga,
	srk, s-vadapalli

According to section "6.5.3 Normative Spread Spectrum Clocking (SSC)" of
the USB 3.2 Specification, SSC should be enabled by default. This protects
against EMI violations. Hence, enable internal SSC for USB SuperSpeed.

Fixes: e2b691804319 ("arm64: dts: ti: k3-am642-hummingboard-t: Convert overlay to board dts")
Fixes: bbef42084cc1 ("arm64: dts: ti: hummingboard-t: add overlays for m.2 pci-e and usb-3")
Cc: <stable@vger.kernel.org>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Acked-by: Josua Mayer <josua@solid-run.com>
---

v1:
https://lore.kernel.org/r/20260505110631.1144200-2-s-vadapalli@ti.com/
Changes since v1:
- Collected Acked-by tag.

 arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dts | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dts b/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dts
index ee9bd618f370..90a158531f60 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dts
@@ -15,6 +15,14 @@ / {
 	model = "SolidRun AM642 HummingBoard-T with USB-3.1 Gen 1";
 };
 
+&serdes_wiz0 {
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
+};
+
 &serdes0 {
 	#address-cells = <1>;
 	#size-cells = <0>;
@@ -23,6 +31,7 @@ serdes0_link: phy@0 {
 		reg = <0>;
 		cdns,num-lanes = <1>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 		#phy-cells = <0>;
 		resets = <&serdes_wiz0 1>;
 	};
-- 
2.51.1


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

* [PATCH v2 02/13] arm64: dts: ti: k3-am642-phyboard-electra-rdk: fix USB clocking for compliance
  2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 01/13] arm64: dts: ti: k3-am642-hummingboard-t: fix USB clocking for compliance Siddharth Vadapalli
@ 2026-05-06 14:09 ` Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 03/13] arm64: dts: ti: k3-am642-sk: " Siddharth Vadapalli
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Siddharth Vadapalli @ 2026-05-06 14:09 UTC (permalink / raw)
  To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb,
	robertcnelson, afd, u-kumar1
  Cc: stable, devicetree, linux-kernel, linux-arm-kernel, luis.parga,
	srk, s-vadapalli

According to section "6.5.3 Normative Spread Spectrum Clocking (SSC)" of
the USB 3.2 Specification, SSC should be enabled by default. This protects
against EMI violations. Hence, enable internal SSC for USB SuperSpeed.

Fixes: c48ac0efe6d7 ("arm64: dts: ti: Add support for phyBOARD-Electra-AM642")
Cc: <stable@vger.kernel.org>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---

v1:
https://lore.kernel.org/r/20260505110631.1144200-3-s-vadapalli@ti.com/
No changes since v1.

 arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts b/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
index 793538f94942..a85d7d08bd1b 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
@@ -439,12 +439,21 @@ &sdhci1 {
 	status = "okay";
 };
 
+&serdes_wiz0 {
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
+};
+
 &serdes0 {
 	serdes0_pcie_usb_link: phy@0 {
 		reg = <0>;
 		cdns,num-lanes = <1>;
 		#phy-cells = <0>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 		resets = <&serdes_wiz0 1>;
 	};
 };
-- 
2.51.1


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

* [PATCH v2 03/13] arm64: dts: ti: k3-am642-sk: fix USB clocking for compliance
  2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 01/13] arm64: dts: ti: k3-am642-hummingboard-t: fix USB clocking for compliance Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 02/13] arm64: dts: ti: k3-am642-phyboard-electra-rdk: " Siddharth Vadapalli
@ 2026-05-06 14:09 ` Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 04/13] arm64: dts: ti: k3-am642-tqma64xxl: " Siddharth Vadapalli
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Siddharth Vadapalli @ 2026-05-06 14:09 UTC (permalink / raw)
  To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb,
	robertcnelson, afd, u-kumar1
  Cc: stable, devicetree, linux-kernel, linux-arm-kernel, luis.parga,
	srk, s-vadapalli

From: Luis Parga <luis.parga@ti.com>

According to section "6.5.3 Normative Spread Spectrum Clocking (SSC)" of
the USB 3.2 Specification, SSC should be enabled by default. This protects
against EMI violations. Hence, enable internal SSC for USB SuperSpeed.

Fixes: 4e8aa4e3559a ("arm64: dts: ti: k3-am642-sk: Enable USB Super-Speed HOST port")
Cc: <stable@vger.kernel.org>
Signed-off-by: Luis Parga <luis.parga@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---

v1:
https://lore.kernel.org/r/20260505110631.1144200-4-s-vadapalli@ti.com/
No changes since v1.

 arch/arm64/boot/dts/ti/k3-am642-sk.dts | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am642-sk.dts b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
index d28a38c87f32..9f63fea5e6a4 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
@@ -463,6 +463,11 @@ &serdes_refclk {
 
 &serdes_wiz0 {
 	bootph-all;
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
 };
 
 &serdes0 {
@@ -473,6 +478,7 @@ serdes0_usb_link: phy@0 {
 		cdns,num-lanes = <1>;
 		#phy-cells = <0>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 		resets = <&serdes_wiz0 1>;
 	};
 };
-- 
2.51.1


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

* [PATCH v2 04/13] arm64: dts: ti: k3-am642-tqma64xxl: fix USB clocking for compliance
  2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
                   ` (2 preceding siblings ...)
  2026-05-06 14:09 ` [PATCH v2 03/13] arm64: dts: ti: k3-am642-sk: " Siddharth Vadapalli
@ 2026-05-06 14:09 ` Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 05/13] arm64: dts: ti: k3-am68-phyboard-izar: " Siddharth Vadapalli
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Siddharth Vadapalli @ 2026-05-06 14:09 UTC (permalink / raw)
  To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb,
	robertcnelson, afd, u-kumar1
  Cc: stable, devicetree, linux-kernel, linux-arm-kernel, luis.parga,
	srk, s-vadapalli

According to section "6.5.3 Normative Spread Spectrum Clocking (SSC)" of
the USB 3.2 Specification, SSC should be enabled by default. This protects
against EMI violations. Hence, enable internal SSC for USB SuperSpeed.

Fixes: 4717a36f31ec ("arm64: dts: ti: Add TQ-Systems TQMa64XxL SoM and MBaX4XxL carrier board Device Trees")
Cc: <stable@vger.kernel.org>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---

v1:
https://lore.kernel.org/r/20260505110631.1144200-5-s-vadapalli@ti.com/
No changes since v1.

 arch/arm64/boot/dts/ti/k3-am642-tqma64xxl-mbax4xxl.dts | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am642-tqma64xxl-mbax4xxl.dts b/arch/arm64/boot/dts/ti/k3-am642-tqma64xxl-mbax4xxl.dts
index 46be6824dd16..e5d1b2ebf2c8 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-tqma64xxl-mbax4xxl.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-tqma64xxl-mbax4xxl.dts
@@ -504,6 +504,14 @@ &serdes_refclk {
 	bootph-all;
 };
 
+&serdes_wiz0 {
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
+};
+
 &serdes0 {
 	serdes0_usb_link: phy@0 {
 		reg = <0>;
@@ -512,6 +520,7 @@ serdes0_usb_link: phy@0 {
 		bootph-all;
 		cdns,num-lanes = <1>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 	};
 };
 
-- 
2.51.1


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

* [PATCH v2 05/13] arm64: dts: ti: k3-am68-phyboard-izar: fix USB clocking for compliance
  2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
                   ` (3 preceding siblings ...)
  2026-05-06 14:09 ` [PATCH v2 04/13] arm64: dts: ti: k3-am642-tqma64xxl: " Siddharth Vadapalli
@ 2026-05-06 14:09 ` Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 06/13] arm64: dts: ti: k3-am68-sk-baseboard: " Siddharth Vadapalli
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Siddharth Vadapalli @ 2026-05-06 14:09 UTC (permalink / raw)
  To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb,
	robertcnelson, afd, u-kumar1
  Cc: stable, devicetree, linux-kernel, linux-arm-kernel, luis.parga,
	srk, s-vadapalli

According to section "6.5.3 Normative Spread Spectrum Clocking (SSC)" of
the USB 3.2 Specification, SSC should be enabled by default. This protects
against EMI violations. Hence, enable internal SSC for USB SuperSpeed.

Fixes: 8bc3b1c86452 ("arm64: dts: ti: Add basic support for phyBOARD-Izar-AM68x")
Cc: <stable@vger.kernel.org>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---

v1:
https://lore.kernel.org/r/20260505110631.1144200-6-s-vadapalli@ti.com/
No changes since v1.

 arch/arm64/boot/dts/ti/k3-am68-phyboard-izar.dts | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am68-phyboard-izar.dts b/arch/arm64/boot/dts/ti/k3-am68-phyboard-izar.dts
index 225fe7a7803b..d9b61e426ff8 100644
--- a/arch/arm64/boot/dts/ti/k3-am68-phyboard-izar.dts
+++ b/arch/arm64/boot/dts/ti/k3-am68-phyboard-izar.dts
@@ -505,6 +505,14 @@ &serdes_refclk {
 	clock-frequency = <100000000>;
 };
 
+&serdes_wiz0 {
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
+};
+
 &serdes0 {
 	status = "okay";
 
@@ -522,6 +530,7 @@ serdes0_usb_link: phy@1 {
 		#phy-cells = <0>;
 		resets = <&serdes_wiz0 2>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 	};
 };
 
-- 
2.51.1


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

* [PATCH v2 06/13] arm64: dts: ti: k3-am68-sk-baseboard: fix USB clocking for compliance
  2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
                   ` (4 preceding siblings ...)
  2026-05-06 14:09 ` [PATCH v2 05/13] arm64: dts: ti: k3-am68-phyboard-izar: " Siddharth Vadapalli
@ 2026-05-06 14:09 ` Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 07/13] arm64: dts: ti: k3-am69-aquila: " Siddharth Vadapalli
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Siddharth Vadapalli @ 2026-05-06 14:09 UTC (permalink / raw)
  To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb,
	robertcnelson, afd, u-kumar1
  Cc: stable, devicetree, linux-kernel, linux-arm-kernel, luis.parga,
	srk, s-vadapalli

According to section "6.5.3 Normative Spread Spectrum Clocking (SSC)" of
the USB 3.2 Specification, SSC should be enabled by default. This protects
against EMI violations. Hence, enable internal SSC for USB SuperSpeed.

Fixes: 067878e6cd25 ("arm64: dts: ti: k3-am68-sk: Add DT node for USB")
Cc: <stable@vger.kernel.org>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---

v1:
https://lore.kernel.org/r/20260505110631.1144200-7-s-vadapalli@ti.com/
No changes since v1.

 arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
index 8178333fb2b4..d44c3685503c 100644
--- a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
@@ -793,6 +793,14 @@ &serdes_refclk {
 	clock-frequency = <100000000>;
 };
 
+&serdes_wiz0 {
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
+};
+
 &serdes0 {
 	status = "okay";
 
@@ -810,6 +818,7 @@ serdes0_usb_link: phy@2 {
 		cdns,num-lanes = <1>;
 		#phy-cells = <0>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 		resets = <&serdes_wiz0 3>;
 	};
 };
-- 
2.51.1


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

* [PATCH v2 07/13] arm64: dts: ti: k3-am69-aquila: fix USB clocking for compliance
  2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
                   ` (5 preceding siblings ...)
  2026-05-06 14:09 ` [PATCH v2 06/13] arm64: dts: ti: k3-am68-sk-baseboard: " Siddharth Vadapalli
@ 2026-05-06 14:09 ` Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 08/13] arm64: dts: ti: k3-am69-sk: " Siddharth Vadapalli
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Siddharth Vadapalli @ 2026-05-06 14:09 UTC (permalink / raw)
  To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb,
	robertcnelson, afd, u-kumar1
  Cc: stable, devicetree, linux-kernel, linux-arm-kernel, luis.parga,
	srk, s-vadapalli

According to section "6.5.3 Normative Spread Spectrum Clocking (SSC)" of
the USB 3.2 Specification, SSC should be enabled by default. This protects
against EMI violations. Hence, enable internal SSC for USB SuperSpeed.

Fixes: 39ac6623b1d8 ("arm64: dts: ti: Add Aquila AM69 Support")
Cc: <stable@vger.kernel.org>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---

v1:
https://lore.kernel.org/r/20260505110631.1144200-8-s-vadapalli@ti.com/
Changes since v1:
- Reordered properties in serdes_wiz0 node to place status at the end.

 arch/arm64/boot/dts/ti/k3-am69-aquila.dtsi | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am69-aquila.dtsi b/arch/arm64/boot/dts/ti/k3-am69-aquila.dtsi
index 5119baf62a4c..a5228a7d8339 100644
--- a/arch/arm64/boot/dts/ti/k3-am69-aquila.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am69-aquila.dtsi
@@ -1423,6 +1423,7 @@ serdes0_usb0_ss_link: phy@3 {
 		resets = <&serdes_wiz0 4>;
 		cdns,num-lanes = <1>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 	};
 };
 
@@ -1501,6 +1502,11 @@ &serdes_ln_ctrl {
 };
 
 &serdes_wiz0 {
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
 	status = "okay";
 };
 
-- 
2.51.1


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

* [PATCH v2 08/13] arm64: dts: ti: k3-am69-sk: fix USB clocking for compliance
  2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
                   ` (6 preceding siblings ...)
  2026-05-06 14:09 ` [PATCH v2 07/13] arm64: dts: ti: k3-am69-aquila: " Siddharth Vadapalli
@ 2026-05-06 14:09 ` Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 09/13] arm64: dts: ti: k3-j721e-beagleboneai64: " Siddharth Vadapalli
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Siddharth Vadapalli @ 2026-05-06 14:09 UTC (permalink / raw)
  To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb,
	robertcnelson, afd, u-kumar1
  Cc: stable, devicetree, linux-kernel, linux-arm-kernel, luis.parga,
	srk, s-vadapalli

According to section "6.5.3 Normative Spread Spectrum Clocking (SSC)" of
the USB 3.2 Specification, SSC should be enabled by default. This protects
against EMI violations. Hence, enable internal SSC for USB SuperSpeed.

Fixes: ff7b5e93f16a ("arm64: dts: ti: k3-am69-sk: Add USB SuperSpeed support")
Cc: <stable@vger.kernel.org>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---

v1:
https://lore.kernel.org/r/20260505110631.1144200-9-s-vadapalli@ti.com/
Changes since v1:
- Reordered properties in serdes_wiz0 node to place status at the end.

 arch/arm64/boot/dts/ti/k3-am69-sk.dts | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am69-sk.dts b/arch/arm64/boot/dts/ti/k3-am69-sk.dts
index e56772a334c5..afd809104d1b 100644
--- a/arch/arm64/boot/dts/ti/k3-am69-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am69-sk.dts
@@ -970,6 +970,11 @@ &serdes_ln_ctrl {
 };
 
 &serdes_wiz0 {
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
 	status = "okay";
 };
 
@@ -997,6 +1002,7 @@ serdes0_usb_link: phy@3 {
 		cdns,num-lanes = <1>;
 		#phy-cells = <0>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 		resets = <&serdes_wiz0 4>;
 	};
 };
-- 
2.51.1


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

* [PATCH v2 09/13] arm64: dts: ti: k3-j721e-beagleboneai64: fix USB clocking for compliance
  2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
                   ` (7 preceding siblings ...)
  2026-05-06 14:09 ` [PATCH v2 08/13] arm64: dts: ti: k3-am69-sk: " Siddharth Vadapalli
@ 2026-05-06 14:09 ` Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 10/13] arm64: dts: ti: k3-j721e-common-proc-board: " Siddharth Vadapalli
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Siddharth Vadapalli @ 2026-05-06 14:09 UTC (permalink / raw)
  To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb,
	robertcnelson, afd, u-kumar1
  Cc: stable, devicetree, linux-kernel, linux-arm-kernel, luis.parga,
	srk, s-vadapalli

According to section "6.5.3 Normative Spread Spectrum Clocking (SSC)" of
the USB 3.2 Specification, SSC should be enabled by default. This protects
against EMI violations. Hence, enable internal SSC for USB SuperSpeed.

Fixes: fae14a1cb8dd ("arm64: dts: ti: Add k3-j721e-beagleboneai64")
Cc: <stable@vger.kernel.org>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---

v1:
https://lore.kernel.org/r/20260505110631.1144200-10-s-vadapalli@ti.com/
No changes since v1.

 .../arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
index 8040b6528c18..1e87c6cf146a 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
@@ -578,6 +578,11 @@ &serdes_ln_ctrl {
 &serdes_wiz3 {
 	typec-dir-gpios = <&main_gpio1 3 GPIO_ACTIVE_LOW>;
 	typec-dir-debounce-ms = <700>;	/* TUSB321, tCCB_DEFAULT 133 ms */
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
 };
 
 &serdes3 {
@@ -586,6 +591,7 @@ serdes3_usb_link: phy@0 {
 		cdns,num-lanes = <2>;
 		#phy-cells = <0>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 		resets = <&serdes_wiz3 1>, <&serdes_wiz3 2>;
 	};
 };
@@ -621,12 +627,21 @@ &usb0 {
 	phy-names = "cdns3,usb3-phy";
 };
 
+&serdes_wiz2 {
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
+};
+
 &serdes2 {
 	serdes2_usb_link: phy@1 {
 		reg = <1>;
 		cdns,num-lanes = <1>;
 		#phy-cells = <0>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 		resets = <&serdes_wiz2 2>;
 	};
 };
-- 
2.51.1


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

* [PATCH v2 10/13] arm64: dts: ti: k3-j721e-common-proc-board: fix USB clocking for compliance
  2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
                   ` (8 preceding siblings ...)
  2026-05-06 14:09 ` [PATCH v2 09/13] arm64: dts: ti: k3-j721e-beagleboneai64: " Siddharth Vadapalli
@ 2026-05-06 14:09 ` Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 11/13] arm64: dts: ti: k3-j721e-sk: " Siddharth Vadapalli
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Siddharth Vadapalli @ 2026-05-06 14:09 UTC (permalink / raw)
  To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb,
	robertcnelson, afd, u-kumar1
  Cc: stable, devicetree, linux-kernel, linux-arm-kernel, luis.parga,
	srk, s-vadapalli

According to section "6.5.3 Normative Spread Spectrum Clocking (SSC)" of
the USB 3.2 Specification, SSC should be enabled by default. This protects
against EMI violations. Hence, enable internal SSC for USB SuperSpeed.

Fixes: 02c35dca2b48 ("arm64: dts: ti: k3-j721e: Enable Super-Speed support for USB0")
Cc: <stable@vger.kernel.org>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---

v1:
https://lore.kernel.org/r/20260505110631.1144200-11-s-vadapalli@ti.com/
No changes since v1.

 arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts b/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts
index 53e7fbcef52b..b25bce995b64 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts
@@ -531,6 +531,11 @@ &serdes_ln_ctrl {
 &serdes_wiz3 {
 	typec-dir-gpios = <&main_gpio1 3 GPIO_ACTIVE_HIGH>;
 	typec-dir-debounce-ms = <700>;	/* TUSB321, tCCB_DEFAULT 133 ms */
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
 };
 
 &serdes3 {
@@ -539,6 +544,7 @@ serdes3_usb_link: phy@0 {
 		cdns,num-lanes = <2>;
 		#phy-cells = <0>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 		resets = <&serdes_wiz3 1>, <&serdes_wiz3 2>;
 		bootph-all;
 	};
-- 
2.51.1


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

* [PATCH v2 11/13] arm64: dts: ti: k3-j721e-sk: fix USB clocking for compliance
  2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
                   ` (9 preceding siblings ...)
  2026-05-06 14:09 ` [PATCH v2 10/13] arm64: dts: ti: k3-j721e-common-proc-board: " Siddharth Vadapalli
@ 2026-05-06 14:09 ` Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 12/13] arm64: dts: ti: k3-j722s-evm: " Siddharth Vadapalli
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Siddharth Vadapalli @ 2026-05-06 14:09 UTC (permalink / raw)
  To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb,
	robertcnelson, afd, u-kumar1
  Cc: stable, devicetree, linux-kernel, linux-arm-kernel, luis.parga,
	srk, s-vadapalli

According to section "6.5.3 Normative Spread Spectrum Clocking (SSC)" of
the USB 3.2 Specification, SSC should be enabled by default. This protects
against EMI violations. Hence, enable internal SSC for USB SuperSpeed.

Fixes: 1bfda92a3a36 ("arm64: dts: ti: Add support for J721E SK")
Cc: <stable@vger.kernel.org>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---

v1:
https://lore.kernel.org/r/20260505110631.1144200-12-s-vadapalli@ti.com/
No changes since v1.

 arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
index 689ba2ff81f7..79927a34edff 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
@@ -960,6 +960,11 @@ &serdes_ln_ctrl {
 &serdes_wiz3 {
 	typec-dir-gpios = <&main_gpio1 3 GPIO_ACTIVE_HIGH>;
 	typec-dir-debounce-ms = <700>;	/* TUSB321, tCCB_DEFAULT 133 ms */
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
 };
 
 &serdes3 {
@@ -968,6 +973,7 @@ serdes3_usb_link: phy@0 {
 		cdns,num-lanes = <2>;
 		#phy-cells = <0>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 		resets = <&serdes_wiz3 1>, <&serdes_wiz3 2>;
 		bootph-all;
 	};
@@ -1006,12 +1012,21 @@ &usb0 {
 	bootph-all;
 };
 
+&serdes_wiz2 {
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
+};
+
 &serdes2 {
 	serdes2_usb_link: phy@1 {
 		reg = <1>;
 		cdns,num-lanes = <1>;
 		#phy-cells = <0>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 		resets = <&serdes_wiz2 2>;
 	};
 };
-- 
2.51.1


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

* [PATCH v2 12/13] arm64: dts: ti: k3-j722s-evm: fix USB clocking for compliance
  2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
                   ` (10 preceding siblings ...)
  2026-05-06 14:09 ` [PATCH v2 11/13] arm64: dts: ti: k3-j721e-sk: " Siddharth Vadapalli
@ 2026-05-06 14:09 ` Siddharth Vadapalli
  2026-05-06 14:09 ` [PATCH v2 13/13] arm64: dts: ti: k3-j784s4-j742s2-evm-common: " Siddharth Vadapalli
  2026-05-06 17:07 ` [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Robert Nelson
  13 siblings, 0 replies; 16+ messages in thread
From: Siddharth Vadapalli @ 2026-05-06 14:09 UTC (permalink / raw)
  To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb,
	robertcnelson, afd, u-kumar1
  Cc: stable, devicetree, linux-kernel, linux-arm-kernel, luis.parga,
	srk, s-vadapalli

From: Luis Parga <luis.parga@ti.com>

According to section "6.5.3 Normative Spread Spectrum Clocking (SSC)" of
the USB 3.2 Specification, SSC should be enabled by default. This protects
against EMI violations. Hence, enable internal SSC for USB SuperSpeed.

Fixes: 485705df5d5f ("arm64: dts: ti: k3-j722s: Enable PCIe and USB support on J722S-EVM")
Cc: <stable@vger.kernel.org>
Signed-off-by: Luis Parga <luis.parga@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---

v1:
https://lore.kernel.org/r/20260505110631.1144200-13-s-vadapalli@ti.com/
Changes since v1:
- Reordered properties in serdes_wiz0 node to place status at the end.

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

diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
index e66330c71593..06b83e94da67 100644
--- a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
@@ -745,6 +745,11 @@ &serdes_ln_ctrl {
 };
 
 &serdes_wiz0 {
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
 	status = "okay";
 };
 
@@ -754,6 +759,7 @@ serdes0_usb_link: phy@0 {
 		cdns,num-lanes = <1>;
 		#phy-cells = <0>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 		resets = <&serdes_wiz0 1>;
 	};
 };
-- 
2.51.1


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

* [PATCH v2 13/13] arm64: dts: ti: k3-j784s4-j742s2-evm-common: fix USB clocking for compliance
  2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
                   ` (11 preceding siblings ...)
  2026-05-06 14:09 ` [PATCH v2 12/13] arm64: dts: ti: k3-j722s-evm: " Siddharth Vadapalli
@ 2026-05-06 14:09 ` Siddharth Vadapalli
  2026-05-06 17:07 ` [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Robert Nelson
  13 siblings, 0 replies; 16+ messages in thread
From: Siddharth Vadapalli @ 2026-05-06 14:09 UTC (permalink / raw)
  To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb,
	robertcnelson, afd, u-kumar1
  Cc: stable, devicetree, linux-kernel, linux-arm-kernel, luis.parga,
	srk, s-vadapalli

According to section "6.5.3 Normative Spread Spectrum Clocking (SSC)" of
the USB 3.2 Specification, SSC should be enabled by default. This protects
against EMI violations. Hence, enable internal SSC for USB SuperSpeed.

Fixes: 39b623c05c46 ("arm64: dts: ti: Refactor J784s4-evm to a common file")
Fixes: bed97e94ee2d ("arm64: dts: ti: k3-j784s4-evm: Enable USB3 support")
Cc: <stable@vger.kernel.org>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---

v1:
https://lore.kernel.org/r/20260505110631.1144200-14-s-vadapalli@ti.com/
Changes since v1:
- Reordered properties in serdes_wiz0 node to place status at the end.

 arch/arm64/boot/dts/ti/k3-j784s4-j742s2-evm-common.dtsi | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-evm-common.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-evm-common.dtsi
index ff3a85cbc524..43a74118e859 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-evm-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-evm-common.dtsi
@@ -1010,11 +1010,17 @@ serdes0_usb_link: phy@3 {
 		cdns,num-lanes = <1>;
 		#phy-cells = <0>;
 		cdns,phy-type = <PHY_TYPE_USB3>;
+		cdns,ssc-mode = <2>; /* 2 for internal SSC */
 		resets = <&serdes_wiz0 4>;
 	};
 };
 
 &serdes_wiz0 {
+	ti,core-clk-sel = <1>;  /* Select internal reference clock */
+	ti,ssc-enable; /* Enable SSC */
+	ti,ssc-type = <1>; /* 1 for Downspread */
+	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
+	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
 	status = "okay";
 };
 
-- 
2.51.1


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

* Re: [PATCH v2 01/13] arm64: dts: ti: k3-am642-hummingboard-t: fix USB clocking for compliance
  2026-05-06 14:09 ` [PATCH v2 01/13] arm64: dts: ti: k3-am642-hummingboard-t: fix USB clocking for compliance Siddharth Vadapalli
@ 2026-05-06 14:17   ` Josua Mayer
  0 siblings, 0 replies; 16+ messages in thread
From: Josua Mayer @ 2026-05-06 14:17 UTC (permalink / raw)
  To: Siddharth Vadapalli, nm@ti.com, vigneshr@ti.com,
	kristo@kernel.org, robh@kernel.org, krzk+dt@kernel.org,
	conor+dt@kernel.org, w.egorov@phytec.de,
	matthias.schiffer@ew.tq-group.com, d.haller@phytec.de,
	francesco.dolcini@toradex.com, joao.goncalves@toradex.com,
	emanuele.ghidoli@toradex.com, ernest.vanhoecke@toradex.com,
	rogerq@kernel.org, eballetb@redhat.com, robertcnelson@gmail.com,
	afd@ti.com, u-kumar1@ti.com
  Cc: stable@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, luis.parga@ti.com,
	srk@ti.com

Am 06.05.26 um 16:09 schrieb Siddharth Vadapalli:
> According to section "6.5.3 Normative Spread Spectrum Clocking (SSC)" of
> the USB 3.2 Specification, SSC should be enabled by default. This protects
> against EMI violations. Hence, enable internal SSC for USB SuperSpeed.
>
> Fixes: e2b691804319 ("arm64: dts: ti: k3-am642-hummingboard-t: Convert overlay to board dts")
> Fixes: bbef42084cc1 ("arm64: dts: ti: hummingboard-t: add overlays for m.2 pci-e and usb-3")
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
> Acked-by: Josua Mayer <josua@solid-run.com>

Your (submitter) Signed-off should always be last.

> ---
>
> v1:
> https://lore.kernel.org/r/20260505110631.1144200-2-s-vadapalli@ti.com/
> Changes since v1:
> - Collected Acked-by tag.
>
>  arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dts | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dts b/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dts
> index ee9bd618f370..90a158531f60 100644
> --- a/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am642-hummingboard-t-usb3.dts
> @@ -15,6 +15,14 @@ / {
>  	model = "SolidRun AM642 HummingBoard-T with USB-3.1 Gen 1";
>  };
>  
> +&serdes_wiz0 {
> +	ti,core-clk-sel = <1>;  /* Select internal reference clock */
> +	ti,ssc-enable; /* Enable SSC */
> +	ti,ssc-type = <1>; /* 1 for Downspread */
> +	ti,ssc-frequency-hz = <33000>; /* 33 KHz */
> +	ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
> +};
> +
>  &serdes0 {
>  	#address-cells = <1>;
>  	#size-cells = <0>;
> @@ -23,6 +31,7 @@ serdes0_link: phy@0 {
>  		reg = <0>;
>  		cdns,num-lanes = <1>;
>  		cdns,phy-type = <PHY_TYPE_USB3>;
> +		cdns,ssc-mode = <2>; /* 2 for internal SSC */
>  		#phy-cells = <0>;
>  		resets = <&serdes_wiz0 1>;
>  	};

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

* Re: [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance
  2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
                   ` (12 preceding siblings ...)
  2026-05-06 14:09 ` [PATCH v2 13/13] arm64: dts: ti: k3-j784s4-j742s2-evm-common: " Siddharth Vadapalli
@ 2026-05-06 17:07 ` Robert Nelson
  13 siblings, 0 replies; 16+ messages in thread
From: Robert Nelson @ 2026-05-06 17:07 UTC (permalink / raw)
  To: Siddharth Vadapalli
  Cc: nm, vigneshr, kristo, robh, krzk+dt, conor+dt, josua, w.egorov,
	matthias.schiffer, d.haller, francesco.dolcini, joao.goncalves,
	emanuele.ghidoli, ernest.vanhoecke, rogerq, eballetb, afd,
	u-kumar1, stable, devicetree, linux-kernel, linux-arm-kernel,
	luis.parga, srk

On Wed, May 6, 2026 at 9:08 AM Siddharth Vadapalli <s-vadapalli@ti.com> wrote:
>
> Hello,
>
> This series enables Internal Spread Spectrum Clocking (SSC) for USB
> SuperSpeed configuration. This is mandated by the USB Specification
> section 6.5.3 Normative Spread Spectrum Clocking (SSC).
>
> Series has been posted as individual patches for respective boards since
> the Fixes tag is different for each board and needs to be backported via
> stable.

While yes, that's true for stable branches.  Since these are so
similar, wouldn't it be best to push them to the board soc family
headers?

(Either way, I'll be backporting these for Beagle. ;) )

Regards,

-- 
Robert Nelson
https://rcn-ee.com/

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

end of thread, other threads:[~2026-05-06 17:07 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-06 14:09 [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Siddharth Vadapalli
2026-05-06 14:09 ` [PATCH v2 01/13] arm64: dts: ti: k3-am642-hummingboard-t: fix USB clocking for compliance Siddharth Vadapalli
2026-05-06 14:17   ` Josua Mayer
2026-05-06 14:09 ` [PATCH v2 02/13] arm64: dts: ti: k3-am642-phyboard-electra-rdk: " Siddharth Vadapalli
2026-05-06 14:09 ` [PATCH v2 03/13] arm64: dts: ti: k3-am642-sk: " Siddharth Vadapalli
2026-05-06 14:09 ` [PATCH v2 04/13] arm64: dts: ti: k3-am642-tqma64xxl: " Siddharth Vadapalli
2026-05-06 14:09 ` [PATCH v2 05/13] arm64: dts: ti: k3-am68-phyboard-izar: " Siddharth Vadapalli
2026-05-06 14:09 ` [PATCH v2 06/13] arm64: dts: ti: k3-am68-sk-baseboard: " Siddharth Vadapalli
2026-05-06 14:09 ` [PATCH v2 07/13] arm64: dts: ti: k3-am69-aquila: " Siddharth Vadapalli
2026-05-06 14:09 ` [PATCH v2 08/13] arm64: dts: ti: k3-am69-sk: " Siddharth Vadapalli
2026-05-06 14:09 ` [PATCH v2 09/13] arm64: dts: ti: k3-j721e-beagleboneai64: " Siddharth Vadapalli
2026-05-06 14:09 ` [PATCH v2 10/13] arm64: dts: ti: k3-j721e-common-proc-board: " Siddharth Vadapalli
2026-05-06 14:09 ` [PATCH v2 11/13] arm64: dts: ti: k3-j721e-sk: " Siddharth Vadapalli
2026-05-06 14:09 ` [PATCH v2 12/13] arm64: dts: ti: k3-j722s-evm: " Siddharth Vadapalli
2026-05-06 14:09 ` [PATCH v2 13/13] arm64: dts: ti: k3-j784s4-j742s2-evm-common: " Siddharth Vadapalli
2026-05-06 17:07 ` [PATCH v2 00/13] TI: K3 DTS: fix USB Clocking for Compliance Robert Nelson

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