From: "Kathpalia, Tanmay" <tanmay.kathpalia@altera.com>
To: Judith Mendez <jm@ti.com>, u-boot@lists.denx.de
Cc: trini@konsulko.com, peng.fan@nxp.com, jh80.chung@samsung.com,
marex@denx.de, tien.fong.chee@altera.com
Subject: Re: [PATCH] mmc: sd: Handle UHS-I voltage signaling without power cycle
Date: Fri, 15 May 2026 00:20:08 +0530 [thread overview]
Message-ID: <190995da-40e1-422d-baec-dd3bdad0b315@altera.com> (raw)
In-Reply-To: <52ec8007-ce50-4f12-b796-4b8c2aa1822e@ti.com>
On 5/14/2026 5:09 AM, Judith Mendez wrote:
> Hi Tanmay, all,
>
> On 10/21/25 3:45 PM, Tanmay Kathpalia wrote:
>> Some boards have SD card connectors where the power rail cannot be
>> switched
>> off by the driver. However there are various circumstances when a card
>> might be re-initialized, such as after system resume, warm re-boot, or
>> error handling. However, a UHS card will continue to use 1.8V signaling
>> unless it is power cycled.
>>
>> If the card has not been power cycled, it may still be using 1.8V
>> signaling. According to the SD spec., the Bus Speed Mode (function
>> group 1)
>> bits 2 to 4 are zero if the card is initialized at 3.3V signal level.
>> Thus
>> they can be used to determine if the card has already switched to 1.8V
>> signaling. Detect that situation and try to initialize a UHS-I (1.8V)
>> transfer mode.
>
> This implementation broke am65 IDK board SD card boot, I have still
> to check why this breaks only one board, potentially there might
> be a quirk only for this board... But for now sending the question
> in case anyone might have an idea what is going on & save me some
> time.
>
>
Thanks for reporting this. I had a deeper look at the code and found
an issue that is likely the root cause of the failure on am65 IDK.
During a normal cold boot with a UHS-capable host and UHS card, the
voltage switch to 1.8V is already performed inside sd_send_op_cond()
as part of the ACMD41 handshake, and this is recorded in mmc->ocr via
the S18R bit. By the time mmc_startup() calls sd_get_capabilities(),
the card is already operating at 1.8V and reports UHS bus speed modes,
causing mmc_sd_card_using_v18() to return true. The warm-reboot
recovery path then fires unconditionally and switches the host voltage
a second time, which on boards like am65 IDK can leave the controller
in a bad state.
The fix is to guard the recovery path so it only activates when the
voltage switch was not already performed during the current session:
- if (mmc_sd_card_using_v18(mmc)) {
+ if (!(mmc->ocr & OCR_S18R) && mmc_sd_card_using_v18(mmc)) {
Could you please try this change and let me know if it resolves the
failure on am65 IDK?
I will send the patch for review on the mailing list.
Regards,
Tanmay
next prev parent reply other threads:[~2026-05-14 18:50 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-21 20:45 [PATCH] mmc: sd: Handle UHS-I voltage signaling without power cycle Tanmay Kathpalia
2025-10-22 3:16 ` Peng Fan
2025-10-22 14:06 ` Tanmay Kathpalia
2025-10-23 8:46 ` Peng Fan (OSS)
2026-05-13 23:39 ` Judith Mendez
2026-05-14 18:50 ` Kathpalia, Tanmay [this message]
2026-05-14 22:21 ` Judith Mendez
2026-05-16 9:44 ` Peng Fan
2026-05-16 9:43 ` Kathpalia, Tanmay
2026-05-16 11:44 ` Kathpalia, Tanmay
2026-05-27 23:22 ` Judith Mendez
2026-05-29 17:21 ` Kathpalia, Tanmay
2026-06-08 15:19 ` Judith Mendez
2026-06-09 7:51 ` Kathpalia, Tanmay
2026-07-13 9:45 ` Kathpalia, Tanmay
2026-07-13 10:21 ` Peng Fan
2026-07-14 1:37 ` Mendez, Judith
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=190995da-40e1-422d-baec-dd3bdad0b315@altera.com \
--to=tanmay.kathpalia@altera.com \
--cc=jh80.chung@samsung.com \
--cc=jm@ti.com \
--cc=marex@denx.de \
--cc=peng.fan@nxp.com \
--cc=tien.fong.chee@altera.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox