The commit you identified "firmware: Use new SDHCI controller instead of legacy arasan" does what it says.
BCM2711 included a newer SDHCI controller which fixed some bugs, and properly supported bus mastering so was more efficient.
To minimise risks, the old controller was kept, and a hardware register could switch which controller was actually attached to the external pins.
Switching to the new controller fixed this issue.
This is outside my knowledge area, so I can't comment on what the clock does before/after the switch.
If you were feeling particularly reckless, then:will switch the pin-muxing back to the legacy SDHCI controller. I have no idea if doing this is safe or wise.
It is bit one of that register:
BCM2711 included a newer SDHCI controller which fixed some bugs, and properly supported bus mastering so was more efficient.
To minimise risks, the old controller was kept, and a hardware register could switch which controller was actually attached to the external pins.
Switching to the new controller fixed this issue.
This is outside my knowledge area, so I can't comment on what the clock does before/after the switch.
If you were feeling particularly reckless, then:
Code:
sudo busybox devmem 0xfe2000d0 32 3
It is bit one of that register:
Code:
01 SELLEGEMMCForce pin-mux to select legacy emmc core onto emmc CMD, CLK, DAT0, DAT1, DAT2, DAT3Reset value is 0x0.
Statistics: Posted by dom — Fri Feb 23, 2024 11:37 am