summaryrefslogtreecommitdiff
path: root/drivers/emac-dwc-eqos/DWC_ETH_QOS_mdio.c
diff options
context:
space:
mode:
authorWilson Sung <wilsonsung@google.com>2020-02-17 14:40:25 +0800
committerWilson Sung <wilsonsung@google.com>2020-02-17 14:50:07 +0800
commit497908947a2496da943625aec8b193ad89c692af (patch)
tree7979f5bad7674fea0925861255eaa894d579455b /drivers/emac-dwc-eqos/DWC_ETH_QOS_mdio.c
parentdf7ee6ef20b0e01af170dc11a81fc85902b2f689 (diff)
parent384f80012cfcad8b1c79c715aecae5806bf31703 (diff)
downloaddata-kernel-497908947a2496da943625aec8b193ad89c692af.tar.gz
Merge branch 'LA.UM.9.1.R1.10.00.00.604.021' via branch 'qcom-msm-4.14' into android-msm-floral-4.14android-r-preview-4_r0.7android-msm-coral-4.14-r-preview-4
Bug: 149660093 Change-Id: Ibc0260e3160dd1a4b421b2559312bc16a5c0c7d8 Signed-off-by: Wilson Sung <wilsonsung@google.com>
Diffstat (limited to 'drivers/emac-dwc-eqos/DWC_ETH_QOS_mdio.c')
-rw-r--r--drivers/emac-dwc-eqos/DWC_ETH_QOS_mdio.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/drivers/emac-dwc-eqos/DWC_ETH_QOS_mdio.c b/drivers/emac-dwc-eqos/DWC_ETH_QOS_mdio.c
index 57c9383..faac49e 100644
--- a/drivers/emac-dwc-eqos/DWC_ETH_QOS_mdio.c
+++ b/drivers/emac-dwc-eqos/DWC_ETH_QOS_mdio.c
@@ -543,7 +543,8 @@ static void set_phy_rx_tx_delay(struct DWC_ETH_QOS_prv_data *pdata,
EMACDBG("Read 0x%x from offset 0x8\n",phydata);
phydata = 0;
- if (pdata->emac_hw_version_type == EMAC_HW_v2_1_2) {
+ if (pdata->emac_hw_version_type == EMAC_HW_v2_1_2
+ || pdata->emac_hw_version_type == EMAC_HW_v2_1_1) {
u16 tx_clk = 0xE;
/* Provide TX_CLK delay of -0.06nsec */
DWC_ETH_QOS_mdio_mmd_register_read_direct(pdata, pdata->phyaddr,
@@ -562,7 +563,8 @@ static void set_phy_rx_tx_delay(struct DWC_ETH_QOS_prv_data *pdata,
DWC_ETH_QOS_mdio_mmd_register_read_direct(pdata, pdata->phyaddr,
DWC_ETH_QOS_MICREL_PHY_DEBUG_MMD_DEV_ADDR,0x5,&phydata);
phydata &= ~(0xFF);
- if (pdata->emac_hw_version_type == EMAC_HW_v2_1_2)
+ if (pdata->emac_hw_version_type == EMAC_HW_v2_1_2 ||
+ pdata->emac_hw_version_type == EMAC_HW_v2_1_1)
phydata |= ((0x2 << 12) | (0x2 << 8) | (0x2 << 4) | 0x2);
else
/* Default settings for EMAC_HW_v2_1_0 */
@@ -579,7 +581,8 @@ static void set_phy_rx_tx_delay(struct DWC_ETH_QOS_prv_data *pdata,
DWC_ETH_QOS_mdio_mmd_register_read_direct(pdata, pdata->phyaddr,
DWC_ETH_QOS_MICREL_PHY_DEBUG_MMD_DEV_ADDR,0x4,&phydata);
phydata &= ~(0xF << 4);
- if (pdata->emac_hw_version_type == EMAC_HW_v2_1_2)
+ if (pdata->emac_hw_version_type == EMAC_HW_v2_1_2 ||
+ pdata->emac_hw_version_type == EMAC_HW_v2_1_1)
phydata |= (0x2 << 4);
else
/* Default settings for EMAC_HW_v2_1_0 */
@@ -654,9 +657,10 @@ static void configure_phy_rx_tx_delay(struct DWC_ETH_QOS_prv_data *pdata)
set_phy_rx_tx_delay(pdata, ENABLE_RX_DELAY, ENABLE_TX_DELAY);
} else {
/* Settings for RGMII ID mode.
- Not applicable for EMAC core version 2.1.0 and 2.1.2 */
+ Not applicable for EMAC core version 2.1.0, 2.1.2 and 2.1.1 */
if (pdata->emac_hw_version_type != EMAC_HW_v2_1_0 &&
- pdata->emac_hw_version_type != EMAC_HW_v2_1_2)
+ pdata->emac_hw_version_type != EMAC_HW_v2_1_2 &&
+ pdata->emac_hw_version_type != EMAC_HW_v2_1_1)
set_phy_rx_tx_delay(pdata, DISABLE_RX_DELAY, DISABLE_TX_DELAY);
}
break;
@@ -675,9 +679,10 @@ static void configure_phy_rx_tx_delay(struct DWC_ETH_QOS_prv_data *pdata)
set_phy_rx_tx_delay(pdata, DISABLE_RX_DELAY, ENABLE_TX_DELAY);
} else {
/* Settings for RGMII ID mode */
- /* Not applicable for EMAC core version 2.1.0 and 2.1.2 */
+ /* Not applicable for EMAC core version 2.1.0, 2.1.2 and 2.1.1 */
if (pdata->emac_hw_version_type != EMAC_HW_v2_1_0 &&
- pdata->emac_hw_version_type != EMAC_HW_v2_1_2)
+ pdata->emac_hw_version_type != EMAC_HW_v2_1_2 &&
+ pdata->emac_hw_version_type != EMAC_HW_v2_1_1)
set_phy_rx_tx_delay(pdata, DISABLE_RX_DELAY, DISABLE_TX_DELAY);
}
}