arm64: dts: ls1028a: enable switch PHYs on RDB
authorClaudiu Manoil <claudiu.manoil@nxp.com>
Sun, 23 Feb 2020 20:47:16 +0000 (22:47 +0200)
committerShawn Guo <shawnguo@kernel.org>
Wed, 11 Mar 2020 07:58:13 +0000 (15:58 +0800)
Link the switch PHY nodes to the central MDIO controller PCIe endpoint
node on LS1028A (implemented as PF3) so that PHYs are accessible via
MDIO.

Enable SGMII AN on the Felix PCS by telling PHYLINK that the VSC8514
quad PHY is capable of in-band-status.

The PHYs are used in poll mode due to an issue with the interrupt line
on current revisions of the LS1028A-RDB board.

Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts

index 14efe3b06042b0c1f7e95a796bb7489bf3a7fd3e..6d05b76c2c7a9ac7d71209e3ea6d9d8a3e2fbfda 100644 (file)
        status = "okay";
 };
 
+&enetc_mdio_pf3 {
+       /* VSC8514 QSGMII quad PHY */
+       qsgmii_phy0: ethernet-phy@10 {
+               reg = <0x10>;
+       };
+
+       qsgmii_phy1: ethernet-phy@11 {
+               reg = <0x11>;
+       };
+
+       qsgmii_phy2: ethernet-phy@12 {
+               reg = <0x12>;
+       };
+
+       qsgmii_phy3: ethernet-phy@13 {
+               reg = <0x13>;
+       };
+};
+
 &enetc_port0 {
        phy-handle = <&sgmii_phy0>;
        phy-connection-type = "sgmii";
        };
 };
 
+&enetc_port2 {
+       status = "okay";
+};
+
+&mscc_felix_port0 {
+       label = "swp0";
+       managed = "in-band-status";
+       phy-handle = <&qsgmii_phy0>;
+       phy-mode = "qsgmii";
+       status = "okay";
+};
+
+&mscc_felix_port1 {
+       label = "swp1";
+       managed = "in-band-status";
+       phy-handle = <&qsgmii_phy1>;
+       phy-mode = "qsgmii";
+       status = "okay";
+};
+
+&mscc_felix_port2 {
+       label = "swp2";
+       managed = "in-band-status";
+       phy-handle = <&qsgmii_phy2>;
+       phy-mode = "qsgmii";
+       status = "okay";
+};
+
+&mscc_felix_port3 {
+       label = "swp3";
+       managed = "in-band-status";
+       phy-handle = <&qsgmii_phy3>;
+       phy-mode = "qsgmii";
+       status = "okay";
+};
+
+&mscc_felix_port4 {
+       ethernet = <&enetc_port2>;
+       status = "okay";
+};
+
 &sai4 {
        status = "okay";
 };