Re: [PATCH] ARM: beaglebone: add delay in lowlevel.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Lucas,

this is an interesting idea and I did poke around a bit.

On Wed, Jan 08, 2025 at 04:46:22PM +0100, Lucas Stach wrote:

> It would be interesting to know if any of the configured PLLs go out of
> lock again during the time your delay loop runs. I.e. check if any of
> CM_IDLEST_DPLL_CORE, CM_IDLEST_DPLL_DDR, CM_IDLEST_DPLL_PER or
> CM_IDLEST_DPLL_MPU contain a value other than 0x1.

I inserted this into the delay loop:

static void __udelay(int us)
{
    volatile int i;
        for (i = 0; i < us; i++) {
                (__raw_readl(CM_IDLEST_DPLL_MPU) != 0x1) ? putc_ll('m') : (void)0;
                (__raw_readl(CM_IDLEST_DPLL_CORE) != 0x1) ? putc_ll('c') : (void)0;
                (__raw_readl(CM_IDLEST_DPLL_PER) != 0x1) ? putc_ll('p') : (void)0;
                (__raw_readl(CM_IDLEST_DPLL_DDR) != 0x1) ? putc_ll('d') : (void)0;
        }
}

but none was triggered. Additionaly I tried this instead of the above
before entering the delay loop in beaglebone_sram_init(void):

        while(__raw_readl(CM_IDLEST_DPLL_DDR) != 0x0);
        //while(__raw_readl(CM_IDLEST_DPLL_CORE) != 0x0);
        //while(__raw_readl(CM_IDLEST_DPLL_PER) != 0x0);
        //while(__raw_readl(CM_IDLEST_DPLL_MPU) != 0x0);
        __udelay(3000);

When I suspect the bit being stable I expect to be being trapped so I
booted with a version without this, replaced it with the trap and
rebooted, I did this 4 times for each DDR, CORE, PER and MPU.
If the bit toggles back to zero I would exit the while, delay and boot
normal. So if trapped == no bit toggle. 

Either the putc_ll inserted into the loop did not appear nor the while
trap was left in any case so I suspect this bit is stable at 0x1 for
each type of PLL.


Kind Regards
Konsti



-- 
INSIDE M2M GmbH
Konstantin Kletschke
Berenbosteler Straße 76 B
30823 Garbsen

Telefon: +49 (0) 5137 90950136
Mobil: +49 (0) 151 15256238
Fax: +49 (0) 5137 9095010

konstantin.kletschke@xxxxxxxxxxxxx
http://www.inside-m2m.de 

Geschäftsführung: Michael Emmert, Derek Uhlig
HRB: 111204, AG Hannover





[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux