Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Jan 2019 13:49:54 +0800
From:      AudioONE <audioone.official@gmail.com>
To:        freebsd-arm@freebsd.org
Subject:   Re: i.MX6 DualLite stuck at early boot
Message-ID:  <CAL5b%2BC0NKynMyKA7H=uo8fHwSmyNTdqvTfQcLExVcMkai2Hshg@mail.gmail.com>
In-Reply-To: <CAL5b%2BC2p8fzatgoPKEm8xvzeH79=sMgi-Y4O0xVJbYFyvhzatA@mail.gmail.com>
References:  <CAL5b%2BC1D0-V=kvQH3L7c0HJMJA7QU18bjJyYxpjPBkKG7LS%2BZQ@mail.gmail.com> <CAL5b%2BC2wZUmsnGGD6Ni_uExNaJMrLe=N%2Bz78qzdA6y1hhh-kLQ@mail.gmail.com> <CAL5b%2BC2p8fzatgoPKEm8xvzeH79=sMgi-Y4O0xVJbYFyvhzatA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
hmmmm..... I can bring up technexion PICO-PI-IMX7 (lets say FBSD-Things)
with single core mode, need to deal with imx7_mp.c because handling of
imx7-MU is different with bcm2836-MAILBOX, still, kernel will stuck if
don't comment D$-related function in reinit_mmu, maybe need some marco for
Cortex-A7 platform.

================
bootlog

U-Boot 2018.03 (Jan 15 2019 - 20:01:26 +0800)

CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 46C
Reset cause: POR
Board: i.MX7D PICOSOM
I2C:   ready
DRAM:  512 MiB
WARNING: Caches not enabled
PMIC:  PFUZE3000 DEV_ID=0x30 REV_ID=0x11
MMC:   FSL_SDHC: 0
Loading Environment from MMC... *** Warning - bad CRC, using default
environment

Failed (-5)
In:    serial
Out:   serial
Err:   serial
Net:   FEC0
Hit any key to stop autoboot:  0
Using FEC0 device
Load address: 0x82000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################
         1.5 MiB/s
done
Bytes transferred = 5009252 (4c6f64 hex)
## Starting application at 0x82000000 ...
Copyright (c) 1992-2016 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 11.0-RELEASE-p1 #70 r309528M: Fri Jan 18 05:28:11 HKT 2019
    root@4160059805-freebsd-xeon:/mnt/dev/bsdbuild/arm.armv6/mnt/dev/11/sys/IMX7
arm
FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on LLVM
3.8.0)
Preloaded elf kernel "kernel" at 0xc24f1700.
CPU: Cortex A7 rev 5 (Cortex-A core)
 Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext
 WB enabled LABT branch prediction disabled
LoUU:2 LoC:3 LoUIS:2
Cache level 1:
 32KB/64B 4-way data cache WB Read-Alloc Write-Alloc
 32KB/32B 2-way instruction cache Read-Alloc
Cache level 2:
 512KB/64B 8-way unified cache WB Read-Alloc Write-Alloc
real memory  = 536805376 (511 MB)
avail memory = 517378048 (493 MB)
Physical memory chunk(s):
  0x80000000 - 0x9ffeffff,   511 MB ( 131056 pages)
Excluded memory regions:
  0x82000000 - 0x82666fff,     6 MB (   1639 pages) NoAlloc
Static device mappings:
  0x30000000 - 0x303fffff mapped at VA 0xffb00000
  0x30400000 - 0x307fffff mapped at VA 0xff700000
  0x30800000 - 0x30a9ffff mapped at VA 0xff460000
  0x30ac0000 - 0x30bfffff mapped at VA 0xff320000
ULE: setup cpu 0
random: entropy device external interface
mem: <memory>
nfslock: pseudo-device
crypto: <crypto core>
null: <full device, null device, zero device>
openfirm: <Open Firmware control device>
random: harvesting attach, 8 bytes (4 bits) from nexus0
ofwbus0: <Open Firmware Device Tree>
simplebus0: <Flattened device tree simple bus> on ofwbus0
simplebus1: <Flattened device tree simple bus> mem 0x30000000-0x303fffff on
simplebus0
imx7_anatop0: <Freescale i.MX7 Analog PLLs and Power> mem
0x30360000-0x3036ffff on simplebus1
random: harvesting attach, 8 bytes (4 bits) from imx7_anatop0
random: harvesting attach, 8 bytes (4 bits) from simplebus1
simplebus2: <Flattened device tree simple bus> mem 0x30400000-0x307fffff on
simplebus0
random: harvesting attach, 8 bytes (4 bits) from simplebus2
simplebus3: <Flattened device tree simple bus> mem 0x30800000-0x30a9ffff on
simplebus0
random: harvesting attach, 8 bytes (4 bits) from simplebus3
simplebus4: <Flattened device tree simple bus> mem 0x30ac0000-0x30bfffff on
simplebus0
random: harvesting attach, 8 bytes (4 bits) from simplebus4
random: harvesting attach, 8 bytes (4 bits) from simplebus0
random: harvesting attach, 8 bytes (4 bits) from ofwbus0
ocotp0: <Freescale On-Chip One-Time-Programmable Memory> mem
0x30350000-0x3035ffff on simplebus1
random: harvesting attach, 8 bytes (4 bits) from ocotp0
ccm0: <Freescale i.MX7 Clock Control Module> mem 0x30380000-0x3038ffff on
simplebus1
random: harvesting attach, 8 bytes (4 bits) from ccm0
imx7_anatop0: CPU 792MHz @ 1150mV
imx_iomux0: <Freescale i.MX pin configuration> mem 0x30330000-0x3033ffff on
simplebus1
random: harvesting attach, 8 bytes (4 bits) from imx_iomux0
gic0: <ARM Generic Interrupt Controller> mem
0x31001000-0x31001fff,0x31002000-0x31003fff,0x31004000-0x31005fff,0x31006000-0x31007fff
on simplebus0
simplebus0: no default resources for rid = 0, type = 1
gic0: pn 0x10, arch 0x2, rev 0x1, implementer 0x43b irqs 160
random: harvesting attach, 8 bytes (4 bits) from gic0
imx_gpt0: <Freescale i.MX GPT timer> mem 0x302d0000-0x302dffff on simplebus1
imx_gpt0: Running on 66000KHz clock, base freq 66000000Hz CR=0x0000027d,
PR=0x00000000
Event timer "iMXGPT" frequency 66000000 Hz quality 800
Timecounter "iMXGPT" frequency 66000000 Hz quality 1000
random: harvesting attach, 8 bytes (4 bits) from imx_gpt0
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
random: harvesting attach, 8 bytes (4 bits) from cpu0
random: harvesting attach, 8 bytes (4 bits) from cpulist0
src0: <Freescale i.MX6 System Reset Controller> mem 0x30390000-0x3039ffff
on simplebus1
random: harvesting attach, 8 bytes (4 bits) from src0
imx_wdog0: <Freescale i.MX Watchdog> mem 0x30280000-0x3028ffff on simplebus1
random: harvesting attach, 8 bytes (4 bits) from imx_wdog0
simplebus1: <wdog@30290000> mem 0x30290000-0x3029ffff disabled compat
fsl,imx7-wdt (no driver attached)
simplebus1: <timer@302E0000> mem 0x302e0000-0x302effff disabled compat
fsl,imx6q-gpt (no driver attached)
simplebus1: <timer@302F0000> mem 0x302f0000-0x302fffff disabled compat
fsl,imx6q-gpt (no driver attached)
simplebus1: <timer@30300000> mem 0x30300000-0x3030ffff disabled compat
fsl,imx6q-gpt (no driver attached)
simplebus3: <ecspi@30820000> mem 0x30820000-0x3082ffff disabled compat
fsl,imx7-ecspi (no driver attached)
simplebus3: <ecspi@30830000> mem 0x30830000-0x3083ffff disabled compat
fsl,imx7-ecspi (no driver attached)
simplebus3: <ecspi@30840000> mem 0x30840000-0x3084ffff disabled compat
fsl,imx7-ecspi (no driver attached)
simplebus3: <serial@30860000> mem 0x30860000-0x3086ffff disabled compat
fsl,imx7-uart (no driver attached)
simplebus3: <serial@30870000> mem 0x30870000-0x3087ffff disabled compat
fsl,imx7-uart (no driver attached)
simplebus3: <sai@308A0000> mem 0x308a0000-0x308affff disabled compat
fsl,imx7-sai (no driver attached)
simplebus3: <i2c@30A20000> mem 0x30a20000-0x30a2ffff disabled compat
fsl,imx7-i2c (no driver attached)
simplebus3: <i2c@30A30000> mem 0x30a30000-0x30a3ffff disabled compat
fsl,imx7-i2c (no driver attached)
simplebus3: <i2c@30A40000> mem 0x30a40000-0x30a4ffff disabled compat
fsl,imx7-i2c (no driver attached)
uart0: <Freescale i.MX UART> mem 0x30a70000-0x30a7ffff on simplebus3
uart0: console (380952,n,8,1)
uart0: fast interrupt
uart0: PPS capture mode: DCDinvalid
random: harvesting attach, 8 bytes (4 bits) from uart0
simplebus4: <sdma@30BD0000> mem 0x30bd0000-0x30bdffff disabled compat
fsl,imx7-sdma (no driver attached)
ffec0: <Freescale Gigabit Ethernet Controller> mem 0x30be0000-0x30beffff on
simplebus4
ffec0: MAC address 00:1f:7b:86:4d:c4:
miibus0: <MII bus> on ffec0
atphy0: <Atheros F1 10/100/1000 PHY> PHY 1 on miibus0
atphy0: OUI 0x00c82e, model 0x0007, rev. 2
atphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX,
1000baseSX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
random: harvesting attach, 8 bytes (4 bits) from atphy0
random: harvesting attach, 8 bytes (4 bits) from miibus0
ffec0: bpf attached
ffec0: Ethernet address: 00:1f:7b:86:4d:c4
random: harvesting attach, 8 bytes (4 bits) from ffec0
simplebus4: <usdhc@30B40000> mem 0x30b40000-0x30b4ffff disabled compat
fsl,imx7-usdhc (no driver attached)
simplebus4: <usdhc@30B50000> mem 0x30b50000-0x30b5ffff disabled compat
fsl,imx7-usdhc (no driver attached)
sdhci_imx0: <Freescale uSDHC controller> mem 0x30b60000-0x30b6ffff on
simplebus4
sdhci_imx0-slot0: 180MHz HS 8bits 3.3V 3.0V PIO
sdhci_imx0-slot0: ============== REGISTER DUMP ==============
sdhci_imx0-slot0: Sys addr: 0x00000000 | Version:  0x00000002
sdhci_imx0-slot0: Blk size: 0x00000200 | Blk cnt:  0x00000001
sdhci_imx0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000
sdhci_imx0-slot0: Present:  0x00f90000 | Host ctl: 0x00000002
sdhci_imx0-slot0: Power:    0x0000000d | Blk gap:  0x00000080
sdhci_imx0-slot0: Wake-up:  0x00000000 | Clock:    0x00000007
sdhci_imx0-slot0: Timeout:  0x0000008c | Int stat: 0x00000000
sdhci_imx0-slot0: Int enab: 0x017f00fb | Sig enab: 0x017f00fb
sdhci_imx0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000
sdhci_imx0-slot0: Caps:     0x0377b407 | Max curr: 0x00000000
sdhci_imx0-slot0: ===========================================
random: harvesting attach, 8 bytes (4 bits) from sdhci_imx0
cryptosoft0: <software crypto>
crypto: assign cryptosoft0 driver id 0, flags 100663296
crypto: cryptosoft0 registers alg 1 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 2 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 3 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 4 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 5 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 16 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 6 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 7 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 18 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 19 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 20 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 8 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 15 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 9 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 10 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 13 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 14 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 11 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 22 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 23 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 25 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 24 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 26 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 27 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 28 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 21 flags 0 maxoplen 0
crypto: cryptosoft0 registers alg 17 flags 0 maxoplen 0
random: harvesting attach, 8 bytes (4 bits) from cryptosoft0
Timecounters tick every 2.000 msec
lo0: bpf attached
tcp_init: net.inet.tcp.tcbhashsize auto tuned to 4096
IPsec: Initialized Security Association Processing.
(noperiph:sdhci_imx0:0:-1:ffffffff):
Set up the mmcprobe device...


================

well, finally, everything works as expected, it turns out wrong memory
> setting in u-boot,the code of BSD-kernel is totoally fine, next step:
> pico-iMX7d
>
> Kernel entry at 0x0x12200100...
> Kernel args: (null)
> Copyright (c) 1992-2016 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>         The Regents of the University of California. All rights reserved.
> FreeBSD is a registered trademark of The FreeBSD Foundation.
> FreeBSD 11.0-RELEASE-p1 #0 r309528M: Mon Jan  7 03:48:21 HKT 2019
>     root@4160059805-freebsd-xeon:/mnt/dev/bsdbuild/arm.armv6/mnt/dev/11/sys/IBOOK
> arm
> FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on LLVM
> 3.8.0)
> Preloaded elf kernel "/boot/kernel/kernel" at 0xc4843000.
> CPU: Cortex A9-r2 rev 10 (Cortex-A core)
>  Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext
>  WB enabled LABT branch prediction disabled
> LoUU:2 LoC:2 LoUIS:2
> Cache level 1:
>  32KB/32B 4-way data cache WB Read-Alloc Write-Alloc
>  32KB/32B 4-way instruction cache Read-Alloc
> real memory  = 1073676288 (1023 MB)
> avail memory = 1006530560 (959 MB)
> Physical memory chunk(s):
>   0x10000000 - 0x4ffeffff,  1023 MB ( 262128 pages)
> Excluded memory regions:
>   0x12200000 - 0x14b73fff,    41 MB (  10612 pages) NoAlloc
> Static device mappings:
>   0x00a00000 - 0x00afffff mapped at VA 0xffe00000
>   0x02000000 - 0x020fffff mapped at VA 0xffd00000
>   0x02100000 - 0x021fffff mapped at VA 0xffc00000
> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
> ULE: setup cpu 0
> ULE: setup cpu 1
> random: entropy device external interface
> openfirm: <Open Firmware control device>
> nfslock: pseudo-device
> mem: <memory>
> crypto: <crypto core>
> null: <full device, null device, zero device>
> random: harvesting attach, 8 bytes (4 bits) from nexus0
> ofwbus0: <Open Firmware Device Tree>
> simplebus0: <Flattened device tree simple bus> on ofwbus0
> simplebus1: <Flattened device tree simple bus> mem 0x2000000-0x20fffff on
> simplebus0
> imx6_anatop0: <Freescale i.MX6 Analog PLLs and Power> mem
> 0x20c8000-0x20c8fff on simplebus1
> random: harvesting attach, 8 bytes (4 bits) from imx6_anatop0
> random: harvesting attach, 8 bytes (4 bits) from simplebus1
> simplebus2: <Flattened device tree simple bus> mem 0x2100000-0x21fffff on
> simplebus0
> random: harvesting attach, 8 bytes (4 bits) from simplebus2
> random: harvesting attach, 8 bytes (4 bits) from simplebus0
> random: harvesting attach, 8 bytes (4 bits) from ofwbus0
> ocotp0: <Freescale On-Chip One-Time-Programmable Memory> mem
> 0x21bc000-0x21bffff on simplebus2
> random: harvesting attach, 8 bytes (4 bits) from ocotp0
> ccm0: <Freescale i.MX6 Clock Control Module> mem 0x20c4000-0x20c7fff on
> simplebus1
> random: harvesting attach, 8 bytes (4 bits) from ccm0
> l2cache0: <PL310 L2 cache controller> mem 0xa02000-0xa02fff on simplebus0
> simplebus0: no default resources for rid = 0, type = 1
> l2cache0: cannot allocate IRQ, not using interrupt
> l2cache0: Part number: 0x3, release: 0x8
> l2cache0: L2 Cache enabled: 512KB/32B 16 ways
> l2cache0: Early BRESP response: disabled
> l2cache0: Instruction prefetch: disabled
> l2cache0: Data prefetch: disabled
> l2cache0: Non-secure interrupt control: disabled
> l2cache0: Non-secure lockdown: disabled
> l2cache0: Share override: disabled
> l2cache0: Double linefill: disabled
> l2cache0: Instruction prefetch: disabled
> l2cache0: Data prefetch: disabled
> l2cache0: Double linefill on WRAP request: disabled
> l2cache0: Prefetch drop: disabled
> l2cache0: Incr double Linefill: disabled
> l2cache0: Not same ID on exclusive sequence: disabled
> l2cache0: Prefetch offset: 0
> random: harvesting attach, 8 bytes (4 bits) from l2cache0
> imx6_anatop0: CPU 792MHz @ 1150mV
> imx_iomux0: <Freescale i.MX pin configuration> mem 0x20e0000-0x20e3fff on
> simplebus1
> Processing 1 pin-config node(s) in pinctrl-0 for ecspi@0200C000
>             spi2: muxreg 0x004c muxval 0x02 inpreg 0x07f8 inpval 0x00
> padreg 0x0360 padval 0x000130b0
>             spi2: muxreg 0x0050 muxval 0x02 inpreg 0x0800 inpval 0x00
> padreg 0x0364 padval 0x000130b0
>             spi2: muxreg 0x0084 muxval 0x02 inpreg 0x07f4 inpval 0x00
> padreg 0x0398 padval 0x000130b0
>             spi2: muxreg 0x0088 muxval 0x02 inpreg 0x07fc inpval 0x00
> padreg 0x039c padval 0x000130b0
> random: harvesting attach, 8 bytes (4 bits) from imx_iomux0
> gic0: <ARM Generic Interrupt Controller> mem
> 0xa01000-0xa01fff,0xa00100-0xa001ff on simplebus0
> simplebus0: no default resources for rid = 0, type = 1
> gic0: pn 0x390, arch 0x1, rev 0x2, implementer 0x43b irqs 160
> random: harvesting attach, 8 bytes (4 bits) from gic0
> imx_gpt0: <Freescale i.MX GPT timer> mem 0x2098000-0x209bfff on simplebus1
> imx_gpt0: Running on 66000KHz clock, base freq 66000000Hz CR=0x0000027d,
> PR=0x00000000
> Event timer "iMXGPT" frequency 66000000 Hz quality 800
> Timecounter "iMXGPT" frequency 66000000 Hz quality 1000
> random: harvesting attach, 8 bytes (4 bits) from imx_gpt0
> mp_tmr0: <ARM MPCore Timers> mem 0xa00200-0xa002ff,0xa00600-0xa006ff on
> simplebus0
> mp_tmr0: not using variable-frequency device as timecounterEvent timer
> "MPCore" frequency 396000000 Hz quality 1000
> random: harvesting attach, 8 bytes (4 bits) from mp_tmr0
> cpulist0: <Open Firmware CPU Group> on ofwbus0
> cpu0: <Open Firmware CPU> on cpulist0
> random: harvesting attach, 8 bytes (4 bits) from cpu0
> random: harvesting attach, 8 bytes (4 bits) from cpulist0
> simplebus0: <pcie@01000000> mem 0x1ffc000-0x1ffffff,0x1f00000-0x1f7ffff
> type pci compat imx,pcie (no driver attached)
> src0: <Freescale i.MX6 System Reset Controller> mem 0x20d8000-0x20d80ff on
> simplebus1
> random: harvesting attach, 8 bytes (4 bits) from src0
> simplebus1: <sdma@020ec000> mem 0x20ec000-0x20effff disabled compat
> fsl,imx6q-sdma (no driver attached)
> simplebus1: <gpio@0209c000> mem 0x209c000-0x209ffff disabled compat
> fsl,imx6q-gpio (no driver attached)
> simplebus1: <gpio@020a0000> mem 0x20a0000-0x20a3fff disabled compat
> fsl,imx6q-gpio (no driver attached)
> simplebus1: <gpio@020a4000> mem 0x20a4000-0x20a7fff disabled compat
> fsl,imx6q-gpio (no driver attached)
> simplebus1: <gpio@020a8000> mem 0x20a8000-0x20abfff disabled compat
> fsl,imx6q-gpio (no driver attached)
> simplebus1: <gpio@020ac000> mem 0x20ac000-0x20affff disabled compat
> fsl,imx6q-gpio (no driver attached)
> simplebus1: <gpio@020b0000> mem 0x20b0000-0x20b3fff disabled compat
> fsl,imx6q-gpio (no driver attached)
> simplebus1: <gpio@020b4000> mem 0x20b4000-0x20b7fff disabled compat
> fsl,imx6q-gpio (no driver attached)
> imx_wdog0: <Freescale i.MX Watchdog> mem 0x20bc000-0x20bffff on simplebus1
> random: harvesting attach, 8 bytes (4 bits) from imx_wdog0
> simplebus1: <serial@02020000> mem 0x2020000-0x2023fff disabled compat
> fsl,imx6q-uart (no driver attached)
> simplebus1: <usbphy@020c9000> mem 0x20c9000-0x20c9fff disabled compat
> fsl,imx6q-usbphy (no driver attached)
> simplebus1: <usbphy@020ca000> mem 0x20ca000-0x20cafff disabled compat
> fsl,imx6q-usbphy (no driver attached)
> simplebus1: <ecspi@02008000> mem 0x2008000-0x200bfff disabled compat
> fsl,imx6q-ecspi (no driver attached)
> simplebus1: <ecspi@0200C000> mem 0x200c000-0x200ffff compat
> fsl,imx6q-ecspi (no driver attached)
> simplebus1: <ecspi@02010000> mem 0x2010000-0x2013fff disabled compat
> fsl,imx6q-ecspi (no driver attached)
> simplebus1: <ecspi@02014000> mem 0x2014000-0x2017fff disabled compat
> fsl,imx6q-ecspi (no driver attached)
> simplebus1: <ecspi@02018000> mem 0x2018000-0x201bfff disabled compat
> fsl,imx6q-ecspi (no driver attached)
> simplebus1: <ssi@02028000> mem 0x2028000-0x202bfff disabled compat
> fsl,imx6q-ssi (no driver attached)
> simplebus1: <ssi@0202C000> mem 0x202c000-0x202ffff disabled compat
> fsl,imx6q-ssi (no driver attached)
> simplebus1: <ssi@02030000> mem 0x2030000-0x2033fff disabled compat
> fsl,imx6q-ssi (no driver attached)
> simplebus2: <i2c@021a0000> mem 0x21a0000-0x21a3fff disabled compat
> fsl,imx6q-i2c (no driver attached)
> simplebus2: <i2c@021a4000> mem 0x21a4000-0x21a7fff disabled compat
> fsl,imx6q-i2c (no driver attached)
> simplebus2: <i2c@021ac000> mem 0x21a8000-0x21abfff disabled compat
> fsl,imx6q-i2c (no driver attached)
> ffec0: <Freescale Gigabit Ethernet Controller> mem 0x2188000-0x218bfff on
> simplebus2
> ffec0: MAC address 00:01:90:00:b2:4f:
> ffec0: PHY preamble disabled
> miibus0: <MII bus> on ffec0
> atphy0: <Atheros F1 10/100/1000 PHY> PHY 1 on miibus0
> atphy0: OUI 0x00c82e, model 0x0007, rev. 4
> atphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX,
> 1000baseSX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
> random: harvesting attach, 8 bytes (4 bits) from atphy0
> random: harvesting attach, 8 bytes (4 bits) from miibus0
> ffec0: bpf attached
> ffec0: Ethernet address: 00:01:90:00:b2:4f
> random: harvesting attach, 8 bytes (4 bits) from ffec0
> simplebus2: <usb@02184000> mem 0x2184000-0x21841ff disabled compat
> fsl,imx6q-usb (no driver attached)
> simplebus2: <usb@02184200> mem 0x2184200-0x21843ff disabled compat
> fsl,imx6q-usb (no driver attached)
> simplebus2: <usb@02184400> mem 0x2184400-0x21845ff disabled compat
> fsl,imx6q-usb (no driver attached)
> simplebus2: <usb@02184600> mem 0x2184600-0x21847ff disabled compat
> fsl,imx6q-usb (no driver attached)
> simplebus2: <usbmisc@02184800> mem 0x2184800-0x21849ff compat
> fsl,imx6q-usbmisc (no driver attached)
> simplebus2: <usdhc@02190000> mem 0x2190000-0x2193fff disabled compat
> fsl,imx6q-usdhc (no driver attached)
> sdhci_imx0: <Freescale uSDHC controller> mem 0x2194000-0x2197fff on
> simplebus2
> sdhci_imx0-slot0: 200MHz HS 1bit 3.3V 3.0V PIO
> sdhci_imx0-slot0: ============== REGISTER DUMP ==============
> sdhci_imx0-slot0: Sys addr: 0x00000000 | Version:  0x00000002
> sdhci_imx0-slot0: Blk size: 0x00000200 | Blk cnt:  0x00000001
> sdhci_imx0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000
> sdhci_imx0-slot0: Present:  0x00f90000 | Host ctl: 0x00000002
> sdhci_imx0-slot0: Power:    0x0000000d | Blk gap:  0x00000080
> sdhci_imx0-slot0: Wake-up:  0x00000000 | Clock:    0x00000007
> sdhci_imx0-slot0: Timeout:  0x0000008c | Int stat: 0x00000000
> sdhci_imx0-slot0: Int enab: 0x017f00fb | Sig enab: 0x017f00fb
> sdhci_imx0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000
> sdhci_imx0-slot0: Caps:     0x03770000 | Max curr: 0x80000000
> sdhci_imx0-slot0: ===========================================
> random: harvesting attach, 8 bytes (4 bits) from sdhci_imx0
> simplebus2: <usdhc@02198000> mem 0x2198000-0x219bfff disabled compat
> fsl,imx6q-usdhc (no driver attached)
> simplebus2: <usdhc@0219c000> mem 0x219c000-0x219ffff disabled compat
> fsl,imx6q-usdhc (no driver attached)
> simplebus2: <audmux@021d8000> mem 0x21d8000-0x21dbfff disabled compat
> fsl,imx6q-audmux (no driver attached)
> simplebus2: <serial@021e8000> mem 0x21e8000-0x21ebfff disabled compat
> fsl,imx6q-uart (no driver attached)
> uart0: <Freescale i.MX UART> mem 0x21ec000-0x21effff on simplebus2
> uart0: console (115200,n,8,1)
> uart0: fast interrupt
> uart0: PPS capture mode: DCDinvalid
> random: harvesting attach, 8 bytes (4 bits) from uart0
> simplebus2: <serial@021f0000> mem 0x21f0000-0x21f3fff disabled compat
> fsl,imx6q-uart (no driver attached)
> simplebus2: <serial@021f4000> mem 0x21f4000-0x21f7fff disabled compat
> fsl,imx6q-uart (no driver attached)
> cryptosoft0: <software crypto>
> crypto: assign cryptosoft0 driver id 0, flags 100663296
> random: harvesting attach, 8 bytes (4 bits) from cryptosoft0
> Timecounters tick every 2.000 msec
> lo0: bpf attached
> crypto: <crypto device>
> IPsec: Initialized Security Association Processing.
> tcp_init: net.inet.tcp.tcbhashsize auto tuned to 8192
> md0: Embedded image 35856384 bytes at 0xc2459476
> (noperiph:sdhci_imx0:0:-1:ffffffff):  Set up the mmcprobe device...
> sdhci_imx0-slot0: VDD => 21
> sdhci_imx0-slot0: Divider 250 for freq 400000 (base 200000000)
> Release APs
> mmc_probedone: remaining freezecnt 1
> Trying to mount root from ufs:md0 []...
> mmc_probedone: remaining freezecnt 0
> mmc_probedone: remaining freezecnt 0
> warning: no time-of-day clock registered, system time will not be set
> accurately
> mmc_probedone: remaining freezecnt 0
> start_init: trying /sbin/init
> mmc_probedone: remaining freezecnt 0
> mmc_probedone: remaining freezecnt 0
> mmc_probedone: remaining freezecnt 0
> mmc_probedone: remaining freezecnt 0
> mmc_probedone: remaining freezecnt 0
> mmc_probedone: remaining freezecnt 0
> mmc_probedone: remaining freezecnt 0
> mmc_probedone: remaining freezecnt 0
> mmc_probedone: remaining freezecnt 0
> mmc_probedone: remaining freezecnt 1
> Got AC_FOUND_DEVICE -- whatever...
> pass0 at sdhci_imx0 bus 0 scbus0 target 0 lun 0
> pass0: Relative addr: 00000001
> Card features: <Memory High-Capacity SD2.0-Conditions >
> Card memory OCR: 40ff8000
> XPT info: CLK 001D, ...
> sdda0 at sdhci_imx0 bus 0 scbus0 target 0 lun 0
> GEOM: new disk sdda0
> sdda0: Relative addr: 00000001
> Card features: <Memory High-Capacity SD2.0-Conditions >
> Card memory OCR: 40ff8000
> sdda0: Serial Number 000003E
> XPT info: CLK 001D, ...
> sdda0: SDHC SD16G 2.0 SN 000003E7 MFG 09/2018 by 65 42
> Acquired periph Ok
> mmc_probedone: remaining freezecnt 0
> Bus width set to 4 bit
> mmc_probedone: remaining freezecnt 0
> Starting file system checks:
> /dev/md0: FILE SYSTEM CLEAN; SKIPPING CHECKS
> /dev/md0: clean, 2085 free (29 frags, 257 blocks, f% fragmentation)
> usage: sleep seconds
> /etc/rc: WARNING: $nandinit_enable is not set properly - see rc.conf(5).
> /etc/rc: WARNING: hostid: unable to figure out a UUID from DMI data,
> generating a new one
> usage: sleep seconds
> Setting hostuuid:
> Setting hostid:
> Mounting local filesystems:.
> ELF ldconfig path: /lib /usr/lib
> random: unblocking device.
> Soft Float compatibility ldconfig path:
> Setting hostname: ibook.
> Additional TCP/IP options: ipv4-mapped-ipv6=YES.
> Setting up harvesting:
> [UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,NET_ETHER,NET_TUN,MOUSE,KEYBOARD,ATTACH,CACHED
> Feeding entropy: .
> ifconfig: can't set link-level netmask or broadcast
> ifconfig: can't set link-level netmask or broadcast
> ifconfig: can't set link-level netmask or broadcast
> ifconfig: ioctl (SIOCAIFADDR): Invalid argument
> ffec0: link state changed to DOWN
> usage: sleep seconds
> usage: sleep seconds
> Starting Network: lo0 ffec0.
> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
>         options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
>         groups: lo
> ffec0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>         options=80008<VLAN_MTU,LINKSTATE>
>         ether 00:01:90:00:b2:4f
>         media: Ethernet autoselect (none)
>         status: no carrier
> Starting devd.
> add host 127.0.0.1: gateway lo0
> add host ::1: gateway lo0 fib 0: route already in table
> add net fe80::: gateway ::1
> add net ff02::: gateway ::1
> add net ::ffff:0.0.0.0: gateway ::1
> add net ::0.0.0.0: gateway ::1
> Generating host.conf.
> Warning: unrecognized source [mdns]
> Waiting 30s for the default route interface: usage: sleep seconds
> .usage: sleep seconds
> .usage: sleep seconds
> .usage: sleep seconds
> .usage: sleep seconds
> Starting rpcbind.
> Jan  6 19:47:39 rpcbind: cannot bind * on udp: Can't assign requested
> address
> Jan  6 19:47:39 rpcbind: cannot bind * on tcp: Can't assign requested
> address
> Clearing /tmp (X related).
> Starting mountd.
> Starting nfsuserd.
> nfsuserd: svc_tli_create: could not bind to anonymous port
> nfsuserd: Can't set up socket: Can't assign requested address
> /etc/rc: WARNING: Unable to force nfsuserd. It may already be running.
> /etc/rc: ERROR: Cannot run nfsuserd
> Mounting late filesystems:.
> Performing sanity check on sshd configuration.
> Starting sshd.
> Starting cron.
> Starting background file system checks in 60 seconds.
>
> Sun Jan  6 19:47:53 UTC 2019
>
>
>>
>> no luck to set sp_enabled = 0, any ideas?
>>
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208381
>>
>>
>>> okay....... after days and days mind storm(mind fuck), finally, I can
>>> enter DDB, here is what I did in [reinit_mmu], maybe can help someone.
>>>
>>>
>>> ==============================
>>>
>>> ASENTRY_NP(reinit_mmu)
>>>         push    {r4-r11, lr}
>>>         mov     r4, r0
>>>         mov     r5, r1
>>>         mov     r6, r2
>>>
>>> + /*  Only for Cortex-A9 Errdata Fix */
>>> +        mrc     p15, 0, r0, c15, c0, 1  @ read diagnostic register
>>> +         orr     r0, r0, #1 << 4         @ set bit #4
>>> +         orr     r0, r0, #1 << 6         @ set bit #6
>>> +      orr     r0, r0, #1 << 11        @ set bit #11
>>> +      orr     r0, r0, #1 << 21        @ set bit #21
>>> +        mcr     p15, 0, r0, c15, c0, 1  @ write diagnostic register
>>> +         DSB
>>>  +        ISB
>>>
>>> .
>>> .
>>> .
>>> .
>>> #else
>>>         bl      dcache_inv_pou_all
>>> #endif
>>>         mcr     CP15_ICIALLU
>>>  +       mcr     CP15_TLBIALL           /*  Flush TLB  */
>>>  +       mcr     CP15_BPIALL             /* Flush Branch predictor */
>>>         DSB
>>>         ISB
>>>
>>>
>>>         /* Set auxiliary register */
>>>         mrc     CP15_ACTLR(r7)
>>> .
>>> .
>>> .
>>>
>>> END(reinit_mmu)
>>> ==============================
>>>
>>> my new problem is OS panic at same address "FAR=0000ec10"(after reset
>>> the eval-board many times), what does it mean? something wrong with FDT? I
>>> use wandboard-dual dts file(1 GB memory)
>>>
>>>
>>> U-Boot 2016.05 (Dec 31 2018 - 22:57:28 +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 tarker
>>> ** Unable to read file tarker **
>>> reading tmpker
>>> ** Unable to read file tmpker **
>>> Booting BSD loader
>>> 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@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=0x580b24+0xb74dc -
>>> Hit [Enter] to boot immediately, or any other key for command prompt.
>>> Booting [/boot/kernel/kernel]...
>>> Kernel entry at 0x0x12200100...
>>> Kernel args: (null)
>>> initarm: console initialized
>>>  arg1 kmdp = 0xc2639000
>>>  boothowto = 0x00000000
>>>  dtbp = 0xc254af08
>>>  lastaddr1: 0x1283a000
>>> loader passed (static) kenv:
>>>  loader_envp = 0xc2638000
>>>  c2638000 LINES=24
>>>  c2638009 console=uboot
>>>  c2638017 currdev=disk0s2:
>>>  c2638028 kerflag=
>>>  c2638031 kernelname=/boot/kernel/kernel
>>>  c2638050 loaddev=disk0s2:
>>>  c2638061 prompt=loader>
>>>  c2638070 twiddle_divisor=1
>>> imx_wdog_init_last_reset
>>> ARM Debug Architecture v7
>>> 4 watchpoints and 6 breakpoints supported
>>> KDB: debugger backends: ddb
>>> KDB: current backend: ddb
>>> Copyright (c) 1992-2016 The FreeBSD Project.
>>> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>>>         The Regents of the University of California. All rights reserved.
>>> FreeBSD is a registered trademark of The FreeBSD Foundation.
>>> FreeBSD 11.0-RELEASE-p1 #180 r309528M: Thu Jan  3 10:42:45 HKT 2019
>>>     root@4160059805-freebsd-xeon:/mnt/dev/bsdbuild/arm.armv6/mnt/dev/11/sys/IMX6
>>> arm
>>> FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on
>>> LLVM 3.8.0)
>>> WARNING: WITNESS option enabled, expect reduced performance.
>>> WARNING: DIAGNOSTIC option enabled, expect reduced performance.
>>> subsystem 1000000
>>>    0xc23e0b88(0)... Fatal kernel mode data abort: 'Translation Fault
>>> (L1)' on read
>>> trapframe: 0xc2713d18
>>> FSR=00000005, FAR=0000ec10, spsr=600000d3
>>> r0 =12998000, r1 =c2ffc010, r2 =00000001, r3 =c261c07c
>>> r4 =00000006, r5 =c261c074, r6 =00000000, r7 =2a600000
>>> r8 =c2ffc059, r9 =00000000, r10=c260ba28, r11=c2713dd8
>>> r12=c2ffc014, ssp=c2713da8, slr=0000ec10, pc =c23fa450
>>>
>>> [ thread pid 0 tid 0 ]
>>> Stopped at      0xc23fa450
>>> db> bt
>>> Tracing pid 0 tid 0 td 0xc2617190
>>> KDB: reentering
>>> KDB: stack backtrace:
>>> KDB: reentering
>>> KDB: stack backtrace:
>>> blahblahblah.....
>>> blahblahblah.....
>>> blahblahblah.....
>>> blahblahblah.....
>>> KDB: reentering
>>> KDB: stack backtrace:
>>> KDB: reentering
>>> KDB: stack backtrace:
>>> panic: pmap_fault: pm_pt1 abort
>>> cpuid = 0
>>> Uptime: 1s
>>>
>>>
>>>
>>> >  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@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
>>>
>>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAL5b%2BC0NKynMyKA7H=uo8fHwSmyNTdqvTfQcLExVcMkai2Hshg>