Simon Neuenhausen 8e29b925cb
Split out PHY init into esp-phy crate. (#3892)
* Minimal infrastructure

* Implemented dig reg backup.

* usb bbpll

* Removed default feature.

* OS adapter tweaks

* Fixed S2 and implemented PhyController

* Added manual deinit.

* Fixed linker scripts and migrated esp-radio to esp-phy

* Fixed warnings.

* Fixed NPL

* Tried fixing NPL again

* Fixed ieee802154

* Fixed reading chip version of S3.

* fmt

* Added changelog entry

* Added changelog for esp-radio

* Deleted chip specific common adapters.

* Added docs and unstable

* Migrated cal data load/store to esp-phy

* Fixed PHY cal CI error

* Removed instability

* Removed feature from esp-phy

* fmt

* Fixed esp-sync docs.

* Removed log with CONFIG

* Removed nonreentrantmutex from common adapter

* Disable reset for radio blocks where required.

* Fixed cfg_if for s2

* fmt

* Added bt_bb_v2_init_cmplx to phy_provides.x

* Added CHANGELOG

* Moved EXTERN and fixed comment.

* Fixed lint

* Fixed common adapter again.

* Docs and Readme.

* Fixed ref count.

* This time pls.

* Added MAC time update CB for esp-radio

* fixed field init

* Fixed inconsistency in metadata

* Removed useless changelog entry

* Fixed S2.

* Swaped addr_of for &raw mut

* Properly initialize NVS

* Fixed lint

* Fixed C6

* Fixed remaining issues

* Fixed CI

* Added link

* Updated esp-wifi-sys in esp-phy

* Address reviews

* Renamed PHY lock

* Moved syscon let in common_adapter

* Fmt

* Remove critical_section

* Don't steal when not necessary

* Added esp-phy changelog to workflow

* Add cargo metadata for esp-phy

* Added reference to #4015

* Refixed Cargo.toml

---------

Co-authored-by: Dániel Buga <bugadani@gmail.com>
2025-09-19 14:14:25 +00:00

549 lines
19 KiB
TOML

# ESP32-C6 Device Metadata
#
# Empty [`device.driver`] tables imply `partial` support status.
#
# If you modify a driver support status, run `cargo xtask update-chip-support-table` to
# update the table in the esp-hal README.
[device]
name = "esp32c6"
arch = "riscv"
target = "riscv32imac-unknown-none-elf"
cores = 1
trm = "https://www.espressif.com/sites/default/files/documentation/esp32-c6_technical_reference_manual_en.pdf"
peripherals = [
{ name = "AES", interrupts = { peri = "AES" } },
{ name = "APB_SARADC" },
{ name = "ASSIST_DEBUG" },
{ name = "ATOMIC" },
{ name = "DMA" },
{ name = "DS" },
{ name = "ECC" },
{ name = "EFUSE" },
{ name = "EXTMEM" },
{ name = "GPIO" },
{ name = "GPIO_SD" },
{ name = "HINF" },
{ name = "HMAC" },
{ name = "HP_APM" },
{ name = "HP_SYS" },
{ name = "I2C_ANA_MST" },
{ name = "I2C0", interrupts = { peri = "I2C_EXT0" } },
{ name = "I2S0", interrupts = { peri = "I2S0" } },
{ name = "IEEE802154" },
{ name = "INTERRUPT_CORE0" },
{ name = "INTPRI" },
{ name = "IO_MUX" },
{ name = "LEDC" },
{ name = "LP_ANA" },
{ name = "LP_AON" },
{ name = "LP_APM" },
{ name = "LP_APM0" },
{ name = "LP_CLKRST" },
{ name = "LP_I2C0" },
{ name = "LP_I2C_ANA_MST" },
{ name = "LP_IO" },
{ name = "LP_PERI" },
{ name = "LP_TEE" },
{ name = "LP_TIMER" },
{ name = "LP_UART" },
{ name = "LP_WDT" },
{ name = "LPWR", pac = "LP_CLKRST" },
{ name = "MCPWM0" },
{ name = "MEM_MONITOR" },
{ name = "MODEM_LPCON" },
{ name = "MODEM_SYSCON" },
{ name = "OTP_DEBUG" },
{ name = "PARL_IO", interrupts = { peri = "PARL_IO" } },
{ name = "PAU" },
{ name = "PCNT" },
{ name = "PCR" },
{ name = "PLIC_MX" },
{ name = "PMU" },
{ name = "RMT" },
{ name = "RNG" },
{ name = "RSA", interrupts = { peri = "RSA" } },
{ name = "SHA", interrupts = { peri = "SHA" } },
{ name = "SLCHOST" },
{ name = "ETM", pac = "SOC_ETM" },
{ name = "SPI0" },
{ name = "SPI1" },
{ name = "SPI2", interrupts = { peri = "SPI2" } },
{ name = "SYSTEM", pac = "PCR" },
{ name = "SYSTIMER" },
{ name = "TEE" },
{ name = "TIMG0" },
{ name = "TIMG1" },
{ name = "TRACE0", pac = "TRACE" },
{ name = "TWAI0" },
{ name = "TWAI1" },
{ name = "UART0", interrupts = { peri = "UART0" } },
{ name = "UART1", interrupts = { peri = "UART1" } },
{ name = "UHCI0" },
{ name = "USB_DEVICE", interrupts = { peri = "USB_DEVICE" } },
{ name = "DMA_CH0", virtual = true },
{ name = "DMA_CH1", virtual = true },
{ name = "DMA_CH2", virtual = true },
{ name = "ADC1", virtual = true },
{ name = "BT", virtual = true },
{ name = "LP_CORE", virtual = true },
{ name = "SW_INTERRUPT", virtual = true },
{ name = "TSENS", virtual = true },
{ name = "WIFI", virtual = true },
{ name = "MEM2MEM1", virtual = true },
{ name = "MEM2MEM4", virtual = true },
{ name = "MEM2MEM5", virtual = true },
{ name = "MEM2MEM10", virtual = true },
{ name = "MEM2MEM11", virtual = true },
{ name = "MEM2MEM12", virtual = true },
{ name = "MEM2MEM13", virtual = true },
{ name = "MEM2MEM14", virtual = true },
{ name = "MEM2MEM15", virtual = true },
]
symbols = [
# Additional peripherals defined by us (the developers):
"gdma",
"plic",
"phy",
"lp_core",
"swd",
# ROM capabilities
"rom_crc_le",
"rom_crc_be",
"rom_md5_bsd",
# Wakeup SOC based on ESP-IDF:
"pm_support_wifi_wakeup",
"pm_support_beacon_wakeup",
"pm_support_bt_wakeup",
"gpio_support_deepsleep_wakeup",
"uart_support_wakeup_int",
"pm_support_ext1_wakeup",
# Which bluetooth implementation
"npl",
]
memory = [{ name = "dram", start = 0x4080_0000, end = 0x4088_0000 }]
[device.soc]
cpu_has_csr_pc = true
cpu_has_prv_mode = true
rc_fast_clk_default = 17_500_000
rc_slow_clock = 136_000
xtal_options = [40]
[device.adc]
support_status = "partial"
instances = [
{ name = "adc1" },
]
[device.aes]
support_status = "partial"
has_split_text_registers = true
endianness_configurable = false
dma = true
dma_mode = ["ECB", "CBC", "OFB", "CTR", "CFB8", "CFB128"]
key_length = { options = [
{ bits = 128, encrypt_mode = 0, decrypt_mode = 4 },
{ bits = 256, encrypt_mode = 2, decrypt_mode = 6 }
] }
[device.assist_debug]
support_status = "partial"
has_sp_monitor = true
has_region_monitor = true
[device.gpio]
support_status = "supported"
gpio_function = 1
constant_0_input = 0x3c
constant_1_input = 0x38
pins = [
{ pin = 0, analog = { 0 = "XTAL_32K_P", 1 = "ADC0_CH0" }, lp = { 0 = "LP_GPIO0", 1 = "LP_UART_DTRN" } },
{ pin = 1, analog = { 0 = "XTAL_32K_N", 1 = "ADC0_CH1" }, lp = { 0 = "LP_GPIO1", 1 = "LP_UART_DSRN" } },
{ pin = 2, functions = { 2 = "FSPIQ" }, analog = { 1 = "ADC0_CH2" }, lp = { 0 = "LP_GPIO2", 1 = "LP_UART_RTSN" } },
{ pin = 3, analog = { 1 = "ADC0_CH3" }, lp = { 0 = "LP_GPIO3", 1 = "LP_UART_CTSN" } },
{ pin = 4, functions = { 0 = "MTMS", 2 = "FSPIHD" }, analog = { 1 = "ADC0_CH4" }, lp = { 0 = "LP_GPIO4", 1 = "LP_UART_RXD" } },
{ pin = 5, functions = { 0 = "MTDI", 2 = "FSPIWP" }, analog = { 1 = "ADC0_CH5" }, lp = { 0 = "LP_GPIO5", 1 = "LP_UART_TXD" } },
{ pin = 6, functions = { 0 = "MTCK", 2 = "FSPICLK" }, analog = { 1 = "ADC0_CH6" }, lp = { 0 = "LP_GPIO6", 1 = "LP_I2C_SDA" } },
{ pin = 7, functions = { 0 = "MTDO", 2 = "FSPID" }, lp = { 0 = "LP_GPIO7", 1 = "LP_I2C_SCL" } },
{ pin = 8 },
{ pin = 9 },
{ pin = 10 },
{ pin = 11 },
{ pin = 12, analog = { 0 = "USB_DM" } },
{ pin = 13, analog = { 0 = "USB_DP" } },
{ pin = 14 },
{ pin = 15 },
{ pin = 16, functions = { 0 = "U0TXD", 2 = "FSPICS0" } },
{ pin = 17, functions = { 0 = "U0RXD", 2 = "FSPICS1" } },
{ pin = 18, functions = { 0 = "SDIO_CMD", 2 = "FSPICS2" } },
{ pin = 19, functions = { 0 = "SDIO_CLK", 2 = "FSPICS3" } },
{ pin = 20, functions = { 0 = "SDIO_DATA0", 2 = "FSPICS4" } },
{ pin = 21, functions = { 0 = "SDIO_DATA1", 2 = "FSPICS5" } },
{ pin = 22, functions = { 0 = "SDIO_DATA2" } },
{ pin = 23, functions = { 0 = "SDIO_DATA3" } },
{ pin = 24, functions = { 0 = "SPICS0" } },
{ pin = 25, functions = { 0 = "SPIQ" } },
{ pin = 26, functions = { 0 = "SPIWP" } },
{ pin = 27 },
{ pin = 28, functions = { 0 = "SPIHD" } },
{ pin = 29, functions = { 0 = "SPICLK" } },
{ pin = 30, functions = { 0 = "SPID" } },
]
input_signals = [
{ name = "EXT_ADC_START", id = 0 },
{ name = "U0RXD", id = 6 },
{ name = "U0CTS", id = 7 },
{ name = "U0DSR", id = 8 },
{ name = "U1RXD", id = 9 },
{ name = "U1CTS", id = 10 },
{ name = "U1DSR", id = 11 },
{ name = "I2S_MCLK", id = 12 },
{ name = "I2SO_BCK", id = 13 },
{ name = "I2SO_WS", id = 14 },
{ name = "I2SI_SD", id = 15 },
{ name = "I2SI_BCK", id = 16 },
{ name = "I2SI_WS", id = 17 },
{ name = "USB_JTAG_TDO_BRIDGE", id = 19 },
{ name = "CPU_TESTBUS0", id = 20 },
{ name = "CPU_TESTBUS1", id = 21 },
{ name = "CPU_TESTBUS2", id = 22 },
{ name = "CPU_TESTBUS3", id = 23 },
{ name = "CPU_TESTBUS4", id = 24 },
{ name = "CPU_TESTBUS5", id = 25 },
{ name = "CPU_TESTBUS6", id = 26 },
{ name = "CPU_TESTBUS7", id = 27 },
{ name = "CPU_GPIO_IN0", id = 28 },
{ name = "CPU_GPIO_IN1", id = 29 },
{ name = "CPU_GPIO_IN2", id = 30 },
{ name = "CPU_GPIO_IN3", id = 31 },
{ name = "CPU_GPIO_IN4", id = 32 },
{ name = "CPU_GPIO_IN5", id = 33 },
{ name = "CPU_GPIO_IN6", id = 34 },
{ name = "CPU_GPIO_IN7", id = 35 },
{ name = "USB_JTAG_TMS", id = 37 },
{ name = "USB_EXTPHY_OEN", id = 40 },
{ name = "USB_EXTPHY_VM", id = 41 },
{ name = "USB_EXTPHY_VPO", id = 42 },
{ name = "I2CEXT0_SCL", id = 45 },
{ name = "I2CEXT0_SDA", id = 46 },
{ name = "PARL_RX_DATA0", id = 47 },
{ name = "PARL_RX_DATA1", id = 48 },
{ name = "PARL_RX_DATA2", id = 49 },
{ name = "PARL_RX_DATA3", id = 50 },
{ name = "PARL_RX_DATA4", id = 51 },
{ name = "PARL_RX_DATA5", id = 52 },
{ name = "PARL_RX_DATA6", id = 53 },
{ name = "PARL_RX_DATA7", id = 54 },
{ name = "PARL_RX_DATA8", id = 55 },
{ name = "PARL_RX_DATA9", id = 56 },
{ name = "PARL_RX_DATA10", id = 57 },
{ name = "PARL_RX_DATA11", id = 58 },
{ name = "PARL_RX_DATA12", id = 59 },
{ name = "PARL_RX_DATA13", id = 60 },
{ name = "PARL_RX_DATA14", id = 61 },
{ name = "PARL_RX_DATA15", id = 62 },
{ name = "FSPICLK", id = 63 },
{ name = "FSPIQ", id = 64 },
{ name = "FSPID", id = 65 },
{ name = "FSPIHD", id = 66 },
{ name = "FSPIWP", id = 67 },
{ name = "FSPICS0", id = 68 },
{ name = "PARL_RX_CLK", id = 69 },
{ name = "PARL_TX_CLK", id = 70 },
{ name = "RMT_SIG_0", id = 71 },
{ name = "RMT_SIG_1", id = 72 },
{ name = "TWAI0_RX", id = 73 },
{ name = "TWAI1_RX", id = 77 },
{ name = "PWM0_SYNC0", id = 87 },
{ name = "PWM0_SYNC1", id = 88 },
{ name = "PWM0_SYNC2", id = 89 },
{ name = "PWM0_F0", id = 90 },
{ name = "PWM0_F1", id = 91 },
{ name = "PWM0_F2", id = 92 },
{ name = "PWM0_CAP0", id = 93 },
{ name = "PWM0_CAP1", id = 94 },
{ name = "PWM0_CAP2", id = 95 },
{ name = "SIG_IN_FUNC97", id = 97 },
{ name = "SIG_IN_FUNC98", id = 98 },
{ name = "SIG_IN_FUNC99", id = 99 },
{ name = "SIG_IN_FUNC100", id = 100 },
{ name = "PCNT0_SIG_CH0", id = 101 },
{ name = "PCNT0_SIG_CH1", id = 102 },
{ name = "PCNT0_CTRL_CH0", id = 103 },
{ name = "PCNT0_CTRL_CH1", id = 104 },
{ name = "PCNT1_SIG_CH0", id = 105 },
{ name = "PCNT1_SIG_CH1", id = 106 },
{ name = "PCNT1_CTRL_CH0", id = 107 },
{ name = "PCNT1_CTRL_CH1", id = 108 },
{ name = "PCNT2_SIG_CH0", id = 109 },
{ name = "PCNT2_SIG_CH1", id = 110 },
{ name = "PCNT2_CTRL_CH0", id = 111 },
{ name = "PCNT2_CTRL_CH1", id = 112 },
{ name = "PCNT3_SIG_CH0", id = 113 },
{ name = "PCNT3_SIG_CH1", id = 114 },
{ name = "PCNT3_CTRL_CH0", id = 115 },
{ name = "PCNT3_CTRL_CH1", id = 116 },
{ name = "SPIQ", id = 121 },
{ name = "SPID", id = 122 },
{ name = "SPIHD", id = 123 },
{ name = "SPIWP", id = 124 },
{ name = "SDIO_CMD" },
{ name = "SDIO_DATA0" },
{ name = "SDIO_DATA1" },
{ name = "SDIO_DATA2" },
{ name = "SDIO_DATA3" },
{ name = "MTDI" },
{ name = "MTCK" },
{ name = "MTMS" },
]
output_signals = [
{ name = "LEDC_LS_SIG0", id = 0 },
{ name = "LEDC_LS_SIG1", id = 1 },
{ name = "LEDC_LS_SIG2", id = 2 },
{ name = "LEDC_LS_SIG3", id = 3 },
{ name = "LEDC_LS_SIG4", id = 4 },
{ name = "LEDC_LS_SIG5", id = 5 },
{ name = "U0TXD", id = 6 },
{ name = "U0RTS", id = 7 },
{ name = "U0DTR", id = 8 },
{ name = "U1TXD", id = 9 },
{ name = "U1RTS", id = 10 },
{ name = "U1DTR", id = 11 },
{ name = "I2S_MCLK", id = 12 },
{ name = "I2SO_BCK", id = 13 },
{ name = "I2SO_WS", id = 14 },
{ name = "I2SO_SD", id = 15 },
{ name = "I2SI_BCK", id = 16 },
{ name = "I2SI_WS", id = 17 },
{ name = "I2SO_SD1", id = 18 },
{ name = "USB_JTAG_TDO_BRIDGE", id = 19 },
{ name = "CPU_TESTBUS0", id = 20 },
{ name = "CPU_TESTBUS1", id = 21 },
{ name = "CPU_TESTBUS2", id = 22 },
{ name = "CPU_TESTBUS3", id = 23 },
{ name = "CPU_TESTBUS4", id = 24 },
{ name = "CPU_TESTBUS5", id = 25 },
{ name = "CPU_TESTBUS6", id = 26 },
{ name = "CPU_TESTBUS7", id = 27 },
{ name = "CPU_GPIO_OUT0", id = 28 },
{ name = "CPU_GPIO_OUT1", id = 29 },
{ name = "CPU_GPIO_OUT2", id = 30 },
{ name = "CPU_GPIO_OUT3", id = 31 },
{ name = "CPU_GPIO_OUT4", id = 32 },
{ name = "CPU_GPIO_OUT5", id = 33 },
{ name = "CPU_GPIO_OUT6", id = 34 },
{ name = "CPU_GPIO_OUT7", id = 35 },
{ name = "USB_JTAG_TCK", id = 36 },
{ name = "USB_JTAG_TMS", id = 37 },
{ name = "USB_JTAG_TDI", id = 38 },
{ name = "USB_JTAG_TDO", id = 39 },
{ name = "I2CEXT0_SCL", id = 45 },
{ name = "I2CEXT0_SDA", id = 46 },
{ name = "PARL_TX_DATA0", id = 47 },
{ name = "PARL_TX_DATA1", id = 48 },
{ name = "PARL_TX_DATA2", id = 49 },
{ name = "PARL_TX_DATA3", id = 50 },
{ name = "PARL_TX_DATA4", id = 51 },
{ name = "PARL_TX_DATA5", id = 52 },
{ name = "PARL_TX_DATA6", id = 53 },
{ name = "PARL_TX_DATA7", id = 54 },
{ name = "PARL_TX_DATA8", id = 55 },
{ name = "PARL_TX_DATA9", id = 56 },
{ name = "PARL_TX_DATA10", id = 57 },
{ name = "PARL_TX_DATA11", id = 58 },
{ name = "PARL_TX_DATA12", id = 59 },
{ name = "PARL_TX_DATA13", id = 60 },
{ name = "PARL_TX_DATA14", id = 61 },
{ name = "PARL_TX_DATA15", id = 62 },
{ name = "FSPICLK", id = 63 },
{ name = "FSPIQ", id = 64 },
{ name = "FSPID", id = 65 },
{ name = "FSPIHD", id = 66 },
{ name = "FSPIWP", id = 67 },
{ name = "FSPICS0", id = 68 },
{ name = "SDIO_TOHOST_INT", id = 69 },
{ name = "PARL_TX_CLK", id = 70 },
{ name = "RMT_SIG_0", id = 71 },
{ name = "RMT_SIG_1", id = 72 },
{ name = "TWAI0_TX", id = 73 },
{ name = "TWAI0_BUS_OFF_ON", id = 74 },
{ name = "TWAI0_CLKOUT", id = 75 },
{ name = "TWAI0_STANDBY", id = 76 },
{ name = "TWAI1_TX", id = 77 },
{ name = "TWAI1_BUS_OFF_ON", id = 78 },
{ name = "TWAI1_CLKOUT", id = 79 },
{ name = "TWAI1_STANDBY", id = 80 },
{ name = "GPIO_SD0", id = 83 },
{ name = "GPIO_SD1", id = 84 },
{ name = "GPIO_SD2", id = 85 },
{ name = "GPIO_SD3", id = 86 },
{ name = "PWM0_0A", id = 87 },
{ name = "PWM0_0B", id = 88 },
{ name = "PWM0_1A", id = 89 },
{ name = "PWM0_1B", id = 90 },
{ name = "PWM0_2A", id = 91 },
{ name = "PWM0_2B", id = 92 },
{ name = "SIG_IN_FUNC97", id = 97 },
{ name = "SIG_IN_FUNC98", id = 98 },
{ name = "SIG_IN_FUNC99", id = 99 },
{ name = "SIG_IN_FUNC100", id = 100 },
{ name = "FSPICS1", id = 101 },
{ name = "FSPICS2", id = 102 },
{ name = "FSPICS3", id = 103 },
{ name = "FSPICS4", id = 104 },
{ name = "FSPICS5", id = 105 },
{ name = "SPICLK", id = 114 },
{ name = "SPICS0", id = 115 },
{ name = "SPICS1", id = 116 },
{ name = "GPIO_TASK_MATRIX_OUT0", id = 117 },
{ name = "GPIO_TASK_MATRIX_OUT1", id = 118 },
{ name = "GPIO_TASK_MATRIX_OUT2", id = 119 },
{ name = "GPIO_TASK_MATRIX_OUT3", id = 120 },
{ name = "SPIQ", id = 121 },
{ name = "SPID", id = 122 },
{ name = "SPIHD", id = 123 },
{ name = "SPIWP", id = 124 },
{ name = "CLK_OUT_OUT1", id = 125 },
{ name = "CLK_OUT_OUT2", id = 126 },
{ name = "CLK_OUT_OUT3", id = 127 },
{ name = "GPIO", id = 128 },
{ name = "SDIO_CLK" },
{ name = "SDIO_CMD" },
{ name = "SDIO_DATA0" },
{ name = "SDIO_DATA1" },
{ name = "SDIO_DATA2" },
{ name = "SDIO_DATA3" },
{ name = "MTDO" },
]
[device.i2c_master]
support_status = "supported"
instances = [
{ name = "i2c0", sys_instance = "I2cExt0", scl = "I2CEXT0_SCL", sda = "I2CEXT0_SDA" },
]
has_fsm_timeouts = true
has_hw_bus_clear = true
ll_intr_mask = 0x3ffff
fifo_size = 32
has_bus_timeout_enable = true
max_bus_timeout = 0x1F
can_estimate_nack_reason = true
has_conf_update = true
has_reliable_fsm_reset = true
has_arbitration_en = true
has_tx_fifo_watermark = true
bus_timeout_is_exponential = true
[device.lp_i2c_master]
support_status = "partial"
fifo_size = 16
[device.i2c_slave]
support_status = "not_supported"
[device.interrupts]
support_status = "partial"
status_registers = 3
[device.rmt]
support_status = "partial"
ram_start = 0x60006400
channel_ram_size = 48
channels = ["Tx", "Tx", "Rx", "Rx"]
[device.rsa]
support_status = "partial"
size_increment = 32
memory_size_bytes = 384
[device.sha]
support_status = "partial"
dma = true
algo = { sha1 = 0, sha224 = 1, sha256 = 2 }
[device.spi_master]
support_status = "supported"
instances = [
{ name = "spi2", sys_instance = "Spi2", sclk = "FSPICLK", sio = ["FSPID", "FSPIQ", "FSPIWP", "FSPIHD"], cs = ["FSPICS0", "FSPICS1", "FSPICS2", "FSPICS3", "FSPICS4", "FSPICS5"] },
]
[device.spi_slave]
support_status = "partial"
instances = [
{ name = "spi2", sys_instance = "Spi2", sclk = "FSPICLK", mosi = "FSPID", miso = "FSPIQ", cs = "FSPICS0" },
]
[device.timergroup]
support_status = "partial"
instances = [{ name = "timg0" }, { name = "timg1" }]
timg_has_divcnt_rst = true
default_clock_source = 1
default_wdt_clock_source = 1
[device.uart]
support_status = "supported"
instances = [
{ name = "uart0", sys_instance = "Uart0", tx = "U0TXD", rx = "U0RXD", cts = "U0CTS", rts = "U0RTS" },
{ name = "uart1", sys_instance = "Uart1", tx = "U1TXD", rx = "U1RXD", cts = "U1CTS", rts = "U1RTS" },
]
ram_size = 128
[device.lp_uart]
support_status = "partial"
ram_size = 32
[device.ds]
support_status = "not_supported"
[device.wifi]
support_status = "partial"
has_wifi6 = true
[device.rng]
support_status = "partial"
apb_cycle_wait_num = 16 # TODO
# Other drivers which are partially supported but have no other configuration:
## Crypto
[device.ecc]
[device.hmac]
## Interfaces
[device.i2s]
[device.ledc]
[device.mcpwm]
[device.parl_io]
[device.pcnt]
[device.sd_slave]
[device.twai]
[device.usb_serial_jtag]
## Miscellaneous
[device.dma]
[device.etm]
[device.io_mux]
[device.sleep]
[device.temp_sensor]
[device.systimer]
[device.ulp_riscv]
## Radio
[device.bt]
[device.ieee802154]
[device.phy]
combo_module = true