diff options
| author | Ye Li <[email protected]> | 2026-05-22 15:14:14 +0800 |
|---|---|---|
| committer | Peng Fan <[email protected]> | 2026-06-09 23:55:56 +0800 |
| commit | 7ab0a58e86599f9430e23af5c64c31adf4999a13 (patch) | |
| tree | 4b64f67313af4342aab10a9355a57098cbaa5445 /contrib/apps/httpserver | |
| parent | aec9a167b25b7da6ce6771a96c649039dda15273 (diff) | |
power: regulator: Fix power on/off delay issue
SD initialization failure happens with some UHS-I SD cards on
iMX8MM/iMX93/iMX91 EVK after
commit 4fcba5d556b4 ("regulator: implement basic reference counter").
When sending operation condition to SD card, the OCR does not return
correct status. The root cause is regulator on/off delay is missed
in MMC power cycle with above commit, so SD card is not completely
power off.
When SD startup, the sequence of MMC power cycle is:
mmc_power_init(get vmmc_supply dev) -> mmc_power_off -> udelay(2000)
-> mmc_power_on
Before above commit, as a fixed regulator, the GPIO is set as:
GPIO inactive (in mmc_power_init) ->
GPIO inactive and delay off-on-delay-us (in mmc_power_off) ->
udelay(2000) ->
GPIO active (in mmc_power_on)
After the commit:
GPIO inactive (in mmc_power_init) ->
enable_count is 0, regulator_set_enable returns -EALREADY immediately,
so GPIO is inactive but No off-on-delay-us (in mmc_power_off) ->
udelay(2000) ->
GPIO active (in mmc_power_on)
Move the off-on-delay-us delay before setting GPIO active to fix the issue.
Signed-off-by: Ye Li <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
Signed-off-by: Peng Fan <[email protected]>
Diffstat (limited to 'contrib/apps/httpserver')
0 files changed, 0 insertions, 0 deletions
