|
@@ -50,48 +50,51 @@ void zynqmp_dll_reset(u8 deviceid)
|
|
|
zynqmp_mmio_write(SD_DLL_CTRL, SD1_DLL_RST_MASK, 0x0);
|
|
|
}
|
|
|
|
|
|
-void arasan_zynqmp_set_tapdelay(u8 deviceid, u32 itap_delay, u32 otap_delay)
|
|
|
+void arasan_zynqmp_set_in_tapdelay(u8 deviceid, u32 itap_delay)
|
|
|
{
|
|
|
if (deviceid == 0) {
|
|
|
- zynqmp_mmio_write(SD_DLL_CTRL, SD0_DLL_RST_MASK,
|
|
|
- SD0_DLL_RST);
|
|
|
- /* Program ITAP */
|
|
|
- if (itap_delay) {
|
|
|
- zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPCHGWIN_MASK,
|
|
|
- SD0_ITAPCHGWIN);
|
|
|
- zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYENA_MASK,
|
|
|
- SD0_ITAPDLYENA);
|
|
|
- zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYSEL_MASK,
|
|
|
- itap_delay);
|
|
|
- zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPCHGWIN_MASK,
|
|
|
- 0x0);
|
|
|
- }
|
|
|
+ zynqmp_mmio_write(SD_DLL_CTRL, SD0_DLL_RST_MASK, SD0_DLL_RST);
|
|
|
|
|
|
- /* Program OTAP */
|
|
|
- if (otap_delay)
|
|
|
- zynqmp_mmio_write(SD_OTAP_DLY, SD0_OTAPDLYSEL_MASK,
|
|
|
- otap_delay);
|
|
|
+ /* Program ITAP delay */
|
|
|
+ zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPCHGWIN_MASK,
|
|
|
+ SD0_ITAPCHGWIN);
|
|
|
+ zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYENA_MASK,
|
|
|
+ SD0_ITAPDLYENA);
|
|
|
+ zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYSEL_MASK, itap_delay);
|
|
|
+ zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPCHGWIN_MASK, 0x0);
|
|
|
|
|
|
zynqmp_mmio_write(SD_DLL_CTRL, SD0_DLL_RST_MASK, 0x0);
|
|
|
} else {
|
|
|
- zynqmp_mmio_write(SD_DLL_CTRL, SD1_DLL_RST_MASK,
|
|
|
- SD1_DLL_RST);
|
|
|
- /* Program ITAP */
|
|
|
- if (itap_delay) {
|
|
|
- zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPCHGWIN_MASK,
|
|
|
- SD1_ITAPCHGWIN);
|
|
|
- zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPDLYENA_MASK,
|
|
|
- SD1_ITAPDLYENA);
|
|
|
- zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPDLYSEL_MASK,
|
|
|
- (itap_delay << 16));
|
|
|
- zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPCHGWIN_MASK,
|
|
|
- 0x0);
|
|
|
- }
|
|
|
+ zynqmp_mmio_write(SD_DLL_CTRL, SD1_DLL_RST_MASK, SD1_DLL_RST);
|
|
|
+
|
|
|
+ /* Program ITAP delay */
|
|
|
+ zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPCHGWIN_MASK,
|
|
|
+ SD1_ITAPCHGWIN);
|
|
|
+ zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPDLYENA_MASK,
|
|
|
+ SD1_ITAPDLYENA);
|
|
|
+ zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPDLYSEL_MASK,
|
|
|
+ (itap_delay << 16));
|
|
|
+ zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPCHGWIN_MASK, 0x0);
|
|
|
+
|
|
|
+ zynqmp_mmio_write(SD_DLL_CTRL, SD1_DLL_RST_MASK, 0x0);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void arasan_zynqmp_set_out_tapdelay(u8 deviceid, u32 otap_delay)
|
|
|
+{
|
|
|
+ if (deviceid == 0) {
|
|
|
+ zynqmp_mmio_write(SD_DLL_CTRL, SD0_DLL_RST_MASK, SD0_DLL_RST);
|
|
|
+
|
|
|
+ /* Program OTAP delay */
|
|
|
+ zynqmp_mmio_write(SD_OTAP_DLY, SD0_OTAPDLYSEL_MASK, otap_delay);
|
|
|
+
|
|
|
+ zynqmp_mmio_write(SD_DLL_CTRL, SD0_DLL_RST_MASK, 0x0);
|
|
|
+ } else {
|
|
|
+ zynqmp_mmio_write(SD_DLL_CTRL, SD1_DLL_RST_MASK, SD1_DLL_RST);
|
|
|
|
|
|
- /* Program OTAP */
|
|
|
- if (otap_delay)
|
|
|
- zynqmp_mmio_write(SD_OTAP_DLY, SD1_OTAPDLYSEL_MASK,
|
|
|
- (otap_delay << 16));
|
|
|
+ /* Program OTAP delay */
|
|
|
+ zynqmp_mmio_write(SD_OTAP_DLY, SD1_OTAPDLYSEL_MASK,
|
|
|
+ (otap_delay << 16));
|
|
|
|
|
|
zynqmp_mmio_write(SD_DLL_CTRL, SD1_DLL_RST_MASK, 0x0);
|
|
|
}
|