Hello Toradex Support,
I am trying to enable additional ethernet interfaces using DP83867 phys, identical to Eth 2 on the development board. I have tried to configure the serdes and phys similar to the Eth 2 port, but it is not working. I see additional CPSW activity in the boot log, but eventually see platform c000000.ethernet: deferred probe pending, which I think means that the phy is not being found.
Both of these SGMII interfaces are on SERDES1, Q/SGMII Lane3 and Q/SGMII Lane4. Any help would be appreciated. The relevant section of my dt is copied below:
/* Update lane control for our configuration /
/ Definitions in arch/arm/dts/k3-serdes.h /
&serdes_ln_ctrl {
idle-states = <J784S4_SERDES0_LANE0_PCIE1_LANE0>, / Aquila PCIE_2 L0 (TPR) /
<J784S4_SERDES0_LANE1_PCIE1_LANE1>, / Aquila PCIE_2 L1 (TPR) /
<J784S4_SERDES0_LANE2_PCIE3_LANE0>, / On-module PCIe Wi-Fi /
<J784S4_SERDES0_LANE3_USB>, / Aquila USB0 SS /
<J784S4_SERDES1_LANE0_QSGMII_LANE3>, / ETH_9 SGMII /
<J784S4_SERDES1_LANE1_QSGMII_LANE4>, / ETH_4 SGMII /
<J784S4_SERDES1_LANE2_PCIE2_LANE0>, / On-module PCIe USB Bridge /
<J784S4_SERDES1_LANE3_QSGMII_LANE2>, / Aquila SGMII MSP_9 /
<J784S4_SERDES2_LANE0_QSGMII_LANE5>, / Aquila SGMII MSP_6 /
<J784S4_SERDES2_LANE1_QSGMII_LANE6>, / Aquila SGMII MSP_7 /
<J784S4_SERDES2_LANE2_QSGMII_LANE7>, / Aquila SGMII MSP_8 /
<J784S4_SERDES2_LANE3_QSGMII_LANE8>, / Aquila ETH_2 xGMII /
<J784S4_SERDES4_LANE0_EDP_LANE0>, / Aquila DP L0 /
<J784S4_SERDES4_LANE1_EDP_LANE1>, / Aquila DP L1 /
<J784S4_SERDES4_LANE2_EDP_LANE2>, / Aquila DP L2 /
<J784S4_SERDES4_LANE3_EDP_LANE3>; / Aquila DP L3 */
};
/* AM69 Ethernet switch */
&main_cpsw0 {
status = “okay”;
};
&serdes1 {
/delete-property/ serdes1_pcie0_2l_link;
serdes1_eth9_sgmii_link: phy@0 {
reg = <0>;
#phy-cells = <0>;
resets = <&serdes_wiz1 1>;
cdns,num-lanes = <1>;
cdns,phy-type = <PHY_TYPE_SGMII>;
};
serdes1_eth4_sgmii_link: phy@1 {
reg = <1>;
#phy-cells = <0>;
resets = <&serdes_wiz1 2>;
cdns,num-lanes = <1>;
cdns,phy-type = <PHY_TYPE_SGMII>;
};
};
/* TILE Eth 4 SGMII PHY */
&main_cpsw0_port4 {
phy-mode = “sgmii”;
phys = <&cpsw0_phy_gmii_sel 4>, <&serdes1_eth4_sgmii_link>;
phy-names = “mac”, “serdes”;
phy-handle = <&cpsw0_port4_phy4>;
status = “okay”;
};
/* TILE Eth 9 SGMII PHY */
&main_cpsw0_port3 {
phy-mode = “sgmii”;
phys = <&cpsw0_phy_gmii_sel 3>, <&serdes1_eth9_sgmii_link>;
phy-names = “mac”, “serdes”;
phy-handle = <&cpsw0_port3_phy4>;
status = “okay”;
};
/* TILE Ethernet PHY */
&main_cpsw0_mdio {
status = “okay”;
/* TILE Eth 4 SGMII */
cpsw0_port4_phy4: ethernet-phy@4 {
reg = <4>;
};
/* TILE Eth 9 SGMII */
cpsw0_port3_phy4: ethernet-phy@4 {
reg = <4>;
};
};
