[qca-ssdk]: support hotplug for NAPA phy on hk01.c4 board.
Change-Id: I96d5274d5edbdca15b48d34c93175db032eb15b7
Signed-off-by: Liu Zhongjian <zhongjia@codeaurora.org>
diff --git a/include/hsl/phy/hsl_phy.h b/include/hsl/phy/hsl_phy.h
index 795dc8c..fc3b760 100755
--- a/include/hsl/phy/hsl_phy.h
+++ b/include/hsl/phy/hsl_phy.h
@@ -530,6 +530,8 @@
/*qca808x_start*/
#define QCA8081_PHY 0x004DD100
#define QCA8081_PHY_V1_1 0x004DD101
+#define INVALID_PHY_ID 0
+
/*qca808x_end*/
#define F1V1_PHY 0x004DD033
#define F1V2_PHY 0x004DD034
diff --git a/src/hsl/phy/hsl_phy.c b/src/hsl/phy/hsl_phy.c
index 353eb0a..3a0df78 100755
--- a/src/hsl/phy/hsl_phy.c
+++ b/src/hsl/phy/hsl_phy.c
@@ -167,6 +167,9 @@
phy_info[dev_id]->phy_address[port_id], reg_pad | 2, &org_id);
cfg->reg_func.i2c_get(dev_id,
phy_info[dev_id]->phy_address[port_id], reg_pad | 3, &rev_id);
+ if(((org_id << 16) | rev_id) == INVALID_PHY_ID) {
+ return QCA8081_PHY_V1_1;
+ }
}
else
#endif
diff --git a/src/hsl/phy/qca808x.c b/src/hsl/phy/qca808x.c
index d9f140c..25d375e 100755
--- a/src/hsl/phy/qca808x.c
+++ b/src/hsl/phy/qca808x.c
@@ -441,6 +441,9 @@
SSDK_ERROR("%s fail to get phy id\n", __func__);
return;
}
+ if(phy_id == INVALID_PHY_ID) {
+ phy_id = QCA8081_PHY_V1_1;
+ }
pdata->phydev_addr = qca_ssdk_port_to_phy_mdio_fake_addr(dev_id, port_id);
sfp_phy_device_setup(dev_id, port_id, phy_id);
}