RK3588 part X small success.

Michael Grunditz michael.grunditz at gmail.com
Thu Jan 5 12:01:11 CET 2023


On Thu, 5 Jan 2023 at 09:29, Stefan Kalkowski
<stefan.kalkowski at genode-labs.com> wrote:
>
> Hello Michael,
>
> I try to summarize what I understood from your previous e-mails:
>
Thanks for reading! :-)
> * u-boot normally starts on the RK3588 SoC in EL2 with MMU enabled,
>   and enabled caches
True
> * when using the unchanged Genode base-hw bootstrap code, you then
>   stuck when issuing a Genode::raw (how do you know, it is exactly
>   that point? does it provoke an exception shown by u-boot? and if yes
>   what kind of exception?)

I get a dump (Exception from an unknown reason). I can write
characters to uart, phys address. (*ser='m')
So I know it crashes on genode api . I have a couple of raw printouts
and I get crash
if mmu is disabled and no crash if I comment them out.

> * when removing the MMU disabling within the bootstrap assembler code,
>   you can proceed, and you see Genode::raw messages
>
Yes. But no luck with EL switching.

> Is this correct?
>
> If the MMU disabling is the important point with regard to the UART
> usage (if this is 100% the issue), either u-boot doesn't setup 1:1
> physical to virtual mappings, which is less probable, or the
> page-table attributes for the I/O memory mapping of the UART is
> essential for the way it is used.
>

The last option.

I need to dig a bit more into this. If starting in EL1, which makes
Genode to boot up,
I get crash from mmu disabling. Uboot sets sctlr_el1to disabled.
https://github.com/u-boot/u-boot/blob/master/arch/arm/include/asm/macro.h#L273.

It doesn't make sense.

Thanks
Michael



More information about the users mailing list