diff options
author | Suraj Jaiswal <jsuraj@codeaurora.org> | 2019-02-13 18:16:48 +0530 |
---|---|---|
committer | Suraj Jaiswal <jsuraj@codeaurora.org> | 2019-03-05 11:49:53 +0530 |
commit | 84883b3f03806ae734cbddd3e8557cfe4bda5879 (patch) | |
tree | 3d6b665c334efc3833d299ae838ef0e6efdc5068 | |
parent | f518ee45c26eb7f59df29ee6aba50dea0390a7da (diff) | |
download | data-kernel-84883b3f03806ae734cbddd3e8557cfe4bda5879.tar.gz |
data-kernel: EMAC: Added io-macro configs for SA8155v2
- Enabled axi and io-macro configs for SA8155v2
Change-Id: I48e9250a9ac9e01d680ee5d714f071d7acbfb1cb
Acked-by: Lakshit Tyagi <ltyagi@qti.qualcomm.com>
Signed-off-by: Suraj Jaiswal <jsuraj@codeaurora.org>
-rw-r--r-- | drivers/emac-dwc-eqos/DWC_ETH_QOS_mdio.c | 8 | ||||
-rw-r--r-- | drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c | 8 | ||||
-rw-r--r-- | drivers/emac-dwc-eqos/DWC_ETH_QOS_rgmii_io_macro.c | 7 |
3 files changed, 14 insertions, 9 deletions
diff --git a/drivers/emac-dwc-eqos/DWC_ETH_QOS_mdio.c b/drivers/emac-dwc-eqos/DWC_ETH_QOS_mdio.c index f295dc0..3f82281 100644 --- a/drivers/emac-dwc-eqos/DWC_ETH_QOS_mdio.c +++ b/drivers/emac-dwc-eqos/DWC_ETH_QOS_mdio.c @@ -660,7 +660,13 @@ static void configure_phy_rx_tx_delay(struct DWC_ETH_QOS_prv_data *pdata) case SPEED_100: case SPEED_10: - if (pdata->io_macro_tx_mode_non_id || + if (pdata->emac_hw_version_type == EMAC_HW_v2_1_0 || + pdata->emac_hw_version_type == EMAC_HW_v2_1_2) { + if (pdata->io_macro_tx_mode_non_id) + set_phy_rx_tx_delay(pdata, DISABLE_RX_DELAY, ENABLE_TX_DELAY); + } else { + + if (pdata->io_macro_tx_mode_non_id || pdata->io_macro_phy_intf == MII_MODE) { /* Settings for Non-ID mode or MII mode */ set_phy_rx_tx_delay(pdata, DISABLE_RX_DELAY, ENABLE_TX_DELAY); diff --git a/drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c b/drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c index 4c8445b..83ed285 100644 --- a/drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c +++ b/drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c @@ -865,8 +865,8 @@ int DWC_ETH_QOS_enable_ptp_clk(struct device *dev) int ret; const char* ptp_clock_name; - if (dwc_eth_qos_res_data.emac_hw_version_type == EMAC_HW_v2_1_0 - || dwc_eth_qos_res_data.emac_hw_version_type == EMAC_HW_v2_1_2) + if (dwc_eth_qos_res_data.emac_hw_version_type == EMAC_HW_v2_1_0 || + dwc_eth_qos_res_data.emac_hw_version_type == EMAC_HW_v2_1_2) ptp_clock_name = "emac_ptp_clk"; else ptp_clock_name = "eth_ptp_clk"; @@ -1000,8 +1000,8 @@ static int DWC_ETH_QOS_get_clks(struct device *dev) dwc_eth_qos_res_data.rgmii_clk = NULL; dwc_eth_qos_res_data.ptp_clk = NULL; - if (dwc_eth_qos_res_data.emac_hw_version_type == EMAC_HW_v2_1_0 - || dwc_eth_qos_res_data.emac_hw_version_type == EMAC_HW_v2_1_2) { + if (dwc_eth_qos_res_data.emac_hw_version_type == EMAC_HW_v2_1_0 || + (dwc_eth_qos_res_data.emac_hw_version_type == EMAC_HW_v2_1_2)) { /* EMAC core version 2.1.0 clocks */ axi_clock_name = "emac_axi_clk"; ahb_clock_name = "emac_slv_ahb_clk"; diff --git a/drivers/emac-dwc-eqos/DWC_ETH_QOS_rgmii_io_macro.c b/drivers/emac-dwc-eqos/DWC_ETH_QOS_rgmii_io_macro.c index 6bb7da4..ad6736f 100644 --- a/drivers/emac-dwc-eqos/DWC_ETH_QOS_rgmii_io_macro.c +++ b/drivers/emac-dwc-eqos/DWC_ETH_QOS_rgmii_io_macro.c @@ -423,10 +423,9 @@ int DWC_ETH_QOS_rgmii_io_macro_init(struct DWC_ETH_QOS_prv_data *pdata) */ RGMII_CONFIG_2_RX_PROG_SWAP_UDFWR(0x1); - /* Program PRG_RCLK_DLY to 52 ns for a required delay of 2 ns - on EMAC core version 2.1.0 */ - if (pdata->emac_hw_version_type == EMAC_HW_v2_1_0 - || pdata->emac_hw_version_type == EMAC_HW_v2_1_2) + /* Program PRG_RCLK_DLY to 52 ns for a required delay of 2 ns on HANA AU */ + if (pdata->emac_hw_version_type == EMAC_HW_v2_1_0 || + pdata->emac_hw_version_type == EMAC_HW_v2_1_2) SDCC_HC_PRG_RCLK_DLY_UDFWR(52); else if (pdata->emac_hw_version_type == EMAC_HW_v2_3_1) SDCC_HC_PRG_RCLK_DLY_UDFWR(104); |