Re: Reset on Beaglebone Black has become unreliable/broken

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

 



Hi,

On 04.12.24 17:29, Konstantin Kletschke wrote:
> On Wed, Dec 04, 2024 at 07:14:17AM +0100, Ahmad Fatoum wrote:
> 
>> Very interesting. You can now try to move the 4 putc_ll`s to a later point in the
>> startup code and then see which line of barebox code needed the delay in front of
>> it.


> I _think_ this is the critical path, I have more putc_ll() inserted, but
> they are not important.
> If by any chance it is better readable for anyone I could provide a
> complete diff, of course.
> 
> So, when I power up, I get:
> 
> 2>6ABCDEF%G-%|!_H-%|!_I-%|!_%%%%JKLMNOPQZSwitch to console [cs0]
> 
> before the banner.
> 
> When I reset, S1, blabla, I get:
> 
>> 6ABCDEF%G-%|
> 
> So I assume it dies at 
> 
> BUG_ON(!IS_ALIGNED(virt_addr, PAGE_SIZE));

You can print hex numbers with puthex_ll(), although by now you are
already relocated, so you can add

  pbl_set_putc((void (*)(void *, int))debug_ll_ns16550_putc, uart0);

after omap_debug_ll_init(), enable CONFIG_DEBUG_PBL and then you can
use normal printf and also see the panic message if the BUG() indeed
triggers.

> So each warm restart method gives me a proper reboot. 
> With an additional putc_ll() in lowlevel.c in beaglebone_sram_init().
> The later debug putc_ll() have no influence on starting not starting.

Getting stuck inside the BUG_ON doesn't make much sense. It may be interesting
to find out what the value of virt_addr is.

I suspect the RAM controller itself may be acting funky after a warm reboot
and letting some time go by fixes that :/

Cheers,
Ahmad

> 
> Kind regards
> Konsti
> 


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |




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

  Powered by Linux