[U-Boot] ROCK64 fails to boot using U-Boot TPL

Matwey V. Kornilov matwey.kornilov at gmail.com
Tue Sep 24 16:54:42 UTC 2019


Simon, maybe you'll describe a way to obtain SD card image which you
use? For the case if anybody wants to reproduce the issue in situ?

сб, 21 сент. 2019 г. в 20:15, Matwey V. Kornilov <matwey.kornilov at gmail.com>:
>
> сб, 21 сент. 2019 г. в 16:38, Simon South <simon at simonsouth.net>:
> >
> > On 2019-09-21 8:29 a.m., Matwey V. Kornilov wrote:
> > > Could you try to load dtb (and check that dtb is valid) into the other
> > > memory location?
> >
> > Same result: With the U-Boot TPL this fails (the FDT header is corrupt);
> > with the Rockchip TPL this works fine. See below.
> >
> > I notice though it always seems to be only that one single bit (bit 7 of
> > the first 32-bit word loaded) that differs between the two runs.
> > Everything else in memory looks fine. And with the U-Boot TPL in use I
> > can manually set a new value for that word, and it seems to stick:
>
> I have no idea. Only suggestion is that something thinks that this
> memory position is MMIO and then it writes 7 bit for the some purpose.
>
> >
> >      => md ${kernel_addr_r} 2
> >      02080000: edfe0d50 09d10000                      P.......
> >      => fdt addr ${kernel_addr_r}
> >      libfdt fdt_check_header(): FDT_ERR_BADMAGIC
> >      => nm ${kernel_addr_r}
> >      02080000: edfe0d50 ? edfe0dd0
> >      02080000: edfe0dd0 ? q
> >      => md ${kernel_addr_r} 2
> >      02080000: edfe0dd0 09d10000                      ........
> >      => fdt addr ${kernel_addr_r}
> >      =>
> >
> > I wonder if this is a clue as to what's going on.
> >
> > ----------
> >
> > U-Boot TPL:
> >
> >      Hit any key to stop autoboot:  0
> >      => print kernel_addr_r
> >      kernel_addr_r=0x02080000
> >      => md ${kernel_addr_r} 20
> >      02080000: adaaaa8a ea22286a baa0aeae aa7aa1aa    ....j(".......z.
> >      02080010: a8b200ab abaa000a a8a2aa08 aa88aaea    ................
> >      02080020: e92a00a3 2aacf8aa eaaaa8fa aaaaab88    ..*....*........
> >      02080030: aaa8a0aa 2aa8888a 22a5e2ba 8aea4a3c    .......*..."<J..
> >      02080040: 23b188aa a28a884a 82aaaaaa 8eee8cae    ...#J...........
> >      02080050: 92aaaa4a aaa4feaa ea8a2eae eaa38b8a    J...............
> >      02080060: aee4b2a8 aaacaaba aaea8ab8 2aee982a    ............*..*
> >      02080070: aaa0aaac aaeeab9a aeae84c8 ac2e8aaa    ................
> >      => load mmc 1 ${kernel_addr_r} /dtb/rockchip/rk3328-rock64.dtb
> >      53513 bytes read in 10 ms (5.1 MiB/s)
> >      => md ${kernel_addr_r} 20
> >      02080000: edfe0d50 09d10000 38000000 70ba0000    P..........8...p
> >      02080010: 28000000 11000000 10000000 00000000    ...(............
> >      02080020: 99120000 38ba0000 00000000 00000000    .......8........
> >      02080030: 00000000 00000000 01000000 00000000    ................
> >      02080040: 03000000 1e000000 00000000 656e6970    ............pine
> >      02080050: 722c3436 366b636f 6f720034 68636b63    64,rock64.rockch
> >      02080060: 722c7069 3233336b 00000038 03000000    ip,rk3328.......
> >      02080070: 04000000 0b000000 01000000 03000000    ................
> >      => fdt addr ${kernel_addr_r}
> >      libfdt fdt_check_header(): FDT_ERR_BADMAGIC
> >      =>
> >
> > Rockchip TPL:
> >
> >      Hit any key to stop autoboot:  0
> >      => print kernel_addr_r
> >      kernel_addr_r=0x02080000
> >      => md ${kernel_addr_r} 20
> >      02080000: adaaaa9a ea23286a baa8aeae aa7aa3aa    ....j(#.......z.
> >      02080010: aaf200ab abaa080a a8b2aa88 aa88aafa    ................
> >      02080020: e92a4ca3 aafcf8aa eaaaa8fa aaaaab88    .L*.............
> >      02080030: aaa8a0aa 2aea888b e2a5ebfa abea6abe    .......*.....j..
> >      02080040: abb188aa a29aac4a 8aaaaaaa 8eee8cae    ....J...........
> >      02080050: d2aaaace aaa4feea ea8a6ebe eaa38b8a    .........n......
> >      02080060: aee4b2a9 aaacaaba aaea8ab8 3aeeb8aa    ...............:
> >      02080070: aaa1aaae aaeeab9e aeae8ce8 ae2e8aaa    ................
> >      => load mmc 1 ${kernel_addr_r} /dtb/rockchip/rk3328-rock64.dtb
> >      53513 bytes read in 10 ms (5.1 MiB/s)
> >      => md ${kernel_addr_r} 20
> >      02080000: edfe0dd0 09d10000 38000000 70ba0000    ...........8...p
> >      02080010: 28000000 11000000 10000000 00000000    ...(............
> >      02080020: 99120000 38ba0000 00000000 00000000    .......8........
> >      02080030: 00000000 00000000 01000000 00000000    ................
> >      02080040: 03000000 1e000000 00000000 656e6970    ............pine
> >      02080050: 722c3436 366b636f 6f720034 68636b63    64,rock64.rockch
> >      02080060: 722c7069 3233336b 00000038 03000000    ip,rk3328.......
> >      02080070: 04000000 0b000000 01000000 03000000    ................
> >      => fdt addr ${kernel_addr_r}
> >      =>
> >
> > --
> > Simon South
> > simon at simonsouth.net
>
>
>
> --
> With best regards,
> Matwey V. Kornilov



-- 
With best regards,
Matwey V. Kornilov


More information about the U-Boot mailing list