Re: SDHCI AM654 driver delaying boot time

From: Francesco Dolcini
Date: Fri Nov 10 2023 - 13:03:58 EST


Hello Nishant,

On Thu, Nov 09, 2023 at 11:51:59AM -0600, Nishanth Menon wrote:
> On 18:56-20231108, João Paulo Silva Gonçalves wrote:
> > Hello all,
> >
> > We are trying to minimize boot time for our AM62 devices.
> > Unfortunately, we have identified a delay of approximately 1.5
> > seconds caused by the sdhci_am654 driver. This delay is a result of
> > a timeout within the driver (MAX_POWER_ON_TIMEOUT) and was
> > introduced in commit 7ca0f16 ("mmc: sdhci_am654: Add workaround for
> > card detect debounce timer"). This issue arises only when there is
> > no SD card present in the MMC slot.  We tested the driver with a
> > lower timeout value and everything worked. However, as indicated in
> > the commit message, this timeout may be related to the way the sdhci
> > controller hardware IP works. Currently, the driver employs a sort
> > of a "busy loop" to wait for this timeout to pass delaying the boot.
> > Why is need to busy loop for this timeout? Is it possible to wait
> > for it in the backgroud? Am I am missing something here?
>
> I am not an mmc expert, but, Isn't this sequence part of the programmer
> manual in the TRM[1]?

Probably original question from Joao was not fully understood.

It is clear why the code is waiting for the CD, the issue we are
experiencing is that the whole boot is delayed by 1.5 seconds because of
that piece of code for no reason.

- SD card exists in the system, but it's not used and the card slot is empty
- We boot from eMMC (that has no CD pin)
- Boot is delayed by 1.5 second because of that piece of code

Francesco