aboutsummaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorAshok Reddy Soma <ashok.reddy.soma@xilinx.com>2021-08-02 23:20:44 -0600
committerMichal Simek <michal.simek@xilinx.com>2021-08-26 08:08:01 +0200
commit655d69faaf4bb1e7d3e9c31f07259b61c27e719e (patch)
tree26e6bde163669d5580065f547f591b8ea34960e3 /board
parentd04498255559dfc002ad71816dfb37437d29f635 (diff)
downloadu-boot-655d69faaf4bb1e7d3e9c31f07259b61c27e719e.zip
u-boot-655d69faaf4bb1e7d3e9c31f07259b61c27e719e.tar.gz
u-boot-655d69faaf4bb1e7d3e9c31f07259b61c27e719e.tar.bz2
mmc: zynq_sdhci: Move setting tapdelay code to driver
Move tapdelay function calls to zynq_sdhci.c and make them static inline. zynqmp_tap_delay.h has function prototypes for the functions defined in tap_delays.c, which will not be needed anymore. Remove tap_delays.c and zynqmp_tap_delay.h files. Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Diffstat (limited to 'board')
-rw-r--r--board/xilinx/zynqmp/Makefile2
-rw-r--r--board/xilinx/zynqmp/tap_delays.c115
2 files changed, 0 insertions, 117 deletions
diff --git a/board/xilinx/zynqmp/Makefile b/board/xilinx/zynqmp/Makefile
index 7d8277c..a914028 100644
--- a/board/xilinx/zynqmp/Makefile
+++ b/board/xilinx/zynqmp/Makefile
@@ -44,8 +44,6 @@ $(obj)/pm_cfg_obj.o: $(shell cd $(srctree); readlink -f $(CONFIG_ZYNQMP_SPL_PM_C
endif
endif
-obj-$(CONFIG_MMC_SDHCI_ZYNQ) += tap_delays.o
-
ifndef CONFIG_SPL_BUILD
obj-$(CONFIG_CMD_ZYNQMP) += cmds.o
endif
diff --git a/board/xilinx/zynqmp/tap_delays.c b/board/xilinx/zynqmp/tap_delays.c
deleted file mode 100644
index 514f86a..0000000
--- a/board/xilinx/zynqmp/tap_delays.c
+++ /dev/null
@@ -1,115 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Xilinx ZynqMP SoC Tap Delay Programming
- *
- * Copyright (C) 2018 Xilinx, Inc.
- */
-
-#include <common.h>
-#include <zynqmp_tap_delay.h>
-#include <asm/arch/sys_proto.h>
-#include <asm/cache.h>
-#include <linux/delay.h>
-#include <mmc.h>
-#include <zynqmp_firmware.h>
-
-#define SD_DLL_CTRL 0xFF180358
-#define SD_ITAP_DLY 0xFF180314
-#define SD_OTAP_DLY 0xFF180318
-#define SD0_DLL_RST BIT(2)
-#define SD1_DLL_RST BIT(18)
-#define SD0_ITAPCHGWIN BIT(9)
-#define SD1_ITAPCHGWIN BIT(25)
-#define SD0_ITAPDLYENA BIT(8)
-#define SD1_ITAPDLYENA BIT(24)
-#define SD0_ITAPDLYSEL_MASK GENMASK(7, 0)
-#define SD1_ITAPDLYSEL_MASK GENMASK(23, 16)
-#define SD0_OTAPDLYSEL_MASK GENMASK(5, 0)
-#define SD1_OTAPDLYSEL_MASK GENMASK(21, 16)
-
-int zynqmp_dll_reset(u8 node_id, u32 type)
-{
- if (IS_ENABLED(CONFIG_SPL_BUILD) || current_el() == 3) {
- if (node_id == NODE_SD_0)
- return zynqmp_mmio_write(SD_DLL_CTRL, SD0_DLL_RST,
- type == PM_DLL_RESET_ASSERT ?
- SD0_DLL_RST : 0);
-
- return zynqmp_mmio_write(SD_DLL_CTRL, SD1_DLL_RST,
- type == PM_DLL_RESET_ASSERT ?
- SD1_DLL_RST : 0);
- } else {
- return xilinx_pm_request(PM_IOCTL, (u32)node_id,
- IOCTL_SD_DLL_RESET, type, 0, NULL);
- }
-}
-
-int arasan_zynqmp_set_in_tapdelay(u8 node_id, u32 itap_delay)
-{
- int ret;
-
- if (IS_ENABLED(CONFIG_SPL_BUILD) || current_el() == 3) {
- if (node_id == NODE_SD_0) {
- ret = zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPCHGWIN,
- SD0_ITAPCHGWIN);
- if (ret)
- return ret;
-
- ret = zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYENA,
- SD0_ITAPDLYENA);
- if (ret)
- return ret;
-
- ret = zynqmp_mmio_write(SD_ITAP_DLY,
- SD0_ITAPDLYSEL_MASK,
- itap_delay);
- if (ret)
- return ret;
-
- ret = zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPCHGWIN, 0);
- if (ret)
- return ret;
- }
- ret = zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPCHGWIN,
- SD1_ITAPCHGWIN);
- if (ret)
- return ret;
-
- ret = zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPDLYENA,
- SD1_ITAPDLYENA);
- if (ret)
- return ret;
-
- ret = zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPDLYSEL_MASK,
- (itap_delay << 16));
- if (ret)
- return ret;
-
- ret = zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPCHGWIN, 0);
- if (ret)
- return ret;
- } else {
- return xilinx_pm_request(PM_IOCTL, (u32)node_id,
- IOCTL_SET_SD_TAPDELAY,
- PM_TAPDELAY_INPUT, itap_delay, NULL);
- }
-
- return 0;
-}
-
-int arasan_zynqmp_set_out_tapdelay(u8 node_id, u32 otap_delay)
-{
- if (IS_ENABLED(CONFIG_SPL_BUILD) || current_el() == 3) {
- if (node_id == NODE_SD_0)
- return zynqmp_mmio_write(SD_OTAP_DLY,
- SD0_OTAPDLYSEL_MASK,
- otap_delay);
-
- return zynqmp_mmio_write(SD_OTAP_DLY, SD1_OTAPDLYSEL_MASK,
- (otap_delay << 16));
- } else {
- return xilinx_pm_request(PM_IOCTL, (u32)node_id,
- IOCTL_SET_SD_TAPDELAY,
- PM_TAPDELAY_OUTPUT, otap_delay, NULL);
- }
-}