i.MX6 DualLite stucked at early boot

AudioONE audioone.official at gmail.com
Wed Dec 19 04:30:04 UTC 2018


hi guys

I've got a small brand eval-board which built with MCIMX6U6AVM08AC and
running FreeBSD 11.0.1(I have tried HEAD version, 12.0-BETA3, it didn't
work  too), ubldr stage is fine but it stucked at "reinit_mmu"
function(FreeBSD might be have assembly printf for debug environment,
because aseeembly code just like a blackbox when you without JTAG debugger
in hand )

======================================
Booting from disk0s2:
/
/boot/kernel/kernel data=0x57b564+0x58a9c syms=[0x4+0x6e9d0+0x4+0x77ada]
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...
Kernel entry at 0x0x12200100...
Kernel args: (null)
EARL_DEBUG: pmap_kern_ttb 0x1290004a, actlr_mask 0xc1, actlr_set 0x41
(nothing)
======================================



when I trace the code to "reinit_mmu" function, commented code like this,
kernel panic and reported "Asynchronous External Abort". Am I the only one
who meet this WEIRD case? I got AM3352/AM3354/Zynq7 platforms, they works
fine with kernel 11.0.1. Is it something different between i.MX6
Dual(Wandboard) and i.MX6 DualLite?

        /* Enable caches. */
        mrc     CP15_SCTLR(r7)
// it will be stucked if don't commented this code
/*      orr     r7, #CPU_CONTROL_DC_ENABLE      //DEBUG
        orr     r7, #CPU_CONTROL_IC_ENABLE          //DEBUG
        orr     r7, #CPU_CONTROL_BPRD_ENABLE   //DEBUG  */
        mcr     CP15_SCTLR(r7)
        DSB

        mcr     CP15_TTBR0(r4)          /* Set new TTB */
        DSB
        ISB

// it will be stucked if don't commented this code
/*      mcr     CP15_TLBIALL            /// Flush TLB    //DEBUG   */
        mcr     CP15_BPIALL             /* Flush Branch predictor */
        DSB
        ISB




U-Boot 2016.05 (Dec 16 2018 - 13:09:25 +0800)

CPU:   Freescale i.MX6DL rev1.2 at 792 MHz
Reset cause: POR
Board: MX6DL-Armadillo2
DRAM:  1 GiB
WARNING: Caches not enabled
MMC:   FSL_SDHC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   FEC
Error: FEC address not set.

Hit any key to stop autoboot:  0
reading ubldr.bin
185536 bytes read in 40 ms (4.4 MiB/s)
## Starting application at 0x12000000 ...
Consoles: U-Boot console
Compatible U-Boot API signature found @0x4fd703e0

FreeBSD/armv6 U-Boot loader, Revision 1.2
(root at freebsd-x250, Sat Dec 15 17:17:42 HKT 2018)

DRAM: 1024MB
Number of U-Boot devices: 2
U-Boot env: loaderdev not set, will probe all devices.
Found U-Boot device: disk
  Probing all disk devices...
  Checking unit=0 slice=<auto> partition=<auto>... good.
Booting from disk0s2:
/
/boot/kernel/kernel data=0x57b564+0x58a9c syms=[0x4+0x6e9d0+0x4+0x77ada]
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...
Kernel entry at 0x0x12200100...
Kernel args: (null)
EARL_DEBUG: pmap_kern_ttb 0x1290004a, actlr_mask 0xc1, actlr_set 0x41
EARL_DEBUG: cpu_setup pass
EARL_DEBUG: init_param1 pass
initarm: console initialized
 arg1 kmdp = 0xc26bc000
 boothowto = 0x00000000
 dtbp = 0xc2547eb8
 lastaddr1: 0x128bd000
loader passed (static) kenv:
 loader_envp = 0xc26bb000
 c26bb000 LINES=24
 c26bb009 console=uboot
 c26bb017 currdev=disk0s2:
 c26bb028 kerflag=
 c26bb031 kernelname=/boot/kernel/kernel
 c26bb050 loaddev=disk0s2:
 c26bb061 prompt=loader>
 c26bb070 twiddle_divisor=1
EARL_DEBUG: platform_late_init pass
Fatal kernel mode data abort: 'Asynchronous External Abort' on write
trapframe: 0xc257c688
FSR=00001c06, FAR=Invalid,  spsr=600000d3
r0 =00000100, r1 =600001d3, r2 =600000d3, r3 =30c52079
r4 =00000000, r5 =c257c7e4, r6 =c25b3280, r7 =c25b3280
r8 =c2578058, r9 =00000000, r10=c25ce154, r11=c257c7d8
r12=c2577c24, ssp=c257c718, slr=c244b3c0, pc =c244b3d4

panic: Fatal abort
cpuid = 0
Uptime: 1s


More information about the freebsd-arm mailing list