
On Mon, 6 Aug 2018 at 19:39, Cédric Le Goater clg@kaod.org wrote:
On 08/06/2018 05:25 AM, Joel Stanley wrote:
Hello,
I am attempting to boot evb-ast2500 in Qemu before flashing it to a system. It doesn't get past the DRAM step, due to getting stuck endlessly looping in some libfdt code.
With some debugging turned on, I get this:
OF: translating address: 0040781e OF: parent translation for: 00000000 OF: one level translation: 0040781e OF: parent translation for: 00000000 OF: one level translation: 0040781e OF: translating address: 00206e1e
U-Boot 2018.09-rc1-00096-gbb694d4e898b-dirty (Aug 06 2018 - 12:27:22 +0930)
Model: Aspeed BMC DRAM: OF: translating address: 00006e1e OF: translating address: 00026e1e OF: translating address: 0050781e OF: parent translation for: 00000000 OF: one level translation: 0050781e OF: parent translation for: 00000000 OF: one level translation: 0050781e Watchdog timer expired.
And then the watchdog causes the system to reboot. The build is master as of gbb694d4e898b, with the addition of some #define DEBUG.
I don't think this is a qemu issue. If it is, I can work on fixing qemu, but I need some help on understanding what u-boot is doing.
The sdram driver in U-Boot uses the watchdog1 and the SCU power reset register to reset the SDRAM controller. Our QEMU emulation is not precise enough I think.
Thanks for the pointer.
I was able to get u-boot to load to the prompt after some hacks to get rid of the watchdog requirement. It was a surprise to find out that the watchdog is used to reset the SDRAM controller!
I have some patches to send to the qemu list that will allow it to run.
Cheers,
Joel