mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-12 09:38:13 +00:00
net: ethernet: stmmac: Fix altr_tse_pcs SGMII Initialization
Fix NETDEV WATCHDOG timeout on startup by adding missing register writes that properly setup SGMII. Signed-off-by: Thor Thayer <thor.thayer@linux.intel.com> Acked-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
44abafc4cc
commit
77032732d0
1 changed files with 5 additions and 1 deletions
|
@ -37,6 +37,7 @@
|
||||||
#define TSE_PCS_CONTROL_AN_EN_MASK BIT(12)
|
#define TSE_PCS_CONTROL_AN_EN_MASK BIT(12)
|
||||||
#define TSE_PCS_CONTROL_REG 0x00
|
#define TSE_PCS_CONTROL_REG 0x00
|
||||||
#define TSE_PCS_CONTROL_RESTART_AN_MASK BIT(9)
|
#define TSE_PCS_CONTROL_RESTART_AN_MASK BIT(9)
|
||||||
|
#define TSE_PCS_CTRL_AUTONEG_SGMII 0x1140
|
||||||
#define TSE_PCS_IF_MODE_REG 0x28
|
#define TSE_PCS_IF_MODE_REG 0x28
|
||||||
#define TSE_PCS_LINK_TIMER_0_REG 0x24
|
#define TSE_PCS_LINK_TIMER_0_REG 0x24
|
||||||
#define TSE_PCS_LINK_TIMER_1_REG 0x26
|
#define TSE_PCS_LINK_TIMER_1_REG 0x26
|
||||||
|
@ -65,6 +66,7 @@
|
||||||
#define TSE_PCS_SW_RESET_TIMEOUT 100
|
#define TSE_PCS_SW_RESET_TIMEOUT 100
|
||||||
#define TSE_PCS_USE_SGMII_AN_MASK BIT(1)
|
#define TSE_PCS_USE_SGMII_AN_MASK BIT(1)
|
||||||
#define TSE_PCS_USE_SGMII_ENA BIT(0)
|
#define TSE_PCS_USE_SGMII_ENA BIT(0)
|
||||||
|
#define TSE_PCS_IF_USE_SGMII 0x03
|
||||||
|
|
||||||
#define SGMII_ADAPTER_CTRL_REG 0x00
|
#define SGMII_ADAPTER_CTRL_REG 0x00
|
||||||
#define SGMII_ADAPTER_DISABLE 0x0001
|
#define SGMII_ADAPTER_DISABLE 0x0001
|
||||||
|
@ -101,7 +103,9 @@ int tse_pcs_init(void __iomem *base, struct tse_pcs *pcs)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
writew(TSE_PCS_USE_SGMII_ENA, base + TSE_PCS_IF_MODE_REG);
|
writew(TSE_PCS_IF_USE_SGMII, base + TSE_PCS_IF_MODE_REG);
|
||||||
|
|
||||||
|
writew(TSE_PCS_CTRL_AUTONEG_SGMII, base + TSE_PCS_CONTROL_REG);
|
||||||
|
|
||||||
writew(TSE_PCS_SGMII_LINK_TIMER_0, base + TSE_PCS_LINK_TIMER_0_REG);
|
writew(TSE_PCS_SGMII_LINK_TIMER_0, base + TSE_PCS_LINK_TIMER_0_REG);
|
||||||
writew(TSE_PCS_SGMII_LINK_TIMER_1, base + TSE_PCS_LINK_TIMER_1_REG);
|
writew(TSE_PCS_SGMII_LINK_TIMER_1, base + TSE_PCS_LINK_TIMER_1_REG);
|
||||||
|
|
Loading…
Add table
Reference in a new issue