Skip to content

orangepi5p 连通 USB 驱动#40

Merged
ZR233 merged 8 commits intodrivercraft:mainfrom
yueneiqi:develop
Nov 26, 2025
Merged

orangepi5p 连通 USB 驱动#40
ZR233 merged 8 commits intodrivercraft:mainfrom
yueneiqi:develop

Conversation

@yueneiqi
Copy link
Contributor

@yueneiqi yueneiqi commented Nov 25, 2025

变更概览

  • 基于 rockchip-pm:为 RK3588 引入 USB 电源域 PD_USB(ID 31)和 电源域 PD_PHP(ID 32)。
  • usb-host/tests/test.rs 引入 rockchip-pm,遍历设备树时仅保留 dr_mode=host 控制器,并在测试启动前自动上电 RK3588 USB/PHP 域、拉起 vcc5v0_host GPIO、强制 USB2/USB3 PHY 退出休眠、解除相关 CRU 复位,避免 OTG 口/掉电导致的枚举失败。
  • 其它杂项:为 usb-host 增加依赖声明,若干导入顺序与格式整理(UVC/键盘测试等)。

测试

  • 在 orangepi5p 上运行,在 uboot 的启动命令中加入 usb start后,检测到两个 USB 端口,后续卡在 WaitMap 处:
💡 14.473s    [crab_usb::backend::xhci:250] Port 0: Enabled: true, Connected: true, Speed 3, Power true
💡 14.474s    [crab_usb::backend::xhci:250] Port 1: Enabled: true, Connected: true, Speed 4, Power true
🐛 14.475s    [crab_usb::backend::xhci::root:528] New device on port 0
🔍 14.476s    [crab_usb::backend::xhci::ring:85] [CMD] >> EnableSlot(EnableSlot { slot_type: 0, cycle_bit: true }) @BusAddr(23)
🔍 14.477s    [usb_if::transfer::wait:73] WaitMap: try_wait_for_result called with id 23F1000, elem@0xffff9003ffe10000 false
  • 完整的 uboot bootcmd:
setenv bootcmd 'echo "Loading Kernel and DTB from TFTP..."; \
  setenv kernel_addr_r 0x02000000; \
  setenv fdt_addr_r 0x12000000; \
  pci enum; \
  mmc dev 1; \
  mmc part; \
  usb start; \
  tftp ${kernel_addr_r} Uimage; \
  tftp ${fdt_addr_r} rk3588-orangepi-5-plus.dtb; \
  bootm ${kernel_addr_r} - ${fdt_addr_r}'
  • 完整的日志:

U-Boot SPL 2025.10-00002-g6deb7e9d65a3-dirty (Oct 19 2025 - 19:27:24 +0800)
Trying to boot from SPI
## Checking hash(es) for config config-1 ... OK
## Checking hash(es) for Image atf-1 ... sha256+ OK
## Checking hash(es) for Image u-boot ... sha256+ OK
## Checking hash(es) for Image fdt-1 ... sha256+ OK
## Checking hash(es) for Image atf-2 ... sha256+ OK
## Checking hash(es) for Image atf-3 ... sha256+ OK
INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-924-gbc6030fac:derrick.huang, fwver: v1.51
NOTICE:  BL31: Built : 17:48:01, Apr 25 2025
INFO:    spec: 0x1
INFO:    code: 0x88
INFO:    customer demand: 0x0
INFO:    ext 32k is valid
INFO:    ddr: stride-en 4CH
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    valid_cpu_msk=0xff bcore0_rst = 0x0, bcore1_rst = 0x0
INFO:    l3 cache partition cfg-0
INFO:    system boots from cpu-hwid-0
INFO:    bypass memory repair
INFO:    idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001
INFO:    dfs DDR fsp_params[0].freq_mhz= 2400MHz
INFO:    dfs DDR fsp_params[1].freq_mhz= 534MHz
INFO:    dfs DDR fsp_params[2].freq_mhz= 1320MHz
INFO:    dfs DDR fsp_params[3].freq_mhz= 1968MHz
INFO:    BL31: Initialising Exception Handling Framework
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will retuK
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0xa00000
INFO:    SPSR = 0x3c9


U-Boot 2025.10-00002-g6deb7e9d65a3-dirty (Oct 19 2025 - 19:27:24 +0800)

Model: Xunlong Orange Pi 5 Plus
SoC:   RK3588
DRAM:  16 GiB
Core:  362 devices, 32 uclasses, devicetree: separate
WDT:   Not starting watchdog@feaf0000
MMC:   mmc@fe2c0000: 1, mmc@fe2e0000: 0
Loading Environment from MMC... Reading from MMC(0)... OK
In:    serial@feb50000
Out:   serial@feb50000
Err:   serial@feb50000
Model: Xunlong Orange Pi 5 Plus
SoC:   RK3588
Net:   No ethernet found.
Hit any key to stop autoboot: 0
Loading Kernel and DTB from TFTP...
pcie_dw_rockchip pcie@fe150000: PCIe-4 Link Fail
pcie_dw_rockchip pcie@fe170000: PCIe-5 Link Fail
switch to partitions #0, OK
mmc1 is current device

Partition Map for mmc device 1  --   Parttion Type: EFI

Part    Start LBA       End LBA         Name
        Attributes
        Type GUID
        Partition GUID
  1     0x00002000      0x00081fff      "boot"
        attrs:  0x0000000000000000
        type:   0596e835-726c-4681-b5c0-64922113ee41
        guid:   e550d250-c41f-4822-d34d-684b22dc8081
  2     0x00082000      0x03b723de      "root"
        attrs:  0x0000000000000000
        type:   a265301e-e63e-47ee-f394-da487e3a05b0
        guid:   e52b7079-f723-46c3-f869-4c05690bf3a5
starting USB...
USB EHCI 1.00
USB OHCI 1.0
USB EHCI 1.00
USB OHCI 1.0
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
Bus usb@fc800000: 1 USB Device(s) found
Bus usb@fc840000: 1 USB Device(s) found
Bus usb@fc88000: 1 USB Device(s) found
Bus us000: 1 USB Device(s) found
Bus 0: 3 USB Device(s) found
      anning usb for storage devices..Device(s) found

Warning: eth_rtl8169 MAC addresses don't match:
Address in DT is                c0:74:2b:fa:25:d4
Address in environment is       de:64:9e:cf:bb:72
Using eth_rtl8169 device
TFTP from server 192.168.1.100; our IP address is 192.168.1.10
Filename 'Uimage'.
Load address: 0x2000000
Loading: #################################################################
         ##############################################
         3.8 MiB/s
done
Bytes transferred = 1618176 (18b100 hex)
Using eth_rtl8169 device
TFTP from server 192.168.1.100; our IP address is 192.168.1.10
Filename 'rk3588-orangepi-5-plus.dtb'.
Load address: 0x12000000
Loading: ####################
         3.3 MiB/s
done
Bytes transferred = 280066 (44602 hex)
## Booting kernel from Legacy Image at 02000000 ...
   Image Name:
   Image Type:   AArch64 Linux Kernel Image (uncompressed)
   Data Size:    1618112 Bytes = 1.5 MiB
   Load Address: 02000000
   Entry Point:  02000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 12000000
   Booting using the fdt blob at 0x12000000
Working FDT set to 12000000
   Loading Kernel Image to 2000000
   Loading Device Tree to 00000000ecb89000, end 00000000ecbd0601 ... OK
Working FDT set to ecb89000

Starting kernel ...

fdt                     : 0xecb89000
EL                      : 1
_start                  : 0xffff800000000000
stack                   : 0xffff8000001cc000
loader                  : [0x2179000, 0x21893c0)
BootTable space         : [0x2212000 --)
code                    : [0xffff800000000000, 0xffff800020000000) -> [0x2000000, 0x22000000)
ram                     : 0xffff900000200000-> 0x200000
ram                     : 0xffff900100000000-> 0x100000000
ram                     : 0xffff9003fc500000-> 0x3fc500000
ram                     : 0xffff9004f0000000-> 0x4f0000000
debug                   : 0xffff9000feb50000-> 0xfeb50000
eq                      : [0x0, 0x8000000000)
Table                   : 0x0000000002212000
Table size              : 0xc000
jump to                 : 0xffff8000000bf650
SomeHAL booting...
Power management method : SMC
CPU 0x100 stack: [0x000000000221f000, 0x000000000225f000)
CPU 0x200 stack: [0x000000000225f000, 0x000000000229f000)
CPU 0x300 stack: [0x000000000229f000, 0x00000000022df000)
CPU 0x400 stack: [0x00000000022df000, 0x000000000231f000)
CPU 0x500 stack: [0x000000000231f000, 0x000000000235f000)
CPU 0x600 stack: [0x000000000235f000, 0x000000000239f000)
CPU 0x700 stack: [0x000000000239f000, 0x00000000023df000)
Goto main...
FDT at 0x21cd000
boot regions:
  [ram             ] [0x200000, 0xf0000000)     Ram     Normal  RWX
  [reserved        ] [0x200000, 0x2000000)      Reserved        Normal  RWX
  [.text           ] [0x2001000, 0x2149000)     KImage  Normal  R-X
  [.rodata         ] [0x2149000, 0x218a000)     KImage  Normal  R-X
  [.data           ] [0x218a000, 0x218c000)     KImage  Normal  RWX
  [.stack0         ] [0x218c000, 0x21cc000)     KImage  PerCpu  RWX
  [.bss            ] [0x21cc000, 0x21cd000)     KImage  Normal  RWX
  [embedded loader ] [0x21cd000, 0x221f000)     KImage  Normal  RWX
  [reserved        ] [0x221f000, 0x23df000)     Reserved        Normal  RWX
  [reserved        ] [0xa100000, 0xa145000)     Reserved        Normal  RWX
  [reserved        ] [0xa200040, 0xb65f000)     Reserved        Normal  RWX
  [debug           ] [0xfeb50000, 0xfeb51000)   Mmio    Device  RW-
  [ram             ] [0x100000000, 0x3fc000000) Ram     Normal  RWX
  [ram             ] [0x3fc500000, 0x3fff00000) Ram     Normal  RWX
  [ram             ] [0x4f0000000, 0x500000000) Ram     Normal  RWX
Kernel starting...
init tmp page table...
page table allocator 0x6280000, 0xa100000
map boot regions...
  [ram             ] [0xffff900000200000, 0xffff9000f0000000) -> [0x200000, 0xf0000000),        RWX,    Normal
  [reserved        ] [0xffff900000200000, 0xffff900002000000) -> [0x200000, 0x2000000), RWX,    Normal
  [.text           ] [0xffff800000001000, 0xffff800000149000) -> [0x2001000, 0x2149000),        R-X,    Normal
  [.rodata         ] [0xffff800000149000, 0xffff80000018a000) -> [0x2149000, 0x218a000),        R-X,    Normal
  [.data           ] [0xffff80000018a000, 0xffff80000018c000) -> [0x218a000, 0x218c000),        RWX,    Normal
  [.stack0         ] [0xffff80000018c000, 0xffff8000001cc000) -> [0x218c000, 0x21cc000),        RWX,    PerCpu
  [.bss            ] [0xffff8000001cc000, 0xffff8000001cd000) -> [0x21cc000, 0x21cd000),        RWX,    Normal
  [embedded loader ] [0xffff8000001cd000, 0xffff80000021f000) -> [0x21cd000, 0x221f000),        RWX,    Normal
  [reserved        ] [0xffff90000221f000, 0xffff9000023df000) -> [0x221f000, 0x23df000),        RWX,    Normal
  [reserved        ] [0xffff90000a100000, 0xffff90000a145000) -> [0xa100000, 0xa145000),        RWX,    Normal
  [reserved        ] [0xffff90000a200000, 0xffff90000b65f000) -> [0xa200000, 0xb65f000),        RWX,    Normal
  [debug           ] [0xffff9000feb50000, 0xffff9000feb51000) -> [0xfeb50000, 0xfeb51000),      RW-,    Device
  [ram             ] [0xffff900100000000, 0xffff9003fc000000) -> [0x100000000, 0x3fc000000),    RWX,    Normal
  [ram             ] [0xffff9003fc500000, 0xffff9003fff00000) -> [0x3fc500000, 0x3fff00000),    RWX,    Normal
  [ram             ] [0xffff9004f0000000, 0xffff900500000000) -> [0x4f0000000, 0x500000000),    RWX,    Normal
Table: PageTableRef { id: 0, addr: 0x6280000 }
heap add memory [0xffff9000023df000, 0xffff900006280000)
heap initialized
init page table...
map boot regions...
  [ram             ] [0xffff900000200000, 0xffff9000f0000000) -> [0x200000, 0xf0000000),        RWX,    Normal
  [reserved        ] [0xffff900000200000, 0xffff900002000000) -> [0x200000, 0x2000000), RWX,    Normal
  [.text           ] [0xffff800000001000, 0xffff800000149000) -> [0x2001000, 0x2149000),        R-X,    Normal
  [.rodata         ] [0xffff800000149000, 0xffff80000018a000) -> [0x2149000, 0x218a000),        R-X,    Normal
  [.data           ] [0xffff80000018a000, 0xffff80000018c000) -> [0x218a000, 0x218c000),        RWX,    Normal
  [.stack0         ] [0xffff80000018c000, 0xffff8000001cc000) -> [0x218c000, 0x21cc000),        RWX,    PerCpu
  [.bss            ] [0xffff8000001cc000, 0xffff8000001cd000) -> [0x21cc000, 0x21cd000),        RWX,    Normal
  [embedded loader ] [0xffff8000001cd000, 0xffff80000021f000) -> [0x21cd000, 0x221f000),        RWX,    Normal
  [reserved        ] [0xffff90000221f000, 0xffff9000023df000) -> [0x221f000, 0x23df000),        RWX,    Normal
  [reserved        ] [0xffff90000a100000, 0xffff90000a145000) -> [0xa100000, 0xa145000),        RWX,    Normal
  [reserved        ] [0xffff90000a200000, 0xffff90000b65f000) -> [0xa200000, 0xb65f000),        RWX,    Normal
  [debug           ] [0xffff9000feb50000, 0xffff9000feb51000) -> [0xfeb50000, 0xfeb51000),      RW-,    Device
  [ram             ] [0xffff900100000000, 0xffff9003fc000000) -> [0x100000000, 0x3fc000000),    RWX,    Normal
  [ram             ] [0xffff9003fc500000, 0xffff9003fff00000) -> [0x3fc500000, 0x3fff00000),    RWX,    Normal
  [ram             ] [0xffff9004f0000000, 0xffff900500000000) -> [0x4f0000000, 0x500000000),    RWX,    Normal
Table: PageTableRef { id: 0, addr: 0x23df000 }
expand heap [0xffff900006280000, 0xffff90000a100000)
Heap add memory [0xffff900100000000, 0xffff9003fc000000)
Heap add memory [0xffff9003fc500000, 0xffff9003fff00000)
Heap add memory [0xffff9004f0000000, 0xffff900500000000)

     _____                                         __
                                                         / ___/ ____   ____ _ _____ _____ ___   ____ _ / /
                                                                                                              \__ \ / __ \ / _




Version                       : 0.12.2
Platfrom                      : RK3588 OPi 5 Plus
Start CPU                     : 0x0
FDT                           : 0xffff9000021cd000
🐛 0.000ns    [sparreal_kernel::driver:16] add registers
🐛 0.000ns    [rdrive::probe::fdt:168] Probe [interrupt-controller@fe600000]->[GICv3]
🐛 0.000ns    [somehal::arch::mem::mmu:181] Map `iomap       `: RW- | [0xffff9000fe600000, 0xffff9000fe610000) -> [0xfe600000,)🐛 0.000ns    [somehal::arch::mem::mmu:181] Map `iomap       `: RW- | [0xffff9000fe680000, 0xffff9000fe780000) -> [0xfe680000,)🐛 0.000ns    [rdrive::probe::fdt:168] Probe [timer]->[ARMv8 Timer]
🐛 0.000ns    [sparreal_rt::arch::timer:78] ARMv8 Timer IRQ: IrqConfig { irq: 0x1e, trigger: LevelHigh, is_private: true }
🐛 0.000ns    [rdrive::probe::fdt:168] Probe [psci]->[ARM PSCI]
🐛 0.000ns    [sparreal_rt::arch::power:76] PCSI [Smc]
🐛 0.000ns    [sparreal_kernel::irq:39] [GICv3](405) open
🔍 0.000ns    [arm_gic_driver::version::v3:342] Initializing GICv3 Distributor@0xffff9000fe600000, security state: NonSecure...
🔍 0.000ns    [arm_gic_driver::version::v3:356] GICv3 Distributor disabled
🔍 0.000ns    [arm_gic_driver::version::v3:865] CPU interface initialization for CPU: 0x0
🔍 0.000ns    [arm_gic_driver::version::v3:921] CPU interface initialized successfully
🐛 0.000ns    [sparreal_kernel::irq:64] [GICv3](405) init cpu: CPUHardId(0)
🐛 0.000ns    [sparreal_rt::arch::timer:30] ARMv8 Timer: Enabled
🐛 16.540s    [sparreal_kernel::irq:136] Enable irq 0x1e on chip 405
🐛 16.540s    [sparreal_kernel::hal_al::run:33] Driver initialized
🐛 17.102s    [rdrive:132] probe pci devices
begin test
Run test: test_all
🐛 17.245s    [test::tests:299] skip usb@fc000000 because dr_mode=otg
usb node: usb@fc400000
usb regs: [<0xfc400000, 0x400000>]
🐛 17.335s    [test::tests:369] power-domains for usb@fc400000: ctrl=0x61, domai
🐛 17.365s    [somehal::arch::mem::mmu:181] Map `iomap       `: RW- | [0xffff9000fd8d8000, 0xffff9000fd8d9000) -> [0xfd8d8000,)💡 17.367s    [test::tests:423] enabled rk3588 PD(31) power domain
💡 17.367s    [test::tests:423] enabled rk3588 PD(32) power domain
🐛 17.569s    [somehal::arch::mem::mmu:181] Map `iomap       `: RW- | [0xffff9000fec40000, 0xffff9000fec41000) -> [0xfec40000,)💡 17.570s    [test::tests:498] vcc5v0_host enabled via gpio ctrl phandle 0x10e, pin 15
🐛 17.599s    [somehal::arch::mem::mmu:181] Map `iomap       `: RW- | [0xffff9000fd5d0000, 0xffff9000fd5d4000) -> [0xfd5d0000,)💡 17.600s    [test::tests:543] usb2phy-grf syscon@fd5d0000 active (CON3 suspend override set)
🐛 17.628s    [somehal::arch::mem::mmu:181] Map `iomap       `: RW- | [0xffff9000fd5c8000, 0xffff9000fd5cc000) -> [0xfd5c8000,)💡 17.630s    [test::tests:580] usbdpphy-grf syscon@fd5c8000 active (CON3 override/powerdown cleared)
🐛 17.659s    [somehal::arch::mem::mmu:181] Map `iomap       `: RW- | [0xffff9000fd7c0000, 0xffff9000fd81c000) -> [0xfd7c0000,)🐛 17.661s    [somehal::arch::mem::mmu:181] Map `iomap       `: RW- | [0xffff9000fc400000, 0xffff9000fc800000) -> [0xfc400000,)🐛 17.790s    [sparreal_kernel::irq:136] Enable irq 0xfd on chip 405
🐛 17.791s    [crab_usb::backend::xhci:203] Extended capabilities: 3
🐛 17.792s    [crab_usb::backend::xhci:215] legacy init
🐛 17.892s    [crab_usb::backend::xhci:228] claimed ownership from BIOS
🐛 17.893s    [crab_usb::backend::xhci:130] Reset begin ...
🐛 17.894s    [crab_usb::backend::xhci:139] Halted
🐛 17.895s    [crab_usb::backend::xhci:141] Wait for ready...
🐛 17.895s    [crab_usb::backend::xhci:145] Ready
🐛 17.896s    [crab_usb::backend::xhci:151] Reset HC
🐛 17.897s    [crab_usb::backend::xhci:157] Reset finish
🐛 17.897s    [crab_usb::backend::xhci:175] Max device slots: 64
🐛 17.900s    [crab_usb::backend::xhci::root:123] Disable interrupts
🐛 17.901s    [crab_usb::backend::xhci::root:99] DCBAAP: 23F4000
🐛 17.902s    [crab_usb::backend::xhci::root:109] CRCR: 23F1000
🐛 17.902s    [crab_usb::backend::xhci::root:143] ERDP: 23f2000
🐛 17.903s    [crab_usb::backend::xhci::root:151] ERSTZ: 1
🐛 17.904s    [crab_usb::backend::xhci::root:153] ERSTBA: 23F3000
🐛 17.905s    [crab_usb::backend::xhci::root:165] Enabling primary interrupter.
🐛 17.905s    [crab_usb::backend::xhci::root:193] Scratch buf count: 1
🐛 17.906s    [crab_usb::backend::xhci::root:205] Setting up 1 scratchpads, at 0x23f3040
🐛 17.907s    [crab_usb::backend::xhci::root:218] Start run
💡 17.958s    [crab_usb::backend::xhci::root:483] Running
🐛 18.059s    [crab_usb::backend::xhci::root:129] Enable interrupts
🐛 18.060s    [crab_usb::backend::xhci::root:283] Port 0 start reset
🐛 18.060s    [crab_usb::backend::xhci::root:283] Port 1 start reset
🐛 18.112s    [crab_usb::backend::xhci::root:319] Port 0 reset completed, checking status
🐛 18.113s    [crab_usb::backend::xhci::root:321] Port 0 status after reset: enabled=true, connected=true, speed=3
🐛 18.115s    [crab_usb::backend::xhci::root:319] Port 1 reset completed, checking status
🐛 18.116s    [crab_usb::backend::xhci::root:321] Port 1 status after reset: enabled=true, connected=true, speed=4
💡 18.218s    [test::tests:45] usb host init ok
💡 18.218s    [test::tests:46] usb cmd test
💡 18.219s    [crab_usb::backend::xhci:250] Port 0: Enabled: true, Connected: true, Speed 3, Power true
💡 18.220s    [crab_usb::backend::xhci:250] Port 1: Enabled: true, Connected: true, Speed 4, Power true
🐛 18.221s    [crab_usb::backend::xhci::root:528] New device on port 0
🔍 18.222s    [crab_usb::backend::xhci::ring:85] [CMD] >> EnableSlot(EnableSlot { slot_type: 0, cycle_bit: true }) @BusAddr(23)
🔍 18.223s    [usb_if::transfer::wait:73] WaitMap: try_wait_for_result called with id 23F1000, elem@0xffff9003ffe10000 false

这个 PR(拉取请求)主要是使用 gpt-5.1-codex-max 通过 Codex 编写的,随后由我进行了人工复核。我对本 PR 中的所有更改负完全责任。我已尽力确保其符合我们的目标,但可能仍有一些细微的疏漏。如果发现任何不妥之处,请指出来,我会尽快修复。

@yueneiqi yueneiqi changed the title Develop orangepi5p 连通 USB Nov 25, 2025
@yueneiqi yueneiqi changed the title orangepi5p 连通 USB orangepi5p 连通 USB 驱动 Nov 25, 2025
@ZR233
Copy link
Member

ZR233 commented Nov 25, 2025

您可以将rockchip-pm相关改动,pr到 https://github.com/drivercraft/rockchip-pm

@yueneiqi
Copy link
Contributor Author

您可以将rockchip-pm相关改动,pr到 https://github.com/drivercraft/rockchip-pm

之前没有找到这个仓库,当前的改动 0.3.3 版本里都有了,我已更新当前 PR,基于 rockchip-pm 0.3.3 来调用PMU,无需额外改动rockchip-pm。

@ZR233 ZR233 marked this pull request as ready for review November 26, 2025 01:32
@ZR233 ZR233 merged commit 643d08c into drivercraft:main Nov 26, 2025
1 check passed
yueneiqi added a commit to yueneiqi/CrabUSB that referenced this pull request Nov 27, 2025
* test(rk3588): power on usb domain via rockchip-pm

* test(rk3588): enable usb/php power domains with logging

* test(rk3588): enable vcc5v0_host regulator gpio

* test(rk3588): force usb2/usb3 phys out of suspend

* test(rk3588): add reset deassert and stricter pmu lookup

* chore: format uvc test helpers

* test(rk3588): skip non-host dr_mode and resolve pmu by phandle

* test(rk3588): use rockchip-pm 0.3.3 instead
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants