<!-- Generated by tools/gen_doc.py - do not edit. -->

### ci rig

27 boards, from `test/hil/tinyusb.json`.

| Board                    | Roles              | Flasher   | Variants                                               | Note                                                                                                                                                                   |
|--------------------------|--------------------|-----------|--------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| frdm_k64f                | host               | jlink     |                                                        |                                                                                                                                                                        |
| ek_tm4c123gxl            | device             | lm4flash  |                                                        |                                                                                                                                                                        |
| espressif_p4_function_ev | device, host       | esptool   | espressif_p4_function_ev, espressif_p4_function_ev-DMA | Use TS3USB30 mux to test both device and host                                                                                                                          |
| espressif_s3_devkitm     | device, host       | esptool   | espressif_s3_devkitm, espressif_s3_devkitm-DMA         | Use TS3USB30 mux to test both device and host                                                                                                                          |
| feather_nrf52840_express | device             | jlink     |                                                        |                                                                                                                                                                        |
| max32666fthr             | device             | openocd   |                                                        |                                                                                                                                                                        |
| metro_m4_express         | device, dual       | jlink     | metro_m4_express                                       | pl23x; audio_test_freertos skipped: samd51 iso-IN capture fails (arecord EIO)                                                                                          |
| lpcxpresso11u37          | device             | jlink     |                                                        |                                                                                                                                                                        |
| lpcxpresso55s28          | device             | jlink     |                                                        |                                                                                                                                                                        |
| ra4m1_ek                 | device             | jlink     |                                                        |                                                                                                                                                                        |
| raspberry_pi_pico        | device, host, dual | openocd   | raspberry_pi_pico                                      |                                                                                                                                                                        |
| raspberry_pi_pico_w      | host               | openocd   |                                                        | Test native host                                                                                                                                                       |
| raspberry_pi_pico2       | host               | openocd   |                                                        |                                                                                                                                                                        |
| adafruit_fruit_jam       | device, host, dual | openocd   |                                                        |                                                                                                                                                                        |
| stm32f072disco           | device             | jlink     |                                                        | 2x16 access scheme with 1KB USB SRAM                                                                                                                                   |
| stm32f407disco           | device             | jlink     |                                                        |                                                                                                                                                                        |
| stm32f723disco           | device, host       | jlink     | stm32f723disco, stm32f723disco-DMA                     | Device port0 FS (slave only), Host port1 HS with DMA                                                                                                                   |
| stm32h743nucleo          | device             | stlink    | stm32h743nucleo, stm32h743nucleo-DMA                   |                                                                                                                                                                        |
| stm32g0b1nucleo          | device             | stlink    |                                                        | 32-bit scheme, 2KB USB SRAM                                                                                                                                            |
| stm32l476disco           | device             | jlink     |                                                        |                                                                                                                                                                        |
| stm32u083nucleo          | device             | stlink    |                                                        |                                                                                                                                                                        |
| nanoch32v203             | device             | openocd   | nanoch32v203-fsdev, nanoch32v203-usbfs                 |                                                                                                                                                                        |
| ch32v103r_r1_1v0         | device             | openocd   |                                                        |                                                                                                                                                                        |
| ch32v307v_r1_1v0         | device             | openocd   | ch32v307v_r1_1v0-usbhs, ch32v307v_r1_1v0-usbfs         |                                                                                                                                                                        |
| ch582m_evt               | device             | openocd   |                                                        |                                                                                                                                                                        |
| mimxrt1064_evk           | device, host, dual | jlink     |                                                        |                                                                                                                                                                        |
| nrf54lm20dk              | device             | jlink     |                                                        | board new to HIL: audio_test_freertos never reaches dcd_init (FreeRTOS itself runs; cdc_msc_freertos and usbtest pass) - example-level issue on nRF54L, fix separately |

### hfp rig

3 boards, from `test/hil/hfp.json`.

| Board           | Roles   | Flasher   | Variants                           | Note   |
|-----------------|---------|-----------|------------------------------------|--------|
| stm32l412nucleo | device  | stlink    |                                    |        |
| stm32f746disco  | device  | stlink    | stm32f746disco, stm32f746disco-DMA |        |
| lpcxpresso43s67 | device  | jlink     |                                    |        |
