Commit fe1fa205 authored by Sai Krishna Potthuri's avatar Sai Krishna Potthuri Committed by Michal Simek
Browse files

plat: zynqmp: Disable ITAPDLYENA bit for zero ITAP delay



This patch disable the ITAPDLYENA bit for ITAP delay value zero.
As per IP design, it is recommended to disable the ITAPDLYENA bit
before auto-tuning.
Also disable OTAPDLYENA bit always as there is one issue in RTL
where SD0_OTAPDLYENA has been wrongly connected to both SD0 and SD1
controllers. Hence it is recommended to disable OTAPDLYENA bit always
for both the controllers.
Signed-off-by: default avatarSai Krishna Potthuri <lakshmi.sai.krishna.potthuri@xilinx.com>
Acked-by: default avatarSrinivas Goud <srinivas.goud@xilinx.com>
Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
Change-Id: Icf035cb63510ac7bec4e9d523a622f145eaf0989
parent 2ab0ef8d
...@@ -312,9 +312,15 @@ static enum pm_ret_status pm_ioctl_sd_set_tapdelay(enum pm_node_id nid, ...@@ -312,9 +312,15 @@ static enum pm_ret_status pm_ioctl_sd_set_tapdelay(enum pm_node_id nid,
(ZYNQMP_SD_ITAPCHGWIN << shift)); (ZYNQMP_SD_ITAPCHGWIN << shift));
if (ret != PM_RET_SUCCESS) if (ret != PM_RET_SUCCESS)
goto reset_release; goto reset_release;
if (value == 0)
ret = pm_mmio_write(ZYNQMP_SD_ITAP_DLY, ret = pm_mmio_write(ZYNQMP_SD_ITAP_DLY,
(ZYNQMP_SD_ITAPDLYENA_MASK << shift), (ZYNQMP_SD_ITAPDLYENA_MASK <<
(ZYNQMP_SD_ITAPDLYENA << shift)); shift), 0);
else
ret = pm_mmio_write(ZYNQMP_SD_ITAP_DLY,
(ZYNQMP_SD_ITAPDLYENA_MASK <<
shift), (ZYNQMP_SD_ITAPDLYENA <<
shift));
if (ret != PM_RET_SUCCESS) if (ret != PM_RET_SUCCESS)
goto reset_release; goto reset_release;
ret = pm_mmio_write(ZYNQMP_SD_ITAP_DLY, ret = pm_mmio_write(ZYNQMP_SD_ITAP_DLY,
...@@ -326,8 +332,7 @@ static enum pm_ret_status pm_ioctl_sd_set_tapdelay(enum pm_node_id nid, ...@@ -326,8 +332,7 @@ static enum pm_ret_status pm_ioctl_sd_set_tapdelay(enum pm_node_id nid,
(ZYNQMP_SD_ITAPCHGWIN_MASK << shift), 0); (ZYNQMP_SD_ITAPCHGWIN_MASK << shift), 0);
} else if (type == PM_TAPDELAY_OUTPUT) { } else if (type == PM_TAPDELAY_OUTPUT) {
ret = pm_mmio_write(ZYNQMP_SD_OTAP_DLY, ret = pm_mmio_write(ZYNQMP_SD_OTAP_DLY,
(ZYNQMP_SD_OTAPDLYENA_MASK << shift), (ZYNQMP_SD_OTAPDLYENA_MASK << shift), 0);
(ZYNQMP_SD_OTAPDLYENA << shift));
if (ret != PM_RET_SUCCESS) if (ret != PM_RET_SUCCESS)
goto reset_release; goto reset_release;
ret = pm_mmio_write(ZYNQMP_SD_OTAP_DLY, ret = pm_mmio_write(ZYNQMP_SD_OTAP_DLY,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment