> -----Original Message----- > From: Linuxppc-dev <linuxppc-dev- > bounces+camelia.groza=nxp.com@xxxxxxxxxxxxxxxx> On Behalf Of Sean > Anderson > Sent: Saturday, July 16, 2022 1:00 > To: David S . Miller <davem@xxxxxxxxxxxxx>; Jakub Kicinski > <kuba@xxxxxxxxxx>; Madalin Bucur <madalin.bucur@xxxxxxx>; > netdev@xxxxxxxxxxxxxxx > Cc: devicetree@xxxxxxxxxxxxxxx; Leo Li <leoyang.li@xxxxxxx>; Sean > Anderson <sean.anderson@xxxxxxxx>; linuxppc-dev@xxxxxxxxxxxxxxxx; > Russell King <linux@xxxxxxxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx; Eric > Dumazet <edumazet@xxxxxxxxxx>; Rob Herring <robh+dt@xxxxxxxxxx>; > Paul Mackerras <paulus@xxxxxxxxx>; Krzysztof Kozlowski > <krzysztof.kozlowski+dt@xxxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>; > Shawn Guo <shawnguo@xxxxxxxxxx>; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > Subject: [PATCH net-next v3 42/47] powerpc: dts: qoriq: Add nodes for > QSGMII PCSs > > Now that we actually read registers from QSGMII PCSs, it's important > that we have the correct address (instead of hoping that we're the MAC > with all the QSGMII PCSs on its bus). This adds nodes for the QSGMII > PCSs. They have the same addresses on all SoCs (e.g. if QSGMIIA is > present it's used for MACs 1 through 4). > > Since the first QSGMII PCSs share an address with the SGMII and XFI > PCSs, we only add new nodes for PCSs 2-4. This avoids address conflicts > on the bus. > > Signed-off-by: Sean Anderson <sean.anderson@xxxxxxxx> MAC1 and MAC2 can be XFI on T2080. This needs to be reflected in qoriq-fman3-0-1g-0.dtsi and qoriq-fman3-0-1g-1.dtsi The two associated netdevs fail to probe on a T2080RDB without "xfi" added to the pcs-names: fsl_dpaa_mac ffe4e0000.ethernet (unnamed net_device) (uninitialized): failed to validate link configuration for in-band status fsl_dpaa_mac ffe4e0000.ethernet: error -EINVAL: Could not create phylink fsl_dpa: probe of dpaa-ethernet.0 failed with error -22 > --- > > Changes in v3: > - Add compatibles for QSGMII PCSs > - Split arm and powerpcs dts updates > > Changes in v2: > - New > > .../boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi | 3 ++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi | 10 +++++++++- > .../boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi | 10 +++++++++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi | 10 +++++++++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi | 3 ++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi | 10 +++++++++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi | 10 +++++++++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi | 10 +++++++++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi | 3 ++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi | 10 +++++++++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi | 10 +++++++++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi | 10 +++++++++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi | 3 ++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi | 10 +++++++++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi | 10 +++++++++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi | 10 +++++++++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi | 3 ++- > arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi | 10 +++++++++- > 18 files changed, 127 insertions(+), 18 deletions(-) > > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi > index baa0c503e741..db169d630db3 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi > @@ -55,7 +55,8 @@ ethernet@e0000 { > reg = <0xe0000 0x1000>; > fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>; > ptp-timer = <&ptp_timer0>; > - pcsphy-handle = <&pcsphy0>; > + pcsphy-handle = <&pcsphy0>, <&pcsphy0>; > + pcs-names = "sgmii", "qsgmii"; > }; > > mdio@e1000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi > index 93095600e808..e80ad8675be8 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi > @@ -52,7 +52,15 @@ ethernet@f0000 { > compatible = "fsl,fman-memac"; > reg = <0xf0000 0x1000>; > fsl,fman-ports = <&fman0_rx_0x10 &fman0_tx_0x30>; > - pcsphy-handle = <&pcsphy6>; > + pcsphy-handle = <&pcsphy6>, <&qsgmiib_pcs2>, > <&pcsphy6>; > + pcs-names = "sgmii", "qsgmii", "xfi"; > + }; > + > + mdio@e9000 { > + qsgmiib_pcs2: ethernet-pcs@2 { > + compatible = "fsl,lynx-pcs"; > + reg = <2>; > + }; > }; > > mdio@f1000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi > index ff4bd38f0645..6a6f51842ad5 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi > @@ -55,7 +55,15 @@ ethernet@e2000 { > reg = <0xe2000 0x1000>; > fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>; > ptp-timer = <&ptp_timer0>; > - pcsphy-handle = <&pcsphy1>; > + pcsphy-handle = <&pcsphy1>, <&qsgmiia_pcs1>; > + pcs-names = "sgmii", "qsgmii"; > + }; > + > + mdio@e1000 { > + qsgmiia_pcs1: ethernet-pcs@1 { > + compatible = "fsl,lynx-pcs"; > + reg = <1>; > + }; > }; > > mdio@e3000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi > index 1fa38ed6f59e..543da5493e40 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi > @@ -52,7 +52,15 @@ ethernet@f2000 { > compatible = "fsl,fman-memac"; > reg = <0xf2000 0x1000>; > fsl,fman-ports = <&fman0_rx_0x11 &fman0_tx_0x31>; > - pcsphy-handle = <&pcsphy7>; > + pcsphy-handle = <&pcsphy7>, <&qsgmiib_pcs3>, > <&pcsphy7>; > + pcs-names = "sgmii", "qsgmii", "xfi"; > + }; > + > + mdio@e9000 { > + qsgmiib_pcs3: ethernet-pcs@3 { > + compatible = "fsl,lynx-pcs"; > + reg = <3>; > + }; > }; > > mdio@f3000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi > index a8cc9780c0c4..ce76725e6eb2 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi > @@ -51,7 +51,8 @@ ethernet@e0000 { > reg = <0xe0000 0x1000>; > fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>; > ptp-timer = <&ptp_timer0>; > - pcsphy-handle = <&pcsphy0>; > + pcsphy-handle = <&pcsphy0>, <&pcsphy0>; > + pcs-names = "sgmii", "qsgmii"; > }; > > mdio@e1000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi > index 8b8bd70c9382..f3af67df4767 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi > @@ -51,7 +51,15 @@ ethernet@e2000 { > reg = <0xe2000 0x1000>; > fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>; > ptp-timer = <&ptp_timer0>; > - pcsphy-handle = <&pcsphy1>; > + pcsphy-handle = <&pcsphy1>, <&qsgmiia_pcs1>; > + pcs-names = "sgmii", "qsgmii"; > + }; > + > + mdio@e1000 { > + qsgmiia_pcs1: ethernet-pcs@1 { > + compatible = "fsl,lynx-pcs"; > + reg = <1>; > + }; > }; > > mdio@e3000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi > index 619c880b54d8..f6d74de84bfe 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi > @@ -51,7 +51,15 @@ ethernet@e4000 { > reg = <0xe4000 0x1000>; > fsl,fman-ports = <&fman0_rx_0x0a &fman0_tx_0x2a>; > ptp-timer = <&ptp_timer0>; > - pcsphy-handle = <&pcsphy2>; > + pcsphy-handle = <&pcsphy2>, <&qsgmiia_pcs2>; > + pcs-names = "sgmii", "qsgmii"; > + }; > + > + mdio@e1000 { > + qsgmiia_pcs2: ethernet-pcs@2 { > + compatible = "fsl,lynx-pcs"; > + reg = <2>; > + }; > }; > > mdio@e5000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi > index d7ebb73a400d..6e091d8ae9e2 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi > @@ -51,7 +51,15 @@ ethernet@e6000 { > reg = <0xe6000 0x1000>; > fsl,fman-ports = <&fman0_rx_0x0b &fman0_tx_0x2b>; > ptp-timer = <&ptp_timer0>; > - pcsphy-handle = <&pcsphy3>; > + pcsphy-handle = <&pcsphy3>, <&qsgmiia_pcs3>; > + pcs-names = "sgmii", "qsgmii"; > + }; > + > + mdio@e1000 { > + qsgmiia_pcs3: ethernet-pcs@3 { > + compatible = "fsl,lynx-pcs"; > + reg = <3>; > + }; > }; > > mdio@e7000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi > index b151d696a069..e2174c0fc841 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi > @@ -51,7 +51,8 @@ ethernet@e8000 { > reg = <0xe8000 0x1000>; > fsl,fman-ports = <&fman0_rx_0x0c &fman0_tx_0x2c>; > ptp-timer = <&ptp_timer0>; > - pcsphy-handle = <&pcsphy4>; > + pcsphy-handle = <&pcsphy4>, <&pcsphy4>; > + pcs-names = "sgmii", "qsgmii"; > }; > > mdio@e9000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi > index adc0ae0013a3..9106815bd63e 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi > @@ -51,7 +51,15 @@ ethernet@ea000 { > reg = <0xea000 0x1000>; > fsl,fman-ports = <&fman0_rx_0x0d &fman0_tx_0x2d>; > ptp-timer = <&ptp_timer0>; > - pcsphy-handle = <&pcsphy5>; > + pcsphy-handle = <&pcsphy5>, <&qsgmiib_pcs1>; > + pcs-names = "sgmii", "qsgmii"; > + }; > + > + mdio@e9000 { > + qsgmiib_pcs1: ethernet-pcs@1 { > + compatible = "fsl,lynx-pcs"; > + reg = <1>; > + }; > }; > > mdio@eb000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi > index 435047e0e250..a3c1538dfda1 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi > @@ -52,7 +52,15 @@ ethernet@f0000 { > compatible = "fsl,fman-memac"; > reg = <0xf0000 0x1000>; > fsl,fman-ports = <&fman1_rx_0x10 &fman1_tx_0x30>; > - pcsphy-handle = <&pcsphy14>; > + pcsphy-handle = <&pcsphy14>, <&qsgmiid_pcs2>, > <&pcsphy14>; > + pcs-names = "sgmii", "qsgmii", "xfi"; > + }; > + > + mdio@e9000 { > + qsgmiid_pcs2: ethernet-pcs@2 { > + compatible = "fsl,lynx-pcs"; > + reg = <2>; > + }; > }; > > mdio@f1000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi > index c098657cca0a..c024517e70d6 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi > @@ -52,7 +52,15 @@ ethernet@f2000 { > compatible = "fsl,fman-memac"; > reg = <0xf2000 0x1000>; > fsl,fman-ports = <&fman1_rx_0x11 &fman1_tx_0x31>; > - pcsphy-handle = <&pcsphy15>; > + pcsphy-handle = <&pcsphy15>, <&qsgmiid_pcs3>, > <&pcsphy15>; > + pcs-names = "sgmii", "qsgmii", "xfi"; > + }; > + > + mdio@e9000 { > + qsgmiid_pcs3: ethernet-pcs@3 { > + compatible = "fsl,lynx-pcs"; > + reg = <3>; > + }; > }; > > mdio@f3000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi > index 9d06824815f3..16fb299f615a 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi > @@ -51,7 +51,8 @@ ethernet@e0000 { > reg = <0xe0000 0x1000>; > fsl,fman-ports = <&fman1_rx_0x08 &fman1_tx_0x28>; > ptp-timer = <&ptp_timer1>; > - pcsphy-handle = <&pcsphy8>; > + pcsphy-handle = <&pcsphy8>, <&pcsphy8>; > + pcs-names = "sgmii", "qsgmii"; > }; > > mdio@e1000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi > index 70e947730c4b..75cecbef8469 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi > @@ -51,7 +51,15 @@ ethernet@e2000 { > reg = <0xe2000 0x1000>; > fsl,fman-ports = <&fman1_rx_0x09 &fman1_tx_0x29>; > ptp-timer = <&ptp_timer1>; > - pcsphy-handle = <&pcsphy9>; > + pcsphy-handle = <&pcsphy9>, <&qsgmiic_pcs1>; > + pcs-names = "sgmii", "qsgmii"; > + }; > + > + mdio@e1000 { > + qsgmiic_pcs1: ethernet-pcs@1 { > + compatible = "fsl,lynx-pcs"; > + reg = <1>; > + }; > }; > > mdio@e3000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi > index ad96e6529595..98c1d27f17e7 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi > @@ -51,7 +51,15 @@ ethernet@e4000 { > reg = <0xe4000 0x1000>; > fsl,fman-ports = <&fman1_rx_0x0a &fman1_tx_0x2a>; > ptp-timer = <&ptp_timer1>; > - pcsphy-handle = <&pcsphy10>; > + pcsphy-handle = <&pcsphy10>, <&qsgmiic_pcs2>; > + pcs-names = "sgmii", "qsgmii"; > + }; > + > + mdio@e1000 { > + qsgmiic_pcs2: ethernet-pcs@2 { > + compatible = "fsl,lynx-pcs"; > + reg = <2>; > + }; > }; > > mdio@e5000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi > index 034bc4b71f7a..203a00036f17 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi > @@ -51,7 +51,15 @@ ethernet@e6000 { > reg = <0xe6000 0x1000>; > fsl,fman-ports = <&fman1_rx_0x0b &fman1_tx_0x2b>; > ptp-timer = <&ptp_timer1>; > - pcsphy-handle = <&pcsphy11>; > + pcsphy-handle = <&pcsphy11>, <&qsgmiic_pcs3>; > + pcs-names = "sgmii", "qsgmii"; > + }; > + > + mdio@e1000 { > + qsgmiic_pcs3: ethernet-pcs@3 { > + compatible = "fsl,lynx-pcs"; > + reg = <3>; > + }; > }; > > mdio@e7000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi > index 93ca23d82b39..9366935ebc02 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi > @@ -51,7 +51,8 @@ ethernet@e8000 { > reg = <0xe8000 0x1000>; > fsl,fman-ports = <&fman1_rx_0x0c &fman1_tx_0x2c>; > ptp-timer = <&ptp_timer1>; > - pcsphy-handle = <&pcsphy12>; > + pcsphy-handle = <&pcsphy12>, <&pcsphy12>; > + pcs-names = "sgmii", "qsgmii"; > }; > > mdio@e9000 { > diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi > b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi > index 23b3117a2fd2..39f7c6133017 100644 > --- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi > +++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi > @@ -51,7 +51,15 @@ ethernet@ea000 { > reg = <0xea000 0x1000>; > fsl,fman-ports = <&fman1_rx_0x0d &fman1_tx_0x2d>; > ptp-timer = <&ptp_timer1>; > - pcsphy-handle = <&pcsphy13>; > + pcsphy-handle = <&pcsphy13>, <&qsgmiid_pcs1>; > + pcs-names = "sgmii", "qsgmii"; > + }; > + > + mdio@e9000 { > + qsgmiid_pcs1: ethernet-pcs@1 { > + compatible = "fsl,lynx-pcs"; > + reg = <1>; > + }; > }; > > mdio@eb000 { > -- > 2.35.1.1320.gc452695387.dirty