Bug 240538 - Rock Pi 4 runtime time error panic: clknode_init_parent_idx: Invalid parent index 5 for clock sclk_sdmmc
Summary: Rock Pi 4 runtime time error panic: clknode_init_parent_idx: Invalid parent i...
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: arm (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-arm (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-09-12 14:35 UTC by me
Modified: 2020-09-17 09:32 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description me 2019-09-12 14:35:51 UTC
I'm build GENERIC-MMCCAM kernel on Most recent current branch. I've encountered the following error, seems like eMMC related bug


Loading kernel...                                                        :      /boot/kernel/k0rnel text=0x9538ac data=0x193f50+0x778414 syms=[0x8+0x13b690+0x8+
0x126eke]                                                                     8+
Loading configured modules...    3                                      690+0   
can't find '/boot/entropy'       4                                              Using DTB pr/vided by EFI at 0x80f0000.                                 ;       
---<<BOOT>>---                             H                                   ?KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2019 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 13.0-CURRENT bca42693442-c262673(master) GENERIC-MMCCAM arm64
FreeBSD clang version 8.0.1 (tags/RELEASE_801/final 366581) (based on LLVM 8.0.1)
WARNING: WITNESS option enabled, expect reduced performance.
VT: init without driver.
Starting CPU 1 (1)
Starting CPU 2 (2)
Starting CPU 3 (3)
Starting CPU 4 (100)
Starting CPU 5 (101)
FreeBSD/SMP: Multiprocessor System Detected: 6 CPUs
arc4random: WARNING: initial seeding bypassed the cryptographic random device because it was not yet seeded and the knob 'bypass_before_seeding' was enabled.
random: entropy device external interface
MAP f4f2a000 mode 2 pages 1
MAP f4f2c000 mode 2 pages 1
MAP f7f40000 mode 2 pages 16
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
clk_fixed0: <Fixed clock> on ofwbus0
simplebus0: <Flattened device tree simple bus> on ofwbus0
rk_grf0: <RockChip General Register Files> mem 0xff320000-0xff320fff on ofwbus0
rk3399_pmucru0: <Rockchip RK3399 PMU Clock and Reset Unit> mem 0xff750000-0xff750fff on ofwbus0
rk3399_cru0: <Rockchip RK3399 Clock and Reset Unit> mem 0xff760000-0xff760fff on ofwbus0
panic: clknode_init_parent_idx: Invalid parent index 5 for clock sclk_sdmmc
cpuid = 0
time = 1
KDB: stack backtrace:
db_trace_self() at db_trace_self_wrapper+0x28
	 pc = 0xffff00000071b018  lr = 0xffff00000010ffe8
	 sp = 0xffff000000010450  fp = 0xffff000000010660

db_trace_self_wrapper() at vpanic+0x18c
	 pc = 0xffff00000010ffe8  lr = 0xffff000000400470
	 sp = 0xffff000000010670  fp = 0xffff000000010720

vpanic() at panic+0x44
	 pc = 0xffff000000400470  lr = 0xffff000000400220
	 sp = 0xffff000000010730  fp = 0xffff0000000107b0

panic() at clknode_init_parent_idx+0x5c
	 pc = 0xffff000000400220  lr = 0xffff0000001985e4
	 sp = 0xffff0000000107c0  fp = 0xffff0000000107c0

clknode_init_parent_idx() at rk_clk_composite_init+0x138
	 pc = 0xffff0000001985e4  lr = 0xffff000000772e74
	 sp = 0xffff0000000107d0  fp = 0xffff000000010800

rk_clk_composite_init() at clknode_register+0x60
	 pc = 0xffff000000772e74  lr = 0xffff000000198518
	 sp = 0xffff000000010810  fp = 0xffff000000010830

clknode_register() at rk_clk_composite_register+0x98
	 pc = 0xffff000000198518  lr = 0xffff000000772d1c
	 sp = 0xffff000000010840  fp = 0xffff000000010860

rk_clk_composite_register() at rk_cru_attach+0x160
	 pc = 0xffff000000772d1c  lr = 0xffff000000772178
	 sp = 0xffff000000010870  fp = 0xffff0000000108e0

rk_cru_attach() at device_attach+0x3ec
	 pc = 0xffff000000772178  lr = 0xffff000000435e20
	 sp = 0xffff0000000108f0  fp = 0xffff000000010940

device_attach() at device_probe_and_attach+0x7c
	 pc = 0xffff000000435e20  lr = 0xffff00000043599c
	 sp = 0xffff000000010950  fp = 0xffff000000010970

device_probe_and_attach() at bus_generic_attach+0x18
	 pc = 0xffff00000043599c  lr = 0xffff0000004370ac
	 sp = 0xffff000000010980  fp = 0xffff000000010990

bus_generic_attach() at ofwbus_attach+0x104
	 pc = 0xffff0000004370ac  lr = 0xffff000000203c40
	 sp = 0xffff0000000109a0  fp = 0xffff0000000109f0

ofwbus_attach() at device_attach+0x3ec
	 pc = 0xffff000000203c40  lr = 0xffff000000435e20
	 sp = 0xffff000000010a00  fp = 0xffff000000010a50

device_attach() at device_probe_and_attach+0x7c
	 pc = 0xffff000000435e20  lr = 0xffff00000043599c
	 sp = 0xffff000000010a60  fp = 0xffff000000010a80

device_probe_and_attach() at bus_generic_new_pass+0xec
	 pc = 0xffff00000043599c  lr = 0xffff000000437a24
	 sp = 0xffff000000010a90  fp = 0xffff000000010ac0

bus_generic_new_pass() at bus_generic_new_pass+0xd0
	 pc = 0xffff000000437a24  lr = 0xffff000000437a08
	 sp = 0xffff000000010ad0  fp = 0xffff000000010b00

bus_generic_new_pass() at bus_set_pass+0x8c
	 pc = 0xffff000000437a08  lr = 0xffff0000004334fc
	 sp = 0xffff000000010b10  fp = 0xffff000000010b40

bus_set_pass() at mi_startup+0x238
	 pc = 0xffff0000004334fc  lr = 0xffff000000399fd0
	 sp = 0xffff000000010b50  fp = 0xffff000000010bb0

mi_startup() at virtdone+0x54
	 pc = 0xffff000000399fd0  lr = 0xffff000000001084
	 sp = 0xffff000000010bc0  fp = 0x0000000000000000

KDB: enter: panic
[ thread pid 0 tid 100000 ]
Stopped at      0
Comment 1 Greg V 2019-09-16 10:54:07 UTC
I have some workaround patch in my tree:

https://github.com/myfreeweb/freebsd/commit/fcaa0db52c9427c9c824ce8e95a6cc0c44355e86

I think it's for this..
Comment 2 me 2019-09-17 13:57:51 UTC
Hi Grey,
The patch does fix the clock_cru problem, then I EMMC CAM related error occurred, I put the full log here in case you need to check and close this bug, and open another one for the new error.

Thanks

---<<BOOT>>---                                                                 
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2019 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 13.0-CURRENT #0 141dd35d7f1-c262723(myfreebweb)-dirty: Tue Sep 17 15:28:37 NZST 2019
    root@dez:/usr/obj/obj/usr/src/arm64.aarch64/sys/GENERIC-MMCCAM arm64
FreeBSD clang version 8.0.1 (tags/RELEASE_801/final 366581) (based on LLVM 8.0.1)
WARNING: WITNESS option enabled, expect reduced performance.
VT: init without driver.
module firmware already present!
Starting CPU 1 (1)
Starting CPU 2 (2)
Starting CPU 3 (3)
Starting CPU 4 (100)
Starting CPU 5 (101)
FreeBSD/SMP: Multiprocessor System Detected: 6 CPUs
arc4random: WARNING: initial seeding bypassed the cryptographic random device because it was not yet seeded and the knob 'bypass_before_seeding' was enabled.
random: entropy device external interface
MAP f4f2a000 mode 2 pages 1
MAP f4f2c000 mode 2 pages 1
MAP f7f40000 mode 2 pages 16
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
clk_fixed0: <Fixed clock> on ofwbus0
simplebus0: <Flattened device tree simple bus> on ofwbus0
rk_grf0: <RockChip General Register Files> mem 0xff320000-0xff320fff on ofwbus0
rk3399_pmucru0: <Rockchip RK3399 PMU Clock and Reset Unit> mem 0xff750000-0xff750fff on ofwbus0
rk3399_cru0: <Rockchip RK3399 Clock and Reset Unit> mem 0xff760000-0xff760fff on ofwbus0
rk_grf1: <RockChip General Register Files> mem 0xff770000-0xff77ffff on ofwbus0
clk_fixed1: <Fixed clock> on ofwbus0
regfix0: <Fixed Regulator> on ofwbus0
regfix1: <Fixed Regulator> on ofwbus0
regfix2: <Fixed Regulator> on ofwbus0
regfix3: <Fixed Regulator> on ofwbus0
regfix4: <Fixed Regulator> on ofwbus0
regfix5: <Fixed Regulator> on ofwbus0
regfix6: <Fixed Regulator> on ofwbus0
simple_mfd0: <Simple MFD (Multi-Functions Device)> mem 0xff310000-0xff310fff on ofwbus0
psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
gic0: <ARM Generic Interrupt Controller v3.0> mem 0xfee00000-0xfee0ffff,0xfef00000-0xfefbffff,0xfff00000-0xfff0ffff,0xfff10000-0xfff1ffff,0xfff20000-0xfff2ffff irq 18 on ofwbus0
its0: <ARM GIC Interrupt Translation Service> mem 0xfee20000-0xfee3ffff on gic0
rk_pinctrl0: <RockChip Pinctrl controller> on ofwbus0
gpio0: <RockChip GPIO Bank controller> mem 0xff720000-0xff7200ff irq 65 on rk_pinctrl0
gpiobus0: <OFW GPIO bus> on gpio0
gpio1: <RockChip GPIO Bank controller> mem 0xff730000-0xff7300ff irq 66 on rk_pinctrl0
gpiobus1: <OFW GPIO bus> on gpio1
gpio2: <RockChip GPIO Bank controller> mem 0xff780000-0xff7800ff irq 67 on rk_pinctrl0
gpiobus2: <OFW GPIO bus> on gpio2
gpio3: <RockChip GPIO Bank controller> mem 0xff788000-0xff7880ff irq 68 on rk_pinctrl0
gpiobus3: <OFW GPIO bus> on gpio3
gpio4: <RockChip GPIO Bank controller> mem 0xff790000-0xff7900ff irq 69 on rk_pinctrl0
gpiobus4: <OFW GPIO bus> on gpio4
rk_i2c0: <RockChip I2C> mem 0xff110000-0xff110fff irq 20 on ofwbus0
iicbus0: <OFW I2C bus> on rk_i2c0
rk_i2c1: <RockChip I2C> mem 0xff130000-0xff130fff irq 22 on ofwbus0
iicbus1: <OFW I2C bus> on rk_i2c1
rk_i2c2: <RockChip I2C> mem 0xff3c0000-0xff3c0fff irq 38 on ofwbus0
iicbus2: <OFW I2C bus> on rk_i2c2
syr8270: <Silergy SYR827 regulator> at addr 0x80 on iicbus2
rk_i2c3: <RockChip I2C> mem 0xff3d0000-0xff3d0fff irq 39 on ofwbus0
iicbus3: <OFW I2C bus> on rk_i2c3
rk805_pmu0: <RockChip RK805 PMIC> at addr 0x36 irq 70 on iicbus2
generic_timer0: <ARMv8 Generic Timer> irq 2,3,4,5 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 24000000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 24000000 Hz quality 1000
rk_emmcphy0: <Rockchip RK3399 eMMC PHY> mem 0-0xff76ffff,0-0xffff on rk_grf1
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
cpufreq_dt0: <Generic cpufreq driver> on cpu0
cpu1: <Open Firmware CPU> on cpulist0
cpufreq_dt1: <Generic cpufreq driver> on cpu1
cpu2: <Open Firmware CPU> on cpulist0
cpufreq_dt2: <Generic cpufreq driver> on cpu2
cpu3: <Open Firmware CPU> on cpulist0
cpufreq_dt3: <Generic cpufreq driver> on cpu3
cpu4: <Open Firmware CPU> on cpulist0
cpufreq_dt4: <Generic cpufreq driver> on cpu4
cpu5: <Open Firmware CPU> on cpulist0
cpufreq_dt5: <Generic cpufreq driver> on cpu5
dwc0: <Rockchip Gigabit Ethernet Controller> mem 0xfe300000-0xfe30ffff irq 9 on ofwbus0
miibus0: <MII bus> on dwc0
rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 0 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
rgephy1: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
rgephy1:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
dwc0: Ethernet address: 62:73:64:9b:21:bf
rockchip_dwmmc0: <Synopsys DesignWare Mobile Storage Host Controller (RockChip)> mem 0xfe320000-0xfe323fff irq 11 on ofwbus0
rockchip_dwmmc0: Hardware version ID is 270a
sdhci_fdt0: <Rockchip RK3399 fdt SDHCI controller> mem 0xfe330000-0xfe33ffff irq 12 on ofwbus0
rk_emmcphy0: got emmcclk clock
sdhci_fdt0-slot0: Hardware doesn't specify timeout clock frequency, setting BROKEN_TIMEOUT quirk.
sdhci_fdt0: 1 slot(s) allocated
mmc_alloc_device()
ohci0: <Generic OHCI Controller> mem 0xfe3a0000-0xfe3bffff irq 14 on ofwbus0
usbus0 on ohci0
ohci1: <Generic OHCI Controller> mem 0xfe3e0000-0xfe3fffff irq 16 on ofwbus0
usbus1 on ohci1
iic0: <I2C generic I/O> on iicbus0
iic1: <I2C generic I/O> on iicbus1
uart0: <16750 or compatible> mem 0xff1a0000-0xff1a00ff irq 28 on ofwbus0
uart0: console (1500000,n,8,1)
syscon_generic0: <syscon> mem 0xffa58000-0xffa5801f on ofwbus0
syscon_generic1: <syscon> mem 0xffa5c000-0xffa5c01f on ofwbus0
syscon_generic2: <syscon> mem 0xffa60080-0xffa6009f on ofwbus0
syscon_generic3: <syscon> mem 0xffa60100-0xffa6011f on ofwbus0
syscon_generic4: <syscon> mem 0xffa60180-0xffa6019f on ofwbus0
syscon_generic5: <syscon> mem 0xffa70000-0xffa7001f on ofwbus0
syscon_generic6: <syscon> mem 0xffa70080-0xffa7009f on ofwbus0
syscon_generic7: <syscon> mem 0xffa74000-0xffa7401f on ofwbus0
syscon_generic8: <syscon> mem 0xffa76000-0xffa7601f on ofwbus0
syscon_generic9: <syscon> mem 0xffa90000-0xffa9001f on ofwbus0
syscon_generic10: <syscon> mem 0xffa98000-0xffa9801f on ofwbus0
syscon_generic11: <syscon> mem 0xffaa0000-0xffaa001f on ofwbus0
syscon_generic12: <syscon> mem 0xffaa0080-0xffaa009f on ofwbus0
syscon_generic13: <syscon> mem 0xffaa8000-0xffaa801f on ofwbus0
syscon_generic14: <syscon> mem 0xffaa8080-0xffaa809f on ofwbus0
syscon_generic15: <syscon> mem 0xffab0000-0xffab001f on ofwbus0
syscon_generic16: <syscon> mem 0xffab0080-0xffab009f on ofwbus0
syscon_generic17: <syscon> mem 0xffab8000-0xffab801f on ofwbus0
syscon_generic18: <syscon> mem 0xffac0000-0xffac001f on ofwbus0
syscon_generic19: <syscon> mem 0xffac0080-0xffac009f on ofwbus0
syscon_generic20: <syscon> mem 0xffac8000-0xffac801f on ofwbus0
syscon_generic21: <syscon> mem 0xffac8080-0xffac809f on ofwbus0
syscon_generic22: <syscon> mem 0xffad0000-0xffad001f on ofwbus0
syscon_generic23: <syscon> mem 0xffad8080-0xffad809f on ofwbus0
syscon_generic24: <syscon> mem 0xffae0000-0xffae001f on ofwbus0
syscon_generic25: <syscon> mem 0xff330000-0xff33e3d3 on ofwbus0
iicbus2: <unknown card> at addr 0x82
iic2: <I2C generic I/O> on iicbus2
iic3: <I2C generic I/O> on iicbus3
syscon_generic26: <syscon> mem 0xff620000-0xff6200ff on ofwbus0
gpioc0: <GPIO controller> on gpio0
gpioc1: <GPIO controller> on gpio1
gpioc2: <GPIO controller> on gpio2
gpioc3: <GPIO controller> on gpio3
gpioc4: <GPIO controller> on gpio4
cryptosoft0: <software crypto>
Timecounters tick every 1.000 msec
mmc_dev_async(async_code=0x20, path_id=0, target_id=0, lun_id=0
Got AC_PATH_REGISTERED -- whatever...
mmc_dev_async(async_code=0x20, path_id=0, target_id=ffffffff, lun_id=ffffffff
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 12Mbps Full Speed USB v1.0
(noperiph:sdhci_slot0:0:-1:ffffffff): XPT_SCAN_{BUS,TGT,LUN}
(noperiph:sdhci_slot0:0:0:0): XPT_SCAN_{BUS,TGT,LUN}
(noperiph:sdhci_slot0:0:0:0):  Set up the mmcprobe device...
(mmcprobe0:sdhci_slot0:0:0:0): Periph created
(mmcprobe0:sdhci_slot0:0:0:0): Probe started
(mmcprobe0:sdhci_slot0:0:0:0): Probe PROBE_INVALID to PROBE_RESET
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_start
(mmcprobe0:sdhci_slot0:0:0:0): Start with PROBE_RESET
sdhci_fdt0-slot0: Clock => 0
sdhci_fdt0-slot0: VDD => 7
sdhci_fdt0-slot0: CS => 0
sdhci_fdt0-slot0: Bus width => 0
sdhci_fdt0-slot0: Power mode => 1
sdhci_fdt0-slot0: Bus mode => 1
sdhci_fdt0-slot0: sdhci_cam_update_ios: power_mode=1, clk=0, bus_width=0, timing=0
ugen1.1: <Generic OHCI root HUB> at usbus1
uhub0 on usbus1
uhub0: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1
ugen0.1: <Generic OHCI root HUB> at usbus0
uhub1 on usbus0
uhub1: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
sdhci_fdt0-slot0: Clock => 399193
sdhci_fdt0-slot0: Power mode => 2
sdhci_fdt0-slot0: Timing => 0
sdhci_fdt0-slot0: sdhci_cam_update_ios: power_mode=2, clk=399193, bus_width=0, timing=0
sdhci_fdt0-slot0: CS => 1
sdhci_fdt0-slot0: sdhci_cam_update_ios: power_mode=2, clk=399193, bus_width=0, timing=0
(mmcprobe0:sdhci_slot0:0:0:0): Send first XPT_MMC_IO
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_done
Starting completion of PROBE_RESET
(mmcprobe0:sdhci_slot0:0:0:0): done with PROBE_RESET
(mmcprobe0:sdhci_slot0:0:0:0): Probe PROBE_RESET to PROBE_SEND_IF_COND
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_start
(mmcprobe0:sdhci_slot0:0:0:0): Start with PROBE_SEND_IF_COND
mmc_probedone: remaining freezecnt 1
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_done
(mmcprobe0:sdhci_slot0:0:0:0): IF_COND: error 1, pattern 00000000
(mmcprobe0:sdhci_slot0:0:0:0): Probe PROBE_SEND_IF_COND to PROBE_SDIO_RESET
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_start
(mmcprobe0:sdhci_slot0:0:0:0): Start with PROBE_SDIO_RESET
mmc_probedone: remaining freezecnt 1
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_done
(mmcprobe0:sdhci_slot0:0:0:0): SDIO_RESET: error 1, CCCR CTL register: 00000000
(mmcprobe0:sdhci_slot0:0:0:0): Probe PROBE_SDIO_RESET to PROBE_SDIO_INIT
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_start
(mmcprobe0:sdhci_slot0:0:0:0): Start with PROBE_SDIO_INIT
mmc_probedone: remaining freezecnt 1
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_done
(mmcprobe0:sdhci_slot0:0:0:0): SDIO_INIT: error 1, 00000000 00000000 00000000 00000000
(mmcprobe0:sdhci_slot0:0:0:0): Probe PROBE_SDIO_INIT to PROBE_SEND_APP_OP_COND
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_start
mmc_probedone: remaining freezecnt 1
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_done
(mmcprobe0:sdhci_slot0:0:0:0): APP_OP_COND: error 1, resp 00000000
(mmcprobe0:sdhci_slot0:0:0:0): Probe PROBE_SEND_APP_OP_COND to PROBE_MMC_INIT
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_start
(mmcprobe0:sdhci_slot0:0:0:0): Start with PROBE_MMC_INIT
mmc_probedone: remaining freezecnt 1
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_done
(mmcprobe0:sdhci_slot0:0:0:0): MMC card, OCR 40ff8080
(mmcprobe0:sdhci_slot0:0:0:0): -> sending OCR to card
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_start
(mmcprobe0:sdhci_slot0:0:0:0): Start with PROBE_MMC_INIT
mmc_probedone: remaining freezecnt 1
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_done
(mmcprobe0:sdhci_slot0:0:0:0): MMC card, OCR 40ff8080
cprobe0:sdhci_slot0:0:0:0): mmcprobe_start
(mmcprobe0:sdhci_slot0:0:0:0): Start with PROBE_MMC_INIT
mmc_probedone: remaining freezecnt 1
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_done
(mmcprobe0:sdhci_slot0:0:0:0): MMC card, OCR c0ff8080
(mmcprobe0:sdhci_slot0:0:0:0): Probe PROBE_MMC_INIT to PROBE_GET_CID
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_start
mmc_probedone: remaining freezecnt 1
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_done
(mmcprobe0:sdhci_slot0:0:0:0): CID 8801034e436172642017a5f68b425500
(mmcprobe0:sdhci_slot0:0:0:0): uhub1: 1 port with 1 removable, self powered
uhub0: 1 port with 1 removable, self powered
Probe PROBE_GET_CID to PROBE_MMC_SET_RELATIVE_ADDR
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_start
mmc_probedone: remaining freezecnt 1
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_done
(mmcprobe0:sdhci_slot0:0:0:0): Probe PROBE_MMC_SET_RELATIVE_ADDR to PROBE_GET_CSD
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_start
mmc_probedone: remaining freezecnt 1
Release APs...(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_done
(mmcprobe0:sdhci_slot0:0:0:0): CSD d0ffff320f5903ffffffffe796400000
(mmcprobe0:sdhci_slot0:0:0:0): done
Probe PROBE_GET_CSD to PROBE_SELECT_CARD
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_start
mmc_probedone: remaining freezecnt 1
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_done
(mmcprobe0:sdhci_slot0:0:0:0): Probe PROBE_SELECT_CARD to PROBE_DONE
(mmcprobe0:sdhci_slot0:0:0:0): mmcprobe_start
(mmcprobe0:sdhci_slot0:0:0:0): Start with PROBE_DONE
sdhci_fdt0-slot0: Bus mode => 2
CPU  0: ARM Cortex-A53 r0p4 affinity:  0  0
sdhci_fdt0-slot0: sdhci_cam_update_ios: power_mode=2, clk=399193, bus_width=0, timing=0
 Instruction Set Attributes 0 = <CRC32,SHA2,SHA1,AES+PMULL>
Trying to mount root from ufs:/dev/mmcsd0s2a [rw,noatime]...
mmc_probedone: remaining freezecnt 0
 Instruction Set Attributes 1 = <>
mountroot: waiting for device /dev/mmcsd0s2a...
(mmcprobe0:sdhci_slot0:0:0:0): Periph invalidated
         Processor Features 0 = <GIC,AdvSIMD,Float,EL3 32,EL2 32,EL1 32,EL0 32>
(mmcprobe0:sdhci_slot0:0:0:0): Periph destroyed
         Processor Features 1 = <0>
(noperiph:sdhci_slot0:0:0:0):       Memory Model Features 0 = <4k Granule,64k Granule,S/NS Mem,MixedEndian,16bit ASID,1TB PA>
xpt_async(AC_FOUND_DEVICE)
      Memory Model Features 1 = <>
mmc_dev_async(async_code=0x80, path_id=0, target_id=0, lun_id=0
      Memory Model Features 2 = <32b CCIDX,48b VA>
Got AC_FOUND_DEVICE -- whatever...
             Debug Features 0 = <2 CTX Breakpoints,4 Watchpoints,6 Breakpoints,PMUv3,Debug v8>
(pass0:sdhci_slot0:0:0:0): Periph created
             Debug Features 1 = <0>
         Auxiliary Features 0 = <0>
         Auxiliary Features 1 = <0>
CPU  1: ARM Cortex-A53 r0p4 affinity:  0  1
      Memory Model Features 0 = <4k Granule,64k Granule,S/NS Mem,MixedEndian,16bit ASID,1TB PA>
(sdda0:sdhci_slot0:0:0:0): CPU  2: ARM Cortex-A53 r0p4 affinity:  0  2
Periph created
      Memory Model Features 0 = <4k Granule,64k Granule,S/NS Mem,MixedEndian,16bit ASID,1TB PA>
CPU  3: ARM Cortex-A53 r0p4 affinity:  0  3
      Memory Model Features 0 = <4k Granule,64k Granule,S/NS Mem,MixedEndian,16bit ASID,1TB PA>
CPU  4: ARM Cortex-A72 r0p2 affinity6bit ASID,16TB PA>
CPU  5: ARM Cortex-A72 r0p2 affinity:  1  1
      Memory Model Features 0 = <4k Granule,64k Granule,S/NS Mem,MixedEndian,16bit ASID,16TB PA>
WARNING: WITNESS option enabled, expect reduced performance.
(sdda0:sdhci_slot0:0:0:0): Capacity: 31037849600, sectors: 60620800
(sdda0:sdhci_slot0:0:0:0): Set SD freq to 52 MHz (min out of host f=198 MHz and card f=52 MHz)
sdhci_fdt0-slot0: Timing => 1
sdhci_fdt0-slot0: sdhci_cam_update_ios: power_mode=2, clk=399193, bus_width=0, timing=1
sdhci_fdt0-slot0: Clock => 49500000
sdhci_fdt0-slot0: sdhci_cam_update_ios: power_mode=2, clk=49500000, bus_width=0, timing=1
(sdda0:sdhci_slot0:0:0:0): Set bus width to 8-bit (min of host 8-bit and card 8-bit)
sdhci_fdt0-slot0: Bus width => 3
sdhci_fdt0-slot0: sdhci_cam_update_ios: power_mode=2, clk=49500000, bus_width=3, timing=1
(sdda0:sdhci_slot0:0:0:0): Partition type 'default', size 31037849600 
uma_zalloc_arg: zone "128" with the following non-sleepable locks held:
exclusive sleep mutex CAM device lock (CAM device lock) r = 0 (0xfffffd0000ff64d0) locked @ /usr/src/sys/cam/mmc/mmc_da.c:1103
stack backtrace:
#0 0xffff0000004670d4 at witness_debugger+0x64
#1 0xffff0000004680cc at witness_warn+0x3dc
#2 0xffff0000006b6438 at uma_zalloc_arg+0x44
#3 0xffff0000003da168 at malloc+0x9c
#4 0xffff0000000428d0 at sdda_add_part+0xf4
#5 0xffff00000004249c at sdda_start_init_task+0x1778
#6 0xffff00000045a758 at taskqueue_run_locked+0xe8
#7 0xffff00000045b728 at taskqueue_thread_loop+0x9c
#8 0xffff0000003c0e90 at fork_exit+0x7c
(sdda0:sdhci_slot0:0:0:0): Partition type 'boot0', size 4194304 
uma_zalloc_arg: zone "128" with the following non-sleepable locks held:
exclusive sleep mutex CAM device lock (CAM device lock) r = 0 (0xfffffd0000ff64d0) locked @ /usr/src/sys/cam/mmc/mmc_da.c:1554
stack backtrace:
#0 0xffff0000004670d4 at witness_debugger+0x64
#1 0xffff0000004680cc at witness_warn+0x3dc
#2 0xffff0000006b6438 at uma_zalloc_arg+0x44
#3 0xffff0000003da168 at malloc+0x9c
#4 0xffff0000000428d0 at sdda_add_part+0xf4
#5 0xffff000000042628 at sdda_start_init_task+0x1904
#6 0xffff00000045a758 at taskqueue_run_locked+0xe8
#7 0xffff00000045b728 at taskqueue_thread_loop+0x9c
#8 0xffff0000003c0e90 at fork_exit+0x7c
(sdda0:sdhci_slot0:0:0:0): Partition type 'boot1', size 4194304 
uma_zalloc_arg: zone "128" with the following non-sleepable locks held:
exclusive sleep mutex CAM device lock (CAM device lock) r = 0 (0xfffffd0000ff64d0) locked @ /usr/src/sys/cam/mmc/mmc_da.c:1554
stack backtrace:
#0 0xffff0000004670d4 at witness_debugger+0x64
#1 0xffff0000004680cc at witness_warn+0x3dc
#2 0xffff0000006b6438 at uma_zalloc_arg+0x44
#3 0xffff0000003da168 at malloc+0x9c
#4 0xffff0000000428d0 at sdda_add_part+0xf4
#5 0xffff00000004264c at sdda_start_init_task+0x1928
#6 0xffff00000045a758 at taskqueue_run_locked+0xe8
#7 0xffff00000045b728 at taskqueue_thread_loop+0x9c
#8 0xffff0000003c0e90 at fork_exit+0x7c
(sdda0:sdhci_slot0:0:0:0): Partition type 'RPMB', size 4194304 
uma_zalloc_arg: zone "128" with the following non-sleepable locks held:
exclusive sleep mutex CAM device lock (CAM device lock) r = 0 (0xfffffd0000ff64d0) locked @ /usr/src/sys/cam/mmc/mmc_da.c:1554
stack backtrace:
#0 0xffff0000004670d4 at witness_debugger+0x64
#1 0xffff0000004680cc at witness_warn+0x3dc
#2 0xffff0000006b6438 at uma_zalloc_arg+0x44
#3 0xffff0000003da168 at malloc+0x9c
#4 0xffff0000000428d0 at sdda_add_part+0xf4
#5 0xffff00000004267c at sdda_start_init_task+0x1958
#6 0xffff00000045a758 at taskqueue_run_locked+0xe8
#7 0xffff00000045b728 at taskqueue_thread_loop+0x9c
#8 0xffff0000003c0e90 at fork_exit+0x7c
(sdda0:sdhci_slot0:0:0:0): Don't know what to do with RPMB partitions yet
sdda0 at sdhci_slot0 bus 0 scbus0 target 0 lun 0
sdda0: Relative addr: 00000002
Card features: <MMC Memory High-Capacity >
Card memory OCR: 40ff8080
sdda0: Serial Number A5F68B4
(sdda0:sdhci_slot0:0:0:0): m4F60, ...
sdda0: MMCHC NCard  1.7 SN A5F68B42 MFG 05/2002 by 136 0x0003
(sdda0:sdhci_slot0:0:0:0): Partition  0 -> 1
(sdda0:sdhci_slot0:0:0:0): Partition  1 -> 2
(sdda0:sdhci_slot0:0:0:0): Partition  2 -> 0
Mounting from ufs:/dev/mmcsd0s2a failed with error 19.

Loader variables:
  vfs.root.mountfrom=ufs:/dev/mmcsd0s2a
  vfs.root.mountfrom.options=rw,noatime

Manual root filesystem specification:
  <fstype>:<device> [options]
      Mount <device> using filesystem <fstype>
      and with the specified (optional) option list.

    eg. ufs:/dev/da0s1a
        zfs:zroot/ROOT/default
        cd9660:/dev/cd0 ro
          (which is equivalent to: mount -t cd9660 -o ro /dev/cd0 /)

  ?               List valid disk boot devices
  .               Yield 1 second (for background tasks)
  <empty line>    Abort manual input

mountroot> random: unblocking device.
Comment 3 Emmanuel Vadot freebsd_committer 2019-09-17 14:05:30 UTC
This patch is wrong, npll isn't at this offset for parent clock.

from the TRM :
3'b000:CPLL 3'b001:GPLL 3'b010:NPLL 3'b011:PPLL 3'b100:USB_480M 3'b101:xin_24m

SO I guess that u-boot for rockpi set the parent clock to be the 24mhz oscillator.
I have some patch somewhere that add support for the usb clock, I'll try to dig for them and finish it next week.
Comment 4 me 2019-09-17 14:59:01 UTC
Hi Manu,
Thanks for checking this issue, I'm currently can boot into a single user mode using greg's path, but with a lot of suspicious stacktrace log as I've shown in the bug 24066

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240646
Comment 5 me 2019-09-17 15:00:12 UTC
Oh I made a typo in last post, It's bug 240646
Comment 6 Emmanuel Vadot freebsd_committer 2020-09-17 09:32:17 UTC
Fixed now that we have all the clocks.
If it's not the case please reopen this bug.