[meta-freescale] kernel stuck at start up on iMx6solo customized board
Vahid Gharaee
vgharaee at gmail.com
Wed Mar 6 04:42:06 PST 2019
Hello everybody,
I have a customized imx6 solo board. 1 GB of DDR3 ram and MMC for boot.
I have ported u-boot(the fslc community one) and it seems to work fine. I
also run stress RAM test and it came out OK. (calibration data is used in
imximage.cfg)
when I attempt to run kernel it stuck at "*starting kernel*" commands:
>>ext4load mmc 0 ${loadaddr} zImage >>ext4load mmc 0 ${fdt_addr} *.dtb >>bootz ${loadaddr} - ${fdt_addr}
(loadaddr=0x12000000 and fdt_addr=0x18000000 the bootargs has the right
ttymxc and baudrate value)
with early printk it says: "*Uncompressing Linux... done, booting the
kernel.*"
*printk* doesn't work, (Guess the initialize not done).
Fortunately, I have some LEDs on board, so I tried to use them and trace
the code. the it seems it kernel hangs at enabling MMU:
/arch/arm/kernel/head.S :
. . ENTRY(__turn_mmu_on) mov r0, r0 instr_sync
mcr p15, 0, r0, c1, c0, 0 mrc p15, 0, r3, c0, c0, 0
instr_sync mov r3, r3 mov r3, r13 ret r3
__turn_on_mmu_end ENDPROC(__turn_mmu_on)`enter code here` ...
those mcr and mrc are the point that i can toggle GPIObefore them and not
after!
I should add: to toggling GPIO I used physical address before them and
virtual address after.(I also test with physical add) physical address: for
example 0x0209c000 -> gpio data register which virtual address is:
0xf429c000 (just in iMX platform)
also I disable i/d cache before boot up kernel. didn't know how to disable
MMU but according the u-boot it seems to be disabled.
please help me find the solution.
Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-freescale/attachments/20190306/a890d81a/attachment.html>
More information about the meta-freescale
mailing list