Dániel Buga f6d54a0471
Generate macros from metadata (#3604)
* Generate macros from metadata

* Don't generate metadata env vars

* Add trm link, change cores to integer

* Port RMT memory constants

* Add some I2C flags

* Auto-generate PeriConfig, remove trait

* Make sure memory_range is hidden
2025-06-10 10:06:32 +00:00

109 lines
1.8 KiB
TOML

[device]
name = "esp32s3"
arch = "xtensa"
cores = 2
trm = "https://www.espressif.com/sites/default/files/documentation/esp32-s3_technical_reference_manual_en.pdf"
peripherals = [
# Peripherals available in the PAC:
"aes",
"apb_ctrl",
"apb_saradc",
"assist_debug",
"dma",
"ds",
"efuse",
"extmem",
"gpio",
"gpio_sd",
"hmac",
"i2c0",
"i2c1",
"i2s0",
"i2s1",
"interrupt_core0",
"interrupt_core1",
"io_mux",
"lcd_cam",
"ledc",
"mcpwm0",
"mcpwm1",
"pcnt",
"peri_backup",
"rmt",
"rng",
"rsa",
"rtc_cntl",
"rtc_i2c",
"rtc_io",
"sens",
"sensitive",
"sha",
"spi0",
"spi1",
"spi2",
"spi3",
"system",
"systimer",
"timg0",
"timg1",
"twai0",
"uart0",
"uart1",
"uart2",
"uhci0",
"uhci1",
"usb0",
"usb_device",
"usb_wrap",
"wcl",
"xts_aes",
]
symbols = [
# Additional peripherals defined by us (the developers):
"adc1",
"adc2",
"assist_debug_region_monitor",
"gdma",
"phy",
"bt",
"wifi",
"psram",
"psram_dma",
"octal_psram",
"ulp_riscv_core",
"timg_timer1",
"very_large_intr_status",
"gpio_bank_1",
"spi_octal",
# ROM capabilities
"rom_crc_le",
"rom_crc_be",
"rom_md5_bsd",
# Wakeup SOC based on ESP-IDF:
"pm_support_ext0_wakeup",
"pm_support_ext1_wakeup",
"pm_support_touch_sensor_wakeup",
"pm_support_wifi_wakeup",
"pm_support_bt_wakeup",
"uart_support_wakeup_int",
"ulp_supported",
"riscv_coproc_supported",
# Other capabilities
"psram_dma",
]
memory = [{ name = "dram", start = 0x3FC8_8000, end = 0x3FD0_0000 }]
[device.rmt]
ram_start = 0x60016800
channel_ram_size = 48
[device.i2c_master]
has_fsm_timeouts = true
has_hw_bus_clear = true