[device]
name  = "esp32p4"
arch  = "riscv"
cores = "multi_core"

peripherals = [
    # Peripherals available in the PAC:
    # "adc",
    # "aes",
    # "assist_debug",
    # "axi_dma",
    # "axi_icm",
    # "bitscrambler",
    # "cache",
    # "dma",
    # "ds",
    # "ecc",
    # "ecdsa",
    "efuse",
    # "gpio_sd",
    "gpio",
    # "h264_dma",
    # "h264",
    # "hmac",
    # "hp_sys_clkrst",
    "hp_sys",
    # "i2c0",
    # "i2c1",
    # "i2s0",
    # "i2s1",
    # "i2s2",
    # "i3c_mst_mem",
    # "i3c_mst",
    # "i3c_slv",
    "interrupt_core0",
    "interrupt_core1",
    "io_mux",
    # "isp",
    # "jpeg",
    # "lcd_cam",
    # "ledc",
    # "lp_adc",
    # "lp_ana_peri",
    # "lp_aon_clkrst",
    # "lp_gpio",
    # "lp_huk",
    # "lp_i2c_ana_mst",
    # "lp_i2c0",
    # "lp_i2s0",
    # "lp_intr",
    # "lp_io_mux",
    # "lp_peri",
    # "lp_sys",
    # "lp_timer",
    # "lp_touch",
    # "lp_tsens",
    # "lp_uart",
    # "lp_wdt",
    # "mcpwm0",
    # "mcpwm1",
    # "mipi_csi_bridge",
    # "mipi_csi_host",
    # "mipi_dsi_bridge",
    # "mipi_dsi_host",
    # "parl_io",
    # "pau",
    # "pcnt",
    # "pmu",
    # "ppa",
    # "pvt",
    # "rmt",
    # "rsa",
    # "sdhost",
    # "sha",
    # "soc_etm",
    # "spi0",
    # "spi1",
    # "spi2",
    # "spi3",
    # "systimer",
    # "timg0",
    # "timg1",
    # "trace0",
    # "trace1",
    # "twai0",
    # "twai1",
    # "twai2",
    # "uart0",
    # "uhci0",
    # "usb_device",
    # "usb_wrap",
]

symbols = [
    # Additional peripherals defined by us (the developers):
    # "adc1",
    # "adc2",
    "clic",
    "very_large_intr_status",
    "gpio_bank_1",
    "spi_octal",
]

memory = [{ name = "dram", start = 0x4FF0_0000, end = 0x4FFC_0000 }]
