* [PATCH v3 net-next 0/2] Add support for dual port USXGMII+SGMII
@ 2026-06-30 13:43 Gokul Praveen
2026-06-30 13:43 ` [PATCH v3 net-next 1/2] arm64: dts: ti: Add PLL1 refclk to J784S4 SoC SERDES node Gokul Praveen
2026-06-30 13:43 ` [PATCH v3 net-next 2/2] dt-bindings: phy: cadence-torrent: Update property values to support 3 clocks Gokul Praveen
0 siblings, 2 replies; 6+ messages in thread
From: Gokul Praveen @ 2026-06-30 13:43 UTC (permalink / raw)
To: conor+dt, devicetree, krzk+dt, linux-arm-kernel, linux-kernel,
linux-phy, neil.armstrong, nm, robh, sjakhade, kristo, vigneshr,
vkoul, yamonkar
This patch series enables dual port USXGMII and SGMII Ethernet mode
support on the TI J784S4 EVM platform using the CPSW9G Ethernet switch.
The CPSW9G instance supports both SGMII and USXGMII modes simultaneously
on MAC Ports 1 and 2, which connect to ENET Expansion 1 and ENET
Expansion 2 slots through the SERDES2 instance. The series includes:
Multilink SERDES configuration support added to the SERDES2 node by adding
the PLL1 refclk.
v2 <==> v1
===========
* Added modifications to the device tree bindings documentation.
v3 <=> v2
==========
* Added net-next suffix in the patch subject.
* Added a separate bindings patch and added appropriate subject
format expected for Bindings patches.
* Updated the cover letter description
Gokul Praveen (2):
arm64: dts: ti: Add PLL1 refclk to J784S4 SoC SERDES node
dt-bindings: phy: cadence-torrent: Update property values to support 3
clocks
.../devicetree/bindings/phy/phy-cadence-torrent.yaml | 4 ++--
arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi | 3 ++-
2 files changed, 4 insertions(+), 3 deletions(-)
--
2.34.1
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH v3 net-next 1/2] arm64: dts: ti: Add PLL1 refclk to J784S4 SoC SERDES node 2026-06-30 13:43 [PATCH v3 net-next 0/2] Add support for dual port USXGMII+SGMII Gokul Praveen @ 2026-06-30 13:43 ` Gokul Praveen 2026-06-30 13:53 ` sashiko-bot 2026-06-30 13:43 ` [PATCH v3 net-next 2/2] dt-bindings: phy: cadence-torrent: Update property values to support 3 clocks Gokul Praveen 1 sibling, 1 reply; 6+ messages in thread From: Gokul Praveen @ 2026-06-30 13:43 UTC (permalink / raw) To: conor+dt, devicetree, krzk+dt, linux-arm-kernel, linux-kernel, linux-phy, neil.armstrong, nm, robh, sjakhade, kristo, vigneshr, vkoul, yamonkar Add PLL1 refclk to "clocks" and "clock-names" parameter of SERDES2 node as "assigned clocks" parameter has PLL1 and serdes multilink configuration fails without PLL1. Signed-off-by: Gokul Praveen <g-praveen@ti.com> --- arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi index 78fcd0c40abc..da8d582574d0 100644 --- a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi +++ b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi @@ -122,8 +122,9 @@ serdes2: serdes@5020000 { resets = <&serdes_wiz2 0>; reset-names = "torrent_reset"; clocks = <&serdes_wiz2 TI_WIZ_PLL0_REFCLK>, + <&serdes_wiz2 TI_WIZ_PLL1_REFCLK>, <&serdes_wiz2 TI_WIZ_PHY_EN_REFCLK>; - clock-names = "refclk", "phy_en_refclk"; + clock-names = "refclk","pll1_refclk", "phy_en_refclk"; assigned-clocks = <&serdes_wiz2 TI_WIZ_PLL0_REFCLK>, <&serdes_wiz2 TI_WIZ_PLL1_REFCLK>, <&serdes_wiz2 TI_WIZ_REFCLK_DIG>; -- 2.34.1 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v3 net-next 1/2] arm64: dts: ti: Add PLL1 refclk to J784S4 SoC SERDES node 2026-06-30 13:43 ` [PATCH v3 net-next 1/2] arm64: dts: ti: Add PLL1 refclk to J784S4 SoC SERDES node Gokul Praveen @ 2026-06-30 13:53 ` sashiko-bot 0 siblings, 0 replies; 6+ messages in thread From: sashiko-bot @ 2026-06-30 13:53 UTC (permalink / raw) To: Gokul Praveen Cc: linux-phy, devicetree, olteanv, vkoul, neil.armstrong, conor+dt, robh Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider: New issues: - [Low] Adding a third clock to the 'serdes2' node violates the 'phy-cadence-torrent.yaml' DT binding. The subsequent binding update in the series is logically incomplete and fails to resolve the validation error. - [Low] Missing whitespace after the comma in the 'clock-names' list. Pre-existing issues: - [High] This problem wasn't introduced by this patch, but the commit fails to comprehensively fix the issue. It adds 'pll1_refclk' to fix multilink configuration for 'serdes2', but ignores identical SERDES nodes ('serdes0', 'serdes1', 'serdes4') that share the exact same bug. -- commit c37d528887d49433e9d33970e77ad622c557ad5e Author: Gokul Praveen <g-praveen@ti.com> arm64: dts: ti: Add PLL1 refclk to J784S4 SoC SERDES node This commit adds the PLL1 refclk to the clocks and clock-names parameters for the SERDES2 node. It addresses a multilink configuration failure that occurs without PLL1 being present in the clocks list. > diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi > index 78fcd0c40abcf..da8d582574d03 100644 > --- a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi > +++ b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi > @@ -122,8 +122,9 @@ serdes2: serdes@5020000 { > resets = <&serdes_wiz2 0>; > reset-names = "torrent_reset"; > clocks = <&serdes_wiz2 TI_WIZ_PLL0_REFCLK>, > + <&serdes_wiz2 TI_WIZ_PLL1_REFCLK>, > <&serdes_wiz2 TI_WIZ_PHY_EN_REFCLK>; [Severity: High] This is a pre-existing issue, but does the same fix need to be applied to the other identical serdes nodes? Other nodes like serdes0, serdes1, and serdes4 in arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi share the exact same configuration issue where TI_WIZ_PLL1_REFCLK is in assigned-clocks but absent from clocks: clocks = <&serdes_wiz0 TI_WIZ_PLL0_REFCLK>, <&serdes_wiz0 TI_WIZ_PHY_EN_REFCLK>; clock-names = "refclk", "phy_en_refclk"; assigned-clocks = <&serdes_wiz0 TI_WIZ_PLL0_REFCLK>, <&serdes_wiz0 TI_WIZ_PLL1_REFCLK>, <&serdes_wiz0 TI_WIZ_REFCLK_DIG>; Since serdes0 is also configured for multilink (PCIe + USB), will its configuration fail without a similar update? > - clock-names = "refclk", "phy_en_refclk"; > + clock-names = "refclk","pll1_refclk", "phy_en_refclk"; [Severity: Low] Will this addition cause make dtbs_check to fail? Adding a third item to clock-names exceeds the currently defined items in the phy-cadence-torrent.yaml binding. Even if a subsequent patch in the series updates the schema by modifying maxItems and the enum for the second item, dt-schema enforces additionalItems: false for arrays. Unless a third item definition is explicitly added to the items array in the schema, won't validation fail for this node? [Severity: Low] this isn't a bug, but there is a missing space after the first comma. -- Sashiko AI review · https://sashiko.dev/#/patchset/20260630134324.61085-1-g-praveen@ti.com?part=1 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 net-next 2/2] dt-bindings: phy: cadence-torrent: Update property values to support 3 clocks 2026-06-30 13:43 [PATCH v3 net-next 0/2] Add support for dual port USXGMII+SGMII Gokul Praveen 2026-06-30 13:43 ` [PATCH v3 net-next 1/2] arm64: dts: ti: Add PLL1 refclk to J784S4 SoC SERDES node Gokul Praveen @ 2026-06-30 13:43 ` Gokul Praveen 2026-06-30 13:48 ` sashiko-bot 2026-06-30 17:05 ` Conor Dooley 1 sibling, 2 replies; 6+ messages in thread From: Gokul Praveen @ 2026-06-30 13:43 UTC (permalink / raw) To: conor+dt, devicetree, krzk+dt, linux-arm-kernel, linux-kernel, linux-phy, neil.armstrong, nm, robh, sjakhade, kristo, vigneshr, vkoul, yamonkar Update maxItems value of "clocks" property to 3 as description of this parameter already indicates 3 clocks(refclk,pll1_refclk(optional) and phy_en_refclk(optional)) Update the "clock-names" property as well with the 3 clocks. Signed-off-by: Gokul Praveen <g-praveen@ti.com> --- .../devicetree/bindings/phy/phy-cadence-torrent.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml b/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml index 9af39b33646a..54fe78da297a 100644 --- a/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml +++ b/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml @@ -34,7 +34,7 @@ properties: clocks: minItems: 1 - maxItems: 2 + maxItems: 3 description: PHY input reference clocks - refclk (for PLL0) & pll1_refclk (for PLL1). pll1_refclk is optional and used for multi-protocol configurations requiring @@ -47,7 +47,7 @@ properties: minItems: 1 items: - const: refclk - - enum: [ pll1_refclk, phy_en_refclk ] + - enum: [refclk, pll1_refclk, phy_en_refclk ] reg: minItems: 1 -- 2.34.1 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v3 net-next 2/2] dt-bindings: phy: cadence-torrent: Update property values to support 3 clocks 2026-06-30 13:43 ` [PATCH v3 net-next 2/2] dt-bindings: phy: cadence-torrent: Update property values to support 3 clocks Gokul Praveen @ 2026-06-30 13:48 ` sashiko-bot 2026-06-30 17:05 ` Conor Dooley 1 sibling, 0 replies; 6+ messages in thread From: sashiko-bot @ 2026-06-30 13:48 UTC (permalink / raw) To: Gokul Praveen Cc: neil.armstrong, olteanv, devicetree, linux-phy, conor+dt, robh, vkoul Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Medium] The `clock-names` schema definition incorrectly restricts the array to a maximum of 2 items and allows duplicate clock names. While the commit correctly updates `clocks` to allow `maxItems: 3`, it only modifies the second element of the `items` array for `clock-names`. In `dt-schema` (based on JSON Schema), defining `items` as an array of schemas implicitly limits the maximum number of items to the length of that array (because `additionalItems` is implicitly false). As a result, a device tree specifying 3 clocks will fail `dt_binding_check` validation. Additionally, adding `refclk` to the second element's `enum` creates a logic error, permitting redundant sequences such as `clock-names = "refclk", "refclk";`. -- commit d737f6b2f91949e839e21f62c39ca9db8f322775 Author: Gokul Praveen <g-praveen@ti.com> dt-bindings: phy: cadence-torrent: Update property values to support 3 clocks This commit updates the Cadence Torrent PHY device tree binding to support up to 3 clocks. It increases the maxItems of the clocks property and updates the clock-names property. > diff --git a/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml b/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml > index 9af39b33646ac..54fe78da297a2 100644 > --- a/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml > +++ b/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml > @@ -34,7 +34,7 @@ properties: > > clocks: > minItems: 1 > - maxItems: 2 > + maxItems: 3 > description: > PHY input reference clocks - refclk (for PLL0) & pll1_refclk (for PLL1). [ ... ] > @@ -47,7 +47,7 @@ properties: > minItems: 1 > items: > - const: refclk > - - enum: [ pll1_refclk, phy_en_refclk ] > + - enum: [refclk, pll1_refclk, phy_en_refclk ] [Severity: Medium] Will this fail schema validation when a device tree specifies 3 clocks? Because the items sequence for clock-names only defines two elements, it implicitly restricts the array to a maximum of 2 items. Even though the clocks property was updated to maxItems: 3 above, the clock-names array is now mismatched and will reject 3 items during dt_binding_check. Also, does this unintentionally allow duplicate clock names? Adding refclk to the second element's enum makes it possible to define a redundant sequence like clock-names = "refclk", "refclk". -- Sashiko AI review · https://sashiko.dev/#/patchset/20260630134324.61085-1-g-praveen@ti.com?part=2 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 net-next 2/2] dt-bindings: phy: cadence-torrent: Update property values to support 3 clocks 2026-06-30 13:43 ` [PATCH v3 net-next 2/2] dt-bindings: phy: cadence-torrent: Update property values to support 3 clocks Gokul Praveen 2026-06-30 13:48 ` sashiko-bot @ 2026-06-30 17:05 ` Conor Dooley 1 sibling, 0 replies; 6+ messages in thread From: Conor Dooley @ 2026-06-30 17:05 UTC (permalink / raw) To: Gokul Praveen Cc: conor+dt, devicetree, krzk+dt, linux-arm-kernel, linux-kernel, linux-phy, neil.armstrong, nm, robh, sjakhade, kristo, vigneshr, vkoul, yamonkar [-- Attachment #1.1: Type: text/plain, Size: 1647 bytes --] On Tue, Jun 30, 2026 at 07:13:24PM +0530, Gokul Praveen wrote: > Update maxItems value of "clocks" property to 3 as description of > this parameter already indicates 3 clocks(refclk,pll1_refclk(optional) > and phy_en_refclk(optional)) > > Update the "clock-names" property as well with the 3 clocks. > > Signed-off-by: Gokul Praveen <g-praveen@ti.com> > --- > .../devicetree/bindings/phy/phy-cadence-torrent.yaml | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml b/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml > index 9af39b33646a..54fe78da297a 100644 > --- a/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml > +++ b/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml > @@ -34,7 +34,7 @@ properties: > > clocks: > minItems: 1 > - maxItems: 2 > + maxItems: 3 > description: > PHY input reference clocks - refclk (for PLL0) & pll1_refclk (for PLL1). > pll1_refclk is optional and used for multi-protocol configurations requiring > @@ -47,7 +47,7 @@ properties: > minItems: 1 > items: > - const: refclk > - - enum: [ pll1_refclk, phy_en_refclk ] > + - enum: [refclk, pll1_refclk, phy_en_refclk ] This does not do what you want it to do, I would think, since it means you can only have two clock names. Additionally, please restrict 3 clocks to only whatever new TI device actually has 3 clocks. pw-bot: changes-requested Thanks, Conor. > > reg: > minItems: 1 > -- > 2.34.1 > [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] [-- Attachment #2: Type: text/plain, Size: 112 bytes --] -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-06-30 17:05 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-06-30 13:43 [PATCH v3 net-next 0/2] Add support for dual port USXGMII+SGMII Gokul Praveen 2026-06-30 13:43 ` [PATCH v3 net-next 1/2] arm64: dts: ti: Add PLL1 refclk to J784S4 SoC SERDES node Gokul Praveen 2026-06-30 13:53 ` sashiko-bot 2026-06-30 13:43 ` [PATCH v3 net-next 2/2] dt-bindings: phy: cadence-torrent: Update property values to support 3 clocks Gokul Praveen 2026-06-30 13:48 ` sashiko-bot 2026-06-30 17:05 ` Conor Dooley
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox