Message ID | 20220715215954.1449214-43-sean.anderson@seco.com (mailing list archive) |
---|---|
State | RFC |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: dpaa: Convert to phylink | expand |
> -----Original Message----- > From: Linuxppc-dev <linuxppc-dev- > bounces+camelia.groza=nxp.com@lists.ozlabs.org> On Behalf Of Sean > Anderson > Sent: Saturday, July 16, 2022 1:00 > To: David S . Miller <davem@davemloft.net>; Jakub Kicinski > <kuba@kernel.org>; Madalin Bucur <madalin.bucur@nxp.com>; > netdev@vger.kernel.org > Cc: devicetree@vger.kernel.org; Leo Li <leoyang.li@nxp.com>; Sean > Anderson <sean.anderson@seco.com>; linuxppc-dev@lists.ozlabs.org; > Russell King <linux@armlinux.org.uk>; linux-kernel@vger.kernel.org; Eric > Dumazet <edumazet@google.com>; Rob Herring <robh+dt@kernel.org>; > Paul Mackerras <paulus@samba.org>; Krzysztof Kozlowski > <krzysztof.kozlowski+dt@linaro.org>; Paolo Abeni <pabeni@redhat.com>; > Shawn Guo <shawnguo@kernel.org>; linux-arm-kernel@lists.infradead.org > 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@seco.com> 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
On 7/21/22 9:48 AM, Camelia Alexandra Groza wrote: >> -----Original Message----- >> From: Linuxppc-dev <linuxppc-dev- >> bounces+camelia.groza=nxp.com@lists.ozlabs.org> On Behalf Of Sean >> Anderson >> Sent: Saturday, July 16, 2022 1:00 >> To: David S . Miller <davem@davemloft.net>; Jakub Kicinski >> <kuba@kernel.org>; Madalin Bucur <madalin.bucur@nxp.com>; >> netdev@vger.kernel.org >> Cc: devicetree@vger.kernel.org; Leo Li <leoyang.li@nxp.com>; Sean >> Anderson <sean.anderson@seco.com>; linuxppc-dev@lists.ozlabs.org; >> Russell King <linux@armlinux.org.uk>; linux-kernel@vger.kernel.org; Eric >> Dumazet <edumazet@google.com>; Rob Herring <robh+dt@kernel.org>; >> Paul Mackerras <paulus@samba.org>; Krzysztof Kozlowski >> <krzysztof.kozlowski+dt@linaro.org>; Paolo Abeni <pabeni@redhat.com>; >> Shawn Guo <shawnguo@kernel.org>; linux-arm-kernel@lists.infradead.org >> 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@seco.com> > > 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 Ah, I missed that this SoC had 10G on MAC1/MAC2. Going with the existing naming scheme, these MACs should probably go in DTSs named qoriq-fman3-0-1g-2.dtsi and qoriq-fman3-0-1g-3.dtsi. Alternatively, this could be done in t2081si-post.dtsi, since it is only for one SoC. I don't want to add these to qoriq-fman3-0-1g-0.dtsi and qoriq-fman3-0-1g-1.dtsi because they are used on other SoCs which don't have 10G. --Sean >> --- >> >> 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 >
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 {
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@seco.com> --- 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(-)