Bugzilla – Bug 1080449
HiKey 960 fails to find rootfs on SD card - Hi6421 PMU missing
Last modified: 2022-12-23 11:21:56 UTC
Using kernel-default 4.14.15 (or 4.15.1 from Kernel:HEAD) the HiKey 960 boots into our initrd but fails to find the rootfs on SD card.
Adding dw_mmc-k3 module to the dracut initrd does not help.
Possible cause: Hi6421 v530 PMU drivers are missing.
Kconfig patch queued for master branch.
Enabling Hi6421 drivers and adding them to the initrd along with dw_mmc-k3, k3dma and reset-hi3660 gets it to boot into the rootfs.
add_drivers+=" hi6421-pmic-core hi6421v530-regulator reset-hi3660 k3dma dw_mmc-k3 "
It now hangs during udev:
Starting udev Coldplug all Devices...
[ OK ] Started udev Coldplug all Devices.
[ 11.825125] cpu cpu0: failed to get clock: -2
[ 11.829524] cpufreq-dt: probe of cpufreq-dt failed with error -2
[ 11.838453] dwmmc_k3 ff3ff000.dwmmc2: 'num-slots' was deprecated.
[ 11.844565] dwmmc_k3 ff3ff000.dwmmc2: fifo-depth property not found, using value of FIFOTH register as default
[ 11.856736] dwmmc_k3 ff3ff000.dwmmc2: IDMAC supports 64-bit address mode.
[ 11.863644] dwmmc_k3 ff3ff000.dwmmc2: Using internal DMA controller.
[ 11.870015] dwmmc_k3 ff3ff000.dwmmc2: Version ID is 270a
[ 11.875391] dwmmc_k3 ff3ff000.dwmmc2: DW MMC controller at irq 57,32 bit host data width,64 deep fifo
[ 11.884784] mmc_host mmc1: card is non-removable.
This eventually showed up once:
[ 72.886593] INFO: rcu_sched detected stalls on CPUs/tasks:
[ 72.892101] 0-...0: (1 GPs behind) idle=fc2/140000000000000/0 softirq=1219/1222 fqs=3000
[ 72.900362] (detected by 7, t=6002 jiffies, g=79, c=78, q=2984)
[ 72.906368] Task dump for CPU 0:
[ 72.909590] systemd-udevd R running task 0 427 407 0x00000822
[ 72.916639] Call trace:
[ 72.919091] __switch_to+0x94/0xd8
[ 72.922489] 0xffff8000bb458568
That appears to match https://bugs.96boards.org/show_bug.cgi?id=703 behavior.
If I override the DT with dtb-hisilicon 4.15.1 hi3660-hikey960.dtb then the CPU and MMC messages don't appear, but it still hangs during udev.
With upstream .dtb at latest 4.20 has been booting.