[Letux-kernel] Strange problem with non-LPAE letux-4.20-rc kernels on 4GB Pyra only - PARTUUID not found

H. Nikolaus Schaller hns at goldelico.com
Sun Dec 16 12:24:13 CET 2018


> Am 16.12.2018 um 12:13 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
>> So this means WP and CD are (basically) working (besides the
>> known problem of missing pull-up which should be almost harmless
>> if the card is inserted - it may only write-protect the card
>> unexpectedly).
> 
> I have cross-checked: with reverting the offending patch I can
> boot this board with letux-4.20-rc6.
> 
> Next idea to check: is the polarity definition of the CD gpio
> ignored or wrong for the new code?

It looks as if the olarity is wrong!

[    3.605536] sr_init: No PMIC hook to init smartreflex
[    3.611647] vmmcsdio_fixed: disabling
[    3.616972] ldo3: disabling
[    3.620801] ldo8: disabling
[    3.631429] ALSA device list:
[    3.634550]   No soundcards found.
[    3.638541] Waiting for root device PARTUUID=c8a507cd-02...
[    3.844591] omap_hsmmc 480b4000.mmc: local_mmc_gpio_get_cd: ret = -38
[    4.084753] omap_hsmmc 4809c000.mmc: local_mmc_gpio_get_cd: ret = 0
[    4.964663] omap_hsmmc 480b4000.mmc: local_mmc_gpio_get_cd: ret = -38
[    5.124680] omap_hsmmc 4809c000.mmc: local_mmc_gpio_get_cd: ret = 0
[    6.084634] omap_hsmmc 480b4000.mmc: local_mmc_gpio_get_cd: ret = -38
[    6.164596] omap_hsmmc 4809c000.mmc: local_mmc_gpio_get_cd: ret = 0
[    7.204623] omap_hsmmc 480b4000.mmc: local_mmc_gpio_get_cd: ret = -38
[    7.204685] omap_hsmmc 4809c000.mmc: local_mmc_gpio_get_cd: ret = 0
[    8.244695] omap_hsmmc 4809c000.mmc: local_mmc_gpio_get_cd: ret = 0
[    8.324464] omap_hsmmc 480b4000.mmc: local_mmc_gpio_get_cd: ret = -38
[    9.284692] omap_hsmmc 4809c000.mmc: local_mmc_gpio_get_cd: ret = 0
[    9.444473] omap_hsmmc 480b4000.mmc: local_mmc_gpio_get_cd: ret = -38
[   10.324687] omap_hsmmc 4809c000.mmc: local_mmc_gpio_get_cd: ret = 0
[   10.564536] omap_hsmmc 480b4000.mmc: local_mmc_gpio_get_cd: ret = -38
[   11.364649] omap_hsmmc 4809c000.mmc: local_mmc_gpio_get_cd: ret = 0
[   11.684575] omap_hsmmc 480b4000.mmc: local_mmc_gpio_get_cd: ret = -38

--- here I removed the card

[   12.404685] omap_hsmmc 4809c000.mmc: local_mmc_gpio_get_cd: ret = 1
[   12.804522] omap_hsmmc 480b4000.mmc: local_mmc_gpio_get_cd: ret = -38
[   13.524717] omap_hsmmc 4809c000.mmc: local_mmc_gpio_get_cd: ret = 1
[   13.924531] omap_hsmmc 480b4000.mmc: local_mmc_gpio_get_cd: ret = -38
[   14.644709] omap_hsmmc 4809c000.mmc: local_mmc_gpio_get_cd: ret = 1
[   15.044620] omap_hsmmc 480b4000.mmc: local_mmc_gpio_get_cd: ret = -38
[   15.764612] omap_hsmmc 4809c000.mmc: local_mmc_gpio_get_cd: ret = 1
[   16.164613] omap_hsmmc 480b4000.mmc: local_mmc_gpio_get_cd: ret = -38

So it looks as if the gpio used by the mmc framework should report "1"
for inserted SD card and "0" for not inserted. And the logic level on
the GPIO pin is reversed since there is a pull-up and a switch to GND...

This also explains why we don't see the effect on the GTA04. The GTA04
has no CD gpio at all...

Still unclear is why the other SD slot works. Maybe the polarity defintion
is correct.

And unclear is why the older Pyra works. Maybe that device has a broken
GPIO?

BR,
Nikolaus



More information about the Letux-kernel mailing list