mmc troubles
eMMC emits seemingly harmless errors, WiFi/Bluetooth is flaky, emits errors and sometimes crashes.
-
series adding support for PXA1928 SDHCI controller -- according to the downstream code, this should correspond to
pxav3-v3
, while PXA1908 usespxav3-v2
there, but they seem mostly similar. However the vendor kernel probes the eMMC even with most (or all) of the changes introduced by this series (and more, see below) removed. - For eMMC, the
mmc-pwrseq-emmc
driver might be worth looking at.
Possible solutions
-
Add support for PXA1908 SDHCI controller based on the above series and downstream code. Does not look promising as substantial amounts of additional code have been trimmed from the downstream drivers (sdhci-pxav3.c (tuning, dvfs, quirks,...) and sdhci.c (some Marvell tree changes)) with no effect on the vendor kernel's ability to probe eMMC. [ ] Maybe try to use the downstream kernel withmarvell,pxav3-mmc-v1
(which should be what the mainline driver supports, but better check this first) and see if the same issues appear first?
-
Implement and use DVFS interface (seedrivers/mmc/host/pxa_dvfs.c
downstream). (NOTE: usefulness of this can be more easily verified by modification of the downstream kernel (i. e. remove this from there and see if the eMMC still probes))-
Add support for the sdh-fclk-tuned
clocks.
-
-
Maybe add support for the sdh-axi-clk
clocks? (unlikely to change much, though probably should be done long term) -
Add support for DDR clocks (removing the registration code of the other ones which are hooked to the mmc DT nodes from the clk driver does not affect the vendor kernel's ability to probe eMMC, removing DDR clocks breaks the boot completely which has not been investigated further yet). -
Implement downstream tuning in full (maybe it would fix the "Tuning failed" errors?)
Edited by Duje Mihanović