Dániel Buga c29c436be5
Prefix peripheral cfg symbols with chip_has_* (#3628)
* Prefix peri cfg with `soc_has_`

* Clean up ETM
2025-06-16 08:13:28 +00:00

161 lines
2.8 KiB
TOML

# ESP32-H2 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 = "esp32h2"
arch = "riscv"
cores = 1
trm = "https://www.espressif.com/sites/default/files/documentation/esp32-h2_technical_reference_manual_en.pdf"
peripherals = [
# Peripherals available in the PAC:
"aes",
"apb_saradc",
"assist_debug",
"dma",
"ds",
"ecc",
"efuse",
"gpio",
"gpio_sd",
"hmac",
"hp_apm",
"hp_sys",
"i2c0",
"i2c1",
"i2s0",
"interrupt_core0",
"intpri",
"io_mux",
"ledc",
"lp_ana",
"lp_aon",
"lp_apm",
"lp_clkrst",
"lp_peri",
"lp_timer",
"lp_wdt",
"mcpwm0",
"mem_monitor",
"modem_lpcon",
"modem_syscon",
"otp_debug",
"parl_io",
"pau",
"pcnt",
"pcr",
"pmu",
"rmt",
"rng",
"rsa",
"sha",
"etm",
"spi0",
"spi1",
"spi2",
"systimer",
"tee",
"timg0",
"timg1",
"trace0",
"twai0",
"uart0",
"uart1",
"uhci0",
"usb_device",
]
symbols = [
# Additional peripherals defined by us (the developers):
"adc1",
"assist_debug_sp_monitor",
"assist_debug_region_monitor",
"gdma",
"plic",
"phy",
"ieee802154",
# ROM capabilities
"rom_crc_le",
"rom_crc_be",
"rom_md5_bsd",
]
memory = [{ name = "dram", start = 0x4080_0000, end = 0x4085_0000 }]
[device.gpio]
status = "supported"
[device.i2c_master]
status = "supported"
instances = [{ name = "i2c0" }, { name = "i2c1" }]
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.rmt]
status = "partial"
ram_start = 0x60007400
channel_ram_size = 48
[device.spi_master]
status = "supported"
instances = [{ name = "spi2" }]
[device.timergroup]
instances = [{ name = "timg0" }, { name = "timg1" }]
[device.uart]
status = "supported"
[device.ds]
status = "not_supported"
# Other drivers which are partially supported but have no other configuration:
## Crypto
[device.aes]
[device.ecc]
[device.rsa]
[device.sha]
[device.hmac]
[device.rng]
## Interfaces
[device.i2s]
[device.ledc]
[device.mcpwm]
[device.parl_io]
[device.pcnt]
[device.spi_slave]
[device.twai]
[device.usb_serial_jtag]
## Miscellaneous
[device.adc]
[device.assist_debug]
[device.dma]
[device.etm]
[device.interrupts]
[device.io_mux]
[device.sleep]
[device.systimer]
[device.temp_sensor]
## Radio
[device.bt]
[device.ieee802154]