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

H. Nikolaus Schaller hns at goldelico.com
Fri Dec 7 15:16:58 CET 2018

> Am 07.12.2018 um 12:09 schrieb Andreas Kemnade <andreas at kemnade.info>:
> On Fri, 7 Dec 2018 09:22:12 +0100
> "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
> [...]
>> This pin has a 100k pullup to 1.8V and 800mV is a typical symptom that
>> the gpio pin does have a pull-down enabled and not a pull-up or internal
>> pull disabled..
> And this 800mV has probably a big tolerance, so depending on the phase of the
> moon or something like that, it might work or not.
> I had the sd card disappearing here once. I just thought it was an adapter
> problem but it is probably just the voltage level at that pin.


After doing

	/usr/bin/arm-linux-gnueabihf/devmem2 0x4a002974 w 0x11e011e

SD card insertion/removal is detected and I can measure 0V <-> 1.8V voltage swing
on the CD input.

The value after boot is 0x1060106 which matches (omap5-letux-cortex15-v5.3.dts):

/* the hardware bug of earlier releases has been fixed and
 * external pull-up for gpio8_228 and gpio8_229 is installed.
 * Hence we can disable pullup/down.

&mmc1_pins {
	pinctrl-single,pins = <
		OMAP5_IOPAD(0x174, PIN_INPUT | MUX_MODE6)	/* 0x174:[15:0] sdcard_cd/gpio8_228 */
		OMAP5_IOPAD(0x176, PIN_INPUT | MUX_MODE6)	/* 0x175:[31:16] sdcard_wp/gpio8_229 */

Therefore, it is not a pinmux issue.

Hm. But why is the pull-down enabled or the external pull-up not effective if we define PIN_INPUT only?

And it still does not explain the difference between 4.19 and 4.20 kernels.

Maybe the 4.19 kernel does more polling of the mmc interface to detect than 4.20.
While 4.20 only relies on proper CD gpio?

And maybe the pull-up resisor isn't soldered properly. So it might be a mix of HW and SW
changes which happened to come in parallel...

Anyways I can't simply fix it in SW by adding INPUT_PULLUP if it is a HW issue of this single unit.


More information about the Letux-kernel mailing list