My BB-Black boot failure

Ian Lepore ian at FreeBSD.org
Fri Aug 23 12:53:50 UTC 2013


On Fri, 2013-08-23 at 17:47 +0800, XiaoQI Ge wrote:
> My BB-Black boot failure
> Patched this patch http://people.freebsd.org/ ~
> gonzo/arm/patches/bbb-emmc1-fix.diff this patch
> 
> Yesterday also boot, boot failure today
> 
> ===
> KDB: current backend: ddb
> Copyright (c) 1992-2013 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 10.0-CURRENT #0 r254628M: Fri Aug 23 02:57:38 CST 2013
>     root at 7axu.com:/crochet-freebsd/work/obj/arm.armv6/usr/src/sys/BB-Black arm
> FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610
> WARNING: WITNESS option enabled, expect reduced performance.
> CPU: Cortex A8-r3 rev 2 (Cortex-A core)
>  Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext
>  WB disabled EABT branch prediction enabled
> LoUU:2 LoC:2 LoUIS:1
> Cache level 1:
>  32KB/64B 4-way data cache WT WB Read-Alloc
>  32KB/64B 4-way instruction cache Read-Alloc
> Cache level 2:
>  256KB/64B 8-way unified cache WT WB Read-Alloc Write-Alloc
> real memory  = 536870912 (512 MB)
> avail memory = 515387392 (491 MB)
> Texas Instruments AM3358 Processor, Revision ES1.1
> random device not loaded; using insecure entropy
> random: <Software, Yarrow> initialized
> simplebus0: <Flattened device tree simple bus> on fdtbus0
> aintc0: <TI AINTC Interrupt Controller> mem 0x48200000-0x48200fff on simplebus0
> aintc0: Revision 5.0
> ti_scm0: <TI Control Module> mem 0x44e10000-0x44e11fff on simplebus0
> am335x_prcm0: <AM335x Power and Clock Management> mem
> 0x44e00000-0x44e012ff on simplebus0
> am335x_prcm0: Clocks: System 24.0 MHz, CPU 550 MHz
> am335x_dmtimer0: <AM335x DMTimer> mem
> 0x44e05000-0x44e05fff,0x44e31000-0x44e31fff,0x48040000-0x48040fff,0x48042000-0x48042fff,0x48044000-0x48044fff,0x48046000-0x48046fff,0x48048000-0x48048fff,0x4804a000-0x4804afff
> irq 66,67,68,69,92,93,94,95 on simplebus0
> Timecounter "AM335x Timecounter" frequency 24000000 Hz quality 1000
> Event timer "AM335x Eventtimer0" frequency 24000000 Hz quality 1000
> gpio0: <TI General Purpose I/O (GPIO)> mem
> 0x44e07000-0x44e07fff,0x4804c000-0x4804cfff,0x481ac000-0x481acfff,0x481ae000-0x481aefff
> irq 96,97,98,99,32,33,62,63 on simplebus0
> gpioc0: <GPIO controller> on gpio0
> gpiobus0: <GPIO bus> on gpio0
> uart0: <TI UART (16550 compatible)> mem 0x44e09000-0x44e09fff irq 72
> on simplebus0
> uart0: console (115384,n,8,1)
> ti_edma30: <TI EDMA Controller> mem
> 0x49000000-0x490fffff,0x49800000-0x498fffff,0x49900000-0x499fffff,0x49a00000-0x49afffff
> irq 12,13,14 on simplebus0
> ti_edma30: EDMA revision 40014c00
> sdhci_ti0: <TI MMCHS (SDHCI 2.0)> mem 0x48060000-0x48060fff irq 64 on simplebus0
> mmc0: <MMC/SD bus> on sdhci_ti0
> sdhci_ti1: <TI MMCHS (SDHCI 2.0)> mem 0x481d8000-0x481d8fff irq 28 on simplebus0
> mmc1: <MMC/SD bus> on sdhci_ti1
> cpsw0: <3-port Switch Ethernet Subsystem> mem 0x4a100000-0x4a103fff
> irq 40,41,42,43 on simplebus0
> cpsw0: CPSW SS Version 1.12 (0)
> cpsw0: Initial queue size TX=128 RX=384
> cpsw0: Ethernet address: c8:a0:30:b2:e3:cb
> cpsw0: Failed to read from PHY.
> cpsw0: attaching PHYs failed
> 
> vm_fault(0xc08341a0, 0, 1, 0) -> 1
> Fatal kernel mode data abort: 'Translation Fault (S)'
> trapframe: 0xc0932b58
> FSR=00000005, FAR=00000018, spsr=80000093
> r0 =c2df2780, r1 =00000000, r2 =00000019, r3 =60000193
> r4 =00000000, r5 =c2df2780, r6 =00000006, r7 =c05791d4
> r8 =c2df2780, r9 =ffffffff, r10=c2db0800, r11=c0932bb8
> r12=00000000, ssp=c0932ba8, slr=c0594714, pc =c0394f28
> 
> [ thread pid 0 tid 100000 ]
> Stopped at      device_delete_child+0x14:       ldr     r1, [r4, #0x018]
> db> bt
> [snip]

The real problem here is the "Failed to read from PHY."  The data abort
that follows happened because the cpsw driver called
device_detach_child() on the phy device that never got attached.

I don't know why it failed to read from the PHY, I've never seen a
problem like that (but I have BB-White, not Black).

I do know that you don't need that patch anymore, because it's patching
the ti_mmchs driver, and now (as of a few days ago) BB uses the new
sdhci_ti driver.  (I forgot to send a heads-up to the list about
switching drivers, I'll do that in a minute.)

I just updated to r254628 on my BBW and it boots fine.

-- Ian




More information about the freebsd-arm mailing list