[PATCH v2 5/8] mmc: zynq_sdhci: Move setting tapdelay code to driver
Ashok Reddy Soma
ashokred at xilinx.com
Tue Jul 27 14:49:20 CEST 2021
Reviewed-by: Jaehoon Chung <jh80.chung at samsung.com>
Sorry, Forgot to add Reviewed-by:
https://patchwork.ozlabs.org/project/uboot/patch/20210724081009.15761-5-ashok.reddy.soma@xilinx.com/
Thanks,
Ashok
> -----Original Message-----
> From: Ashok Reddy Soma <ashok.reddy.soma at xilinx.com>
> Sent: Tuesday, July 27, 2021 6:07 PM
> To: u-boot at lists.denx.de
> Cc: peng.fan at nxp.com; jh80.chung at samsung.com; faiz_abbas at ti.com;
> sjg at chromium.org; michael at walle.cc; git <git at xilinx.com>;
> monstr at monstr.eu; somaashokreddy at gmail.com; Ashok Reddy Soma
> <ashokred at xilinx.com>
> Subject: [PATCH v2 5/8] mmc: zynq_sdhci: Move setting tapdelay code to driver
>
> tap_delays.c just has calls to xilinx_pm_request() for setting tapdelays.
> Simply move these calls to zynq_sdhci.c and make them static inline.
> Similarly zynqmp_tap_delay.h also has call to xilinx_pm_request() for dll reset.
> Do the same for this file as well.
>
> Remove tap_delays.c and zynqmp_tap_delay.h files.
>
> Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma at xilinx.com>
> ---
>
> (no changes since v1)
>
> board/xilinx/zynqmp/Makefile | 2 --
> board/xilinx/zynqmp/tap_delays.c | 26 ------------------------
> drivers/mmc/zynq_sdhci.c | 21 +++++++++++++++++++-
> include/zynqmp_tap_delay.h | 34 --------------------------------
> 4 files changed, 20 insertions(+), 63 deletions(-) delete mode 100644
> board/xilinx/zynqmp/tap_delays.c delete mode 100644
> include/zynqmp_tap_delay.h
>
> diff --git a/board/xilinx/zynqmp/Makefile b/board/xilinx/zynqmp/Makefile
> index 7d8277ca40..a914028753 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 4ce2244060..0000000000
> --- a/board/xilinx/zynqmp/tap_delays.c
> +++ /dev/null
> @@ -1,26 +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 <linux/delay.h>
> -#include <mmc.h>
> -#include <zynqmp_firmware.h>
> -
> -int arasan_zynqmp_set_in_tapdelay(u8 deviceid, u32 type, u32 itap_delay) -{
> -
> - return xilinx_pm_request(PM_IOCTL, (u32)deviceid,
> IOCTL_SET_SD_TAPDELAY,
> - type, itap_delay, NULL);
> -}
> -
> -int arasan_zynqmp_set_out_tapdelay(u8 deviceid, u32 type, u32 otap_delay) -{
> - return xilinx_pm_request(PM_IOCTL, (u32)deviceid,
> IOCTL_SET_SD_TAPDELAY,
> - type, otap_delay, NULL);
> -}
> diff --git a/drivers/mmc/zynq_sdhci.c b/drivers/mmc/zynq_sdhci.c index
> c4927d6c1a..043af5cb3a 100644
> --- a/drivers/mmc/zynq_sdhci.c
> +++ b/drivers/mmc/zynq_sdhci.c
> @@ -17,7 +17,6 @@
> #include <linux/libfdt.h>
> #include <malloc.h>
> #include <sdhci.h>
> -#include <zynqmp_tap_delay.h>
> #include <zynqmp_firmware.h>
>
> #define SDHCI_ARASAN_ITAPDLY_REGISTER 0xF0F8
> @@ -76,6 +75,26 @@ static const u8 mode2timing[] = {
> [MMC_HS_200] = MMC_TIMING_MMC_HS200,
> };
>
> +static inline int arasan_zynqmp_set_in_tapdelay(u8 deviceid, u32 type,
> + u32 itap_delay)
> +{
> + return xilinx_pm_request(PM_IOCTL, (u32)deviceid,
> IOCTL_SET_SD_TAPDELAY,
> + type, itap_delay, NULL);
> +}
> +
> +static inline int arasan_zynqmp_set_out_tapdelay(u8 deviceid, u32 type,
> + u32 otap_delay)
> +{
> + return xilinx_pm_request(PM_IOCTL, (u32)deviceid,
> IOCTL_SET_SD_TAPDELAY,
> + type, otap_delay, NULL);
> +}
> +
> +static inline int zynqmp_pm_sd_dll_reset(u8 node_id, u32 type) {
> + return xilinx_pm_request(PM_IOCTL, (u32)node_id,
> IOCTL_SD_DLL_RESET,
> + type, 0, NULL);
> +}
> +
> static int arasan_zynqmp_dll_reset(struct sdhci_host *host, u8 deviceid) {
> struct mmc *mmc = (struct mmc *)host->mmc; diff --git
> a/include/zynqmp_tap_delay.h b/include/zynqmp_tap_delay.h deleted file
> mode 100644 index 7e4d4e4a9a..0000000000
> --- a/include/zynqmp_tap_delay.h
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -/*
> - * Xilinx ZynqMP SoC Tap Delay Programming
> - *
> - * Copyright (C) 2018 Xilinx, Inc.
> - */
> -
> -#ifndef __ZYNQMP_TAP_DELAY_H__
> -#define __ZYNQMP_TAP_DELAY_H__
> -
> -#include <zynqmp_firmware.h>
> -
> -#ifdef CONFIG_ARCH_ZYNQMP
> -int arasan_zynqmp_set_in_tapdelay(u8 device_id, u32 type, u32 itap_delay); -
> int arasan_zynqmp_set_out_tapdelay(u8 device_id, u32 type, u32 otap_delay);
> -#else -inline int arasan_zynqmp_set_in_tapdelay(u8 device_id, u32 type, u32
> itap_delay) -{
> - return 0;
> -}
> -
> -int arasan_zynqmp_set_out_tapdelay(u8 device_id, u32 type, u32 otap_delay)
> -{
> - return 0;
> -}
> -#endif
> -
> -static inline int zynqmp_pm_sd_dll_reset(u8 node_id, u32 type) -{
> - return xilinx_pm_request(PM_IOCTL, (u32)node_id,
> IOCTL_SD_DLL_RESET,
> - type, 0, NULL);
> -}
> -
> -#endif
> --
> 2.17.1
More information about the U-Boot
mailing list