Hello,
This series disables the "serdes_wiz0" and "serdes_wiz1" device-tree nodes in the J722S SoC file and enables them in the board files where they are required along with "serdes0" and "serdes1". There are two reasons behind this change: 1. To follow the existing convention of disabling nodes in the SoC file and enabling them in the board file as required. 2. To address situations where a board file hasn't explicitly disabled "serdes_wiz0" and "serdes_wiz1" (example: am67a-beagley-ai.dts) as a result of which booting the board displays the following errors: wiz bus@f0000:phy@f000000: probe with driver wiz failed with error -12 ... wiz bus@f0000:phy@f010000: probe with driver wiz failed with error -12
Additionally, another series for DT cleanup at: https://lore.kernel.org/r/20250412052712.927626-1-s-vadapalli@ti.com/ has been squashed into this series as patches 3 and 4. This has been done based on Nishanth's suggestion at: https://lore.kernel.org/r/20250414143916.zhskssezbffmvnsz@dragonfly/
Series is based on linux-next tagged next-20250417. NOTE: For patches 1 and 2 of this series which are "Fixes", it has also been verified that this series applies to the following commit cfb2e2c57aef Merge tag 'mm-hotfixes-stable-2025-04-16-19-59' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm of Mainline Linux.
v2 of this series is at: https://lore.kernel.org/r/20250408103606.3679505-1-s-vadapalli@ti.com/ Changes since v2: - Collected Reviewed-by tags from Udit Kumar u-kumar1@ti.com. - Squashed the DT cleanup series at: https://lore.kernel.org/r/20250412052712.927626-1-s-vadapalli@ti.com/ as patches 3 and 4 of this series.
v1 of this series is at: https://lore.kernel.org/r/20250408060636.3413856-1-s-vadapalli@ti.com/ Changes since v1: - Added "Fixes" tag and updated commit message accordingly.
Regards, Siddharth.
Siddharth Vadapalli (4): arm64: dts: ti: k3-j722s-evm: Enable "serdes_wiz0" and "serdes_wiz1" arm64: dts: ti: k3-j722s-main: Disable "serdes_wiz0" and "serdes_wiz1" arm64: dts: ti: k3-j722s-main: don't disable serdes0 and serdes1 arm64: dts: ti: k3-j722s-evm: drop redundant status within serdes0/serdes1
arch/arm64/boot/dts/ti/k3-j722s-evm.dts | 10 ++++++++-- arch/arm64/boot/dts/ti/k3-j722s-main.dtsi | 8 ++++---- 2 files changed, 12 insertions(+), 6 deletions(-)
In preparation for disabling "serdes_wiz0" and "serdes_wiz1" device-tree nodes in the SoC file, enable them in the board file. The motivation for this change is that of following the existing convention of disabling nodes in the SoC file and only enabling the required ones in the board file.
Fixes: 485705df5d5f ("arm64: dts: ti: k3-j722s: Enable PCIe and USB support on J722S-EVM") Cc: stable@vger.kernel.org Signed-off-by: Siddharth Vadapalli s-vadapalli@ti.com Reviewed-by: Udit Kumar u-kumar1@ti.com ---
v2 of this patch is at: https://lore.kernel.org/r/20250408103606.3679505-2-s-vadapalli@ti.com/ Changes since v2: - Collected Reviewed-by tags from Udit Kumar u-kumar1@ti.com.
Regards, Siddharth.
arch/arm64/boot/dts/ti/k3-j722s-evm.dts | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts index 2127316f36a3..0bf2e1821662 100644 --- a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts +++ b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts @@ -843,6 +843,10 @@ &serdes_ln_ctrl { <J722S_SERDES1_LANE0_PCIE0_LANE0>; };
+&serdes_wiz0 { + status = "okay"; +}; + &serdes0 { status = "okay"; serdes0_usb_link: phy@0 { @@ -854,6 +858,10 @@ serdes0_usb_link: phy@0 { }; };
+&serdes_wiz1 { + status = "okay"; +}; + &serdes1 { status = "okay"; serdes1_pcie_link: phy@0 {
Since "serdes0" and "serdes1" which are the sub-nodes of "serdes_wiz0" and "serdes_wiz1" respectively, have been disabled in the SoC file already, and, given that these sub-nodes will only be enabled in a board file if the board utilizes any of the SERDES instances and the peripherals bound to them, we end up in a situation where the board file doesn't explicitly disable "serdes_wiz0" and "serdes_wiz1". As a consequence of this, the following errors show up when booting Linux:
wiz bus@f0000:phy@f000000: probe with driver wiz failed with error -12 ... wiz bus@f0000:phy@f010000: probe with driver wiz failed with error -12
To not only fix the above, but also, in order to follow the convention of disabling device-tree nodes in the SoC file and enabling them in the board files for those boards which require them, disable "serdes_wiz0" and "serdes_wiz1" device-tree nodes.
Fixes: 628e0a0118e6 ("arm64: dts: ti: k3-j722s-main: Add SERDES and PCIe support") Cc: stable@vger.kernel.org Signed-off-by: Siddharth Vadapalli s-vadapalli@ti.com Reviewed-by: Udit Kumar u-kumar1@ti.com ---
v2 of this patch is at: https://lore.kernel.org/r/20250408103606.3679505-3-s-vadapalli@ti.com/ Changes since v2: - Collected Reviewed-by tags from Udit Kumar u-kumar1@ti.com.
Regards, Siddharth.
arch/arm64/boot/dts/ti/k3-j722s-main.dtsi | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi b/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi index 6850f50530f1..beda9e40e931 100644 --- a/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi +++ b/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi @@ -32,6 +32,8 @@ serdes_wiz0: phy@f000000 { assigned-clocks = <&k3_clks 279 1>; assigned-clock-parents = <&k3_clks 279 5>;
+ status = "disabled"; + serdes0: serdes@f000000 { compatible = "ti,j721e-serdes-10g"; reg = <0x0f000000 0x00010000>; @@ -70,6 +72,8 @@ serdes_wiz1: phy@f010000 { assigned-clocks = <&k3_clks 280 1>; assigned-clock-parents = <&k3_clks 280 5>;
+ status = "disabled"; + serdes1: serdes@f010000 { compatible = "ti,j721e-serdes-10g"; reg = <0x0f010000 0x00010000>;
Since serdes0 and serdes1 are the child nodes of serdes_wiz0 and serdes_wiz1 respectively, and, given that serdes_wiz0 and serdes_wiz1 are already disabled, it is not necessary to disable serdes0 and serdes1.
Moreover, having serdes_wiz0/serdes_wiz1 enabled and serdes0/serdes1 disabled is not a working configuration.
Hence, remove 'status = "disabled"' from the serdes0 and serdes1 nodes.
Suggested-by: Udit Kumar u-kumar1@ti.com Signed-off-by: Siddharth Vadapalli s-vadapalli@ti.com Reviewed-by: Udit Kumar u-kumar1@ti.com ---
This patch doesn't have a v2 and has been newly introduced in this series.
v1 of this patch is at: https://lore.kernel.org/r/20250412052712.927626-2-s-vadapalli@ti.com/ Changes since v1: - Collected Reviewed-by tags from Udit Kumar u-kumar1@ti.com.
Regards, Siddharth.
arch/arm64/boot/dts/ti/k3-j722s-main.dtsi | 4 ---- 1 file changed, 4 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi b/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi index beda9e40e931..562dfbdf449d 100644 --- a/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi +++ b/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi @@ -52,8 +52,6 @@ serdes0: serdes@f000000 { #address-cells = <1>; #size-cells = <0>; #clock-cells = <1>; - - status = "disabled"; /* Needs lane config */ }; };
@@ -92,8 +90,6 @@ serdes1: serdes@f010000 { #address-cells = <1>; #size-cells = <0>; #clock-cells = <1>; - - status = "disabled"; /* Needs lane config */ }; };
Hi,
Thanks for your patch.
FYI: kernel test robot notices the stable kernel rule is not satisfied.
The check is based on https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html#opti...
Rule: add the tag "Cc: stable@vger.kernel.org" in the sign-off area to have the patch automatically included in the stable tree. Subject: [PATCH v3 3/4] arm64: dts: ti: k3-j722s-main: don't disable serdes0 and serdes1 Link: https://lore.kernel.org/stable/20250417123246.2733923-4-s-vadapalli%40ti.com
Since serdes0 and serdes1 are now enabled by default within the SoC file, it is no longer necessary to enable them in the board file.
Hence, remove the redundant 'status = "okay"' within the serdes0 and serdes1 device-tree nodes.
Signed-off-by: Siddharth Vadapalli s-vadapalli@ti.com Reviewed-by: Udit Kumar u-kumar1@ti.com ---
This patch doesn't have a v2 and has been newly introduced in this series.
v1 of this patch is at: https://lore.kernel.org/r/20250412052712.927626-3-s-vadapalli@ti.com/ Changes since v1: - Collected Reviewed-by tags from Udit Kumar u-kumar1@ti.com.
Regards, Siddharth.
arch/arm64/boot/dts/ti/k3-j722s-evm.dts | 2 -- 1 file changed, 2 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts index 0bf2e1821662..34b9d190800e 100644 --- a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts +++ b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts @@ -848,7 +848,6 @@ &serdes_wiz0 { };
&serdes0 { - status = "okay"; serdes0_usb_link: phy@0 { reg = <0>; cdns,num-lanes = <1>; @@ -863,7 +862,6 @@ &serdes_wiz1 { };
&serdes1 { - status = "okay"; serdes1_pcie_link: phy@0 { reg = <0>; cdns,num-lanes = <1>;
Hi Siddharth Vadapalli,
On Thu, 17 Apr 2025 18:02:42 +0530, Siddharth Vadapalli wrote:
This series disables the "serdes_wiz0" and "serdes_wiz1" device-tree nodes in the J722S SoC file and enables them in the board files where they are required along with "serdes0" and "serdes1". There are two reasons behind this change:
- To follow the existing convention of disabling nodes in the SoC file and enabling them in the board file as required.
- To address situations where a board file hasn't explicitly disabled "serdes_wiz0" and "serdes_wiz1" (example: am67a-beagley-ai.dts) as a result of which booting the board displays the following errors: wiz bus@f0000:phy@f000000: probe with driver wiz failed with error -12 ... wiz bus@f0000:phy@f010000: probe with driver wiz failed with error -12
[...]
I have applied the following to branch ti-k3-dts-next on [1]. Thank you!
[1/4] arm64: dts: ti: k3-j722s-evm: Enable "serdes_wiz0" and "serdes_wiz1" commit: 9d76be5828be44ed7a104cc21b4f875be4a63322 [2/4] arm64: dts: ti: k3-j722s-main: Disable "serdes_wiz0" and "serdes_wiz1" commit: 320d8a84f6f045dc876d4c2983f9024c7ac9d6df [3/4] arm64: dts: ti: k3-j722s-main: don't disable serdes0 and serdes1 commit: 3f7523bf8c35f96e0309d420d9f89e300c97fc20 [4/4] arm64: dts: ti: k3-j722s-evm: drop redundant status within serdes0/serdes1 commit: 2a36e8656836f5897508e61d46d22fe344af6426
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
linux-stable-mirror@lists.linaro.org