arm/raspberrypi: VideoCore and U-boot testing

Jan Sommer soja-lists at
Wed May 11 20:37:48 UTC 2016

Am Montag, 2. Mai 2016, 00:15:31 CEST schrieb Pavel Pisa:
> So this is result of my actual testing. It would be great if somebody
> else checks boot process with U-boot as well and checks if
> arm_cp15_set_domain_access_control() causes problem as well.

I built everything from scratch (toolchain, rtems, u-boot) applied your patches for the printouts and my Pi1 B+ gets stuck at the same places.
That means:
If I run ticker.bin directly without u-boot it runs fine
If I run it with u-boot it gets stuck at the call to arm_cp15_set_domain_access_control(dac);

If I uncomment this call it gets stuck with u-boot after
 heir start address 0x0001797C

If I run it directly (with the call still commented) it gets stuck after
 arm_cp15_set_control ...

So, essentially I could reproduce what you did. I don't really understand what any of that means, thus I fear I won't be of much help in finding the problem.

Best regards,


> As for RPi2 and VideoCore mailboxes, I think I have found mistake
> in the defines in src/lib/libbsp/arm/raspberrypi/include/raspberrypi.h
>   #define BCM2835_MBOX_BASE   (RPI_PERIPHERAL_BASE+0xB880)
>   #define BCM2835_MBOX_PEEK   (BCM2835_MBOX_BASE+0x10)
>   ...
>   #define BCM2835_MBOX_FULL   (BCM2835_MBOX_BASE+0x80000000)
>   #define BCM2835_MBOX_EMPTY  (BCM2835_MBOX_BASE+0x40000000)
> But BCM2835_MBOX_FULL and BCM2835_MBOX_EMPTY should be masks without base,
> should be changed to
>   #define BCM2835_MBOX_FULL   0x80000000
>   #define BCM2835_MBOX_EMPTY  0x40000000
> There can be another problem that some addresses has to be adjusted for RPi2.
> Peripherals base is different for sure, but that should be already handled
> by RTEMS raspberrypi.h file.
> By the way, I have noticed that actual QEMU includes Raspberry Pi
> support by Gregory Estrade. So it would worth to test RTEMS
> against this support.
> Best wishes,
>                Pavel

More information about the users mailing list