[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DM6PR02MB58986D442F923EF92F8FF7CDC1E30@DM6PR02MB5898.namprd02.prod.outlook.com>
Date: Mon, 16 Nov 2020 07:50:38 +0000
From: Manish Narani <MNARANI@...inx.com>
To: Manish Narani <MNARANI@...inx.com>,
Michal Simek <michals@...inx.com>,
"adrian.hunter@...el.com" <adrian.hunter@...el.com>,
"ulf.hansson@...aro.org" <ulf.hansson@...aro.org>
CC: "linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
git <git@...inx.com>, Sai Krishna Potthuri <lakshmis@...inx.com>
Subject: RE: [PATCH] mmc: sdhci-of-arasan: Allow configuring zero tap values
Hi,
> -----Original Message-----
> From: Manish Narani <manish.narani@...inx.com>
> Sent: Tuesday, November 10, 2020 11:12 PM
> To: Michal Simek <michals@...inx.com>; adrian.hunter@...el.com;
> ulf.hansson@...aro.org
> Cc: linux-arm-kernel@...ts.infradead.org; linux-mmc@...r.kernel.org; linux-
> kernel@...r.kernel.org; git <git@...inx.com>; Manish Narani
> <MNARANI@...inx.com>; Sai Krishna Potthuri <lakshmis@...inx.com>
> Subject: [PATCH] mmc: sdhci-of-arasan: Allow configuring zero tap values
>
> Allow configuring the Output and Input tap values with zero to avoid
> failures in some cases (one of them is SD boot mode) where the output
> and input tap values may be already set to non-zero.
>
Fixes: a5c8b2ae2e51 ("mmc: sdhci-of-arasan: Add support for ZynqMP Platform Tap Delays Setup")
> Signed-off-by: Sai Krishna Potthuri <lakshmi.sai.krishna.potthuri@...inx.com>
> Signed-off-by: Manish Narani <manish.narani@...inx.com>
> ---
> drivers/mmc/host/sdhci-of-arasan.c | 40 ++++++------------------------
> 1 file changed, 8 insertions(+), 32 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/host/sdhci-
> of-arasan.c
> index 829ccef87426..100621e55427 100644
> --- a/drivers/mmc/host/sdhci-of-arasan.c
> +++ b/drivers/mmc/host/sdhci-of-arasan.c
> @@ -600,14 +600,8 @@ static int sdhci_zynqmp_sdcardclk_set_phase(struct
> clk_hw *hw, int degrees)
> u8 tap_delay, tap_max = 0;
> int ret;
>
> - /*
> - * This is applicable for SDHCI_SPEC_300 and above
> - * ZynqMP does not set phase for <=25MHz clock.
> - * If degrees is zero, no need to do anything.
> - */
> - if (host->version < SDHCI_SPEC_300 ||
> - host->timing == MMC_TIMING_LEGACY ||
> - host->timing == MMC_TIMING_UHS_SDR12 || !degrees)
> + /* This is applicable for SDHCI_SPEC_300 and above */
> + if (host->version < SDHCI_SPEC_300)
> return 0;
>
> switch (host->timing) {
> @@ -668,14 +662,8 @@ static int
> sdhci_zynqmp_sampleclk_set_phase(struct clk_hw *hw, int degrees)
> u8 tap_delay, tap_max = 0;
> int ret;
>
> - /*
> - * This is applicable for SDHCI_SPEC_300 and above
> - * ZynqMP does not set phase for <=25MHz clock.
> - * If degrees is zero, no need to do anything.
> - */
> - if (host->version < SDHCI_SPEC_300 ||
> - host->timing == MMC_TIMING_LEGACY ||
> - host->timing == MMC_TIMING_UHS_SDR12 || !degrees)
> + /* This is applicable for SDHCI_SPEC_300 and above */
> + if (host->version < SDHCI_SPEC_300)
> return 0;
>
> switch (host->timing) {
> @@ -733,14 +721,8 @@ static int sdhci_versal_sdcardclk_set_phase(struct
> clk_hw *hw, int degrees)
> struct sdhci_host *host = sdhci_arasan->host;
> u8 tap_delay, tap_max = 0;
>
> - /*
> - * This is applicable for SDHCI_SPEC_300 and above
> - * Versal does not set phase for <=25MHz clock.
> - * If degrees is zero, no need to do anything.
> - */
> - if (host->version < SDHCI_SPEC_300 ||
> - host->timing == MMC_TIMING_LEGACY ||
> - host->timing == MMC_TIMING_UHS_SDR12 || !degrees)
> + /* This is applicable for SDHCI_SPEC_300 and above */
> + if (host->version < SDHCI_SPEC_300)
> return 0;
>
> switch (host->timing) {
> @@ -804,14 +786,8 @@ static int sdhci_versal_sampleclk_set_phase(struct
> clk_hw *hw, int degrees)
> struct sdhci_host *host = sdhci_arasan->host;
> u8 tap_delay, tap_max = 0;
>
> - /*
> - * This is applicable for SDHCI_SPEC_300 and above
> - * Versal does not set phase for <=25MHz clock.
> - * If degrees is zero, no need to do anything.
> - */
> - if (host->version < SDHCI_SPEC_300 ||
> - host->timing == MMC_TIMING_LEGACY ||
> - host->timing == MMC_TIMING_UHS_SDR12 || !degrees)
> + /* This is applicable for SDHCI_SPEC_300 and above */
> + if (host->version < SDHCI_SPEC_300)
> return 0;
>
> switch (host->timing) {
> --
> 2.17.1
Thanks,
Manish
Powered by blists - more mailing lists