[PATCH] ARM: beaglebone: add delay in lowlevel.c
Konstantin Kletschke
konstantin.kletschke at inside-m2m.de
Fri Jan 10 07:16:33 PST 2025
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 at inside-m2m.de
http://www.inside-m2m.de
Geschäftsführung: Michael Emmert, Derek Uhlig
HRB: 111204, AG Hannover
More information about the barebox
mailing list