Ludovic Barre 33ba6fec00 mmc: mmci_sdmmc: fix power on issue due to pwr_reg initialization
This patch fix a power-on issue, and avoid to retry the power sequence.

In power off sequence: sdmmc must set pwr_reg in "power-cycle" state
(value 0x2), to prevent the card from being supplied through the signal
lines (all the lines are driven low).

In power on sequence: when the power is stable, sdmmc must set pwr_reg
in "power-off" state (value 0x0) to drive all signal to high before to
set "power-on".

To avoid writing the same value to the power register several times, this
register is cached by the pwr_reg variable. At probe pwr_reg is initialized
to 0 by kzalloc of mmc_alloc_host.

Like pwr_reg value is 0 at probing, the power on sequence fail because
the "power-off" state is not writes (value 0x0) and the lines
remain drive to low.

This patch initializes "pwr_reg" variable with power register value.
This it done in sdmmc variant init to not disturb default mmci behavior.

Signed-off-by: Ludovic Barre <ludovic.barre@st.com>
Link: https://lore.kernel.org/r/20200420161831.5043-1-ludovic.barre@st.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2020-05-28 11:21:00 +02:00
..
2020-03-23 07:59:38 +01:00
2020-05-22 11:10:42 -07:00
2020-04-10 11:32:22 +02:00
2020-05-22 20:06:25 +02:00
2020-04-27 13:28:27 -07:00
2020-04-04 18:07:59 -07:00
2020-04-16 13:52:31 -07:00
2020-03-30 11:43:51 -07:00
2020-03-19 23:04:32 -05:00
2020-04-03 15:05:35 -07:00
2020-04-03 14:25:02 -07:00
2020-04-08 21:03:40 -07:00
2020-03-31 10:05:01 -07:00
2020-04-23 09:28:15 -07:00
2020-04-17 06:05:29 -04:00
2020-04-07 19:48:52 -07:00
2020-04-21 14:21:20 +02:00
2020-04-02 15:50:04 -07:00
2020-04-03 15:05:35 -07:00
2020-05-21 12:59:29 -07:00
2020-04-07 20:24:34 -07:00
2020-03-19 07:41:03 +01:00
2020-04-17 10:35:17 -07:00
2020-04-03 13:12:26 -07:00
2020-04-08 10:51:53 -07:00
2020-04-08 10:51:53 -07:00