summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSuraj Jaiswal <jsuraj@codeaurora.org>2019-02-13 18:16:48 +0530
committerSuraj Jaiswal <jsuraj@codeaurora.org>2019-03-05 11:49:53 +0530
commit84883b3f03806ae734cbddd3e8557cfe4bda5879 (patch)
tree3d6b665c334efc3833d299ae838ef0e6efdc5068
parentf518ee45c26eb7f59df29ee6aba50dea0390a7da (diff)
downloaddata-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.c8
-rw-r--r--drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c8
-rw-r--r--drivers/emac-dwc-eqos/DWC_ETH_QOS_rgmii_io_macro.c7
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);