Rock5C power issues

I have a new Rock-5C 32G RAM (Linux rock-5c 5.10.110-38-rockchip updated from image rock-5c_debian_bullseye_cli_b3.img.xz) with NVM 2TB in HAT.
I have tried several 65W power supplies (with PD) and custom variable regulators. After a couple of hours I get I/O errors like in the pictures and
rockchip-pm-domain vop-supply
I have tried to give overvoltage on the Usb-C port and measuer 5.1V on the rock-5c 5V-gnd pins (on the side of usb-c port).
Is Rock-5C even able to support NVME on HAT? It seems RK806-1 is not able to cope with the power requirements.

Hi, @lucasgz

Can you take a picture of your setup? You mentioned you have a 2TB NVMe in HAT, but it seems the kernel detects a USB device.

Hi Jack, thanks for replying.


The project is for Ether validator so I have a HAT nvme and a USB hub with it’s own power supply (common ground different vdd) so it does not draw power from rock’s usb.
This is the current setup. I have tested with 65W PD chargers with bad results, so now it’s connected to GPIO with 12V60W and variable 5V-8A supply on the left. I put the shorted widest cables I had and currently only 5mv of drop into the gpio, as to discard V drop on power surges.
As I understand the 2&4 pins go to the RK806-1 regulator. I wonder if this can take more than 5V? Rock5B seems to take up to 20V but not sure about 5C.

I believe there are 2 possible issues:

  1. The M.2 HAT seems to drop the 5V voltage to 4.4V from time to time, measured with multimeter. I have ordered a new HAT with split 5V connector supply. From smartctl -a the SN570 seems to take max 4.4W

  2. I had another post with memory issues (cmd_alloc error Rock-5C 32Gb RAM). After setting DMA I haven’t seen cmd_alloc errors but maybe 400M it’s not the right amount or something else needs configuration.

rock@rock-5c:~$ vgmounted
/dev/mapper/vg_m2_wd_nvm-eth1_nvm on /eth1 type ext4 (rw,noatime)
/dev/mapper/vg_wd_hdd1-wd_hdd1 on /eth2 type ext4 (rw,noatime)
rock@rock-5c:~$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=16059636k,nr_inodes=4014909,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=3255884k,mode=755)
/dev/mmcblk1p3 on / type ext4 (rw,relatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13416)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
systemd-1 on /boot/efi type autofs (rw,relatime,fd=52,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=29850)
systemd-1 on /config type autofs (rw,relatime,fd=54,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=29853)
/dev/mapper/vg_m2_wd_nvm-eth1_nvm on /eth1 type ext4 (rw,noatime)
/dev/mmcblk1p1 on /config type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=936,iocharset=utf8,shortname=mixed,errors=remount-ro,x-systemd.automount)
/dev/mapper/vg_wd_hdd1-wd_hdd1 on /eth2 type ext4 (rw,noatime)
tmpfs on /run/user/1001 type tmpfs (rw,nosuid,nodev,relatime,size=3255880k,nr_inodes=813970,mode=700,uid=1001,gid=1001)
/dev/mmcblk1p2 on /boot/efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=936,iocharset=utf8,shortname=mixed,errors=remount-ro,x-systemd.automount)
rock@rock-5c:~$ uname -a
Linux rock-5c 5.10.110-38-rockchip #7a04ba0ad SMP Wed Jun 19 11:54:45 UTC 2024 aarch64 GNU/Linux
rock@rock-5c:~$ for x in /sys/devices/iio_sysfs_trigger/subsystem/devices/iio:device0/in_voltage* ; do echo “$x : $(cat $x)”; done
/sys/devices/iio_sysfs_trigger/subsystem/devices/iio:device0/in_voltage0_raw : 4072
/sys/devices/iio_sysfs_trigger/subsystem/devices/iio:device0/in_voltage1_raw : 4089
/sys/devices/iio_sysfs_trigger/subsystem/devices/iio:device0/in_voltage2_raw : 13
/sys/devices/iio_sysfs_trigger/subsystem/devices/iio:device0/in_voltage3_raw : 4
/sys/devices/iio_sysfs_trigger/subsystem/devices/iio:device0/in_voltage4_raw : 2042
/sys/devices/iio_sysfs_trigger/subsystem/devices/iio:device0/in_voltage5_raw : 2398
/sys/devices/iio_sysfs_trigger/subsystem/devices/iio:device0/in_voltage6_raw : 1924
/sys/devices/iio_sysfs_trigger/subsystem/devices/iio:device0/in_voltage7_raw : 1712
/sys/devices/iio_sysfs_trigger/subsystem/devices/iio:device0/in_voltage_scale : 0.439453125
rock@rock-5c:~$ ./temp.sh
/sys/class/thermal/thermal_zone0/temp 36076
/sys/class/thermal/thermal_zone1/temp 36076
/sys/class/thermal/thermal_zone2/temp 36076
/sys/class/thermal/thermal_zone3/temp 36076
/sys/class/thermal/thermal_zone4/temp 35153
/sys/class/thermal/thermal_zone5/temp 35153
/sys/class/thermal/thermal_zone6/temp 35153
rock@rock-5c:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 16G 0 16G 0% /dev
tmpfs 3.2G 1.7M 3.2G 1% /run
/dev/mmcblk1p3 57G 3.4G 52G 7% /
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/mapper/vg_m2_wd_nvm-eth1_nvm 1.8T 559G 1.2T 33% /eth1
/dev/mmcblk1p1 16M 3.0K 16M 1% /config
/dev/mapper/vg_wd_hdd1-wd_hdd1 1.8T 805G 935G 47% /eth2
tmpfs 3.2G 4.0K 3.2G 1% /run/user/1001
/dev/mmcblk1p2 300M 4.0K 300M 1% /boot/efi
rock@rock-5c:~$
rock@rock-5c:~$
rock@rock-5c:~$ cat /etc/kernel/cmdline
console=ttyFIQ0,1500000n8 quiet splash loglevel=4 rw earlycon consoleblank=0 console=tty1 coherent_pool=2M irqchip.gicv3_pseudo_nmi=0 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 cma=409M

rock@rock-5c:~$ sudo dmesg | grep -i pci
[sudo] password for rock:
[ 11.960153] PCI/MSI: /interrupt-controller@fe600000/msi-controller@fe640000 domain created
[ 11.960177] PCI/MSI: /interrupt-controller@fe600000/msi-controller@fe660000 domain created
[ 12.048519] vcc3v3_pcie: 3300 mV, disabled
[ 12.048572] reg-fixed-voltage vcc3v3-pcie: Looking up vin-supply from device tree
[ 12.048576] vcc3v3_pcie: supplied by vcc5v0_sys
[ 12.048607] reg-fixed-voltage vcc3v3-pcie: vcc3v3_pcie supplying 3300000uV
[ 12.443199] PCI: CLS 0 bytes, default 64
[ 12.692171] rk-pcie fe190000.pcie: invalid prsnt-gpios property in node
[ 12.692181] rk-pcie fe190000.pcie: Looking up vpcie3v3-supply from device tree
[ 12.697811] rk-pcie fe190000.pcie: missing legacy IRQ resource
[ 12.697829] rk-pcie fe190000.pcie: IRQ msi not found
[ 12.697857] rk-pcie fe190000.pcie: use outband MSI support
[ 12.697863] rk-pcie fe190000.pcie: Missing config reg space
[ 12.697896] rk-pcie fe190000.pcie: host bridge /pcie@fe190000 ranges:
[ 12.697934] rk-pcie fe190000.pcie: err 0x00f4000000…0x00f40fffff -> 0x00f4000000
[ 12.697952] rk-pcie fe190000.pcie: IO 0x00f4100000…0x00f41fffff -> 0x00f4100000
[ 12.697969] rk-pcie fe190000.pcie: MEM 0x00f4200000…0x00f4ffffff -> 0x00f4200000
[ 12.697982] rk-pcie fe190000.pcie: MEM 0x0a00000000…0x0a3fffffff -> 0x0a00000000
[ 12.698017] rk-pcie fe190000.pcie: Missing config reg space
[ 12.698058] rk-pcie fe190000.pcie: invalid resource
[ 12.902915] rk-pcie fe190000.pcie: PCIe Linking… LTSSM is 0x3
[ 12.985123] rk-pcie fe190000.pcie: PCIe Link up, LTSSM is 0x130011
[ 12.985284] rk-pcie fe190000.pcie: PCI host bridge to bus 0004:40
[ 12.985294] pci_bus 0004:40: root bus resource [bus 40-4f]
[ 12.985303] pci_bus 0004:40: root bus resource [??? 0xf4000000-0xf40fffff flags 0x0]
[ 12.985317] pci_bus 0004:40: root bus resource [io 0x0000-0xfffff] (bus address [0xf4100000-0xf41fffff])
[ 12.985324] pci_bus 0004:40: root bus resource [mem 0xf4200000-0xf4ffffff]
[ 12.985331] pci_bus 0004:40: root bus resource [mem 0xa00000000-0xa3fffffff pref]
[ 12.985371] pci 0004:40:00.0: [1d87:3588] type 01 class 0x060400
[ 12.985397] pci 0004:40:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[ 12.985467] pci 0004:40:00.0: supports D1 D2
[ 12.985474] pci 0004:40:00.0: PME# supported from D0 D1 D3hot
[ 12.996489] pci 0004:40:00.0: Primary bus is hard wired to 0
[ 12.996497] pci 0004:40:00.0: bridge configuration invalid ([bus 01-ff]), reconfiguring
[ 12.996712] pci 0004:41:00.0: [15b7:5025] type 00 class 0x010802
[ 12.996790] pci 0004:41:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit]
[ 12.997291] pci 0004:41:00.0: 4.000 Gb/s available PCIe bandwidth, limited by 5.0 GT/s PCIe x1 link at 0004:40:00.0 (capable of 31.504 Gb/s with 8.0 GT/s PCIe x4 link)
[ 13.015756] pci_bus 0004:41: busn_res: [bus 41-4f] end is updated to 41
[ 13.015784] pci 0004:40:00.0: BAR 8: assigned [mem 0xf4200000-0xf42fffff]
[ 13.015794] pci 0004:40:00.0: BAR 6: assigned [mem 0xf4300000-0xf430ffff pref]
[ 13.015807] pci 0004:41:00.0: BAR 0: assigned [mem 0xf4200000-0xf4203fff 64bit]
[ 13.015847] pci 0004:40:00.0: PCI bridge to [bus 41]
[ 13.015856] pci 0004:40:00.0: bridge window [mem 0xf4200000-0xf42fffff]
[ 13.018961] pcieport 0004:40:00.0: PME: Signaling with IRQ 108
[ 13.073062] nvme nvme0: pci function 0004:41:00.0
[ 13.251853] ehci-pci: EHCI PCI platform driver
[ 13.606433] rockchip-pm-domain fd8d8000.power-management:power-controller: Looking up pcie-supply from device tree
[ 13.606460] rockchip-pm-domain fd8d8000.power-management:power-controller: Looking up pcie-supply property in node /power-management@fd8d8000/power-controller failed

thanks
br
Lucas