mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-31 19:17:12 +00:00
34 lines
1.1 KiB
Diff
34 lines
1.1 KiB
Diff
|
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c
|
||
|
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c
|
||
|
@@ -64,6 +64,17 @@
|
||
|
#define NSS_COMMON_CLK_DIV_SGMII_100 4
|
||
|
#define NSS_COMMON_CLK_DIV_SGMII_10 49
|
||
|
|
||
|
+#define QSGMII_PCS_ALL_CH_CTL 0x80
|
||
|
+#define QSGMII_PCS_CH_SPEED_FORCE 0x2
|
||
|
+#define QSGMII_PCS_CH_SPEED_10 0x0
|
||
|
+#define QSGMII_PCS_CH_SPEED_100 0x4
|
||
|
+#define QSGMII_PCS_CH_SPEED_1000 0x8
|
||
|
+#define QSGMII_PCS_CH_SPEED_MASK (QSGMII_PCS_CH_SPEED_FORCE | \
|
||
|
+ QSGMII_PCS_CH_SPEED_10 | \
|
||
|
+ QSGMII_PCS_CH_SPEED_100 | \
|
||
|
+ QSGMII_PCS_CH_SPEED_1000)
|
||
|
+#define QSGMII_PCS_CH_SPEED_SHIFT(x) (x * 4)
|
||
|
+
|
||
|
#define QSGMII_PCS_CAL_LCKDT_CTL 0x120
|
||
|
#define QSGMII_PCS_CAL_LCKDT_CTL_RST BIT(19)
|
||
|
|
||
|
@@ -345,6 +356,12 @@ static int ipq806x_gmac_probe(struct pla
|
||
|
0x1ul << QSGMII_PHY_RX_INPUT_EQU_OFFSET |
|
||
|
0x2ul << QSGMII_PHY_CDR_PI_SLEW_OFFSET |
|
||
|
0xCul << QSGMII_PHY_TX_DRV_AMP_OFFSET);
|
||
|
+
|
||
|
+ regmap_update_bits(gmac->qsgmii_csr,
|
||
|
+ QSGMII_PCS_ALL_CH_CTL,
|
||
|
+ QSGMII_PCS_CH_SPEED_MASK <<
|
||
|
+ QSGMII_PCS_CH_SPEED_SHIFT(gmac->id),
|
||
|
+ 0);
|
||
|
}
|
||
|
|
||
|
plat_dat->has_gmac = true;
|