All of lore.kernel.org
 help / color / mirror / Atom feed
From: Josua Mayer <josua@solid-run.com>
To: Judith Mendez <jm@ti.com>, Ulf Hansson <ulf.hansson@linaro.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2] mmc: sdhci_am654: Add sdhci_am654_start_signal_voltage_switch
Date: Sun, 19 Jan 2025 20:15:16 +0000	[thread overview]
Message-ID: <a70fc9fc-186f-4165-a652-3de50733763a@solid-run.com> (raw)
In-Reply-To: <20240913185403.1339115-1-jm@ti.com>

Hi Judith,

Am 13.09.24 um 20:54 schrieb Judith Mendez:
> The sdhci_start_signal_voltage_switch function sets
> V1P8_SIGNAL_ENA by default after switching to 1v8 signaling.
> V1P8_SIGNAL_ENA determines whether to launch cmd/data on neg
> edge or pos edge of clock.
>
> Due to some eMMC and SD failures seen across am62x platform,
> do not set V1P8_SIGNAL_ENA by default, only enable the bit
> for devices that require this bit in order to switch to 1v8
> voltage for uhs modes.
I have just tested this patch on downstream TI Linux fork tagged 10.01.10
(v6.6.58) and it breaks sd-card detection on SolidRun AM642 HummingBoard-T
supported in-tree: arch/arm64/boot/dts/ti/k3-am642-hummingboard-t.dts since v6.11.

The board fails during boot from sdcard:
mmc1: error -110 whilst initialising SD card

Hence I suspect something is not okay with the heuristics enabling this quirk.
Kindly note I have not tested it with pure 6.13-rc1 yet.

My downstream workaround in dts is to link a fixed regulator vmmc-supply,
but the upstream dts specifies neither vmmc- nor vqmmc supplies.

>
> Signed-off-by: Judith Mendez <jm@ti.com>
> ---
> Changes since v1:
> - Invert quirk logic
> - Simplify sdhci_am654_start_signal_voltage_switch() and call
>   sdhci_start_signal_voltage_switch() when the quirk does not apply
> - Simply logic when detecting when quirk should be applied
> ---
>  drivers/mmc/host/sdhci_am654.c | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
>
> diff --git a/drivers/mmc/host/sdhci_am654.c b/drivers/mmc/host/sdhci_am654.c
> index 0aa3c40ea6ed8..9ff07aadb2d91 100644
> --- a/drivers/mmc/host/sdhci_am654.c
> +++ b/drivers/mmc/host/sdhci_am654.c
cut
> @@ -844,6 +868,11 @@ static int sdhci_am654_get_of_property(struct platform_device *pdev,
>  	if (device_property_read_bool(dev, "ti,fails-without-test-cd"))
>  		sdhci_am654->quirks |= SDHCI_AM654_QUIRK_FORCE_CDTEST;
>  
> +	/* Suppress v1p8 ena for eMMC and SD with vqmmc supply */
> +	if (!!of_parse_phandle(dev->of_node, "vmmc-supply", 0) ==
> +	    !!of_parse_phandle(dev->of_node, "vqmmc-supply", 0))
> +		sdhci_am654->quirks |= SDHCI_AM654_QUIRK_SUPPRESS_V1P8_ENA;
> +
Was it intentional to apply the quirk both when neither,
and when both supplies are specified?
>  	sdhci_get_of_property(pdev);
>  
>  	return 0;
> @@ -940,6 +969,7 @@ static int sdhci_am654_probe(struct platform_device *pdev)
>  		goto err_pltfm_free;
>  	}
>  
> +	host->mmc_host_ops.start_signal_voltage_switch = sdhci_am654_start_signal_voltage_switch;
>  	host->mmc_host_ops.execute_tuning = sdhci_am654_execute_tuning;
>  
>  	pm_runtime_get_noresume(dev);
>
> base-commit: cf6444ba528f043398b112ac36e041a4d8685cb1

  parent reply	other threads:[~2025-01-19 20:15 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-13 18:54 [PATCH v2] mmc: sdhci_am654: Add sdhci_am654_start_signal_voltage_switch Judith Mendez
2024-09-16  6:14 ` Adrian Hunter
2024-10-02 23:36 ` Ulf Hansson
2025-01-19 20:15 ` Josua Mayer [this message]
2025-01-27 13:24   ` Josua Mayer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a70fc9fc-186f-4165-a652-3de50733763a@solid-run.com \
    --to=josua@solid-run.com \
    --cc=adrian.hunter@intel.com \
    --cc=jm@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.