cn9130-crb: Add a workaround for the MMC timeout issue in U-Boot

For some reason, the controller disables the bus power sometime after
it was enabled by the driver. The reference manual says, in Table 645,
about the SD_BUS_POWER bit:

> ... It will be cleared if one of the following occurs: the
> sd_bus_vlt and the voltage support in the Capabilities Register 1 do
> not match or if a card removal state was detected.

Further investigation will be needed to find the (electrical?)
root-cause of this issue.
This commit is contained in:
Tobias Waldekranz
2023-08-25 10:51:45 +02:00
committed by Joachim Wiberg
parent 02ac90b35f
commit 319a1bb46b
@@ -1,6 +1,19 @@
/ {
config {
environment {
/* After the MMC driver has enabled bus power,
* the controller seems to sometimes detect a
* card removal state , which causes it to
* disable power again. This hack re-enables the
* bus power in those cases.
*/
bootcmd = "
setexpr.b pwrctl *0xf2780029
setexpr pwrctl ${pwrctl} \"|\" 1
mw.b 0xf2780029 ${pwrctl}
run ixboot
";
boot_targets = "mmc1";
ethprime = "eth1";