mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'feature/add_esp32h2_soc_support' into 'master'
ESP32-H2: Add SOC headers for esp32-h2 See merge request espressif/esp-idf!21256
This commit is contained in:
commit
b5dfe52ce1
@ -0,0 +1,34 @@
|
||||
set(srcs
|
||||
"adc_periph.c"
|
||||
"dedic_gpio_periph.c"
|
||||
"gdma_periph.c"
|
||||
"gpio_periph.c"
|
||||
"interrupts.c"
|
||||
"spi_periph.c"
|
||||
"ledc_periph.c"
|
||||
"rmt_periph.c"
|
||||
"sdm_periph.c"
|
||||
"i2s_periph.c"
|
||||
"i2c_periph.c"
|
||||
"uart_periph.c"
|
||||
"temperature_sensor_periph.c"
|
||||
"timer_periph.c")
|
||||
|
||||
|
||||
#// ESP32H2-TODO
|
||||
list(REMOVE_ITEM srcs
|
||||
"adc_periph.c"
|
||||
"dedic_gpio_periph.c"
|
||||
"ledc_periph.c"
|
||||
"i2s_periph.c"
|
||||
"i2c_periph.c"
|
||||
"temperature_sensor_periph.c"
|
||||
"adc_periph.c"
|
||||
)
|
||||
|
||||
|
||||
|
||||
add_prefix(srcs "${CMAKE_CURRENT_LIST_DIR}/" "${srcs}")
|
||||
|
||||
target_sources(${COMPONENT_LIB} PRIVATE "${srcs}")
|
||||
target_include_directories(${COMPONENT_LIB} PUBLIC . include)
|
19
components/soc/esp32h2/adc_periph.c
Normal file
19
components/soc/esp32h2/adc_periph.c
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "soc/adc_periph.h"
|
||||
|
||||
/* Store IO number corresponding to the ADC channel number. */
|
||||
const int adc_channel_io_map[SOC_ADC_PERIPH_NUM][SOC_ADC_MAX_CHANNEL_NUM] = {
|
||||
/* ADC1 */
|
||||
{
|
||||
ADC1_CHANNEL_0_GPIO_NUM, ADC1_CHANNEL_1_GPIO_NUM, ADC1_CHANNEL_2_GPIO_NUM, ADC1_CHANNEL_3_GPIO_NUM, ADC1_CHANNEL_4_GPIO_NUM
|
||||
},
|
||||
/* ADC2 */
|
||||
{
|
||||
ADC2_CHANNEL_0_GPIO_NUM, -1, -1, -1, -1
|
||||
}
|
||||
};
|
37
components/soc/esp32h2/dedic_gpio_periph.c
Normal file
37
components/soc/esp32h2/dedic_gpio_periph.c
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2020-2021 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "soc/gpio_sig_map.h"
|
||||
#include "soc/dedic_gpio_periph.h"
|
||||
|
||||
const dedic_gpio_signal_conn_t dedic_gpio_periph_signals = {
|
||||
.module = -1,
|
||||
.irq = -1,
|
||||
.cores = {
|
||||
[0] = {
|
||||
.in_sig_per_channel = {
|
||||
[0] = CPU_GPIO_IN0_IDX,
|
||||
[1] = CPU_GPIO_IN1_IDX,
|
||||
[2] = CPU_GPIO_IN2_IDX,
|
||||
[3] = CPU_GPIO_IN3_IDX,
|
||||
[4] = CPU_GPIO_IN4_IDX,
|
||||
[5] = CPU_GPIO_IN5_IDX,
|
||||
[6] = CPU_GPIO_IN6_IDX,
|
||||
[7] = CPU_GPIO_IN7_IDX,
|
||||
},
|
||||
.out_sig_per_channel = {
|
||||
[0] = CPU_GPIO_OUT0_IDX,
|
||||
[1] = CPU_GPIO_OUT1_IDX,
|
||||
[2] = CPU_GPIO_OUT2_IDX,
|
||||
[3] = CPU_GPIO_OUT3_IDX,
|
||||
[4] = CPU_GPIO_OUT4_IDX,
|
||||
[5] = CPU_GPIO_OUT5_IDX,
|
||||
[6] = CPU_GPIO_OUT6_IDX,
|
||||
[7] = CPU_GPIO_OUT7_IDX,
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
29
components/soc/esp32h2/gdma_periph.c
Normal file
29
components/soc/esp32h2/gdma_periph.c
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "soc/gdma_periph.h"
|
||||
|
||||
const gdma_signal_conn_t gdma_periph_signals = {
|
||||
.groups = {
|
||||
[0] = {
|
||||
.module = PERIPH_GDMA_MODULE,
|
||||
.pairs = {
|
||||
[0] = {
|
||||
.rx_irq_id = ETS_DMA_IN_CH0_INTR_SOURCE,
|
||||
.tx_irq_id = ETS_DMA_OUT_CH0_INTR_SOURCE,
|
||||
},
|
||||
[1] = {
|
||||
.rx_irq_id = ETS_DMA_IN_CH1_INTR_SOURCE,
|
||||
.tx_irq_id = ETS_DMA_OUT_CH1_INTR_SOURCE,
|
||||
},
|
||||
[2] = {
|
||||
.rx_irq_id = ETS_DMA_IN_CH2_INTR_SOURCE,
|
||||
.tx_irq_id = ETS_DMA_OUT_CH2_INTR_SOURCE,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
69
components/soc/esp32h2/gpio_periph.c
Normal file
69
components/soc/esp32h2/gpio_periph.c
Normal file
@ -0,0 +1,69 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "soc/gpio_periph.h"
|
||||
|
||||
const uint32_t GPIO_PIN_MUX_REG[SOC_GPIO_PIN_COUNT] = {
|
||||
IO_MUX_GPIO0_REG,
|
||||
IO_MUX_GPIO1_REG,
|
||||
IO_MUX_GPIO2_REG,
|
||||
IO_MUX_GPIO3_REG,
|
||||
IO_MUX_GPIO4_REG,
|
||||
IO_MUX_GPIO5_REG,
|
||||
IO_MUX_GPIO6_REG,
|
||||
IO_MUX_GPIO7_REG,
|
||||
IO_MUX_GPIO8_REG,
|
||||
IO_MUX_GPIO9_REG,
|
||||
IO_MUX_GPIO10_REG,
|
||||
IO_MUX_GPIO11_REG,
|
||||
IO_MUX_GPIO12_REG,
|
||||
IO_MUX_GPIO13_REG,
|
||||
IO_MUX_GPIO14_REG,
|
||||
IO_MUX_GPIO15_REG,
|
||||
IO_MUX_GPIO16_REG,
|
||||
IO_MUX_GPIO17_REG,
|
||||
IO_MUX_GPIO18_REG,
|
||||
IO_MUX_GPIO19_REG,
|
||||
IO_MUX_GPIO20_REG,
|
||||
IO_MUX_GPIO21_REG,
|
||||
IO_MUX_GPIO22_REG,
|
||||
IO_MUX_GPIO23_REG,
|
||||
IO_MUX_GPIO24_REG,
|
||||
IO_MUX_GPIO25_REG,
|
||||
IO_MUX_GPIO26_REG,
|
||||
IO_MUX_GPIO27_REG
|
||||
};
|
||||
|
||||
const uint32_t GPIO_HOLD_MASK[SOC_GPIO_PIN_COUNT] = {
|
||||
BIT(0), //GPIO0 // LP_AON_GPIO_HOLD0_REG
|
||||
BIT(1), //GPIO1
|
||||
BIT(2), //GPIO2
|
||||
BIT(3), //GPIO3
|
||||
BIT(4), //GPIO4
|
||||
BIT(5), //GPIO5
|
||||
BIT(6), //GPIO6
|
||||
BIT(7), //GPIO7
|
||||
BIT(8), //GPIO8
|
||||
BIT(9), //GPIO9
|
||||
BIT(10), //GPIO10
|
||||
BIT(11), //GPIO11
|
||||
BIT(12), //GPIO12
|
||||
BIT(13), //GPIO13
|
||||
BIT(14), //GPIO14
|
||||
BIT(15), //GPIO15
|
||||
BIT(16), //GPIO16
|
||||
BIT(17), //GPIO17
|
||||
BIT(18), //GPIO18
|
||||
BIT(19), //GPIO19
|
||||
BIT(20), //GPIO20
|
||||
BIT(21), //GPIO21
|
||||
BIT(22), //GPIO22
|
||||
BIT(23), //GPIO23
|
||||
BIT(24), //GPIO24
|
||||
BIT(25), //GPIO25
|
||||
BIT(26), //GPIO26
|
||||
BIT(27), //GPIO27
|
||||
};
|
22
components/soc/esp32h2/i2c_periph.c
Normal file
22
components/soc/esp32h2/i2c_periph.c
Normal file
@ -0,0 +1,22 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "soc/i2c_periph.h"
|
||||
#include "soc/gpio_sig_map.h"
|
||||
|
||||
/*
|
||||
Bunch of constants for every I2C peripheral: GPIO signals, irqs, hw addr of registers etc
|
||||
*/
|
||||
const i2c_signal_conn_t i2c_periph_signal[SOC_I2C_NUM] = {
|
||||
{
|
||||
.sda_out_sig = I2CEXT0_SDA_OUT_IDX,
|
||||
.sda_in_sig = I2CEXT0_SDA_IN_IDX,
|
||||
.scl_out_sig = I2CEXT0_SCL_OUT_IDX,
|
||||
.scl_in_sig = I2CEXT0_SCL_IN_IDX,
|
||||
.irq = ETS_I2C_EXT0_INTR_SOURCE,
|
||||
.module = PERIPH_I2C0_MODULE,
|
||||
},
|
||||
};
|
33
components/soc/esp32h2/i2s_periph.c
Normal file
33
components/soc/esp32h2/i2s_periph.c
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "soc/i2s_periph.h"
|
||||
#include "soc/gpio_sig_map.h"
|
||||
|
||||
/*
|
||||
Bunch of constants for every I2S peripheral: GPIO signals, irqs, hw addr of registers etc
|
||||
*/
|
||||
const i2s_signal_conn_t i2s_periph_signal[SOC_I2S_NUM] = {
|
||||
{
|
||||
.mck_out_sig = I2S_MCLK_OUT_IDX,
|
||||
|
||||
.m_tx_bck_sig = I2SO_BCK_OUT_IDX,
|
||||
.m_rx_bck_sig = I2SI_BCK_OUT_IDX,
|
||||
.m_tx_ws_sig = I2SO_WS_OUT_IDX,
|
||||
.m_rx_ws_sig = I2SI_WS_OUT_IDX,
|
||||
|
||||
.s_tx_bck_sig = I2SO_BCK_IN_IDX,
|
||||
.s_rx_bck_sig = I2SI_BCK_IN_IDX,
|
||||
.s_tx_ws_sig = I2SO_WS_IN_IDX,
|
||||
.s_rx_ws_sig = I2SI_WS_IN_IDX,
|
||||
|
||||
.data_out_sig = I2SO_SD_OUT_IDX,
|
||||
.data_in_sig = I2SI_SD_IN_IDX,
|
||||
|
||||
.irq = -1,
|
||||
.module = PERIPH_I2S1_MODULE,
|
||||
}
|
||||
};
|
796
components/soc/esp32h2/include/soc/Kconfig.soc_caps.in
Normal file
796
components/soc/esp32h2/include/soc/Kconfig.soc_caps.in
Normal file
@ -0,0 +1,796 @@
|
||||
#####################################################
|
||||
# This file is auto-generated from SoC caps
|
||||
# using gen_soc_caps_kconfig.py, do not edit manually
|
||||
#####################################################
|
||||
|
||||
config SOC_DEDICATED_GPIO_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GDMA_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_BT_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_ASYNC_MEMCPY_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SUPPORTS_SECURE_DL_MODE
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_EFUSE_KEY_PURPOSE_FIELD
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_EFUSE_HAS_EFUSE_RST_BUG
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RTC_FAST_MEM_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RTC_MEM_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SYSTIMER_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SUPPORT_COEXISTENCE
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_MPI_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_HMAC_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SECURE_BOOT_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_XTAL_SUPPORT_32M
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_AES_SUPPORT_DMA
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_AES_GDMA
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_AES_SUPPORT_AES_128
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_AES_SUPPORT_AES_256
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_ADC_DIG_CTRL_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_ADC_ARBITER_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_ADC_FILTER_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_ADC_MONITOR_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_ADC_PERIPH_NUM
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_ADC_MAX_CHANNEL_NUM
|
||||
int
|
||||
default 5
|
||||
|
||||
config SOC_ADC_ATTEN_NUM
|
||||
int
|
||||
default 4
|
||||
|
||||
config SOC_ADC_DIGI_CONTROLLER_NUM
|
||||
int
|
||||
default 1
|
||||
|
||||
config SOC_ADC_PATT_LEN_MAX
|
||||
int
|
||||
default 8
|
||||
|
||||
config SOC_ADC_DIGI_MAX_BITWIDTH
|
||||
int
|
||||
default 12
|
||||
|
||||
config SOC_ADC_DIGI_FILTER_NUM
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_ADC_DIGI_MONITOR_NUM
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_ADC_SAMPLE_FREQ_THRES_HIGH
|
||||
int
|
||||
default 83333
|
||||
|
||||
config SOC_ADC_SAMPLE_FREQ_THRES_LOW
|
||||
int
|
||||
default 611
|
||||
|
||||
config SOC_ADC_RTC_MIN_BITWIDTH
|
||||
int
|
||||
default 12
|
||||
|
||||
config SOC_ADC_RTC_MAX_BITWIDTH
|
||||
int
|
||||
default 12
|
||||
|
||||
config SOC_ADC_CALIBRATION_V1_SUPPORTED
|
||||
bool
|
||||
default n
|
||||
|
||||
config SOC_APB_BACKUP_DMA
|
||||
bool
|
||||
default n
|
||||
|
||||
config SOC_BROWNOUT_RESET_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SHARED_IDCACHE_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_CPU_CORES_NUM
|
||||
int
|
||||
default 1
|
||||
|
||||
config SOC_CPU_INTR_NUM
|
||||
int
|
||||
default 32
|
||||
|
||||
config SOC_CPU_HAS_FLEXIBLE_INTC
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_INT_PLIC_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_CPU_BREAKPOINTS_NUM
|
||||
int
|
||||
default 4
|
||||
|
||||
config SOC_CPU_WATCHPOINTS_NUM
|
||||
int
|
||||
default 4
|
||||
|
||||
config SOC_CPU_WATCHPOINT_SIZE
|
||||
hex
|
||||
default 0x80000000
|
||||
|
||||
config SOC_MMU_PAGE_SIZE_CONFIGURABLE
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_DS_SIGNATURE_MAX_BIT_LEN
|
||||
int
|
||||
default 3072
|
||||
|
||||
config SOC_DS_KEY_PARAM_MD_IV_LENGTH
|
||||
int
|
||||
default 16
|
||||
|
||||
config SOC_DS_KEY_CHECK_MAX_WAIT_US
|
||||
int
|
||||
default 1100
|
||||
|
||||
config SOC_GDMA_GROUPS
|
||||
int
|
||||
default 1
|
||||
|
||||
config SOC_GDMA_PAIRS_PER_GROUP
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_GPIO_PORT
|
||||
int
|
||||
default 1
|
||||
|
||||
config SOC_GPIO_PIN_COUNT
|
||||
int
|
||||
default 31
|
||||
|
||||
config SOC_GPIO_SUPPORT_RTC_INDEPENDENT
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK
|
||||
int
|
||||
default 0
|
||||
|
||||
config SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK
|
||||
hex
|
||||
default 0x000000007FFFFF00
|
||||
|
||||
config SOC_GPIO_SUPPORT_SLP_SWITCH
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_DEDIC_GPIO_OUT_CHANNELS_NUM
|
||||
int
|
||||
default 8
|
||||
|
||||
config SOC_DEDIC_GPIO_IN_CHANNELS_NUM
|
||||
int
|
||||
default 8
|
||||
|
||||
config SOC_DEDIC_PERIPH_ALWAYS_ENABLE
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2C_NUM
|
||||
int
|
||||
default 1
|
||||
|
||||
config SOC_I2C_FIFO_LEN
|
||||
int
|
||||
default 32
|
||||
|
||||
config SOC_I2C_SUPPORT_SLAVE
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2C_SUPPORT_HW_CLR_BUS
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2C_SUPPORT_XTAL
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2C_SUPPORT_RTC
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2S_NUM
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2S_HW_VERSION_2
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2S_SUPPORTS_XTAL
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2S_SUPPORTS_PCM
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2S_SUPPORTS_PDM
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2S_SUPPORTS_PDM_TX
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2S_PDM_MAX_TX_LINES
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_I2S_SUPPORTS_TDM
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_LEDC_SUPPORT_APB_CLOCK
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_LEDC_SUPPORT_XTAL_CLOCK
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_LEDC_CHANNEL_NUM
|
||||
int
|
||||
default 6
|
||||
|
||||
config SOC_LEDC_TIMER_BIT_WIDE_NUM
|
||||
int
|
||||
default 14
|
||||
|
||||
config SOC_LEDC_SUPPORT_FADE_STOP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_MPU_CONFIGURABLE_REGIONS_SUPPORTED
|
||||
bool
|
||||
default n
|
||||
|
||||
config SOC_MPU_MIN_REGION_SIZE
|
||||
hex
|
||||
default 0x20000000
|
||||
|
||||
config SOC_MPU_REGIONS_MAX_NUM
|
||||
int
|
||||
default 8
|
||||
|
||||
config SOC_MPU_REGION_RO_SUPPORTED
|
||||
bool
|
||||
default n
|
||||
|
||||
config SOC_MPU_REGION_WO_SUPPORTED
|
||||
bool
|
||||
default n
|
||||
|
||||
config SOC_PCNT_GROUPS
|
||||
int
|
||||
default 1
|
||||
|
||||
config SOC_PCNT_UNITS_PER_GROUP
|
||||
int
|
||||
default 4
|
||||
|
||||
config SOC_PCNT_CHANNELS_PER_UNIT
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_PCNT_THRES_POINT_PER_UNIT
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RMT_GROUPS
|
||||
int
|
||||
default 1
|
||||
|
||||
config SOC_RMT_TX_CANDIDATES_PER_GROUP
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_RMT_RX_CANDIDATES_PER_GROUP
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_RMT_CHANNELS_PER_GROUP
|
||||
int
|
||||
default 4
|
||||
|
||||
config SOC_RMT_MEM_WORDS_PER_CHANNEL
|
||||
int
|
||||
default 48
|
||||
|
||||
config SOC_RMT_SUPPORT_RX_PINGPONG
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RMT_SUPPORT_RX_DEMODULATION
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RMT_SUPPORT_TX_ASYNC_STOP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RMT_SUPPORT_TX_LOOP_COUNT
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RMT_SUPPORT_TX_SYNCHRO
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RMT_SUPPORT_XTAL
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RMT_SUPPORT_APB
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_MCPWM_GROUPS
|
||||
int
|
||||
default 1
|
||||
|
||||
config SOC_MCPWM_TIMERS_PER_GROUP
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_MCPWM_OPERATORS_PER_GROUP
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_MCPWM_COMPARATORS_PER_OPERATOR
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_MCPWM_GENERATORS_PER_OPERATOR
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_MCPWM_TRIGGERS_PER_OPERATOR
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_MCPWM_GPIO_FAULTS_PER_GROUP
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_MCPWM_SWSYNC_CAN_PROPAGATE
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_MCPWM_SUPPORT_ETM
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_MCPWM_CAPTURE_CLK_FROM_GROUP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_MCPWM_CLK_SUPPORT_PLL160M
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_MCPWM_CLK_SUPPORT_XTAL
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH
|
||||
int
|
||||
default 128
|
||||
|
||||
config SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM
|
||||
int
|
||||
default 108
|
||||
|
||||
config SOC_RTCIO_PIN_COUNT
|
||||
int
|
||||
default 0
|
||||
|
||||
config SOC_RSA_MAX_BIT_LEN
|
||||
int
|
||||
default 3072
|
||||
|
||||
config SOC_SHA_DMA_MAX_BUFFER_SIZE
|
||||
int
|
||||
default 3968
|
||||
|
||||
config SOC_SHA_SUPPORT_DMA
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SHA_SUPPORT_RESUME
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SHA_GDMA
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SHA_SUPPORT_SHA1
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SHA_SUPPORT_SHA224
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SHA_SUPPORT_SHA256
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SDM_GROUPS
|
||||
int
|
||||
default 1
|
||||
|
||||
config SOC_SDM_CHANNELS_PER_GROUP
|
||||
int
|
||||
default 4
|
||||
|
||||
config SOC_SPI_PERIPH_NUM
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_SPI_MAX_CS_NUM
|
||||
int
|
||||
default 6
|
||||
|
||||
config SOC_SPI_MAXIMUM_BUFFER_SIZE
|
||||
int
|
||||
default 64
|
||||
|
||||
config SOC_SPI_SUPPORT_DDRCLK
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SPI_SLAVE_SUPPORT_SEG_TRANS
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SPI_SUPPORT_CD_SIG
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SPI_SUPPORT_CONTINUOUS_TRANS
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SPI_SUPPORT_SLAVE_HD_VER2
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_MEMSPI_IS_INDEPENDENT
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SPI_MAX_PRE_DIVIDER
|
||||
int
|
||||
default 16
|
||||
|
||||
config SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SPI_MEM_SUPPORT_AUTO_RESUME
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SPI_MEM_SUPPORT_IDLE_INTR
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SPI_MEM_SUPPORT_SW_SUSPEND
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SPI_MEM_SUPPORT_CHECK_SUS
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_MEMSPI_SRC_FREQ_48M_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SYSTIMER_COUNTER_NUM
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_SYSTIMER_ALARM_NUM
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_SYSTIMER_BIT_WIDTH_LO
|
||||
int
|
||||
default 32
|
||||
|
||||
config SOC_SYSTIMER_BIT_WIDTH_HI
|
||||
int
|
||||
default 20
|
||||
|
||||
config SOC_SYSTIMER_FIXED_DIVIDER
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SYSTIMER_INT_LEVEL
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SYSTIMER_ALARM_MISS_COMPENSATE
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_TIMER_GROUPS
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_TIMER_GROUP_TIMERS_PER_GROUP
|
||||
int
|
||||
default 1
|
||||
|
||||
config SOC_TIMER_GROUP_COUNTER_BIT_WIDTH
|
||||
int
|
||||
default 54
|
||||
|
||||
config SOC_TIMER_GROUP_SUPPORT_XTAL
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_TIMER_GROUP_SUPPORT_APB
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_TIMER_GROUP_TOTAL_TIMERS
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_TWAI_CONTROLLER_NUM
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_TWAI_CLK_SUPPORT_XTAL
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_TWAI_BRP_MIN
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_TWAI_BRP_MAX
|
||||
int
|
||||
default 32768
|
||||
|
||||
config SOC_TWAI_SUPPORTS_RX_STATUS
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SECURE_BOOT_V2_RSA
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SECURE_BOOT_V2_ECC
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX
|
||||
int
|
||||
default 32
|
||||
|
||||
config SOC_FLASH_ENCRYPTION_XTS_AES
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_FLASH_ENCRYPTION_XTS_AES_128
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE
|
||||
int
|
||||
default 16
|
||||
|
||||
config SOC_MEMPROT_MEM_ALIGN_SIZE
|
||||
int
|
||||
default 512
|
||||
|
||||
config SOC_UART_NUM
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_UART_FIFO_LEN
|
||||
int
|
||||
default 128
|
||||
|
||||
config SOC_UART_BITRATE_MAX
|
||||
int
|
||||
default 5000000
|
||||
|
||||
config SOC_UART_SUPPORT_APB_CLK
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_UART_SUPPORT_RTC_CLK
|
||||
bool
|
||||
default n
|
||||
|
||||
config SOC_UART_SUPPORT_XTAL_CLK
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_UART_REQUIRE_CORE_RESET
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_UART_SUPPORT_FSM_TX_WAIT_SEND
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_COEX_HW_PTI
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_PHY_DIG_REGS_MEM_SIZE
|
||||
int
|
||||
default 21
|
||||
|
||||
config SOC_MAC_BB_PD_MEM_SIZE
|
||||
int
|
||||
default 192
|
||||
|
||||
config SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH
|
||||
int
|
||||
default 12
|
||||
|
||||
config SOC_PM_SUPPORT_WIFI_WAKEUP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_PM_SUPPORT_BT_WAKEUP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_PM_SUPPORT_CPU_PD
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_PM_SUPPORT_WIFI_PD
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_PM_SUPPORT_BT_PD
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_BLE_SUPPORTED
|
||||
bool
|
||||
default y
|
25
components/soc/esp32h2/include/soc/adc_channel.h
Normal file
25
components/soc/esp32h2/include/soc/adc_channel.h
Normal file
@ -0,0 +1,25 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define ADC1_GPIO0_CHANNEL ADC1_CHANNEL_0
|
||||
#define ADC1_CHANNEL_0_GPIO_NUM 0
|
||||
|
||||
#define ADC1_GPIO1_CHANNEL ADC1_CHANNEL_1
|
||||
#define ADC1_CHANNEL_1_GPIO_NUM 1
|
||||
|
||||
#define ADC1_GPIO2_CHANNEL ADC1_CHANNEL_2
|
||||
#define ADC1_CHANNEL_2_GPIO_NUM 2
|
||||
|
||||
#define ADC1_GPIO3_CHANNEL ADC1_CHANNEL_3
|
||||
#define ADC1_CHANNEL_3_GPIO_NUM 3
|
||||
|
||||
#define ADC1_GPIO4_CHANNEL ADC1_CHANNEL_4
|
||||
#define ADC1_CHANNEL_4_GPIO_NUM 4
|
||||
|
||||
#define ADC2_GPIO5_CHANNEL ADC2_CHANNEL_0
|
||||
#define ADC2_CHANNEL_0_GPIO_NUM 5
|
417
components/soc/esp32h2/include/soc/aes_reg.h
Normal file
417
components/soc/esp32h2/include/soc/aes_reg.h
Normal file
@ -0,0 +1,417 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** AES_KEY_0_REG register
|
||||
* Key material key_0 configure register
|
||||
*/
|
||||
#define AES_KEY_0_REG (DR_REG_AES_BASE + 0x0)
|
||||
/** AES_KEY_0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_0 that is a part of key material.
|
||||
*/
|
||||
#define AES_KEY_0 0xFFFFFFFFU
|
||||
#define AES_KEY_0_M (AES_KEY_0_V << AES_KEY_0_S)
|
||||
#define AES_KEY_0_V 0xFFFFFFFFU
|
||||
#define AES_KEY_0_S 0
|
||||
|
||||
/** AES_KEY_1_REG register
|
||||
* Key material key_1 configure register
|
||||
*/
|
||||
#define AES_KEY_1_REG (DR_REG_AES_BASE + 0x4)
|
||||
/** AES_KEY_1 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_1 that is a part of key material.
|
||||
*/
|
||||
#define AES_KEY_1 0xFFFFFFFFU
|
||||
#define AES_KEY_1_M (AES_KEY_1_V << AES_KEY_1_S)
|
||||
#define AES_KEY_1_V 0xFFFFFFFFU
|
||||
#define AES_KEY_1_S 0
|
||||
|
||||
/** AES_KEY_2_REG register
|
||||
* Key material key_2 configure register
|
||||
*/
|
||||
#define AES_KEY_2_REG (DR_REG_AES_BASE + 0x8)
|
||||
/** AES_KEY_2 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_2 that is a part of key material.
|
||||
*/
|
||||
#define AES_KEY_2 0xFFFFFFFFU
|
||||
#define AES_KEY_2_M (AES_KEY_2_V << AES_KEY_2_S)
|
||||
#define AES_KEY_2_V 0xFFFFFFFFU
|
||||
#define AES_KEY_2_S 0
|
||||
|
||||
/** AES_KEY_3_REG register
|
||||
* Key material key_3 configure register
|
||||
*/
|
||||
#define AES_KEY_3_REG (DR_REG_AES_BASE + 0xc)
|
||||
/** AES_KEY_3 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_3 that is a part of key material.
|
||||
*/
|
||||
#define AES_KEY_3 0xFFFFFFFFU
|
||||
#define AES_KEY_3_M (AES_KEY_3_V << AES_KEY_3_S)
|
||||
#define AES_KEY_3_V 0xFFFFFFFFU
|
||||
#define AES_KEY_3_S 0
|
||||
|
||||
/** AES_KEY_4_REG register
|
||||
* Key material key_4 configure register
|
||||
*/
|
||||
#define AES_KEY_4_REG (DR_REG_AES_BASE + 0x10)
|
||||
/** AES_KEY_4 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_4 that is a part of key material.
|
||||
*/
|
||||
#define AES_KEY_4 0xFFFFFFFFU
|
||||
#define AES_KEY_4_M (AES_KEY_4_V << AES_KEY_4_S)
|
||||
#define AES_KEY_4_V 0xFFFFFFFFU
|
||||
#define AES_KEY_4_S 0
|
||||
|
||||
/** AES_KEY_5_REG register
|
||||
* Key material key_5 configure register
|
||||
*/
|
||||
#define AES_KEY_5_REG (DR_REG_AES_BASE + 0x14)
|
||||
/** AES_KEY_5 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_5 that is a part of key material.
|
||||
*/
|
||||
#define AES_KEY_5 0xFFFFFFFFU
|
||||
#define AES_KEY_5_M (AES_KEY_5_V << AES_KEY_5_S)
|
||||
#define AES_KEY_5_V 0xFFFFFFFFU
|
||||
#define AES_KEY_5_S 0
|
||||
|
||||
/** AES_KEY_6_REG register
|
||||
* Key material key_6 configure register
|
||||
*/
|
||||
#define AES_KEY_6_REG (DR_REG_AES_BASE + 0x18)
|
||||
/** AES_KEY_6 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_6 that is a part of key material.
|
||||
*/
|
||||
#define AES_KEY_6 0xFFFFFFFFU
|
||||
#define AES_KEY_6_M (AES_KEY_6_V << AES_KEY_6_S)
|
||||
#define AES_KEY_6_V 0xFFFFFFFFU
|
||||
#define AES_KEY_6_S 0
|
||||
|
||||
/** AES_KEY_7_REG register
|
||||
* Key material key_7 configure register
|
||||
*/
|
||||
#define AES_KEY_7_REG (DR_REG_AES_BASE + 0x1c)
|
||||
/** AES_KEY_7 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_7 that is a part of key material.
|
||||
*/
|
||||
#define AES_KEY_7 0xFFFFFFFFU
|
||||
#define AES_KEY_7_M (AES_KEY_7_V << AES_KEY_7_S)
|
||||
#define AES_KEY_7_V 0xFFFFFFFFU
|
||||
#define AES_KEY_7_S 0
|
||||
|
||||
/** AES_TEXT_IN_0_REG register
|
||||
* source text material text_in_0 configure register
|
||||
*/
|
||||
#define AES_TEXT_IN_0_REG (DR_REG_AES_BASE + 0x20)
|
||||
/** AES_TEXT_IN_0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_in_0 that is a part of source text material.
|
||||
*/
|
||||
#define AES_TEXT_IN_0 0xFFFFFFFFU
|
||||
#define AES_TEXT_IN_0_M (AES_TEXT_IN_0_V << AES_TEXT_IN_0_S)
|
||||
#define AES_TEXT_IN_0_V 0xFFFFFFFFU
|
||||
#define AES_TEXT_IN_0_S 0
|
||||
|
||||
/** AES_TEXT_IN_1_REG register
|
||||
* source text material text_in_1 configure register
|
||||
*/
|
||||
#define AES_TEXT_IN_1_REG (DR_REG_AES_BASE + 0x24)
|
||||
/** AES_TEXT_IN_1 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_in_1 that is a part of source text material.
|
||||
*/
|
||||
#define AES_TEXT_IN_1 0xFFFFFFFFU
|
||||
#define AES_TEXT_IN_1_M (AES_TEXT_IN_1_V << AES_TEXT_IN_1_S)
|
||||
#define AES_TEXT_IN_1_V 0xFFFFFFFFU
|
||||
#define AES_TEXT_IN_1_S 0
|
||||
|
||||
/** AES_TEXT_IN_2_REG register
|
||||
* source text material text_in_2 configure register
|
||||
*/
|
||||
#define AES_TEXT_IN_2_REG (DR_REG_AES_BASE + 0x28)
|
||||
/** AES_TEXT_IN_2 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_in_2 that is a part of source text material.
|
||||
*/
|
||||
#define AES_TEXT_IN_2 0xFFFFFFFFU
|
||||
#define AES_TEXT_IN_2_M (AES_TEXT_IN_2_V << AES_TEXT_IN_2_S)
|
||||
#define AES_TEXT_IN_2_V 0xFFFFFFFFU
|
||||
#define AES_TEXT_IN_2_S 0
|
||||
|
||||
/** AES_TEXT_IN_3_REG register
|
||||
* source text material text_in_3 configure register
|
||||
*/
|
||||
#define AES_TEXT_IN_3_REG (DR_REG_AES_BASE + 0x2c)
|
||||
/** AES_TEXT_IN_3 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_in_3 that is a part of source text material.
|
||||
*/
|
||||
#define AES_TEXT_IN_3 0xFFFFFFFFU
|
||||
#define AES_TEXT_IN_3_M (AES_TEXT_IN_3_V << AES_TEXT_IN_3_S)
|
||||
#define AES_TEXT_IN_3_V 0xFFFFFFFFU
|
||||
#define AES_TEXT_IN_3_S 0
|
||||
|
||||
/** AES_TEXT_OUT_0_REG register
|
||||
* result text material text_out_0 configure register
|
||||
*/
|
||||
#define AES_TEXT_OUT_0_REG (DR_REG_AES_BASE + 0x30)
|
||||
/** AES_TEXT_OUT_0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_out_0 that is a part of result text material.
|
||||
*/
|
||||
#define AES_TEXT_OUT_0 0xFFFFFFFFU
|
||||
#define AES_TEXT_OUT_0_M (AES_TEXT_OUT_0_V << AES_TEXT_OUT_0_S)
|
||||
#define AES_TEXT_OUT_0_V 0xFFFFFFFFU
|
||||
#define AES_TEXT_OUT_0_S 0
|
||||
|
||||
/** AES_TEXT_OUT_1_REG register
|
||||
* result text material text_out_1 configure register
|
||||
*/
|
||||
#define AES_TEXT_OUT_1_REG (DR_REG_AES_BASE + 0x34)
|
||||
/** AES_TEXT_OUT_1 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_out_1 that is a part of result text material.
|
||||
*/
|
||||
#define AES_TEXT_OUT_1 0xFFFFFFFFU
|
||||
#define AES_TEXT_OUT_1_M (AES_TEXT_OUT_1_V << AES_TEXT_OUT_1_S)
|
||||
#define AES_TEXT_OUT_1_V 0xFFFFFFFFU
|
||||
#define AES_TEXT_OUT_1_S 0
|
||||
|
||||
/** AES_TEXT_OUT_2_REG register
|
||||
* result text material text_out_2 configure register
|
||||
*/
|
||||
#define AES_TEXT_OUT_2_REG (DR_REG_AES_BASE + 0x38)
|
||||
/** AES_TEXT_OUT_2 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_out_2 that is a part of result text material.
|
||||
*/
|
||||
#define AES_TEXT_OUT_2 0xFFFFFFFFU
|
||||
#define AES_TEXT_OUT_2_M (AES_TEXT_OUT_2_V << AES_TEXT_OUT_2_S)
|
||||
#define AES_TEXT_OUT_2_V 0xFFFFFFFFU
|
||||
#define AES_TEXT_OUT_2_S 0
|
||||
|
||||
/** AES_TEXT_OUT_3_REG register
|
||||
* result text material text_out_3 configure register
|
||||
*/
|
||||
#define AES_TEXT_OUT_3_REG (DR_REG_AES_BASE + 0x3c)
|
||||
/** AES_TEXT_OUT_3 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_out_3 that is a part of result text material.
|
||||
*/
|
||||
#define AES_TEXT_OUT_3 0xFFFFFFFFU
|
||||
#define AES_TEXT_OUT_3_M (AES_TEXT_OUT_3_V << AES_TEXT_OUT_3_S)
|
||||
#define AES_TEXT_OUT_3_V 0xFFFFFFFFU
|
||||
#define AES_TEXT_OUT_3_S 0
|
||||
|
||||
/** AES_MODE_REG register
|
||||
* AES Mode register
|
||||
*/
|
||||
#define AES_MODE_REG (DR_REG_AES_BASE + 0x40)
|
||||
/** AES_MODE : R/W; bitpos: [2:0]; default: 0;
|
||||
* This bits decides which one operation mode will be used. 3'd0: AES-EN-128, 3'd1:
|
||||
* AES-EN-192, 3'd2: AES-EN-256, 3'd4: AES-DE-128, 3'd5: AES-DE-192, 3'd6: AES-DE-256.
|
||||
*/
|
||||
#define AES_MODE 0x00000007U
|
||||
#define AES_MODE_M (AES_MODE_V << AES_MODE_S)
|
||||
#define AES_MODE_V 0x00000007U
|
||||
#define AES_MODE_S 0
|
||||
|
||||
/** AES_ENDIAN_REG register
|
||||
* AES Endian configure register
|
||||
*/
|
||||
#define AES_ENDIAN_REG (DR_REG_AES_BASE + 0x44)
|
||||
/** AES_ENDIAN : R/W; bitpos: [5:0]; default: 0;
|
||||
* endian. [1:0] key endian, [3:2] text_in endian or in_stream endian, [5:4] text_out
|
||||
* endian or out_stream endian
|
||||
*/
|
||||
#define AES_ENDIAN 0x0000003FU
|
||||
#define AES_ENDIAN_M (AES_ENDIAN_V << AES_ENDIAN_S)
|
||||
#define AES_ENDIAN_V 0x0000003FU
|
||||
#define AES_ENDIAN_S 0
|
||||
|
||||
/** AES_TRIGGER_REG register
|
||||
* AES trigger register
|
||||
*/
|
||||
#define AES_TRIGGER_REG (DR_REG_AES_BASE + 0x48)
|
||||
/** AES_TRIGGER : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to start AES calculation.
|
||||
*/
|
||||
#define AES_TRIGGER (BIT(0))
|
||||
#define AES_TRIGGER_M (AES_TRIGGER_V << AES_TRIGGER_S)
|
||||
#define AES_TRIGGER_V 0x00000001U
|
||||
#define AES_TRIGGER_S 0
|
||||
|
||||
/** AES_STATE_REG register
|
||||
* AES state register
|
||||
*/
|
||||
#define AES_STATE_REG (DR_REG_AES_BASE + 0x4c)
|
||||
/** AES_STATE : RO; bitpos: [1:0]; default: 0;
|
||||
* Those bits shows AES status. For typical AES, 0: idle, 1: busy. For DMA-AES, 0:
|
||||
* idle, 1: busy, 2: calculation_done.
|
||||
*/
|
||||
#define AES_STATE 0x00000003U
|
||||
#define AES_STATE_M (AES_STATE_V << AES_STATE_S)
|
||||
#define AES_STATE_V 0x00000003U
|
||||
#define AES_STATE_S 0
|
||||
|
||||
/** AES_IV_MEM register
|
||||
* The memory that stores initialization vector
|
||||
*/
|
||||
#define AES_IV_MEM (DR_REG_AES_BASE + 0x50)
|
||||
#define AES_IV_MEM_SIZE_BYTES 16
|
||||
|
||||
/** AES_H_MEM register
|
||||
* The memory that stores GCM hash subkey
|
||||
*/
|
||||
#define AES_H_MEM (DR_REG_AES_BASE + 0x60)
|
||||
#define AES_H_MEM_SIZE_BYTES 16
|
||||
|
||||
/** AES_J0_MEM register
|
||||
* The memory that stores J0
|
||||
*/
|
||||
#define AES_J0_MEM (DR_REG_AES_BASE + 0x70)
|
||||
#define AES_J0_MEM_SIZE_BYTES 16
|
||||
|
||||
/** AES_T0_MEM register
|
||||
* The memory that stores T0
|
||||
*/
|
||||
#define AES_T0_MEM (DR_REG_AES_BASE + 0x80)
|
||||
#define AES_T0_MEM_SIZE_BYTES 16
|
||||
|
||||
/** AES_DMA_ENABLE_REG register
|
||||
* DMA-AES working mode register
|
||||
*/
|
||||
#define AES_DMA_ENABLE_REG (DR_REG_AES_BASE + 0x90)
|
||||
/** AES_DMA_ENABLE : R/W; bitpos: [0]; default: 0;
|
||||
* 1'b0: typical AES working mode, 1'b1: DMA-AES working mode.
|
||||
*/
|
||||
#define AES_DMA_ENABLE (BIT(0))
|
||||
#define AES_DMA_ENABLE_M (AES_DMA_ENABLE_V << AES_DMA_ENABLE_S)
|
||||
#define AES_DMA_ENABLE_V 0x00000001U
|
||||
#define AES_DMA_ENABLE_S 0
|
||||
|
||||
/** AES_BLOCK_MODE_REG register
|
||||
* AES cipher block mode register
|
||||
*/
|
||||
#define AES_BLOCK_MODE_REG (DR_REG_AES_BASE + 0x94)
|
||||
/** AES_BLOCK_MODE : R/W; bitpos: [2:0]; default: 0;
|
||||
* Those bits decides which block mode will be used. 0x0: ECB, 0x1: CBC, 0x2: OFB,
|
||||
* 0x3: CTR, 0x4: CFB-8, 0x5: CFB-128, 0x6: GCM, 0x7: reserved.
|
||||
*/
|
||||
#define AES_BLOCK_MODE 0x00000007U
|
||||
#define AES_BLOCK_MODE_M (AES_BLOCK_MODE_V << AES_BLOCK_MODE_S)
|
||||
#define AES_BLOCK_MODE_V 0x00000007U
|
||||
#define AES_BLOCK_MODE_S 0
|
||||
|
||||
/** AES_BLOCK_NUM_REG register
|
||||
* AES block number register
|
||||
*/
|
||||
#define AES_BLOCK_NUM_REG (DR_REG_AES_BASE + 0x98)
|
||||
/** AES_BLOCK_NUM : R/W; bitpos: [31:0]; default: 0;
|
||||
* Those bits stores the number of Plaintext/ciphertext block.
|
||||
*/
|
||||
#define AES_BLOCK_NUM 0xFFFFFFFFU
|
||||
#define AES_BLOCK_NUM_M (AES_BLOCK_NUM_V << AES_BLOCK_NUM_S)
|
||||
#define AES_BLOCK_NUM_V 0xFFFFFFFFU
|
||||
#define AES_BLOCK_NUM_S 0
|
||||
|
||||
/** AES_INC_SEL_REG register
|
||||
* Standard incrementing function configure register
|
||||
*/
|
||||
#define AES_INC_SEL_REG (DR_REG_AES_BASE + 0x9c)
|
||||
/** AES_INC_SEL : R/W; bitpos: [0]; default: 0;
|
||||
* This bit decides the standard incrementing function. 0: INC32. 1: INC128.
|
||||
*/
|
||||
#define AES_INC_SEL (BIT(0))
|
||||
#define AES_INC_SEL_M (AES_INC_SEL_V << AES_INC_SEL_S)
|
||||
#define AES_INC_SEL_V 0x00000001U
|
||||
#define AES_INC_SEL_S 0
|
||||
|
||||
/** AES_AAD_BLOCK_NUM_REG register
|
||||
* Additional Authential Data block number register
|
||||
*/
|
||||
#define AES_AAD_BLOCK_NUM_REG (DR_REG_AES_BASE + 0xa0)
|
||||
/** AES_AAD_BLOCK_NUM : R/W; bitpos: [31:0]; default: 0;
|
||||
* Those bits stores the number of AAD block.
|
||||
*/
|
||||
#define AES_AAD_BLOCK_NUM 0xFFFFFFFFU
|
||||
#define AES_AAD_BLOCK_NUM_M (AES_AAD_BLOCK_NUM_V << AES_AAD_BLOCK_NUM_S)
|
||||
#define AES_AAD_BLOCK_NUM_V 0xFFFFFFFFU
|
||||
#define AES_AAD_BLOCK_NUM_S 0
|
||||
|
||||
/** AES_REMAINDER_BIT_NUM_REG register
|
||||
* AES remainder bit number register
|
||||
*/
|
||||
#define AES_REMAINDER_BIT_NUM_REG (DR_REG_AES_BASE + 0xa4)
|
||||
/** AES_REMAINDER_BIT_NUM : R/W; bitpos: [6:0]; default: 0;
|
||||
* Those bits stores the number of remainder bit.
|
||||
*/
|
||||
#define AES_REMAINDER_BIT_NUM 0x0000007FU
|
||||
#define AES_REMAINDER_BIT_NUM_M (AES_REMAINDER_BIT_NUM_V << AES_REMAINDER_BIT_NUM_S)
|
||||
#define AES_REMAINDER_BIT_NUM_V 0x0000007FU
|
||||
#define AES_REMAINDER_BIT_NUM_S 0
|
||||
|
||||
/** AES_CONTINUE_REG register
|
||||
* AES continue register
|
||||
*/
|
||||
#define AES_CONTINUE_REG (DR_REG_AES_BASE + 0xa8)
|
||||
/** AES_CONTINUE : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to continue GCM operation.
|
||||
*/
|
||||
#define AES_CONTINUE (BIT(0))
|
||||
#define AES_CONTINUE_M (AES_CONTINUE_V << AES_CONTINUE_S)
|
||||
#define AES_CONTINUE_V 0x00000001U
|
||||
#define AES_CONTINUE_S 0
|
||||
|
||||
/** AES_INT_CLEAR_REG register
|
||||
* AES Interrupt clear register
|
||||
*/
|
||||
#define AES_INT_CLEAR_REG (DR_REG_AES_BASE + 0xac)
|
||||
/** AES_INT_CLEAR : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear the AES interrupt.
|
||||
*/
|
||||
#define AES_INT_CLEAR (BIT(0))
|
||||
#define AES_INT_CLEAR_M (AES_INT_CLEAR_V << AES_INT_CLEAR_S)
|
||||
#define AES_INT_CLEAR_V 0x00000001U
|
||||
#define AES_INT_CLEAR_S 0
|
||||
|
||||
/** AES_INT_ENA_REG register
|
||||
* AES Interrupt enable register
|
||||
*/
|
||||
#define AES_INT_ENA_REG (DR_REG_AES_BASE + 0xb0)
|
||||
/** AES_INT_ENA : R/W; bitpos: [0]; default: 0;
|
||||
* Set this bit to enable interrupt that occurs when DMA-AES calculation is done.
|
||||
*/
|
||||
#define AES_INT_ENA (BIT(0))
|
||||
#define AES_INT_ENA_M (AES_INT_ENA_V << AES_INT_ENA_S)
|
||||
#define AES_INT_ENA_V 0x00000001U
|
||||
#define AES_INT_ENA_S 0
|
||||
|
||||
/** AES_DATE_REG register
|
||||
* AES version control register
|
||||
*/
|
||||
#define AES_DATE_REG (DR_REG_AES_BASE + 0xb4)
|
||||
/** AES_DATE : R/W; bitpos: [29:0]; default: 538513936;
|
||||
* This bits stores the version information of AES.
|
||||
*/
|
||||
#define AES_DATE 0x3FFFFFFFU
|
||||
#define AES_DATE_M (AES_DATE_V << AES_DATE_S)
|
||||
#define AES_DATE_V 0x3FFFFFFFU
|
||||
#define AES_DATE_S 0
|
||||
|
||||
/** AES_DMA_EXIT_REG register
|
||||
* AES-DMA exit config
|
||||
*/
|
||||
#define AES_DMA_EXIT_REG (DR_REG_AES_BASE + 0xb8)
|
||||
/** AES_DMA_EXIT : WT; bitpos: [0]; default: 0;
|
||||
* Set this register to leave calculation done stage. Recommend to use it after
|
||||
* software finishes reading DMA's output buffer.
|
||||
*/
|
||||
#define AES_DMA_EXIT (BIT(0))
|
||||
#define AES_DMA_EXIT_M (AES_DMA_EXIT_V << AES_DMA_EXIT_S)
|
||||
#define AES_DMA_EXIT_V 0x00000001U
|
||||
#define AES_DMA_EXIT_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
496
components/soc/esp32h2/include/soc/aes_struct.h
Normal file
496
components/soc/esp32h2/include/soc/aes_struct.h
Normal file
@ -0,0 +1,496 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: key register */
|
||||
/** Type of key_0 register
|
||||
* Key material key_0 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** key_0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_0 that is a part of key material.
|
||||
*/
|
||||
uint32_t key_0:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_key_0_reg_t;
|
||||
|
||||
/** Type of key_1 register
|
||||
* Key material key_1 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** key_1 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_1 that is a part of key material.
|
||||
*/
|
||||
uint32_t key_1:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_key_1_reg_t;
|
||||
|
||||
/** Type of key_2 register
|
||||
* Key material key_2 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** key_2 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_2 that is a part of key material.
|
||||
*/
|
||||
uint32_t key_2:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_key_2_reg_t;
|
||||
|
||||
/** Type of key_3 register
|
||||
* Key material key_3 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** key_3 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_3 that is a part of key material.
|
||||
*/
|
||||
uint32_t key_3:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_key_3_reg_t;
|
||||
|
||||
/** Type of key_4 register
|
||||
* Key material key_4 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** key_4 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_4 that is a part of key material.
|
||||
*/
|
||||
uint32_t key_4:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_key_4_reg_t;
|
||||
|
||||
/** Type of key_5 register
|
||||
* Key material key_5 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** key_5 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_5 that is a part of key material.
|
||||
*/
|
||||
uint32_t key_5:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_key_5_reg_t;
|
||||
|
||||
/** Type of key_6 register
|
||||
* Key material key_6 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** key_6 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_6 that is a part of key material.
|
||||
*/
|
||||
uint32_t key_6:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_key_6_reg_t;
|
||||
|
||||
/** Type of key_7 register
|
||||
* Key material key_7 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** key_7 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores key_7 that is a part of key material.
|
||||
*/
|
||||
uint32_t key_7:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_key_7_reg_t;
|
||||
|
||||
|
||||
/** Group: text in register */
|
||||
/** Type of text_in_0 register
|
||||
* source text material text_in_0 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** text_in_0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_in_0 that is a part of source text material.
|
||||
*/
|
||||
uint32_t text_in_0:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_text_in_0_reg_t;
|
||||
|
||||
/** Type of text_in_1 register
|
||||
* source text material text_in_1 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** text_in_1 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_in_1 that is a part of source text material.
|
||||
*/
|
||||
uint32_t text_in_1:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_text_in_1_reg_t;
|
||||
|
||||
/** Type of text_in_2 register
|
||||
* source text material text_in_2 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** text_in_2 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_in_2 that is a part of source text material.
|
||||
*/
|
||||
uint32_t text_in_2:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_text_in_2_reg_t;
|
||||
|
||||
/** Type of text_in_3 register
|
||||
* source text material text_in_3 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** text_in_3 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_in_3 that is a part of source text material.
|
||||
*/
|
||||
uint32_t text_in_3:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_text_in_3_reg_t;
|
||||
|
||||
|
||||
/** Group: text out register */
|
||||
/** Type of text_out_0 register
|
||||
* result text material text_out_0 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** text_out_0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_out_0 that is a part of result text material.
|
||||
*/
|
||||
uint32_t text_out_0:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_text_out_0_reg_t;
|
||||
|
||||
/** Type of text_out_1 register
|
||||
* result text material text_out_1 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** text_out_1 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_out_1 that is a part of result text material.
|
||||
*/
|
||||
uint32_t text_out_1:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_text_out_1_reg_t;
|
||||
|
||||
/** Type of text_out_2 register
|
||||
* result text material text_out_2 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** text_out_2 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_out_2 that is a part of result text material.
|
||||
*/
|
||||
uint32_t text_out_2:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_text_out_2_reg_t;
|
||||
|
||||
/** Type of text_out_3 register
|
||||
* result text material text_out_3 configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** text_out_3 : R/W; bitpos: [31:0]; default: 0;
|
||||
* This bits stores text_out_3 that is a part of result text material.
|
||||
*/
|
||||
uint32_t text_out_3:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_text_out_3_reg_t;
|
||||
|
||||
|
||||
/** Group: Configuration register */
|
||||
/** Type of mode register
|
||||
* AES Mode register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** mode : R/W; bitpos: [2:0]; default: 0;
|
||||
* This bits decides which one operation mode will be used. 3'd0: AES-EN-128, 3'd1:
|
||||
* AES-EN-192, 3'd2: AES-EN-256, 3'd4: AES-DE-128, 3'd5: AES-DE-192, 3'd6: AES-DE-256.
|
||||
*/
|
||||
uint32_t mode:3;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_mode_reg_t;
|
||||
|
||||
/** Type of endian register
|
||||
* AES Endian configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** endian : R/W; bitpos: [5:0]; default: 0;
|
||||
* endian. [1:0] key endian, [3:2] text_in endian or in_stream endian, [5:4] text_out
|
||||
* endian or out_stream endian
|
||||
*/
|
||||
uint32_t endian:6;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_endian_reg_t;
|
||||
|
||||
/** Type of block_mode register
|
||||
* AES cipher block mode register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** block_mode : R/W; bitpos: [2:0]; default: 0;
|
||||
* Those bits decides which block mode will be used. 0x0: ECB, 0x1: CBC, 0x2: OFB,
|
||||
* 0x3: CTR, 0x4: CFB-8, 0x5: CFB-128, 0x6: GCM, 0x7: reserved.
|
||||
*/
|
||||
uint32_t block_mode:3;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_block_mode_reg_t;
|
||||
|
||||
/** Type of block_num register
|
||||
* AES block number register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** block_num : R/W; bitpos: [31:0]; default: 0;
|
||||
* Those bits stores the number of Plaintext/ciphertext block.
|
||||
*/
|
||||
uint32_t block_num:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_block_num_reg_t;
|
||||
|
||||
/** Type of inc_sel register
|
||||
* Standard incrementing function configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** inc_sel : R/W; bitpos: [0]; default: 0;
|
||||
* This bit decides the standard incrementing function. 0: INC32. 1: INC128.
|
||||
*/
|
||||
uint32_t inc_sel:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_inc_sel_reg_t;
|
||||
|
||||
/** Type of aad_block_num register
|
||||
* Additional Authential Data block number register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** aad_block_num : R/W; bitpos: [31:0]; default: 0;
|
||||
* Those bits stores the number of AAD block.
|
||||
*/
|
||||
uint32_t aad_block_num:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_aad_block_num_reg_t;
|
||||
|
||||
/** Type of remainder_bit_num register
|
||||
* AES remainder bit number register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** remainder_bit_num : R/W; bitpos: [6:0]; default: 0;
|
||||
* Those bits stores the number of remainder bit.
|
||||
*/
|
||||
uint32_t remainder_bit_num:7;
|
||||
uint32_t reserved_7:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_remainder_bit_num_reg_t;
|
||||
|
||||
|
||||
/** Group: Control/Status register */
|
||||
/** Type of trigger register
|
||||
* AES trigger register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** trigger : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to start AES calculation.
|
||||
*/
|
||||
uint32_t trigger:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_trigger_reg_t;
|
||||
|
||||
/** Type of state register
|
||||
* AES state register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** state : RO; bitpos: [1:0]; default: 0;
|
||||
* Those bits shows AES status. For typical AES, 0: idle, 1: busy. For DMA-AES, 0:
|
||||
* idle, 1: busy, 2: calculation_done.
|
||||
*/
|
||||
uint32_t state:2;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_state_reg_t;
|
||||
|
||||
/** Type of dma_enable register
|
||||
* DMA-AES working mode register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dma_enable : R/W; bitpos: [0]; default: 0;
|
||||
* 1'b0: typical AES working mode, 1'b1: DMA-AES working mode.
|
||||
*/
|
||||
uint32_t dma_enable:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_dma_enable_reg_t;
|
||||
|
||||
/** Type of continue register
|
||||
* AES continue register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** continue : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to continue GCM operation.
|
||||
*/
|
||||
uint32_t continue:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_continue_reg_t;
|
||||
|
||||
/** Type of dma_exit register
|
||||
* AES-DMA exit config
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dma_exit : WT; bitpos: [0]; default: 0;
|
||||
* Set this register to leave calculation done stage. Recommend to use it after
|
||||
* software finishes reading DMA's output buffer.
|
||||
*/
|
||||
uint32_t dma_exit:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_dma_exit_reg_t;
|
||||
|
||||
|
||||
/** Group: memory type */
|
||||
|
||||
/** Group: interrupt register */
|
||||
/** Type of int_clear register
|
||||
* AES Interrupt clear register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** int_clear : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear the AES interrupt.
|
||||
*/
|
||||
uint32_t int_clear:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_int_clear_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* AES Interrupt enable register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* Set this bit to enable interrupt that occurs when DMA-AES calculation is done.
|
||||
*/
|
||||
uint32_t int_ena:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_int_ena_reg_t;
|
||||
|
||||
|
||||
/** Group: Version control register */
|
||||
/** Type of date register
|
||||
* AES version control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [29:0]; default: 538513936;
|
||||
* This bits stores the version information of AES.
|
||||
*/
|
||||
uint32_t date:30;
|
||||
uint32_t reserved_30:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} aes_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile aes_key_0_reg_t key_0;
|
||||
volatile aes_key_1_reg_t key_1;
|
||||
volatile aes_key_2_reg_t key_2;
|
||||
volatile aes_key_3_reg_t key_3;
|
||||
volatile aes_key_4_reg_t key_4;
|
||||
volatile aes_key_5_reg_t key_5;
|
||||
volatile aes_key_6_reg_t key_6;
|
||||
volatile aes_key_7_reg_t key_7;
|
||||
volatile aes_text_in_0_reg_t text_in_0;
|
||||
volatile aes_text_in_1_reg_t text_in_1;
|
||||
volatile aes_text_in_2_reg_t text_in_2;
|
||||
volatile aes_text_in_3_reg_t text_in_3;
|
||||
volatile aes_text_out_0_reg_t text_out_0;
|
||||
volatile aes_text_out_1_reg_t text_out_1;
|
||||
volatile aes_text_out_2_reg_t text_out_2;
|
||||
volatile aes_text_out_3_reg_t text_out_3;
|
||||
volatile aes_mode_reg_t mode;
|
||||
volatile aes_endian_reg_t endian;
|
||||
volatile aes_trigger_reg_t trigger;
|
||||
volatile aes_state_reg_t state;
|
||||
volatile uint32_t iv[4];
|
||||
volatile uint32_t h[4];
|
||||
volatile uint32_t j0[4];
|
||||
volatile uint32_t t0[4];
|
||||
volatile aes_dma_enable_reg_t dma_enable;
|
||||
volatile aes_block_mode_reg_t block_mode;
|
||||
volatile aes_block_num_reg_t block_num;
|
||||
volatile aes_inc_sel_reg_t inc_sel;
|
||||
volatile aes_aad_block_num_reg_t aad_block_num;
|
||||
volatile aes_remainder_bit_num_reg_t remainder_bit_num;
|
||||
volatile aes_continue_reg_t continue;
|
||||
volatile aes_int_clear_reg_t int_clear;
|
||||
volatile aes_int_ena_reg_t int_ena;
|
||||
volatile aes_date_reg_t date;
|
||||
volatile aes_dma_exit_reg_t dma_exit;
|
||||
} aes_dev_t;
|
||||
|
||||
extern aes_dev_t AES;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(aes_dev_t) == 0xbc, "Invalid size of aes_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
884
components/soc/esp32h2/include/soc/apb_saradc_reg.h
Normal file
884
components/soc/esp32h2/include/soc/apb_saradc_reg.h
Normal file
@ -0,0 +1,884 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** APB_SARADC_CTRL_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_CTRL_REG (DR_REG_APB_BASE + 0x0)
|
||||
/** APB_SARADC_SARADC_START_FORCE : R/W; bitpos: [0]; default: 0;
|
||||
* select software enable saradc sample
|
||||
*/
|
||||
#define APB_SARADC_SARADC_START_FORCE (BIT(0))
|
||||
#define APB_SARADC_SARADC_START_FORCE_M (APB_SARADC_SARADC_START_FORCE_V << APB_SARADC_SARADC_START_FORCE_S)
|
||||
#define APB_SARADC_SARADC_START_FORCE_V 0x00000001U
|
||||
#define APB_SARADC_SARADC_START_FORCE_S 0
|
||||
/** APB_SARADC_SARADC_START : R/W; bitpos: [1]; default: 0;
|
||||
* software enable saradc sample
|
||||
*/
|
||||
#define APB_SARADC_SARADC_START (BIT(1))
|
||||
#define APB_SARADC_SARADC_START_M (APB_SARADC_SARADC_START_V << APB_SARADC_SARADC_START_S)
|
||||
#define APB_SARADC_SARADC_START_V 0x00000001U
|
||||
#define APB_SARADC_SARADC_START_S 1
|
||||
/** APB_SARADC_SARADC_SAR_CLK_GATED : R/W; bitpos: [6]; default: 1;
|
||||
* SAR clock gated
|
||||
*/
|
||||
#define APB_SARADC_SARADC_SAR_CLK_GATED (BIT(6))
|
||||
#define APB_SARADC_SARADC_SAR_CLK_GATED_M (APB_SARADC_SARADC_SAR_CLK_GATED_V << APB_SARADC_SARADC_SAR_CLK_GATED_S)
|
||||
#define APB_SARADC_SARADC_SAR_CLK_GATED_V 0x00000001U
|
||||
#define APB_SARADC_SARADC_SAR_CLK_GATED_S 6
|
||||
/** APB_SARADC_SARADC_SAR_CLK_DIV : R/W; bitpos: [14:7]; default: 4;
|
||||
* SAR clock divider
|
||||
*/
|
||||
#define APB_SARADC_SARADC_SAR_CLK_DIV 0x000000FFU
|
||||
#define APB_SARADC_SARADC_SAR_CLK_DIV_M (APB_SARADC_SARADC_SAR_CLK_DIV_V << APB_SARADC_SARADC_SAR_CLK_DIV_S)
|
||||
#define APB_SARADC_SARADC_SAR_CLK_DIV_V 0x000000FFU
|
||||
#define APB_SARADC_SARADC_SAR_CLK_DIV_S 7
|
||||
/** APB_SARADC_SARADC_SAR_PATT_LEN : R/W; bitpos: [17:15]; default: 7;
|
||||
* 0 ~ 15 means length 1 ~ 16
|
||||
*/
|
||||
#define APB_SARADC_SARADC_SAR_PATT_LEN 0x00000007U
|
||||
#define APB_SARADC_SARADC_SAR_PATT_LEN_M (APB_SARADC_SARADC_SAR_PATT_LEN_V << APB_SARADC_SARADC_SAR_PATT_LEN_S)
|
||||
#define APB_SARADC_SARADC_SAR_PATT_LEN_V 0x00000007U
|
||||
#define APB_SARADC_SARADC_SAR_PATT_LEN_S 15
|
||||
/** APB_SARADC_SARADC_SAR_PATT_P_CLEAR : R/W; bitpos: [23]; default: 0;
|
||||
* clear the pointer of pattern table for DIG ADC1 CTRL
|
||||
*/
|
||||
#define APB_SARADC_SARADC_SAR_PATT_P_CLEAR (BIT(23))
|
||||
#define APB_SARADC_SARADC_SAR_PATT_P_CLEAR_M (APB_SARADC_SARADC_SAR_PATT_P_CLEAR_V << APB_SARADC_SARADC_SAR_PATT_P_CLEAR_S)
|
||||
#define APB_SARADC_SARADC_SAR_PATT_P_CLEAR_V 0x00000001U
|
||||
#define APB_SARADC_SARADC_SAR_PATT_P_CLEAR_S 23
|
||||
/** APB_SARADC_SARADC_XPD_SAR_FORCE : R/W; bitpos: [28:27]; default: 0;
|
||||
* force option to xpd sar blocks
|
||||
*/
|
||||
#define APB_SARADC_SARADC_XPD_SAR_FORCE 0x00000003U
|
||||
#define APB_SARADC_SARADC_XPD_SAR_FORCE_M (APB_SARADC_SARADC_XPD_SAR_FORCE_V << APB_SARADC_SARADC_XPD_SAR_FORCE_S)
|
||||
#define APB_SARADC_SARADC_XPD_SAR_FORCE_V 0x00000003U
|
||||
#define APB_SARADC_SARADC_XPD_SAR_FORCE_S 27
|
||||
/** APB_SARADC_SARADC2_PWDET_DRV : R/W; bitpos: [29]; default: 0;
|
||||
* enable saradc2 power detect driven func.
|
||||
*/
|
||||
#define APB_SARADC_SARADC2_PWDET_DRV (BIT(29))
|
||||
#define APB_SARADC_SARADC2_PWDET_DRV_M (APB_SARADC_SARADC2_PWDET_DRV_V << APB_SARADC_SARADC2_PWDET_DRV_S)
|
||||
#define APB_SARADC_SARADC2_PWDET_DRV_V 0x00000001U
|
||||
#define APB_SARADC_SARADC2_PWDET_DRV_S 29
|
||||
/** APB_SARADC_SARADC_WAIT_ARB_CYCLE : R/W; bitpos: [31:30]; default: 1;
|
||||
* wait arbit signal stable after sar_done
|
||||
*/
|
||||
#define APB_SARADC_SARADC_WAIT_ARB_CYCLE 0x00000003U
|
||||
#define APB_SARADC_SARADC_WAIT_ARB_CYCLE_M (APB_SARADC_SARADC_WAIT_ARB_CYCLE_V << APB_SARADC_SARADC_WAIT_ARB_CYCLE_S)
|
||||
#define APB_SARADC_SARADC_WAIT_ARB_CYCLE_V 0x00000003U
|
||||
#define APB_SARADC_SARADC_WAIT_ARB_CYCLE_S 30
|
||||
|
||||
/** APB_SARADC_CTRL2_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_CTRL2_REG (DR_REG_APB_BASE + 0x4)
|
||||
/** APB_SARADC_SARADC_MEAS_NUM_LIMIT : R/W; bitpos: [0]; default: 0;
|
||||
* enable max meas num
|
||||
*/
|
||||
#define APB_SARADC_SARADC_MEAS_NUM_LIMIT (BIT(0))
|
||||
#define APB_SARADC_SARADC_MEAS_NUM_LIMIT_M (APB_SARADC_SARADC_MEAS_NUM_LIMIT_V << APB_SARADC_SARADC_MEAS_NUM_LIMIT_S)
|
||||
#define APB_SARADC_SARADC_MEAS_NUM_LIMIT_V 0x00000001U
|
||||
#define APB_SARADC_SARADC_MEAS_NUM_LIMIT_S 0
|
||||
/** APB_SARADC_SARADC_MAX_MEAS_NUM : R/W; bitpos: [8:1]; default: 255;
|
||||
* max conversion number
|
||||
*/
|
||||
#define APB_SARADC_SARADC_MAX_MEAS_NUM 0x000000FFU
|
||||
#define APB_SARADC_SARADC_MAX_MEAS_NUM_M (APB_SARADC_SARADC_MAX_MEAS_NUM_V << APB_SARADC_SARADC_MAX_MEAS_NUM_S)
|
||||
#define APB_SARADC_SARADC_MAX_MEAS_NUM_V 0x000000FFU
|
||||
#define APB_SARADC_SARADC_MAX_MEAS_NUM_S 1
|
||||
/** APB_SARADC_SARADC_SAR1_INV : R/W; bitpos: [9]; default: 0;
|
||||
* 1: data to DIG ADC1 CTRL is inverted, otherwise not
|
||||
*/
|
||||
#define APB_SARADC_SARADC_SAR1_INV (BIT(9))
|
||||
#define APB_SARADC_SARADC_SAR1_INV_M (APB_SARADC_SARADC_SAR1_INV_V << APB_SARADC_SARADC_SAR1_INV_S)
|
||||
#define APB_SARADC_SARADC_SAR1_INV_V 0x00000001U
|
||||
#define APB_SARADC_SARADC_SAR1_INV_S 9
|
||||
/** APB_SARADC_SARADC_SAR2_INV : R/W; bitpos: [10]; default: 0;
|
||||
* 1: data to DIG ADC2 CTRL is inverted, otherwise not
|
||||
*/
|
||||
#define APB_SARADC_SARADC_SAR2_INV (BIT(10))
|
||||
#define APB_SARADC_SARADC_SAR2_INV_M (APB_SARADC_SARADC_SAR2_INV_V << APB_SARADC_SARADC_SAR2_INV_S)
|
||||
#define APB_SARADC_SARADC_SAR2_INV_V 0x00000001U
|
||||
#define APB_SARADC_SARADC_SAR2_INV_S 10
|
||||
/** APB_SARADC_SARADC_TIMER_TARGET : R/W; bitpos: [23:12]; default: 10;
|
||||
* to set saradc timer target
|
||||
*/
|
||||
#define APB_SARADC_SARADC_TIMER_TARGET 0x00000FFFU
|
||||
#define APB_SARADC_SARADC_TIMER_TARGET_M (APB_SARADC_SARADC_TIMER_TARGET_V << APB_SARADC_SARADC_TIMER_TARGET_S)
|
||||
#define APB_SARADC_SARADC_TIMER_TARGET_V 0x00000FFFU
|
||||
#define APB_SARADC_SARADC_TIMER_TARGET_S 12
|
||||
/** APB_SARADC_SARADC_TIMER_EN : R/W; bitpos: [24]; default: 0;
|
||||
* to enable saradc timer trigger
|
||||
*/
|
||||
#define APB_SARADC_SARADC_TIMER_EN (BIT(24))
|
||||
#define APB_SARADC_SARADC_TIMER_EN_M (APB_SARADC_SARADC_TIMER_EN_V << APB_SARADC_SARADC_TIMER_EN_S)
|
||||
#define APB_SARADC_SARADC_TIMER_EN_V 0x00000001U
|
||||
#define APB_SARADC_SARADC_TIMER_EN_S 24
|
||||
|
||||
/** APB_SARADC_FILTER_CTRL1_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_FILTER_CTRL1_REG (DR_REG_APB_BASE + 0x8)
|
||||
/** APB_SARADC_APB_SARADC_FILTER_FACTOR1 : R/W; bitpos: [28:26]; default: 0;
|
||||
* Factor of saradc filter1
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_FILTER_FACTOR1 0x00000007U
|
||||
#define APB_SARADC_APB_SARADC_FILTER_FACTOR1_M (APB_SARADC_APB_SARADC_FILTER_FACTOR1_V << APB_SARADC_APB_SARADC_FILTER_FACTOR1_S)
|
||||
#define APB_SARADC_APB_SARADC_FILTER_FACTOR1_V 0x00000007U
|
||||
#define APB_SARADC_APB_SARADC_FILTER_FACTOR1_S 26
|
||||
/** APB_SARADC_APB_SARADC_FILTER_FACTOR0 : R/W; bitpos: [31:29]; default: 0;
|
||||
* Factor of saradc filter0
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_FILTER_FACTOR0 0x00000007U
|
||||
#define APB_SARADC_APB_SARADC_FILTER_FACTOR0_M (APB_SARADC_APB_SARADC_FILTER_FACTOR0_V << APB_SARADC_APB_SARADC_FILTER_FACTOR0_S)
|
||||
#define APB_SARADC_APB_SARADC_FILTER_FACTOR0_V 0x00000007U
|
||||
#define APB_SARADC_APB_SARADC_FILTER_FACTOR0_S 29
|
||||
|
||||
/** APB_SARADC_FSM_WAIT_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_FSM_WAIT_REG (DR_REG_APB_BASE + 0xc)
|
||||
/** APB_SARADC_SARADC_XPD_WAIT : R/W; bitpos: [7:0]; default: 8;
|
||||
* saradc_xpd_wait
|
||||
*/
|
||||
#define APB_SARADC_SARADC_XPD_WAIT 0x000000FFU
|
||||
#define APB_SARADC_SARADC_XPD_WAIT_M (APB_SARADC_SARADC_XPD_WAIT_V << APB_SARADC_SARADC_XPD_WAIT_S)
|
||||
#define APB_SARADC_SARADC_XPD_WAIT_V 0x000000FFU
|
||||
#define APB_SARADC_SARADC_XPD_WAIT_S 0
|
||||
/** APB_SARADC_SARADC_RSTB_WAIT : R/W; bitpos: [15:8]; default: 8;
|
||||
* saradc_rstb_wait
|
||||
*/
|
||||
#define APB_SARADC_SARADC_RSTB_WAIT 0x000000FFU
|
||||
#define APB_SARADC_SARADC_RSTB_WAIT_M (APB_SARADC_SARADC_RSTB_WAIT_V << APB_SARADC_SARADC_RSTB_WAIT_S)
|
||||
#define APB_SARADC_SARADC_RSTB_WAIT_V 0x000000FFU
|
||||
#define APB_SARADC_SARADC_RSTB_WAIT_S 8
|
||||
/** APB_SARADC_SARADC_STANDBY_WAIT : R/W; bitpos: [23:16]; default: 255;
|
||||
* saradc_standby_wait
|
||||
*/
|
||||
#define APB_SARADC_SARADC_STANDBY_WAIT 0x000000FFU
|
||||
#define APB_SARADC_SARADC_STANDBY_WAIT_M (APB_SARADC_SARADC_STANDBY_WAIT_V << APB_SARADC_SARADC_STANDBY_WAIT_S)
|
||||
#define APB_SARADC_SARADC_STANDBY_WAIT_V 0x000000FFU
|
||||
#define APB_SARADC_SARADC_STANDBY_WAIT_S 16
|
||||
|
||||
/** APB_SARADC_SAR1_STATUS_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_SAR1_STATUS_REG (DR_REG_APB_BASE + 0x10)
|
||||
/** APB_SARADC_SARADC_SAR1_STATUS : RO; bitpos: [31:0]; default: 536870912;
|
||||
* saradc1 status about data and channel
|
||||
*/
|
||||
#define APB_SARADC_SARADC_SAR1_STATUS 0xFFFFFFFFU
|
||||
#define APB_SARADC_SARADC_SAR1_STATUS_M (APB_SARADC_SARADC_SAR1_STATUS_V << APB_SARADC_SARADC_SAR1_STATUS_S)
|
||||
#define APB_SARADC_SARADC_SAR1_STATUS_V 0xFFFFFFFFU
|
||||
#define APB_SARADC_SARADC_SAR1_STATUS_S 0
|
||||
|
||||
/** APB_SARADC_SAR2_STATUS_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_SAR2_STATUS_REG (DR_REG_APB_BASE + 0x14)
|
||||
/** APB_SARADC_SARADC_SAR2_STATUS : RO; bitpos: [31:0]; default: 536870912;
|
||||
* saradc2 status about data and channel
|
||||
*/
|
||||
#define APB_SARADC_SARADC_SAR2_STATUS 0xFFFFFFFFU
|
||||
#define APB_SARADC_SARADC_SAR2_STATUS_M (APB_SARADC_SARADC_SAR2_STATUS_V << APB_SARADC_SARADC_SAR2_STATUS_S)
|
||||
#define APB_SARADC_SARADC_SAR2_STATUS_V 0xFFFFFFFFU
|
||||
#define APB_SARADC_SARADC_SAR2_STATUS_S 0
|
||||
|
||||
/** APB_SARADC_SAR_PATT_TAB1_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_SAR_PATT_TAB1_REG (DR_REG_APB_BASE + 0x18)
|
||||
/** APB_SARADC_SARADC_SAR_PATT_TAB1 : R/W; bitpos: [23:0]; default: 16777215;
|
||||
* item 0 ~ 3 for pattern table 1 (each item one byte)
|
||||
*/
|
||||
#define APB_SARADC_SARADC_SAR_PATT_TAB1 0x00FFFFFFU
|
||||
#define APB_SARADC_SARADC_SAR_PATT_TAB1_M (APB_SARADC_SARADC_SAR_PATT_TAB1_V << APB_SARADC_SARADC_SAR_PATT_TAB1_S)
|
||||
#define APB_SARADC_SARADC_SAR_PATT_TAB1_V 0x00FFFFFFU
|
||||
#define APB_SARADC_SARADC_SAR_PATT_TAB1_S 0
|
||||
|
||||
/** APB_SARADC_SAR_PATT_TAB2_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_SAR_PATT_TAB2_REG (DR_REG_APB_BASE + 0x1c)
|
||||
/** APB_SARADC_SARADC_SAR_PATT_TAB2 : R/W; bitpos: [23:0]; default: 16777215;
|
||||
* Item 4 ~ 7 for pattern table 1 (each item one byte)
|
||||
*/
|
||||
#define APB_SARADC_SARADC_SAR_PATT_TAB2 0x00FFFFFFU
|
||||
#define APB_SARADC_SARADC_SAR_PATT_TAB2_M (APB_SARADC_SARADC_SAR_PATT_TAB2_V << APB_SARADC_SARADC_SAR_PATT_TAB2_S)
|
||||
#define APB_SARADC_SARADC_SAR_PATT_TAB2_V 0x00FFFFFFU
|
||||
#define APB_SARADC_SARADC_SAR_PATT_TAB2_S 0
|
||||
|
||||
/** APB_SARADC_ONETIME_SAMPLE_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_ONETIME_SAMPLE_REG (DR_REG_APB_BASE + 0x20)
|
||||
/** APB_SARADC_SARADC_ONETIME_ATTEN : R/W; bitpos: [24:23]; default: 0;
|
||||
* configure onetime atten
|
||||
*/
|
||||
#define APB_SARADC_SARADC_ONETIME_ATTEN 0x00000003U
|
||||
#define APB_SARADC_SARADC_ONETIME_ATTEN_M (APB_SARADC_SARADC_ONETIME_ATTEN_V << APB_SARADC_SARADC_ONETIME_ATTEN_S)
|
||||
#define APB_SARADC_SARADC_ONETIME_ATTEN_V 0x00000003U
|
||||
#define APB_SARADC_SARADC_ONETIME_ATTEN_S 23
|
||||
/** APB_SARADC_SARADC_ONETIME_CHANNEL : R/W; bitpos: [28:25]; default: 13;
|
||||
* configure onetime channel
|
||||
*/
|
||||
#define APB_SARADC_SARADC_ONETIME_CHANNEL 0x0000000FU
|
||||
#define APB_SARADC_SARADC_ONETIME_CHANNEL_M (APB_SARADC_SARADC_ONETIME_CHANNEL_V << APB_SARADC_SARADC_ONETIME_CHANNEL_S)
|
||||
#define APB_SARADC_SARADC_ONETIME_CHANNEL_V 0x0000000FU
|
||||
#define APB_SARADC_SARADC_ONETIME_CHANNEL_S 25
|
||||
/** APB_SARADC_SARADC_ONETIME_START : R/W; bitpos: [29]; default: 0;
|
||||
* trigger adc onetime sample
|
||||
*/
|
||||
#define APB_SARADC_SARADC_ONETIME_START (BIT(29))
|
||||
#define APB_SARADC_SARADC_ONETIME_START_M (APB_SARADC_SARADC_ONETIME_START_V << APB_SARADC_SARADC_ONETIME_START_S)
|
||||
#define APB_SARADC_SARADC_ONETIME_START_V 0x00000001U
|
||||
#define APB_SARADC_SARADC_ONETIME_START_S 29
|
||||
/** APB_SARADC_SARADC2_ONETIME_SAMPLE : R/W; bitpos: [30]; default: 0;
|
||||
* enable adc2 onetime sample
|
||||
*/
|
||||
#define APB_SARADC_SARADC2_ONETIME_SAMPLE (BIT(30))
|
||||
#define APB_SARADC_SARADC2_ONETIME_SAMPLE_M (APB_SARADC_SARADC2_ONETIME_SAMPLE_V << APB_SARADC_SARADC2_ONETIME_SAMPLE_S)
|
||||
#define APB_SARADC_SARADC2_ONETIME_SAMPLE_V 0x00000001U
|
||||
#define APB_SARADC_SARADC2_ONETIME_SAMPLE_S 30
|
||||
/** APB_SARADC_SARADC1_ONETIME_SAMPLE : R/W; bitpos: [31]; default: 0;
|
||||
* enable adc1 onetime sample
|
||||
*/
|
||||
#define APB_SARADC_SARADC1_ONETIME_SAMPLE (BIT(31))
|
||||
#define APB_SARADC_SARADC1_ONETIME_SAMPLE_M (APB_SARADC_SARADC1_ONETIME_SAMPLE_V << APB_SARADC_SARADC1_ONETIME_SAMPLE_S)
|
||||
#define APB_SARADC_SARADC1_ONETIME_SAMPLE_V 0x00000001U
|
||||
#define APB_SARADC_SARADC1_ONETIME_SAMPLE_S 31
|
||||
|
||||
/** APB_SARADC_ARB_CTRL_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_ARB_CTRL_REG (DR_REG_APB_BASE + 0x24)
|
||||
/** APB_SARADC_ADC_ARB_APB_FORCE : R/W; bitpos: [2]; default: 0;
|
||||
* adc2 arbiter force to enableapb controller
|
||||
*/
|
||||
#define APB_SARADC_ADC_ARB_APB_FORCE (BIT(2))
|
||||
#define APB_SARADC_ADC_ARB_APB_FORCE_M (APB_SARADC_ADC_ARB_APB_FORCE_V << APB_SARADC_ADC_ARB_APB_FORCE_S)
|
||||
#define APB_SARADC_ADC_ARB_APB_FORCE_V 0x00000001U
|
||||
#define APB_SARADC_ADC_ARB_APB_FORCE_S 2
|
||||
/** APB_SARADC_ADC_ARB_RTC_FORCE : R/W; bitpos: [3]; default: 0;
|
||||
* adc2 arbiter force to enable rtc controller
|
||||
*/
|
||||
#define APB_SARADC_ADC_ARB_RTC_FORCE (BIT(3))
|
||||
#define APB_SARADC_ADC_ARB_RTC_FORCE_M (APB_SARADC_ADC_ARB_RTC_FORCE_V << APB_SARADC_ADC_ARB_RTC_FORCE_S)
|
||||
#define APB_SARADC_ADC_ARB_RTC_FORCE_V 0x00000001U
|
||||
#define APB_SARADC_ADC_ARB_RTC_FORCE_S 3
|
||||
/** APB_SARADC_ADC_ARB_WIFI_FORCE : R/W; bitpos: [4]; default: 0;
|
||||
* adc2 arbiter force to enable wifi controller
|
||||
*/
|
||||
#define APB_SARADC_ADC_ARB_WIFI_FORCE (BIT(4))
|
||||
#define APB_SARADC_ADC_ARB_WIFI_FORCE_M (APB_SARADC_ADC_ARB_WIFI_FORCE_V << APB_SARADC_ADC_ARB_WIFI_FORCE_S)
|
||||
#define APB_SARADC_ADC_ARB_WIFI_FORCE_V 0x00000001U
|
||||
#define APB_SARADC_ADC_ARB_WIFI_FORCE_S 4
|
||||
/** APB_SARADC_ADC_ARB_GRANT_FORCE : R/W; bitpos: [5]; default: 0;
|
||||
* adc2 arbiter force grant
|
||||
*/
|
||||
#define APB_SARADC_ADC_ARB_GRANT_FORCE (BIT(5))
|
||||
#define APB_SARADC_ADC_ARB_GRANT_FORCE_M (APB_SARADC_ADC_ARB_GRANT_FORCE_V << APB_SARADC_ADC_ARB_GRANT_FORCE_S)
|
||||
#define APB_SARADC_ADC_ARB_GRANT_FORCE_V 0x00000001U
|
||||
#define APB_SARADC_ADC_ARB_GRANT_FORCE_S 5
|
||||
/** APB_SARADC_ADC_ARB_APB_PRIORITY : R/W; bitpos: [7:6]; default: 0;
|
||||
* Set adc2 arbiterapb priority
|
||||
*/
|
||||
#define APB_SARADC_ADC_ARB_APB_PRIORITY 0x00000003U
|
||||
#define APB_SARADC_ADC_ARB_APB_PRIORITY_M (APB_SARADC_ADC_ARB_APB_PRIORITY_V << APB_SARADC_ADC_ARB_APB_PRIORITY_S)
|
||||
#define APB_SARADC_ADC_ARB_APB_PRIORITY_V 0x00000003U
|
||||
#define APB_SARADC_ADC_ARB_APB_PRIORITY_S 6
|
||||
/** APB_SARADC_ADC_ARB_RTC_PRIORITY : R/W; bitpos: [9:8]; default: 1;
|
||||
* Set adc2 arbiter rtc priority
|
||||
*/
|
||||
#define APB_SARADC_ADC_ARB_RTC_PRIORITY 0x00000003U
|
||||
#define APB_SARADC_ADC_ARB_RTC_PRIORITY_M (APB_SARADC_ADC_ARB_RTC_PRIORITY_V << APB_SARADC_ADC_ARB_RTC_PRIORITY_S)
|
||||
#define APB_SARADC_ADC_ARB_RTC_PRIORITY_V 0x00000003U
|
||||
#define APB_SARADC_ADC_ARB_RTC_PRIORITY_S 8
|
||||
/** APB_SARADC_ADC_ARB_WIFI_PRIORITY : R/W; bitpos: [11:10]; default: 2;
|
||||
* Set adc2 arbiter wifi priority
|
||||
*/
|
||||
#define APB_SARADC_ADC_ARB_WIFI_PRIORITY 0x00000003U
|
||||
#define APB_SARADC_ADC_ARB_WIFI_PRIORITY_M (APB_SARADC_ADC_ARB_WIFI_PRIORITY_V << APB_SARADC_ADC_ARB_WIFI_PRIORITY_S)
|
||||
#define APB_SARADC_ADC_ARB_WIFI_PRIORITY_V 0x00000003U
|
||||
#define APB_SARADC_ADC_ARB_WIFI_PRIORITY_S 10
|
||||
/** APB_SARADC_ADC_ARB_FIX_PRIORITY : R/W; bitpos: [12]; default: 0;
|
||||
* adc2 arbiter uses fixed priority
|
||||
*/
|
||||
#define APB_SARADC_ADC_ARB_FIX_PRIORITY (BIT(12))
|
||||
#define APB_SARADC_ADC_ARB_FIX_PRIORITY_M (APB_SARADC_ADC_ARB_FIX_PRIORITY_V << APB_SARADC_ADC_ARB_FIX_PRIORITY_S)
|
||||
#define APB_SARADC_ADC_ARB_FIX_PRIORITY_V 0x00000001U
|
||||
#define APB_SARADC_ADC_ARB_FIX_PRIORITY_S 12
|
||||
|
||||
/** APB_SARADC_FILTER_CTRL0_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_FILTER_CTRL0_REG (DR_REG_APB_BASE + 0x28)
|
||||
/** APB_SARADC_APB_SARADC_FILTER_CHANNEL1 : R/W; bitpos: [21:18]; default: 13;
|
||||
* configure filter1 to adc channel
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_FILTER_CHANNEL1 0x0000000FU
|
||||
#define APB_SARADC_APB_SARADC_FILTER_CHANNEL1_M (APB_SARADC_APB_SARADC_FILTER_CHANNEL1_V << APB_SARADC_APB_SARADC_FILTER_CHANNEL1_S)
|
||||
#define APB_SARADC_APB_SARADC_FILTER_CHANNEL1_V 0x0000000FU
|
||||
#define APB_SARADC_APB_SARADC_FILTER_CHANNEL1_S 18
|
||||
/** APB_SARADC_APB_SARADC_FILTER_CHANNEL0 : R/W; bitpos: [25:22]; default: 13;
|
||||
* configure filter0 to adc channel
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_FILTER_CHANNEL0 0x0000000FU
|
||||
#define APB_SARADC_APB_SARADC_FILTER_CHANNEL0_M (APB_SARADC_APB_SARADC_FILTER_CHANNEL0_V << APB_SARADC_APB_SARADC_FILTER_CHANNEL0_S)
|
||||
#define APB_SARADC_APB_SARADC_FILTER_CHANNEL0_V 0x0000000FU
|
||||
#define APB_SARADC_APB_SARADC_FILTER_CHANNEL0_S 22
|
||||
/** APB_SARADC_APB_SARADC_FILTER_RESET : R/W; bitpos: [31]; default: 0;
|
||||
* enable apb_adc1_filter
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_FILTER_RESET (BIT(31))
|
||||
#define APB_SARADC_APB_SARADC_FILTER_RESET_M (APB_SARADC_APB_SARADC_FILTER_RESET_V << APB_SARADC_APB_SARADC_FILTER_RESET_S)
|
||||
#define APB_SARADC_APB_SARADC_FILTER_RESET_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_FILTER_RESET_S 31
|
||||
|
||||
/** APB_SARADC_SAR1DATA_STATUS_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_SAR1DATA_STATUS_REG (DR_REG_APB_BASE + 0x2c)
|
||||
/** APB_SARADC_APB_SARADC1_DATA : RO; bitpos: [16:0]; default: 0;
|
||||
* saradc1 data
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC1_DATA 0x0001FFFFU
|
||||
#define APB_SARADC_APB_SARADC1_DATA_M (APB_SARADC_APB_SARADC1_DATA_V << APB_SARADC_APB_SARADC1_DATA_S)
|
||||
#define APB_SARADC_APB_SARADC1_DATA_V 0x0001FFFFU
|
||||
#define APB_SARADC_APB_SARADC1_DATA_S 0
|
||||
|
||||
/** APB_SARADC_SAR2DATA_STATUS_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_SAR2DATA_STATUS_REG (DR_REG_APB_BASE + 0x30)
|
||||
/** APB_SARADC_APB_SARADC2_DATA : RO; bitpos: [16:0]; default: 0;
|
||||
* saradc2 data
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC2_DATA 0x0001FFFFU
|
||||
#define APB_SARADC_APB_SARADC2_DATA_M (APB_SARADC_APB_SARADC2_DATA_V << APB_SARADC_APB_SARADC2_DATA_S)
|
||||
#define APB_SARADC_APB_SARADC2_DATA_V 0x0001FFFFU
|
||||
#define APB_SARADC_APB_SARADC2_DATA_S 0
|
||||
|
||||
/** APB_SARADC_THRES0_CTRL_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_THRES0_CTRL_REG (DR_REG_APB_BASE + 0x34)
|
||||
/** APB_SARADC_APB_SARADC_THRES0_CHANNEL : R/W; bitpos: [3:0]; default: 13;
|
||||
* configure thres0 to adc channel
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES0_CHANNEL 0x0000000FU
|
||||
#define APB_SARADC_APB_SARADC_THRES0_CHANNEL_M (APB_SARADC_APB_SARADC_THRES0_CHANNEL_V << APB_SARADC_APB_SARADC_THRES0_CHANNEL_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES0_CHANNEL_V 0x0000000FU
|
||||
#define APB_SARADC_APB_SARADC_THRES0_CHANNEL_S 0
|
||||
/** APB_SARADC_APB_SARADC_THRES0_HIGH : R/W; bitpos: [17:5]; default: 8191;
|
||||
* saradc thres0 monitor thres
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH 0x00001FFFU
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_M (APB_SARADC_APB_SARADC_THRES0_HIGH_V << APB_SARADC_APB_SARADC_THRES0_HIGH_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_V 0x00001FFFU
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_S 5
|
||||
/** APB_SARADC_APB_SARADC_THRES0_LOW : R/W; bitpos: [30:18]; default: 0;
|
||||
* saradc thres0 monitor thres
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW 0x00001FFFU
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_M (APB_SARADC_APB_SARADC_THRES0_LOW_V << APB_SARADC_APB_SARADC_THRES0_LOW_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_V 0x00001FFFU
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_S 18
|
||||
|
||||
/** APB_SARADC_THRES1_CTRL_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_THRES1_CTRL_REG (DR_REG_APB_BASE + 0x38)
|
||||
/** APB_SARADC_APB_SARADC_THRES1_CHANNEL : R/W; bitpos: [3:0]; default: 13;
|
||||
* configure thres1 to adc channel
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES1_CHANNEL 0x0000000FU
|
||||
#define APB_SARADC_APB_SARADC_THRES1_CHANNEL_M (APB_SARADC_APB_SARADC_THRES1_CHANNEL_V << APB_SARADC_APB_SARADC_THRES1_CHANNEL_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES1_CHANNEL_V 0x0000000FU
|
||||
#define APB_SARADC_APB_SARADC_THRES1_CHANNEL_S 0
|
||||
/** APB_SARADC_APB_SARADC_THRES1_HIGH : R/W; bitpos: [17:5]; default: 8191;
|
||||
* saradc thres1 monitor thres
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH 0x00001FFFU
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_M (APB_SARADC_APB_SARADC_THRES1_HIGH_V << APB_SARADC_APB_SARADC_THRES1_HIGH_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_V 0x00001FFFU
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_S 5
|
||||
/** APB_SARADC_APB_SARADC_THRES1_LOW : R/W; bitpos: [30:18]; default: 0;
|
||||
* saradc thres1 monitor thres
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW 0x00001FFFU
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_M (APB_SARADC_APB_SARADC_THRES1_LOW_V << APB_SARADC_APB_SARADC_THRES1_LOW_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_V 0x00001FFFU
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_S 18
|
||||
|
||||
/** APB_SARADC_THRES_CTRL_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_THRES_CTRL_REG (DR_REG_APB_BASE + 0x3c)
|
||||
/** APB_SARADC_APB_SARADC_THRES_ALL_EN : R/W; bitpos: [27]; default: 0;
|
||||
* enable thres to all channel
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES_ALL_EN (BIT(27))
|
||||
#define APB_SARADC_APB_SARADC_THRES_ALL_EN_M (APB_SARADC_APB_SARADC_THRES_ALL_EN_V << APB_SARADC_APB_SARADC_THRES_ALL_EN_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES_ALL_EN_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES_ALL_EN_S 27
|
||||
/** APB_SARADC_APB_SARADC_THRES1_EN : R/W; bitpos: [30]; default: 0;
|
||||
* enable thres1
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES1_EN (BIT(30))
|
||||
#define APB_SARADC_APB_SARADC_THRES1_EN_M (APB_SARADC_APB_SARADC_THRES1_EN_V << APB_SARADC_APB_SARADC_THRES1_EN_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES1_EN_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES1_EN_S 30
|
||||
/** APB_SARADC_APB_SARADC_THRES0_EN : R/W; bitpos: [31]; default: 0;
|
||||
* enable thres0
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES0_EN (BIT(31))
|
||||
#define APB_SARADC_APB_SARADC_THRES0_EN_M (APB_SARADC_APB_SARADC_THRES0_EN_V << APB_SARADC_APB_SARADC_THRES0_EN_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES0_EN_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES0_EN_S 31
|
||||
|
||||
/** APB_SARADC_INT_ENA_REG register
|
||||
* digital saradc int register
|
||||
*/
|
||||
#define APB_SARADC_INT_ENA_REG (DR_REG_APB_BASE + 0x40)
|
||||
/** APB_SARADC_APB_SARADC_TSENS_INT_ENA : R/W; bitpos: [25]; default: 0;
|
||||
* tsens low interrupt enable
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_ENA (BIT(25))
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_ENA_M (APB_SARADC_APB_SARADC_TSENS_INT_ENA_V << APB_SARADC_APB_SARADC_TSENS_INT_ENA_S)
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_ENA_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_ENA_S 25
|
||||
/** APB_SARADC_APB_SARADC_THRES1_LOW_INT_ENA : R/W; bitpos: [26]; default: 0;
|
||||
* saradc thres1 low interrupt enable
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_ENA (BIT(26))
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_ENA_M (APB_SARADC_APB_SARADC_THRES1_LOW_INT_ENA_V << APB_SARADC_APB_SARADC_THRES1_LOW_INT_ENA_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_ENA_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_ENA_S 26
|
||||
/** APB_SARADC_APB_SARADC_THRES0_LOW_INT_ENA : R/W; bitpos: [27]; default: 0;
|
||||
* saradc thres0 low interrupt enable
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_ENA (BIT(27))
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_ENA_M (APB_SARADC_APB_SARADC_THRES0_LOW_INT_ENA_V << APB_SARADC_APB_SARADC_THRES0_LOW_INT_ENA_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_ENA_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_ENA_S 27
|
||||
/** APB_SARADC_APB_SARADC_THRES1_HIGH_INT_ENA : R/W; bitpos: [28]; default: 0;
|
||||
* saradc thres1 high interrupt enable
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_ENA (BIT(28))
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_ENA_M (APB_SARADC_APB_SARADC_THRES1_HIGH_INT_ENA_V << APB_SARADC_APB_SARADC_THRES1_HIGH_INT_ENA_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_ENA_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_ENA_S 28
|
||||
/** APB_SARADC_APB_SARADC_THRES0_HIGH_INT_ENA : R/W; bitpos: [29]; default: 0;
|
||||
* saradc thres0 high interrupt enable
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_ENA (BIT(29))
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_ENA_M (APB_SARADC_APB_SARADC_THRES0_HIGH_INT_ENA_V << APB_SARADC_APB_SARADC_THRES0_HIGH_INT_ENA_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_ENA_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_ENA_S 29
|
||||
/** APB_SARADC_APB_SARADC2_DONE_INT_ENA : R/W; bitpos: [30]; default: 0;
|
||||
* saradc2 done interrupt enable
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_ENA (BIT(30))
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_ENA_M (APB_SARADC_APB_SARADC2_DONE_INT_ENA_V << APB_SARADC_APB_SARADC2_DONE_INT_ENA_S)
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_ENA_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_ENA_S 30
|
||||
/** APB_SARADC_APB_SARADC1_DONE_INT_ENA : R/W; bitpos: [31]; default: 0;
|
||||
* saradc1 done interrupt enable
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_ENA (BIT(31))
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_ENA_M (APB_SARADC_APB_SARADC1_DONE_INT_ENA_V << APB_SARADC_APB_SARADC1_DONE_INT_ENA_S)
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_ENA_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_ENA_S 31
|
||||
|
||||
/** APB_SARADC_INT_RAW_REG register
|
||||
* digital saradc int register
|
||||
*/
|
||||
#define APB_SARADC_INT_RAW_REG (DR_REG_APB_BASE + 0x44)
|
||||
/** APB_SARADC_APB_SARADC_TSENS_INT_RAW : R/WTC/SS; bitpos: [25]; default: 0;
|
||||
* saradc tsens interrupt raw
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_RAW (BIT(25))
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_RAW_M (APB_SARADC_APB_SARADC_TSENS_INT_RAW_V << APB_SARADC_APB_SARADC_TSENS_INT_RAW_S)
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_RAW_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_RAW_S 25
|
||||
/** APB_SARADC_APB_SARADC_THRES1_LOW_INT_RAW : R/WTC/SS; bitpos: [26]; default: 0;
|
||||
* saradc thres1 low interrupt raw
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_RAW (BIT(26))
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_RAW_M (APB_SARADC_APB_SARADC_THRES1_LOW_INT_RAW_V << APB_SARADC_APB_SARADC_THRES1_LOW_INT_RAW_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_RAW_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_RAW_S 26
|
||||
/** APB_SARADC_APB_SARADC_THRES0_LOW_INT_RAW : R/WTC/SS; bitpos: [27]; default: 0;
|
||||
* saradc thres0 low interrupt raw
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_RAW (BIT(27))
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_RAW_M (APB_SARADC_APB_SARADC_THRES0_LOW_INT_RAW_V << APB_SARADC_APB_SARADC_THRES0_LOW_INT_RAW_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_RAW_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_RAW_S 27
|
||||
/** APB_SARADC_APB_SARADC_THRES1_HIGH_INT_RAW : R/WTC/SS; bitpos: [28]; default: 0;
|
||||
* saradc thres1 high interrupt raw
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_RAW (BIT(28))
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_RAW_M (APB_SARADC_APB_SARADC_THRES1_HIGH_INT_RAW_V << APB_SARADC_APB_SARADC_THRES1_HIGH_INT_RAW_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_RAW_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_RAW_S 28
|
||||
/** APB_SARADC_APB_SARADC_THRES0_HIGH_INT_RAW : R/WTC/SS; bitpos: [29]; default: 0;
|
||||
* saradc thres0 high interrupt raw
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_RAW (BIT(29))
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_RAW_M (APB_SARADC_APB_SARADC_THRES0_HIGH_INT_RAW_V << APB_SARADC_APB_SARADC_THRES0_HIGH_INT_RAW_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_RAW_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_RAW_S 29
|
||||
/** APB_SARADC_APB_SARADC2_DONE_INT_RAW : R/WTC/SS; bitpos: [30]; default: 0;
|
||||
* saradc2 done interrupt raw
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_RAW (BIT(30))
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_RAW_M (APB_SARADC_APB_SARADC2_DONE_INT_RAW_V << APB_SARADC_APB_SARADC2_DONE_INT_RAW_S)
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_RAW_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_RAW_S 30
|
||||
/** APB_SARADC_APB_SARADC1_DONE_INT_RAW : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* saradc1 done interrupt raw
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_RAW (BIT(31))
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_RAW_M (APB_SARADC_APB_SARADC1_DONE_INT_RAW_V << APB_SARADC_APB_SARADC1_DONE_INT_RAW_S)
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_RAW_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_RAW_S 31
|
||||
|
||||
/** APB_SARADC_INT_ST_REG register
|
||||
* digital saradc int register
|
||||
*/
|
||||
#define APB_SARADC_INT_ST_REG (DR_REG_APB_BASE + 0x48)
|
||||
/** APB_SARADC_APB_SARADC_TSENS_INT_ST : RO; bitpos: [25]; default: 0;
|
||||
* saradc tsens interrupt state
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_ST (BIT(25))
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_ST_M (APB_SARADC_APB_SARADC_TSENS_INT_ST_V << APB_SARADC_APB_SARADC_TSENS_INT_ST_S)
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_ST_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_ST_S 25
|
||||
/** APB_SARADC_APB_SARADC_THRES1_LOW_INT_ST : RO; bitpos: [26]; default: 0;
|
||||
* saradc thres1 low interrupt state
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_ST (BIT(26))
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_ST_M (APB_SARADC_APB_SARADC_THRES1_LOW_INT_ST_V << APB_SARADC_APB_SARADC_THRES1_LOW_INT_ST_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_ST_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_ST_S 26
|
||||
/** APB_SARADC_APB_SARADC_THRES0_LOW_INT_ST : RO; bitpos: [27]; default: 0;
|
||||
* saradc thres0 low interrupt state
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_ST (BIT(27))
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_ST_M (APB_SARADC_APB_SARADC_THRES0_LOW_INT_ST_V << APB_SARADC_APB_SARADC_THRES0_LOW_INT_ST_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_ST_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_ST_S 27
|
||||
/** APB_SARADC_APB_SARADC_THRES1_HIGH_INT_ST : RO; bitpos: [28]; default: 0;
|
||||
* saradc thres1 high interrupt state
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_ST (BIT(28))
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_ST_M (APB_SARADC_APB_SARADC_THRES1_HIGH_INT_ST_V << APB_SARADC_APB_SARADC_THRES1_HIGH_INT_ST_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_ST_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_ST_S 28
|
||||
/** APB_SARADC_APB_SARADC_THRES0_HIGH_INT_ST : RO; bitpos: [29]; default: 0;
|
||||
* saradc thres0 high interrupt state
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_ST (BIT(29))
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_ST_M (APB_SARADC_APB_SARADC_THRES0_HIGH_INT_ST_V << APB_SARADC_APB_SARADC_THRES0_HIGH_INT_ST_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_ST_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_ST_S 29
|
||||
/** APB_SARADC_APB_SARADC2_DONE_INT_ST : RO; bitpos: [30]; default: 0;
|
||||
* saradc2 done interrupt state
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_ST (BIT(30))
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_ST_M (APB_SARADC_APB_SARADC2_DONE_INT_ST_V << APB_SARADC_APB_SARADC2_DONE_INT_ST_S)
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_ST_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_ST_S 30
|
||||
/** APB_SARADC_APB_SARADC1_DONE_INT_ST : RO; bitpos: [31]; default: 0;
|
||||
* saradc1 done interrupt state
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_ST (BIT(31))
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_ST_M (APB_SARADC_APB_SARADC1_DONE_INT_ST_V << APB_SARADC_APB_SARADC1_DONE_INT_ST_S)
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_ST_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_ST_S 31
|
||||
|
||||
/** APB_SARADC_INT_CLR_REG register
|
||||
* digital saradc int register
|
||||
*/
|
||||
#define APB_SARADC_INT_CLR_REG (DR_REG_APB_BASE + 0x4c)
|
||||
/** APB_SARADC_APB_SARADC_TSENS_INT_CLR : WT; bitpos: [25]; default: 0;
|
||||
* saradc tsens interrupt clear
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_CLR (BIT(25))
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_CLR_M (APB_SARADC_APB_SARADC_TSENS_INT_CLR_V << APB_SARADC_APB_SARADC_TSENS_INT_CLR_S)
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_CLR_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_TSENS_INT_CLR_S 25
|
||||
/** APB_SARADC_APB_SARADC_THRES1_LOW_INT_CLR : WT; bitpos: [26]; default: 0;
|
||||
* saradc thres1 low interrupt clear
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_CLR (BIT(26))
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_CLR_M (APB_SARADC_APB_SARADC_THRES1_LOW_INT_CLR_V << APB_SARADC_APB_SARADC_THRES1_LOW_INT_CLR_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_CLR_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES1_LOW_INT_CLR_S 26
|
||||
/** APB_SARADC_APB_SARADC_THRES0_LOW_INT_CLR : WT; bitpos: [27]; default: 0;
|
||||
* saradc thres0 low interrupt clear
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_CLR (BIT(27))
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_CLR_M (APB_SARADC_APB_SARADC_THRES0_LOW_INT_CLR_V << APB_SARADC_APB_SARADC_THRES0_LOW_INT_CLR_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_CLR_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES0_LOW_INT_CLR_S 27
|
||||
/** APB_SARADC_APB_SARADC_THRES1_HIGH_INT_CLR : WT; bitpos: [28]; default: 0;
|
||||
* saradc thres1 high interrupt clear
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_CLR (BIT(28))
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_CLR_M (APB_SARADC_APB_SARADC_THRES1_HIGH_INT_CLR_V << APB_SARADC_APB_SARADC_THRES1_HIGH_INT_CLR_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_CLR_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES1_HIGH_INT_CLR_S 28
|
||||
/** APB_SARADC_APB_SARADC_THRES0_HIGH_INT_CLR : WT; bitpos: [29]; default: 0;
|
||||
* saradc thres0 high interrupt clear
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_CLR (BIT(29))
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_CLR_M (APB_SARADC_APB_SARADC_THRES0_HIGH_INT_CLR_V << APB_SARADC_APB_SARADC_THRES0_HIGH_INT_CLR_S)
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_CLR_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC_THRES0_HIGH_INT_CLR_S 29
|
||||
/** APB_SARADC_APB_SARADC2_DONE_INT_CLR : WT; bitpos: [30]; default: 0;
|
||||
* saradc2 done interrupt clear
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_CLR (BIT(30))
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_CLR_M (APB_SARADC_APB_SARADC2_DONE_INT_CLR_V << APB_SARADC_APB_SARADC2_DONE_INT_CLR_S)
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_CLR_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC2_DONE_INT_CLR_S 30
|
||||
/** APB_SARADC_APB_SARADC1_DONE_INT_CLR : WT; bitpos: [31]; default: 0;
|
||||
* saradc1 done interrupt clear
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_CLR (BIT(31))
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_CLR_M (APB_SARADC_APB_SARADC1_DONE_INT_CLR_V << APB_SARADC_APB_SARADC1_DONE_INT_CLR_S)
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_CLR_V 0x00000001U
|
||||
#define APB_SARADC_APB_SARADC1_DONE_INT_CLR_S 31
|
||||
|
||||
/** APB_SARADC_DMA_CONF_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_DMA_CONF_REG (DR_REG_APB_BASE + 0x50)
|
||||
/** APB_SARADC_APB_ADC_EOF_NUM : R/W; bitpos: [15:0]; default: 255;
|
||||
* the dma_in_suc_eof gen when sample cnt = spi_eof_num
|
||||
*/
|
||||
#define APB_SARADC_APB_ADC_EOF_NUM 0x0000FFFFU
|
||||
#define APB_SARADC_APB_ADC_EOF_NUM_M (APB_SARADC_APB_ADC_EOF_NUM_V << APB_SARADC_APB_ADC_EOF_NUM_S)
|
||||
#define APB_SARADC_APB_ADC_EOF_NUM_V 0x0000FFFFU
|
||||
#define APB_SARADC_APB_ADC_EOF_NUM_S 0
|
||||
/** APB_SARADC_APB_ADC_RESET_FSM : R/W; bitpos: [30]; default: 0;
|
||||
* reset_apb_adc_state
|
||||
*/
|
||||
#define APB_SARADC_APB_ADC_RESET_FSM (BIT(30))
|
||||
#define APB_SARADC_APB_ADC_RESET_FSM_M (APB_SARADC_APB_ADC_RESET_FSM_V << APB_SARADC_APB_ADC_RESET_FSM_S)
|
||||
#define APB_SARADC_APB_ADC_RESET_FSM_V 0x00000001U
|
||||
#define APB_SARADC_APB_ADC_RESET_FSM_S 30
|
||||
/** APB_SARADC_APB_ADC_TRANS : R/W; bitpos: [31]; default: 0;
|
||||
* enable apb_adc use spi_dma
|
||||
*/
|
||||
#define APB_SARADC_APB_ADC_TRANS (BIT(31))
|
||||
#define APB_SARADC_APB_ADC_TRANS_M (APB_SARADC_APB_ADC_TRANS_V << APB_SARADC_APB_ADC_TRANS_S)
|
||||
#define APB_SARADC_APB_ADC_TRANS_V 0x00000001U
|
||||
#define APB_SARADC_APB_ADC_TRANS_S 31
|
||||
|
||||
/** APB_SARADC_CLKM_CONF_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_CLKM_CONF_REG (DR_REG_APB_BASE + 0x54)
|
||||
/** APB_SARADC_CLKM_DIV_NUM : R/W; bitpos: [7:0]; default: 4;
|
||||
* Integral I2S clock divider value
|
||||
*/
|
||||
#define APB_SARADC_CLKM_DIV_NUM 0x000000FFU
|
||||
#define APB_SARADC_CLKM_DIV_NUM_M (APB_SARADC_CLKM_DIV_NUM_V << APB_SARADC_CLKM_DIV_NUM_S)
|
||||
#define APB_SARADC_CLKM_DIV_NUM_V 0x000000FFU
|
||||
#define APB_SARADC_CLKM_DIV_NUM_S 0
|
||||
/** APB_SARADC_CLKM_DIV_B : R/W; bitpos: [13:8]; default: 0;
|
||||
* Fractional clock divider numerator value
|
||||
*/
|
||||
#define APB_SARADC_CLKM_DIV_B 0x0000003FU
|
||||
#define APB_SARADC_CLKM_DIV_B_M (APB_SARADC_CLKM_DIV_B_V << APB_SARADC_CLKM_DIV_B_S)
|
||||
#define APB_SARADC_CLKM_DIV_B_V 0x0000003FU
|
||||
#define APB_SARADC_CLKM_DIV_B_S 8
|
||||
/** APB_SARADC_CLKM_DIV_A : R/W; bitpos: [19:14]; default: 0;
|
||||
* Fractional clock divider denominator value
|
||||
*/
|
||||
#define APB_SARADC_CLKM_DIV_A 0x0000003FU
|
||||
#define APB_SARADC_CLKM_DIV_A_M (APB_SARADC_CLKM_DIV_A_V << APB_SARADC_CLKM_DIV_A_S)
|
||||
#define APB_SARADC_CLKM_DIV_A_V 0x0000003FU
|
||||
#define APB_SARADC_CLKM_DIV_A_S 14
|
||||
/** APB_SARADC_CLK_EN : R/W; bitpos: [20]; default: 0;
|
||||
* reg clk en
|
||||
*/
|
||||
#define APB_SARADC_CLK_EN (BIT(20))
|
||||
#define APB_SARADC_CLK_EN_M (APB_SARADC_CLK_EN_V << APB_SARADC_CLK_EN_S)
|
||||
#define APB_SARADC_CLK_EN_V 0x00000001U
|
||||
#define APB_SARADC_CLK_EN_S 20
|
||||
/** APB_SARADC_CLK_SEL : R/W; bitpos: [22:21]; default: 0;
|
||||
* Set this bit to enable clk_apll
|
||||
*/
|
||||
#define APB_SARADC_CLK_SEL 0x00000003U
|
||||
#define APB_SARADC_CLK_SEL_M (APB_SARADC_CLK_SEL_V << APB_SARADC_CLK_SEL_S)
|
||||
#define APB_SARADC_CLK_SEL_V 0x00000003U
|
||||
#define APB_SARADC_CLK_SEL_S 21
|
||||
|
||||
/** APB_SARADC_APB_TSENS_CTRL_REG register
|
||||
* digital tsens configure register
|
||||
*/
|
||||
#define APB_SARADC_APB_TSENS_CTRL_REG (DR_REG_APB_BASE + 0x58)
|
||||
/** APB_SARADC_TSENS_OUT : RO; bitpos: [7:0]; default: 128;
|
||||
* temperature sensor data out
|
||||
*/
|
||||
#define APB_SARADC_TSENS_OUT 0x000000FFU
|
||||
#define APB_SARADC_TSENS_OUT_M (APB_SARADC_TSENS_OUT_V << APB_SARADC_TSENS_OUT_S)
|
||||
#define APB_SARADC_TSENS_OUT_V 0x000000FFU
|
||||
#define APB_SARADC_TSENS_OUT_S 0
|
||||
/** APB_SARADC_TSENS_IN_INV : R/W; bitpos: [13]; default: 0;
|
||||
* invert temperature sensor data
|
||||
*/
|
||||
#define APB_SARADC_TSENS_IN_INV (BIT(13))
|
||||
#define APB_SARADC_TSENS_IN_INV_M (APB_SARADC_TSENS_IN_INV_V << APB_SARADC_TSENS_IN_INV_S)
|
||||
#define APB_SARADC_TSENS_IN_INV_V 0x00000001U
|
||||
#define APB_SARADC_TSENS_IN_INV_S 13
|
||||
/** APB_SARADC_TSENS_CLK_DIV : R/W; bitpos: [21:14]; default: 6;
|
||||
* temperature sensor clock divider
|
||||
*/
|
||||
#define APB_SARADC_TSENS_CLK_DIV 0x000000FFU
|
||||
#define APB_SARADC_TSENS_CLK_DIV_M (APB_SARADC_TSENS_CLK_DIV_V << APB_SARADC_TSENS_CLK_DIV_S)
|
||||
#define APB_SARADC_TSENS_CLK_DIV_V 0x000000FFU
|
||||
#define APB_SARADC_TSENS_CLK_DIV_S 14
|
||||
/** APB_SARADC_TSENS_PU : R/W; bitpos: [22]; default: 0;
|
||||
* temperature sensor power up
|
||||
*/
|
||||
#define APB_SARADC_TSENS_PU (BIT(22))
|
||||
#define APB_SARADC_TSENS_PU_M (APB_SARADC_TSENS_PU_V << APB_SARADC_TSENS_PU_S)
|
||||
#define APB_SARADC_TSENS_PU_V 0x00000001U
|
||||
#define APB_SARADC_TSENS_PU_S 22
|
||||
|
||||
/** APB_SARADC_TSENS_CTRL2_REG register
|
||||
* digital tsens configure register
|
||||
*/
|
||||
#define APB_SARADC_TSENS_CTRL2_REG (DR_REG_APB_BASE + 0x5c)
|
||||
/** APB_SARADC_TSENS_XPD_WAIT : R/W; bitpos: [11:0]; default: 2;
|
||||
* the time that power up tsens need wait
|
||||
*/
|
||||
#define APB_SARADC_TSENS_XPD_WAIT 0x00000FFFU
|
||||
#define APB_SARADC_TSENS_XPD_WAIT_M (APB_SARADC_TSENS_XPD_WAIT_V << APB_SARADC_TSENS_XPD_WAIT_S)
|
||||
#define APB_SARADC_TSENS_XPD_WAIT_V 0x00000FFFU
|
||||
#define APB_SARADC_TSENS_XPD_WAIT_S 0
|
||||
/** APB_SARADC_TSENS_XPD_FORCE : R/W; bitpos: [13:12]; default: 0;
|
||||
* force power up tsens
|
||||
*/
|
||||
#define APB_SARADC_TSENS_XPD_FORCE 0x00000003U
|
||||
#define APB_SARADC_TSENS_XPD_FORCE_M (APB_SARADC_TSENS_XPD_FORCE_V << APB_SARADC_TSENS_XPD_FORCE_S)
|
||||
#define APB_SARADC_TSENS_XPD_FORCE_V 0x00000003U
|
||||
#define APB_SARADC_TSENS_XPD_FORCE_S 12
|
||||
/** APB_SARADC_TSENS_CLK_INV : R/W; bitpos: [14]; default: 1;
|
||||
* inv tsens clk
|
||||
*/
|
||||
#define APB_SARADC_TSENS_CLK_INV (BIT(14))
|
||||
#define APB_SARADC_TSENS_CLK_INV_M (APB_SARADC_TSENS_CLK_INV_V << APB_SARADC_TSENS_CLK_INV_S)
|
||||
#define APB_SARADC_TSENS_CLK_INV_V 0x00000001U
|
||||
#define APB_SARADC_TSENS_CLK_INV_S 14
|
||||
/** APB_SARADC_TSENS_CLK_SEL : R/W; bitpos: [15]; default: 0;
|
||||
* tsens clk select
|
||||
*/
|
||||
#define APB_SARADC_TSENS_CLK_SEL (BIT(15))
|
||||
#define APB_SARADC_TSENS_CLK_SEL_M (APB_SARADC_TSENS_CLK_SEL_V << APB_SARADC_TSENS_CLK_SEL_S)
|
||||
#define APB_SARADC_TSENS_CLK_SEL_V 0x00000001U
|
||||
#define APB_SARADC_TSENS_CLK_SEL_S 15
|
||||
|
||||
/** APB_SARADC_CALI_REG register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
#define APB_SARADC_CALI_REG (DR_REG_APB_BASE + 0x60)
|
||||
/** APB_SARADC_APB_SARADC_CALI_CFG : R/W; bitpos: [16:0]; default: 32768;
|
||||
* saradc cali factor
|
||||
*/
|
||||
#define APB_SARADC_APB_SARADC_CALI_CFG 0x0001FFFFU
|
||||
#define APB_SARADC_APB_SARADC_CALI_CFG_M (APB_SARADC_APB_SARADC_CALI_CFG_V << APB_SARADC_APB_SARADC_CALI_CFG_S)
|
||||
#define APB_SARADC_APB_SARADC_CALI_CFG_V 0x0001FFFFU
|
||||
#define APB_SARADC_APB_SARADC_CALI_CFG_S 0
|
||||
|
||||
/** APB_TSENS_WAKE_REG register
|
||||
* digital tsens configure register
|
||||
*/
|
||||
#define APB_TSENS_WAKE_REG (DR_REG_APB_BASE + 0x64)
|
||||
/** APB_SARADC_WAKEUP_TH_LOW : R/W; bitpos: [7:0]; default: 0;
|
||||
* reg_wakeup_th_low
|
||||
*/
|
||||
#define APB_SARADC_WAKEUP_TH_LOW 0x000000FFU
|
||||
#define APB_SARADC_WAKEUP_TH_LOW_M (APB_SARADC_WAKEUP_TH_LOW_V << APB_SARADC_WAKEUP_TH_LOW_S)
|
||||
#define APB_SARADC_WAKEUP_TH_LOW_V 0x000000FFU
|
||||
#define APB_SARADC_WAKEUP_TH_LOW_S 0
|
||||
/** APB_SARADC_WAKEUP_TH_HIGH : R/W; bitpos: [15:8]; default: 255;
|
||||
* reg_wakeup_th_high
|
||||
*/
|
||||
#define APB_SARADC_WAKEUP_TH_HIGH 0x000000FFU
|
||||
#define APB_SARADC_WAKEUP_TH_HIGH_M (APB_SARADC_WAKEUP_TH_HIGH_V << APB_SARADC_WAKEUP_TH_HIGH_S)
|
||||
#define APB_SARADC_WAKEUP_TH_HIGH_V 0x000000FFU
|
||||
#define APB_SARADC_WAKEUP_TH_HIGH_S 8
|
||||
/** APB_SARADC_WAKEUP_OVER_UPPER_TH : RO; bitpos: [16]; default: 0;
|
||||
* reg_wakeup_over_upper_th
|
||||
*/
|
||||
#define APB_SARADC_WAKEUP_OVER_UPPER_TH (BIT(16))
|
||||
#define APB_SARADC_WAKEUP_OVER_UPPER_TH_M (APB_SARADC_WAKEUP_OVER_UPPER_TH_V << APB_SARADC_WAKEUP_OVER_UPPER_TH_S)
|
||||
#define APB_SARADC_WAKEUP_OVER_UPPER_TH_V 0x00000001U
|
||||
#define APB_SARADC_WAKEUP_OVER_UPPER_TH_S 16
|
||||
/** APB_SARADC_WAKEUP_MODE : R/W; bitpos: [17]; default: 0;
|
||||
* reg_wakeup_mode
|
||||
*/
|
||||
#define APB_SARADC_WAKEUP_MODE (BIT(17))
|
||||
#define APB_SARADC_WAKEUP_MODE_M (APB_SARADC_WAKEUP_MODE_V << APB_SARADC_WAKEUP_MODE_S)
|
||||
#define APB_SARADC_WAKEUP_MODE_V 0x00000001U
|
||||
#define APB_SARADC_WAKEUP_MODE_S 17
|
||||
/** APB_SARADC_WAKEUP_EN : R/W; bitpos: [18]; default: 0;
|
||||
* reg_wakeup_en
|
||||
*/
|
||||
#define APB_SARADC_WAKEUP_EN (BIT(18))
|
||||
#define APB_SARADC_WAKEUP_EN_M (APB_SARADC_WAKEUP_EN_V << APB_SARADC_WAKEUP_EN_S)
|
||||
#define APB_SARADC_WAKEUP_EN_V 0x00000001U
|
||||
#define APB_SARADC_WAKEUP_EN_S 18
|
||||
|
||||
/** APB_TSENS_SAMPLE_REG register
|
||||
* digital tsens configure register
|
||||
*/
|
||||
#define APB_TSENS_SAMPLE_REG (DR_REG_APB_BASE + 0x68)
|
||||
/** APB_SARADC_TSENS_SAMPLE_RATE : R/W; bitpos: [15:0]; default: 20;
|
||||
* HW sample rate
|
||||
*/
|
||||
#define APB_SARADC_TSENS_SAMPLE_RATE 0x0000FFFFU
|
||||
#define APB_SARADC_TSENS_SAMPLE_RATE_M (APB_SARADC_TSENS_SAMPLE_RATE_V << APB_SARADC_TSENS_SAMPLE_RATE_S)
|
||||
#define APB_SARADC_TSENS_SAMPLE_RATE_V 0x0000FFFFU
|
||||
#define APB_SARADC_TSENS_SAMPLE_RATE_S 0
|
||||
/** APB_SARADC_TSENS_SAMPLE_EN : R/W; bitpos: [16]; default: 0;
|
||||
* HW sample en
|
||||
*/
|
||||
#define APB_SARADC_TSENS_SAMPLE_EN (BIT(16))
|
||||
#define APB_SARADC_TSENS_SAMPLE_EN_M (APB_SARADC_TSENS_SAMPLE_EN_V << APB_SARADC_TSENS_SAMPLE_EN_S)
|
||||
#define APB_SARADC_TSENS_SAMPLE_EN_V 0x00000001U
|
||||
#define APB_SARADC_TSENS_SAMPLE_EN_S 16
|
||||
|
||||
/** APB_SARADC_CTRL_DATE_REG register
|
||||
* version
|
||||
*/
|
||||
#define APB_SARADC_CTRL_DATE_REG (DR_REG_APB_BASE + 0x3fc)
|
||||
/** APB_SARADC_DATE : R/W; bitpos: [31:0]; default: 35676736;
|
||||
* version
|
||||
*/
|
||||
#define APB_SARADC_DATE 0xFFFFFFFFU
|
||||
#define APB_SARADC_DATE_M (APB_SARADC_DATE_V << APB_SARADC_DATE_S)
|
||||
#define APB_SARADC_DATE_V 0xFFFFFFFFU
|
||||
#define APB_SARADC_DATE_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
757
components/soc/esp32h2/include/soc/apb_saradc_struct.h
Normal file
757
components/soc/esp32h2/include/soc/apb_saradc_struct.h
Normal file
@ -0,0 +1,757 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: Configure Register */
|
||||
/** Type of saradc_ctrl register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_saradc_start_force : R/W; bitpos: [0]; default: 0;
|
||||
* select software enable saradc sample
|
||||
*/
|
||||
uint32_t saradc_saradc_start_force:1;
|
||||
/** saradc_saradc_start : R/W; bitpos: [1]; default: 0;
|
||||
* software enable saradc sample
|
||||
*/
|
||||
uint32_t saradc_saradc_start:1;
|
||||
uint32_t reserved_2:4;
|
||||
/** saradc_saradc_sar_clk_gated : R/W; bitpos: [6]; default: 1;
|
||||
* SAR clock gated
|
||||
*/
|
||||
uint32_t saradc_saradc_sar_clk_gated:1;
|
||||
/** saradc_saradc_sar_clk_div : R/W; bitpos: [14:7]; default: 4;
|
||||
* SAR clock divider
|
||||
*/
|
||||
uint32_t saradc_saradc_sar_clk_div:8;
|
||||
/** saradc_saradc_sar_patt_len : R/W; bitpos: [17:15]; default: 7;
|
||||
* 0 ~ 15 means length 1 ~ 16
|
||||
*/
|
||||
uint32_t saradc_saradc_sar_patt_len:3;
|
||||
uint32_t reserved_18:5;
|
||||
/** saradc_saradc_sar_patt_p_clear : R/W; bitpos: [23]; default: 0;
|
||||
* clear the pointer of pattern table for DIG ADC1 CTRL
|
||||
*/
|
||||
uint32_t saradc_saradc_sar_patt_p_clear:1;
|
||||
uint32_t reserved_24:3;
|
||||
/** saradc_saradc_xpd_sar_force : R/W; bitpos: [28:27]; default: 0;
|
||||
* force option to xpd sar blocks
|
||||
*/
|
||||
uint32_t saradc_saradc_xpd_sar_force:2;
|
||||
/** saradc_saradc2_pwdet_drv : R/W; bitpos: [29]; default: 0;
|
||||
* enable saradc2 power detect driven func.
|
||||
*/
|
||||
uint32_t saradc_saradc2_pwdet_drv:1;
|
||||
/** saradc_saradc_wait_arb_cycle : R/W; bitpos: [31:30]; default: 1;
|
||||
* wait arbit signal stable after sar_done
|
||||
*/
|
||||
uint32_t saradc_saradc_wait_arb_cycle:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_ctrl_reg_t;
|
||||
|
||||
/** Type of saradc_ctrl2 register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_saradc_meas_num_limit : R/W; bitpos: [0]; default: 0;
|
||||
* enable max meas num
|
||||
*/
|
||||
uint32_t saradc_saradc_meas_num_limit:1;
|
||||
/** saradc_saradc_max_meas_num : R/W; bitpos: [8:1]; default: 255;
|
||||
* max conversion number
|
||||
*/
|
||||
uint32_t saradc_saradc_max_meas_num:8;
|
||||
/** saradc_saradc_sar1_inv : R/W; bitpos: [9]; default: 0;
|
||||
* 1: data to DIG ADC1 CTRL is inverted, otherwise not
|
||||
*/
|
||||
uint32_t saradc_saradc_sar1_inv:1;
|
||||
/** saradc_saradc_sar2_inv : R/W; bitpos: [10]; default: 0;
|
||||
* 1: data to DIG ADC2 CTRL is inverted, otherwise not
|
||||
*/
|
||||
uint32_t saradc_saradc_sar2_inv:1;
|
||||
uint32_t reserved_11:1;
|
||||
/** saradc_saradc_timer_target : R/W; bitpos: [23:12]; default: 10;
|
||||
* to set saradc timer target
|
||||
*/
|
||||
uint32_t saradc_saradc_timer_target:12;
|
||||
/** saradc_saradc_timer_en : R/W; bitpos: [24]; default: 0;
|
||||
* to enable saradc timer trigger
|
||||
*/
|
||||
uint32_t saradc_saradc_timer_en:1;
|
||||
uint32_t reserved_25:7;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_ctrl2_reg_t;
|
||||
|
||||
/** Type of saradc_filter_ctrl1 register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:26;
|
||||
/** saradc_apb_saradc_filter_factor1 : R/W; bitpos: [28:26]; default: 0;
|
||||
* Factor of saradc filter1
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_filter_factor1:3;
|
||||
/** saradc_apb_saradc_filter_factor0 : R/W; bitpos: [31:29]; default: 0;
|
||||
* Factor of saradc filter0
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_filter_factor0:3;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_filter_ctrl1_reg_t;
|
||||
|
||||
/** Type of saradc_fsm_wait register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_saradc_xpd_wait : R/W; bitpos: [7:0]; default: 8;
|
||||
* saradc_xpd_wait
|
||||
*/
|
||||
uint32_t saradc_saradc_xpd_wait:8;
|
||||
/** saradc_saradc_rstb_wait : R/W; bitpos: [15:8]; default: 8;
|
||||
* saradc_rstb_wait
|
||||
*/
|
||||
uint32_t saradc_saradc_rstb_wait:8;
|
||||
/** saradc_saradc_standby_wait : R/W; bitpos: [23:16]; default: 255;
|
||||
* saradc_standby_wait
|
||||
*/
|
||||
uint32_t saradc_saradc_standby_wait:8;
|
||||
uint32_t reserved_24:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_fsm_wait_reg_t;
|
||||
|
||||
/** Type of saradc_sar1_status register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_saradc_sar1_status : RO; bitpos: [31:0]; default: 536870912;
|
||||
* saradc1 status about data and channel
|
||||
*/
|
||||
uint32_t saradc_saradc_sar1_status:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_sar1_status_reg_t;
|
||||
|
||||
/** Type of saradc_sar2_status register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_saradc_sar2_status : RO; bitpos: [31:0]; default: 536870912;
|
||||
* saradc2 status about data and channel
|
||||
*/
|
||||
uint32_t saradc_saradc_sar2_status:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_sar2_status_reg_t;
|
||||
|
||||
/** Type of saradc_sar_patt_tab1 register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_saradc_sar_patt_tab1 : R/W; bitpos: [23:0]; default: 16777215;
|
||||
* item 0 ~ 3 for pattern table 1 (each item one byte)
|
||||
*/
|
||||
uint32_t saradc_saradc_sar_patt_tab1:24;
|
||||
uint32_t reserved_24:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_sar_patt_tab1_reg_t;
|
||||
|
||||
/** Type of saradc_sar_patt_tab2 register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_saradc_sar_patt_tab2 : R/W; bitpos: [23:0]; default: 16777215;
|
||||
* Item 4 ~ 7 for pattern table 1 (each item one byte)
|
||||
*/
|
||||
uint32_t saradc_saradc_sar_patt_tab2:24;
|
||||
uint32_t reserved_24:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_sar_patt_tab2_reg_t;
|
||||
|
||||
/** Type of saradc_onetime_sample register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:23;
|
||||
/** saradc_saradc_onetime_atten : R/W; bitpos: [24:23]; default: 0;
|
||||
* configure onetime atten
|
||||
*/
|
||||
uint32_t saradc_saradc_onetime_atten:2;
|
||||
/** saradc_saradc_onetime_channel : R/W; bitpos: [28:25]; default: 13;
|
||||
* configure onetime channel
|
||||
*/
|
||||
uint32_t saradc_saradc_onetime_channel:4;
|
||||
/** saradc_saradc_onetime_start : R/W; bitpos: [29]; default: 0;
|
||||
* trigger adc onetime sample
|
||||
*/
|
||||
uint32_t saradc_saradc_onetime_start:1;
|
||||
/** saradc_saradc2_onetime_sample : R/W; bitpos: [30]; default: 0;
|
||||
* enable adc2 onetime sample
|
||||
*/
|
||||
uint32_t saradc_saradc2_onetime_sample:1;
|
||||
/** saradc_saradc1_onetime_sample : R/W; bitpos: [31]; default: 0;
|
||||
* enable adc1 onetime sample
|
||||
*/
|
||||
uint32_t saradc_saradc1_onetime_sample:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_onetime_sample_reg_t;
|
||||
|
||||
/** Type of saradc_arb_ctrl register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:2;
|
||||
/** saradc_adc_arb_apb_force : R/W; bitpos: [2]; default: 0;
|
||||
* adc2 arbiter force to enableapb controller
|
||||
*/
|
||||
uint32_t saradc_adc_arb_apb_force:1;
|
||||
/** saradc_adc_arb_rtc_force : R/W; bitpos: [3]; default: 0;
|
||||
* adc2 arbiter force to enable rtc controller
|
||||
*/
|
||||
uint32_t saradc_adc_arb_rtc_force:1;
|
||||
/** saradc_adc_arb_wifi_force : R/W; bitpos: [4]; default: 0;
|
||||
* adc2 arbiter force to enable wifi controller
|
||||
*/
|
||||
uint32_t saradc_adc_arb_wifi_force:1;
|
||||
/** saradc_adc_arb_grant_force : R/W; bitpos: [5]; default: 0;
|
||||
* adc2 arbiter force grant
|
||||
*/
|
||||
uint32_t saradc_adc_arb_grant_force:1;
|
||||
/** saradc_adc_arb_apb_priority : R/W; bitpos: [7:6]; default: 0;
|
||||
* Set adc2 arbiterapb priority
|
||||
*/
|
||||
uint32_t saradc_adc_arb_apb_priority:2;
|
||||
/** saradc_adc_arb_rtc_priority : R/W; bitpos: [9:8]; default: 1;
|
||||
* Set adc2 arbiter rtc priority
|
||||
*/
|
||||
uint32_t saradc_adc_arb_rtc_priority:2;
|
||||
/** saradc_adc_arb_wifi_priority : R/W; bitpos: [11:10]; default: 2;
|
||||
* Set adc2 arbiter wifi priority
|
||||
*/
|
||||
uint32_t saradc_adc_arb_wifi_priority:2;
|
||||
/** saradc_adc_arb_fix_priority : R/W; bitpos: [12]; default: 0;
|
||||
* adc2 arbiter uses fixed priority
|
||||
*/
|
||||
uint32_t saradc_adc_arb_fix_priority:1;
|
||||
uint32_t reserved_13:19;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_arb_ctrl_reg_t;
|
||||
|
||||
/** Type of saradc_filter_ctrl0 register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:18;
|
||||
/** saradc_apb_saradc_filter_channel1 : R/W; bitpos: [21:18]; default: 13;
|
||||
* configure filter1 to adc channel
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_filter_channel1:4;
|
||||
/** saradc_apb_saradc_filter_channel0 : R/W; bitpos: [25:22]; default: 13;
|
||||
* configure filter0 to adc channel
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_filter_channel0:4;
|
||||
uint32_t reserved_26:5;
|
||||
/** saradc_apb_saradc_filter_reset : R/W; bitpos: [31]; default: 0;
|
||||
* enable apb_adc1_filter
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_filter_reset:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_filter_ctrl0_reg_t;
|
||||
|
||||
/** Type of saradc_sar1data_status register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_apb_saradc1_data : RO; bitpos: [16:0]; default: 0;
|
||||
* saradc1 data
|
||||
*/
|
||||
uint32_t saradc_apb_saradc1_data:17;
|
||||
uint32_t reserved_17:15;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_sar1data_status_reg_t;
|
||||
|
||||
/** Type of saradc_sar2data_status register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_apb_saradc2_data : RO; bitpos: [16:0]; default: 0;
|
||||
* saradc2 data
|
||||
*/
|
||||
uint32_t saradc_apb_saradc2_data:17;
|
||||
uint32_t reserved_17:15;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_sar2data_status_reg_t;
|
||||
|
||||
/** Type of saradc_thres0_ctrl register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_apb_saradc_thres0_channel : R/W; bitpos: [3:0]; default: 13;
|
||||
* configure thres0 to adc channel
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres0_channel:4;
|
||||
uint32_t reserved_4:1;
|
||||
/** saradc_apb_saradc_thres0_high : R/W; bitpos: [17:5]; default: 8191;
|
||||
* saradc thres0 monitor thres
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres0_high:13;
|
||||
/** saradc_apb_saradc_thres0_low : R/W; bitpos: [30:18]; default: 0;
|
||||
* saradc thres0 monitor thres
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres0_low:13;
|
||||
uint32_t reserved_31:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_thres0_ctrl_reg_t;
|
||||
|
||||
/** Type of saradc_thres1_ctrl register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_apb_saradc_thres1_channel : R/W; bitpos: [3:0]; default: 13;
|
||||
* configure thres1 to adc channel
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres1_channel:4;
|
||||
uint32_t reserved_4:1;
|
||||
/** saradc_apb_saradc_thres1_high : R/W; bitpos: [17:5]; default: 8191;
|
||||
* saradc thres1 monitor thres
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres1_high:13;
|
||||
/** saradc_apb_saradc_thres1_low : R/W; bitpos: [30:18]; default: 0;
|
||||
* saradc thres1 monitor thres
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres1_low:13;
|
||||
uint32_t reserved_31:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_thres1_ctrl_reg_t;
|
||||
|
||||
/** Type of saradc_thres_ctrl register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:27;
|
||||
/** saradc_apb_saradc_thres_all_en : R/W; bitpos: [27]; default: 0;
|
||||
* enable thres to all channel
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres_all_en:1;
|
||||
uint32_t reserved_28:2;
|
||||
/** saradc_apb_saradc_thres1_en : R/W; bitpos: [30]; default: 0;
|
||||
* enable thres1
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres1_en:1;
|
||||
/** saradc_apb_saradc_thres0_en : R/W; bitpos: [31]; default: 0;
|
||||
* enable thres0
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres0_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_thres_ctrl_reg_t;
|
||||
|
||||
/** Type of saradc_int_ena register
|
||||
* digital saradc int register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:25;
|
||||
/** saradc_apb_saradc_tsens_int_ena : R/W; bitpos: [25]; default: 0;
|
||||
* tsens low interrupt enable
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_tsens_int_ena:1;
|
||||
/** saradc_apb_saradc_thres1_low_int_ena : R/W; bitpos: [26]; default: 0;
|
||||
* saradc thres1 low interrupt enable
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres1_low_int_ena:1;
|
||||
/** saradc_apb_saradc_thres0_low_int_ena : R/W; bitpos: [27]; default: 0;
|
||||
* saradc thres0 low interrupt enable
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres0_low_int_ena:1;
|
||||
/** saradc_apb_saradc_thres1_high_int_ena : R/W; bitpos: [28]; default: 0;
|
||||
* saradc thres1 high interrupt enable
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres1_high_int_ena:1;
|
||||
/** saradc_apb_saradc_thres0_high_int_ena : R/W; bitpos: [29]; default: 0;
|
||||
* saradc thres0 high interrupt enable
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres0_high_int_ena:1;
|
||||
/** saradc_apb_saradc2_done_int_ena : R/W; bitpos: [30]; default: 0;
|
||||
* saradc2 done interrupt enable
|
||||
*/
|
||||
uint32_t saradc_apb_saradc2_done_int_ena:1;
|
||||
/** saradc_apb_saradc1_done_int_ena : R/W; bitpos: [31]; default: 0;
|
||||
* saradc1 done interrupt enable
|
||||
*/
|
||||
uint32_t saradc_apb_saradc1_done_int_ena:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_int_ena_reg_t;
|
||||
|
||||
/** Type of saradc_int_raw register
|
||||
* digital saradc int register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:25;
|
||||
/** saradc_apb_saradc_tsens_int_raw : R/WTC/SS; bitpos: [25]; default: 0;
|
||||
* saradc tsens interrupt raw
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_tsens_int_raw:1;
|
||||
/** saradc_apb_saradc_thres1_low_int_raw : R/WTC/SS; bitpos: [26]; default: 0;
|
||||
* saradc thres1 low interrupt raw
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres1_low_int_raw:1;
|
||||
/** saradc_apb_saradc_thres0_low_int_raw : R/WTC/SS; bitpos: [27]; default: 0;
|
||||
* saradc thres0 low interrupt raw
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres0_low_int_raw:1;
|
||||
/** saradc_apb_saradc_thres1_high_int_raw : R/WTC/SS; bitpos: [28]; default: 0;
|
||||
* saradc thres1 high interrupt raw
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres1_high_int_raw:1;
|
||||
/** saradc_apb_saradc_thres0_high_int_raw : R/WTC/SS; bitpos: [29]; default: 0;
|
||||
* saradc thres0 high interrupt raw
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres0_high_int_raw:1;
|
||||
/** saradc_apb_saradc2_done_int_raw : R/WTC/SS; bitpos: [30]; default: 0;
|
||||
* saradc2 done interrupt raw
|
||||
*/
|
||||
uint32_t saradc_apb_saradc2_done_int_raw:1;
|
||||
/** saradc_apb_saradc1_done_int_raw : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* saradc1 done interrupt raw
|
||||
*/
|
||||
uint32_t saradc_apb_saradc1_done_int_raw:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_int_raw_reg_t;
|
||||
|
||||
/** Type of saradc_int_st register
|
||||
* digital saradc int register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:25;
|
||||
/** saradc_apb_saradc_tsens_int_st : RO; bitpos: [25]; default: 0;
|
||||
* saradc tsens interrupt state
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_tsens_int_st:1;
|
||||
/** saradc_apb_saradc_thres1_low_int_st : RO; bitpos: [26]; default: 0;
|
||||
* saradc thres1 low interrupt state
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres1_low_int_st:1;
|
||||
/** saradc_apb_saradc_thres0_low_int_st : RO; bitpos: [27]; default: 0;
|
||||
* saradc thres0 low interrupt state
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres0_low_int_st:1;
|
||||
/** saradc_apb_saradc_thres1_high_int_st : RO; bitpos: [28]; default: 0;
|
||||
* saradc thres1 high interrupt state
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres1_high_int_st:1;
|
||||
/** saradc_apb_saradc_thres0_high_int_st : RO; bitpos: [29]; default: 0;
|
||||
* saradc thres0 high interrupt state
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres0_high_int_st:1;
|
||||
/** saradc_apb_saradc2_done_int_st : RO; bitpos: [30]; default: 0;
|
||||
* saradc2 done interrupt state
|
||||
*/
|
||||
uint32_t saradc_apb_saradc2_done_int_st:1;
|
||||
/** saradc_apb_saradc1_done_int_st : RO; bitpos: [31]; default: 0;
|
||||
* saradc1 done interrupt state
|
||||
*/
|
||||
uint32_t saradc_apb_saradc1_done_int_st:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_int_st_reg_t;
|
||||
|
||||
/** Type of saradc_int_clr register
|
||||
* digital saradc int register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:25;
|
||||
/** saradc_apb_saradc_tsens_int_clr : WT; bitpos: [25]; default: 0;
|
||||
* saradc tsens interrupt clear
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_tsens_int_clr:1;
|
||||
/** saradc_apb_saradc_thres1_low_int_clr : WT; bitpos: [26]; default: 0;
|
||||
* saradc thres1 low interrupt clear
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres1_low_int_clr:1;
|
||||
/** saradc_apb_saradc_thres0_low_int_clr : WT; bitpos: [27]; default: 0;
|
||||
* saradc thres0 low interrupt clear
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres0_low_int_clr:1;
|
||||
/** saradc_apb_saradc_thres1_high_int_clr : WT; bitpos: [28]; default: 0;
|
||||
* saradc thres1 high interrupt clear
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres1_high_int_clr:1;
|
||||
/** saradc_apb_saradc_thres0_high_int_clr : WT; bitpos: [29]; default: 0;
|
||||
* saradc thres0 high interrupt clear
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_thres0_high_int_clr:1;
|
||||
/** saradc_apb_saradc2_done_int_clr : WT; bitpos: [30]; default: 0;
|
||||
* saradc2 done interrupt clear
|
||||
*/
|
||||
uint32_t saradc_apb_saradc2_done_int_clr:1;
|
||||
/** saradc_apb_saradc1_done_int_clr : WT; bitpos: [31]; default: 0;
|
||||
* saradc1 done interrupt clear
|
||||
*/
|
||||
uint32_t saradc_apb_saradc1_done_int_clr:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_int_clr_reg_t;
|
||||
|
||||
/** Type of saradc_dma_conf register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_apb_adc_eof_num : R/W; bitpos: [15:0]; default: 255;
|
||||
* the dma_in_suc_eof gen when sample cnt = spi_eof_num
|
||||
*/
|
||||
uint32_t saradc_apb_adc_eof_num:16;
|
||||
uint32_t reserved_16:14;
|
||||
/** saradc_apb_adc_reset_fsm : R/W; bitpos: [30]; default: 0;
|
||||
* reset_apb_adc_state
|
||||
*/
|
||||
uint32_t saradc_apb_adc_reset_fsm:1;
|
||||
/** saradc_apb_adc_trans : R/W; bitpos: [31]; default: 0;
|
||||
* enable apb_adc use spi_dma
|
||||
*/
|
||||
uint32_t saradc_apb_adc_trans:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_dma_conf_reg_t;
|
||||
|
||||
/** Type of saradc_clkm_conf register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_clkm_div_num : R/W; bitpos: [7:0]; default: 4;
|
||||
* Integral I2S clock divider value
|
||||
*/
|
||||
uint32_t saradc_clkm_div_num:8;
|
||||
/** saradc_clkm_div_b : R/W; bitpos: [13:8]; default: 0;
|
||||
* Fractional clock divider numerator value
|
||||
*/
|
||||
uint32_t saradc_clkm_div_b:6;
|
||||
/** saradc_clkm_div_a : R/W; bitpos: [19:14]; default: 0;
|
||||
* Fractional clock divider denominator value
|
||||
*/
|
||||
uint32_t saradc_clkm_div_a:6;
|
||||
/** saradc_clk_en : R/W; bitpos: [20]; default: 0;
|
||||
* reg clk en
|
||||
*/
|
||||
uint32_t saradc_clk_en:1;
|
||||
/** saradc_clk_sel : R/W; bitpos: [22:21]; default: 0;
|
||||
* Set this bit to enable clk_apll
|
||||
*/
|
||||
uint32_t saradc_clk_sel:2;
|
||||
uint32_t reserved_23:9;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_clkm_conf_reg_t;
|
||||
|
||||
/** Type of saradc_apb_tsens_ctrl register
|
||||
* digital tsens configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_tsens_out : RO; bitpos: [7:0]; default: 128;
|
||||
* temperature sensor data out
|
||||
*/
|
||||
uint32_t saradc_tsens_out:8;
|
||||
uint32_t reserved_8:5;
|
||||
/** saradc_tsens_in_inv : R/W; bitpos: [13]; default: 0;
|
||||
* invert temperature sensor data
|
||||
*/
|
||||
uint32_t saradc_tsens_in_inv:1;
|
||||
/** saradc_tsens_clk_div : R/W; bitpos: [21:14]; default: 6;
|
||||
* temperature sensor clock divider
|
||||
*/
|
||||
uint32_t saradc_tsens_clk_div:8;
|
||||
/** saradc_tsens_pu : R/W; bitpos: [22]; default: 0;
|
||||
* temperature sensor power up
|
||||
*/
|
||||
uint32_t saradc_tsens_pu:1;
|
||||
uint32_t reserved_23:9;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_apb_tsens_ctrl_reg_t;
|
||||
|
||||
/** Type of saradc_tsens_ctrl2 register
|
||||
* digital tsens configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_tsens_xpd_wait : R/W; bitpos: [11:0]; default: 2;
|
||||
* the time that power up tsens need wait
|
||||
*/
|
||||
uint32_t saradc_tsens_xpd_wait:12;
|
||||
/** saradc_tsens_xpd_force : R/W; bitpos: [13:12]; default: 0;
|
||||
* force power up tsens
|
||||
*/
|
||||
uint32_t saradc_tsens_xpd_force:2;
|
||||
/** saradc_tsens_clk_inv : R/W; bitpos: [14]; default: 1;
|
||||
* inv tsens clk
|
||||
*/
|
||||
uint32_t saradc_tsens_clk_inv:1;
|
||||
/** saradc_tsens_clk_sel : R/W; bitpos: [15]; default: 0;
|
||||
* tsens clk select
|
||||
*/
|
||||
uint32_t saradc_tsens_clk_sel:1;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_tsens_ctrl2_reg_t;
|
||||
|
||||
/** Type of saradc_cali register
|
||||
* digital saradc configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_apb_saradc_cali_cfg : R/W; bitpos: [16:0]; default: 32768;
|
||||
* saradc cali factor
|
||||
*/
|
||||
uint32_t saradc_apb_saradc_cali_cfg:17;
|
||||
uint32_t reserved_17:15;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_cali_reg_t;
|
||||
|
||||
/** Type of tsens_wake register
|
||||
* digital tsens configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_wakeup_th_low : R/W; bitpos: [7:0]; default: 0;
|
||||
* reg_wakeup_th_low
|
||||
*/
|
||||
uint32_t saradc_wakeup_th_low:8;
|
||||
/** saradc_wakeup_th_high : R/W; bitpos: [15:8]; default: 255;
|
||||
* reg_wakeup_th_high
|
||||
*/
|
||||
uint32_t saradc_wakeup_th_high:8;
|
||||
/** saradc_wakeup_over_upper_th : RO; bitpos: [16]; default: 0;
|
||||
* reg_wakeup_over_upper_th
|
||||
*/
|
||||
uint32_t saradc_wakeup_over_upper_th:1;
|
||||
/** saradc_wakeup_mode : R/W; bitpos: [17]; default: 0;
|
||||
* reg_wakeup_mode
|
||||
*/
|
||||
uint32_t saradc_wakeup_mode:1;
|
||||
/** saradc_wakeup_en : R/W; bitpos: [18]; default: 0;
|
||||
* reg_wakeup_en
|
||||
*/
|
||||
uint32_t saradc_wakeup_en:1;
|
||||
uint32_t reserved_19:13;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_tsens_wake_reg_t;
|
||||
|
||||
/** Type of tsens_sample register
|
||||
* digital tsens configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_tsens_sample_rate : R/W; bitpos: [15:0]; default: 20;
|
||||
* HW sample rate
|
||||
*/
|
||||
uint32_t saradc_tsens_sample_rate:16;
|
||||
/** saradc_tsens_sample_en : R/W; bitpos: [16]; default: 0;
|
||||
* HW sample en
|
||||
*/
|
||||
uint32_t saradc_tsens_sample_en:1;
|
||||
uint32_t reserved_17:15;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_tsens_sample_reg_t;
|
||||
|
||||
/** Type of saradc_ctrl_date register
|
||||
* version
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** saradc_date : R/W; bitpos: [31:0]; default: 35676736;
|
||||
* version
|
||||
*/
|
||||
uint32_t saradc_date:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} apb_saradc_ctrl_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile apb_saradc_ctrl_reg_t saradc_ctrl;
|
||||
volatile apb_saradc_ctrl2_reg_t saradc_ctrl2;
|
||||
volatile apb_saradc_filter_ctrl1_reg_t saradc_filter_ctrl1;
|
||||
volatile apb_saradc_fsm_wait_reg_t saradc_fsm_wait;
|
||||
volatile apb_saradc_sar1_status_reg_t saradc_sar1_status;
|
||||
volatile apb_saradc_sar2_status_reg_t saradc_sar2_status;
|
||||
volatile apb_saradc_sar_patt_tab1_reg_t saradc_sar_patt_tab1;
|
||||
volatile apb_saradc_sar_patt_tab2_reg_t saradc_sar_patt_tab2;
|
||||
volatile apb_saradc_onetime_sample_reg_t saradc_onetime_sample;
|
||||
volatile apb_saradc_arb_ctrl_reg_t saradc_arb_ctrl;
|
||||
volatile apb_saradc_filter_ctrl0_reg_t saradc_filter_ctrl0;
|
||||
volatile apb_saradc_sar1data_status_reg_t saradc_sar1data_status;
|
||||
volatile apb_saradc_sar2data_status_reg_t saradc_sar2data_status;
|
||||
volatile apb_saradc_thres0_ctrl_reg_t saradc_thres0_ctrl;
|
||||
volatile apb_saradc_thres1_ctrl_reg_t saradc_thres1_ctrl;
|
||||
volatile apb_saradc_thres_ctrl_reg_t saradc_thres_ctrl;
|
||||
volatile apb_saradc_int_ena_reg_t saradc_int_ena;
|
||||
volatile apb_saradc_int_raw_reg_t saradc_int_raw;
|
||||
volatile apb_saradc_int_st_reg_t saradc_int_st;
|
||||
volatile apb_saradc_int_clr_reg_t saradc_int_clr;
|
||||
volatile apb_saradc_dma_conf_reg_t saradc_dma_conf;
|
||||
volatile apb_saradc_clkm_conf_reg_t saradc_clkm_conf;
|
||||
volatile apb_saradc_apb_tsens_ctrl_reg_t saradc_apb_tsens_ctrl;
|
||||
volatile apb_saradc_tsens_ctrl2_reg_t saradc_tsens_ctrl2;
|
||||
volatile apb_saradc_cali_reg_t saradc_cali;
|
||||
volatile apb_tsens_wake_reg_t tsens_wake;
|
||||
volatile apb_tsens_sample_reg_t tsens_sample;
|
||||
uint32_t reserved_06c[228];
|
||||
volatile apb_saradc_ctrl_date_reg_t saradc_ctrl_date;
|
||||
} apb_dev_t;
|
||||
|
||||
extern apb_saradc_dev_t APB_SARADC;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(apb_dev_t) == 0x400, "Invalid size of apb_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
778
components/soc/esp32h2/include/soc/assist_debug_reg.h
Normal file
778
components/soc/esp32h2/include/soc/assist_debug_reg.h
Normal file
@ -0,0 +1,778 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_INTR_ENA_REG register
|
||||
* core0 monitor enable configuration register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_INTR_ENA_REG (DR_REG_ASSIST_DEBUG_BASE + 0x0)
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_ENA : R/W; bitpos: [0]; default: 0;
|
||||
* Core0 dram0 area0 read monitor enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_ENA (BIT(0))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_ENA_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_ENA_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_ENA_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_ENA_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_ENA_S 0
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_ENA : R/W; bitpos: [1]; default: 0;
|
||||
* Core0 dram0 area0 write monitor enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_ENA (BIT(1))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_ENA_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_ENA_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_ENA_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_ENA_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_ENA_S 1
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_ENA : R/W; bitpos: [2]; default: 0;
|
||||
* Core0 dram0 area1 read monitor enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_ENA (BIT(2))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_ENA_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_ENA_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_ENA_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_ENA_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_ENA_S 2
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_ENA : R/W; bitpos: [3]; default: 0;
|
||||
* Core0 dram0 area1 write monitor enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_ENA (BIT(3))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_ENA_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_ENA_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_ENA_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_ENA_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_ENA_S 3
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_ENA : R/W; bitpos: [4]; default: 0;
|
||||
* Core0 PIF area0 read monitor enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_ENA (BIT(4))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_ENA_M (ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_ENA_V << ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_ENA_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_ENA_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_ENA_S 4
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_ENA : R/W; bitpos: [5]; default: 0;
|
||||
* Core0 PIF area0 write monitor enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_ENA (BIT(5))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_ENA_M (ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_ENA_V << ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_ENA_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_ENA_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_ENA_S 5
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_ENA : R/W; bitpos: [6]; default: 0;
|
||||
* Core0 PIF area1 read monitor enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_ENA (BIT(6))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_ENA_M (ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_ENA_V << ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_ENA_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_ENA_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_ENA_S 6
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_ENA : R/W; bitpos: [7]; default: 0;
|
||||
* Core0 PIF area1 write monitor enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_ENA (BIT(7))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_ENA_M (ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_ENA_V << ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_ENA_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_ENA_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_ENA_S 7
|
||||
/** ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_ENA : R/W; bitpos: [8]; default: 0;
|
||||
* Core0 stackpoint underflow monitor enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_ENA (BIT(8))
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_ENA_M (ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_ENA_V << ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_ENA_S)
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_ENA_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_ENA_S 8
|
||||
/** ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_ENA : R/W; bitpos: [9]; default: 0;
|
||||
* Core0 stackpoint overflow monitor enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_ENA (BIT(9))
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_ENA_M (ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_ENA_V << ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_ENA_S)
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_ENA_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_ENA_S 9
|
||||
/** ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_ENA : R/W; bitpos: [10]; default: 0;
|
||||
* IBUS busy monitor enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_ENA (BIT(10))
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_ENA_M (ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_ENA_V << ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_ENA_S)
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_ENA_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_ENA_S 10
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_ENA : R/W; bitpos: [11]; default: 0;
|
||||
* DBUS busy monitor enbale
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_ENA (BIT(11))
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_ENA_M (ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_ENA_V << ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_ENA_S)
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_ENA_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_ENA_S 11
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_INTR_RAW_REG register
|
||||
* core0 monitor interrupt status register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_INTR_RAW_REG (DR_REG_ASSIST_DEBUG_BASE + 0x4)
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_RAW : RO; bitpos: [0]; default: 0;
|
||||
* Core0 dram0 area0 read monitor interrupt status
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_RAW (BIT(0))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_RAW_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_RAW_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_RAW_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_RAW_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_RAW_S 0
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_RAW : RO; bitpos: [1]; default: 0;
|
||||
* Core0 dram0 area0 write monitor interrupt status
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_RAW (BIT(1))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_RAW_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_RAW_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_RAW_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_RAW_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_RAW_S 1
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_RAW : RO; bitpos: [2]; default: 0;
|
||||
* Core0 dram0 area1 read monitor interrupt status
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_RAW (BIT(2))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_RAW_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_RAW_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_RAW_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_RAW_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_RAW_S 2
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_RAW : RO; bitpos: [3]; default: 0;
|
||||
* Core0 dram0 area1 write monitor interrupt status
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_RAW (BIT(3))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_RAW_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_RAW_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_RAW_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_RAW_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_RAW_S 3
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_RAW : RO; bitpos: [4]; default: 0;
|
||||
* Core0 PIF area0 read monitor interrupt status
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_RAW (BIT(4))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_RAW_M (ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_RAW_V << ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_RAW_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_RAW_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_RAW_S 4
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_RAW : RO; bitpos: [5]; default: 0;
|
||||
* Core0 PIF area0 write monitor interrupt status
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_RAW (BIT(5))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_RAW_M (ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_RAW_V << ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_RAW_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_RAW_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_RAW_S 5
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_RAW : RO; bitpos: [6]; default: 0;
|
||||
* Core0 PIF area1 read monitor interrupt status
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_RAW (BIT(6))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_RAW_M (ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_RAW_V << ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_RAW_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_RAW_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_RAW_S 6
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_RAW : RO; bitpos: [7]; default: 0;
|
||||
* Core0 PIF area1 write monitor interrupt status
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_RAW (BIT(7))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_RAW_M (ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_RAW_V << ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_RAW_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_RAW_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_RAW_S 7
|
||||
/** ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_RAW : RO; bitpos: [8]; default: 0;
|
||||
* Core0 stackpoint underflow monitor interrupt status
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_RAW (BIT(8))
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_RAW_M (ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_RAW_V << ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_RAW_S)
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_RAW_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_RAW_S 8
|
||||
/** ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_RAW : RO; bitpos: [9]; default: 0;
|
||||
* Core0 stackpoint overflow monitor interrupt status
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_RAW (BIT(9))
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_RAW_M (ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_RAW_V << ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_RAW_S)
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_RAW_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_RAW_S 9
|
||||
/** ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_RAW : RO; bitpos: [10]; default: 0;
|
||||
* IBUS busy monitor interrupt status
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_RAW (BIT(10))
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_RAW_M (ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_RAW_V << ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_RAW_S)
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_RAW_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_RAW_S 10
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_RAW : RO; bitpos: [11]; default: 0;
|
||||
* DBUS busy monitor initerrupt status
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_RAW (BIT(11))
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_RAW_M (ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_RAW_V << ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_RAW_S)
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_RAW_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_RAW_S 11
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_INTR_RLS_REG register
|
||||
* core0 monitor interrupt enable register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_INTR_RLS_REG (DR_REG_ASSIST_DEBUG_BASE + 0x8)
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_RLS : R/W; bitpos: [0]; default: 0;
|
||||
* Core0 dram0 area0 read monitor interrupt enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_RLS (BIT(0))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_RLS_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_RLS_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_RLS_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_RLS_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_RLS_S 0
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_RLS : R/W; bitpos: [1]; default: 0;
|
||||
* Core0 dram0 area0 write monitor interrupt enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_RLS (BIT(1))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_RLS_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_RLS_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_RLS_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_RLS_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_RLS_S 1
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_RLS : R/W; bitpos: [2]; default: 0;
|
||||
* Core0 dram0 area1 read monitor interrupt enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_RLS (BIT(2))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_RLS_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_RLS_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_RLS_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_RLS_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_RLS_S 2
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_RLS : R/W; bitpos: [3]; default: 0;
|
||||
* Core0 dram0 area1 write monitor interrupt enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_RLS (BIT(3))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_RLS_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_RLS_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_RLS_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_RLS_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_RLS_S 3
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_RLS : R/W; bitpos: [4]; default: 0;
|
||||
* Core0 PIF area0 read monitor interrupt enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_RLS (BIT(4))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_RLS_M (ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_RLS_V << ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_RLS_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_RLS_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_RLS_S 4
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_RLS : R/W; bitpos: [5]; default: 0;
|
||||
* Core0 PIF area0 write monitor interrupt enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_RLS (BIT(5))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_RLS_M (ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_RLS_V << ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_RLS_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_RLS_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_RLS_S 5
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_RLS : R/W; bitpos: [6]; default: 0;
|
||||
* Core0 PIF area1 read monitor interrupt enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_RLS (BIT(6))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_RLS_M (ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_RLS_V << ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_RLS_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_RLS_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_RLS_S 6
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_RLS : R/W; bitpos: [7]; default: 0;
|
||||
* Core0 PIF area1 write monitor interrupt enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_RLS (BIT(7))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_RLS_M (ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_RLS_V << ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_RLS_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_RLS_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_RLS_S 7
|
||||
/** ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_RLS : R/W; bitpos: [8]; default: 0;
|
||||
* Core0 stackpoint underflow monitor interrupt enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_RLS (BIT(8))
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_RLS_M (ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_RLS_V << ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_RLS_S)
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_RLS_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_RLS_S 8
|
||||
/** ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_RLS : R/W; bitpos: [9]; default: 0;
|
||||
* Core0 stackpoint overflow monitor interrupt enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_RLS (BIT(9))
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_RLS_M (ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_RLS_V << ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_RLS_S)
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_RLS_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_RLS_S 9
|
||||
/** ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_RLS : R/W; bitpos: [10]; default: 0;
|
||||
* IBUS busy monitor interrupt enable
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_RLS (BIT(10))
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_RLS_M (ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_RLS_V << ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_RLS_S)
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_RLS_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_RLS_S 10
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_RLS : R/W; bitpos: [11]; default: 0;
|
||||
* DBUS busy monitor interrupt enbale
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_RLS (BIT(11))
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_RLS_M (ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_RLS_V << ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_RLS_S)
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_RLS_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_RLS_S 11
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_INTR_CLR_REG register
|
||||
* core0 monitor interrupt clr register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_INTR_CLR_REG (DR_REG_ASSIST_DEBUG_BASE + 0xc)
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_CLR : WT; bitpos: [0]; default: 0;
|
||||
* Core0 dram0 area0 read monitor interrupt clr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_CLR (BIT(0))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_CLR_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_CLR_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_CLR_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_CLR_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_RD_CLR_S 0
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_CLR : WT; bitpos: [1]; default: 0;
|
||||
* Core0 dram0 area0 write monitor interrupt clr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_CLR (BIT(1))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_CLR_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_CLR_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_CLR_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_CLR_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_WR_CLR_S 1
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_CLR : WT; bitpos: [2]; default: 0;
|
||||
* Core0 dram0 area1 read monitor interrupt clr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_CLR (BIT(2))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_CLR_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_CLR_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_CLR_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_CLR_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_RD_CLR_S 2
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_CLR : WT; bitpos: [3]; default: 0;
|
||||
* Core0 dram0 area1 write monitor interrupt clr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_CLR (BIT(3))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_CLR_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_CLR_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_CLR_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_CLR_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_WR_CLR_S 3
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_CLR : WT; bitpos: [4]; default: 0;
|
||||
* Core0 PIF area0 read monitor interrupt clr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_CLR (BIT(4))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_CLR_M (ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_CLR_V << ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_CLR_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_CLR_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_RD_CLR_S 4
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_CLR : WT; bitpos: [5]; default: 0;
|
||||
* Core0 PIF area0 write monitor interrupt clr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_CLR (BIT(5))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_CLR_M (ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_CLR_V << ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_CLR_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_CLR_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_WR_CLR_S 5
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_CLR : WT; bitpos: [6]; default: 0;
|
||||
* Core0 PIF area1 read monitor interrupt clr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_CLR (BIT(6))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_CLR_M (ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_CLR_V << ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_CLR_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_CLR_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_RD_CLR_S 6
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_CLR : WT; bitpos: [7]; default: 0;
|
||||
* Core0 PIF area1 write monitor interrupt clr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_CLR (BIT(7))
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_CLR_M (ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_CLR_V << ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_CLR_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_CLR_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_WR_CLR_S 7
|
||||
/** ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_CLR : WT; bitpos: [8]; default: 0;
|
||||
* Core0 stackpoint underflow monitor interrupt clr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_CLR (BIT(8))
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_CLR_M (ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_CLR_V << ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_CLR_S)
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_CLR_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MIN_CLR_S 8
|
||||
/** ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_CLR : WT; bitpos: [9]; default: 0;
|
||||
* Core0 stackpoint overflow monitor interrupt clr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_CLR (BIT(9))
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_CLR_M (ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_CLR_V << ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_CLR_S)
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_CLR_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_SP_SPILL_MAX_CLR_S 9
|
||||
/** ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_CLR : WT; bitpos: [10]; default: 0;
|
||||
* IBUS busy monitor interrupt clr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_CLR (BIT(10))
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_CLR_M (ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_CLR_V << ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_CLR_S)
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_CLR_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_CLR_S 10
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_CLR : WT; bitpos: [11]; default: 0;
|
||||
* DBUS busy monitor interrupt clr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_CLR (BIT(11))
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_CLR_M (ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_CLR_V << ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_CLR_S)
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_CLR_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_CLR_S 11
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MIN_REG register
|
||||
* core0 dram0 region0 addr configuration register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MIN_REG (DR_REG_ASSIST_DEBUG_BASE + 0x10)
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MIN : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* Core0 dram0 region0 start addr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MIN 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MIN_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MIN_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MIN_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MIN_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MIN_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MAX_REG register
|
||||
* core0 dram0 region0 addr configuration register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MAX_REG (DR_REG_ASSIST_DEBUG_BASE + 0x14)
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MAX : R/W; bitpos: [31:0]; default: 0;
|
||||
* Core0 dram0 region0 end addr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MAX 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MAX_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MAX_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MAX_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MAX_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_0_MAX_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MIN_REG register
|
||||
* core0 dram0 region1 addr configuration register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MIN_REG (DR_REG_ASSIST_DEBUG_BASE + 0x18)
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MIN : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* Core0 dram0 region1 start addr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MIN 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MIN_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MIN_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MIN_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MIN_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MIN_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MAX_REG register
|
||||
* core0 dram0 region1 addr configuration register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MAX_REG (DR_REG_ASSIST_DEBUG_BASE + 0x1c)
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MAX : R/W; bitpos: [31:0]; default: 0;
|
||||
* Core0 dram0 region1 end addr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MAX 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MAX_M (ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MAX_V << ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MAX_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MAX_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_DRAM0_1_MAX_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_0_MIN_REG register
|
||||
* core0 PIF region0 addr configuration register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_MIN_REG (DR_REG_ASSIST_DEBUG_BASE + 0x20)
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_0_MIN : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* Core0 PIF region0 start addr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_MIN 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_MIN_M (ASSIST_DEBUG_CORE_0_AREA_PIF_0_MIN_V << ASSIST_DEBUG_CORE_0_AREA_PIF_0_MIN_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_MIN_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_MIN_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_0_MAX_REG register
|
||||
* core0 PIF region0 addr configuration register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_MAX_REG (DR_REG_ASSIST_DEBUG_BASE + 0x24)
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_0_MAX : R/W; bitpos: [31:0]; default: 0;
|
||||
* Core0 PIF region0 end addr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_MAX 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_MAX_M (ASSIST_DEBUG_CORE_0_AREA_PIF_0_MAX_V << ASSIST_DEBUG_CORE_0_AREA_PIF_0_MAX_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_MAX_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_0_MAX_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_1_MIN_REG register
|
||||
* core0 PIF region1 addr configuration register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_MIN_REG (DR_REG_ASSIST_DEBUG_BASE + 0x28)
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_1_MIN : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* Core0 PIF region1 start addr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_MIN 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_MIN_M (ASSIST_DEBUG_CORE_0_AREA_PIF_1_MIN_V << ASSIST_DEBUG_CORE_0_AREA_PIF_1_MIN_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_MIN_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_MIN_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_1_MAX_REG register
|
||||
* core0 PIF region1 addr configuration register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_MAX_REG (DR_REG_ASSIST_DEBUG_BASE + 0x2c)
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PIF_1_MAX : R/W; bitpos: [31:0]; default: 0;
|
||||
* Core0 PIF region1 end addr
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_MAX 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_MAX_M (ASSIST_DEBUG_CORE_0_AREA_PIF_1_MAX_V << ASSIST_DEBUG_CORE_0_AREA_PIF_1_MAX_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_MAX_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PIF_1_MAX_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PC_REG register
|
||||
* core0 area pc status register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PC_REG (DR_REG_ASSIST_DEBUG_BASE + 0x30)
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_PC : RO; bitpos: [31:0]; default: 0;
|
||||
* the stackpointer when first touch region monitor interrupt
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PC 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PC_M (ASSIST_DEBUG_CORE_0_AREA_PC_V << ASSIST_DEBUG_CORE_0_AREA_PC_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PC_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_PC_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_SP_REG register
|
||||
* core0 area sp status register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_SP_REG (DR_REG_ASSIST_DEBUG_BASE + 0x34)
|
||||
/** ASSIST_DEBUG_CORE_0_AREA_SP : RO; bitpos: [31:0]; default: 0;
|
||||
* the PC when first touch region monitor interrupt
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_SP 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_SP_M (ASSIST_DEBUG_CORE_0_AREA_SP_V << ASSIST_DEBUG_CORE_0_AREA_SP_S)
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_SP_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_AREA_SP_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_SP_MIN_REG register
|
||||
* stack min value
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_SP_MIN_REG (DR_REG_ASSIST_DEBUG_BASE + 0x38)
|
||||
/** ASSIST_DEBUG_CORE_0_SP_MIN : R/W; bitpos: [31:0]; default: 0;
|
||||
* core0 sp region configuration regsiter
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_SP_MIN 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_SP_MIN_M (ASSIST_DEBUG_CORE_0_SP_MIN_V << ASSIST_DEBUG_CORE_0_SP_MIN_S)
|
||||
#define ASSIST_DEBUG_CORE_0_SP_MIN_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_SP_MIN_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_SP_MAX_REG register
|
||||
* stack max value
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_SP_MAX_REG (DR_REG_ASSIST_DEBUG_BASE + 0x3c)
|
||||
/** ASSIST_DEBUG_CORE_0_SP_MAX : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* core0 sp pc status register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_SP_MAX 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_SP_MAX_M (ASSIST_DEBUG_CORE_0_SP_MAX_V << ASSIST_DEBUG_CORE_0_SP_MAX_S)
|
||||
#define ASSIST_DEBUG_CORE_0_SP_MAX_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_SP_MAX_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_SP_PC_REG register
|
||||
* stack monitor pc status register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_SP_PC_REG (DR_REG_ASSIST_DEBUG_BASE + 0x40)
|
||||
/** ASSIST_DEBUG_CORE_0_SP_PC : RO; bitpos: [31:0]; default: 0;
|
||||
* This regsiter stores the PC when trigger stack monitor.
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_SP_PC 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_SP_PC_M (ASSIST_DEBUG_CORE_0_SP_PC_V << ASSIST_DEBUG_CORE_0_SP_PC_S)
|
||||
#define ASSIST_DEBUG_CORE_0_SP_PC_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_SP_PC_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_RCD_EN_REG register
|
||||
* record enable configuration register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_EN_REG (DR_REG_ASSIST_DEBUG_BASE + 0x44)
|
||||
/** ASSIST_DEBUG_CORE_0_RCD_RECORDEN : R/W; bitpos: [0]; default: 0;
|
||||
* Set 1 to enable record PC
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_RECORDEN (BIT(0))
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_RECORDEN_M (ASSIST_DEBUG_CORE_0_RCD_RECORDEN_V << ASSIST_DEBUG_CORE_0_RCD_RECORDEN_S)
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_RECORDEN_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_RECORDEN_S 0
|
||||
/** ASSIST_DEBUG_CORE_0_RCD_PDEBUGEN : R/W; bitpos: [1]; default: 0;
|
||||
* Set 1 to enable cpu pdebug function, must set this bit can get cpu PC
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_PDEBUGEN (BIT(1))
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_PDEBUGEN_M (ASSIST_DEBUG_CORE_0_RCD_PDEBUGEN_V << ASSIST_DEBUG_CORE_0_RCD_PDEBUGEN_S)
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_PDEBUGEN_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_PDEBUGEN_S 1
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_RCD_PDEBUGPC_REG register
|
||||
* record status regsiter
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_PDEBUGPC_REG (DR_REG_ASSIST_DEBUG_BASE + 0x48)
|
||||
/** ASSIST_DEBUG_CORE_0_RCD_PDEBUGPC : RO; bitpos: [31:0]; default: 0;
|
||||
* recorded PC
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_PDEBUGPC 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_PDEBUGPC_M (ASSIST_DEBUG_CORE_0_RCD_PDEBUGPC_V << ASSIST_DEBUG_CORE_0_RCD_PDEBUGPC_S)
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_PDEBUGPC_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_PDEBUGPC_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_RCD_PDEBUGSP_REG register
|
||||
* record status regsiter
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_PDEBUGSP_REG (DR_REG_ASSIST_DEBUG_BASE + 0x4c)
|
||||
/** ASSIST_DEBUG_CORE_0_RCD_PDEBUGSP : RO; bitpos: [31:0]; default: 0;
|
||||
* recorded sp
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_PDEBUGSP 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_PDEBUGSP_M (ASSIST_DEBUG_CORE_0_RCD_PDEBUGSP_V << ASSIST_DEBUG_CORE_0_RCD_PDEBUGSP_S)
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_PDEBUGSP_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_RCD_PDEBUGSP_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_0_REG register
|
||||
* exception monitor status register0
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_0_REG (DR_REG_ASSIST_DEBUG_BASE + 0x50)
|
||||
/** ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_ADDR_0 : RO; bitpos: [23:0]; default: 0;
|
||||
* reg_core_0_iram0_recording_addr_0
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_ADDR_0 0x00FFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_ADDR_0_M (ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_ADDR_0_V << ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_ADDR_0_S)
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_ADDR_0_V 0x00FFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_ADDR_0_S 0
|
||||
/** ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_WR_0 : RO; bitpos: [24]; default: 0;
|
||||
* reg_core_0_iram0_recording_wr_0
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_WR_0 (BIT(24))
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_WR_0_M (ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_WR_0_V << ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_WR_0_S)
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_WR_0_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_WR_0_S 24
|
||||
/** ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_LOADSTORE_0 : RO; bitpos: [25]; default: 0;
|
||||
* reg_core_0_iram0_recording_loadstore_0
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_LOADSTORE_0 (BIT(25))
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_LOADSTORE_0_M (ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_LOADSTORE_0_V << ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_LOADSTORE_0_S)
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_LOADSTORE_0_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_LOADSTORE_0_S 25
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_1_REG register
|
||||
* exception monitor status register1
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_EXCEPTION_MONITOR_1_REG (DR_REG_ASSIST_DEBUG_BASE + 0x54)
|
||||
/** ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_ADDR_1 : RO; bitpos: [23:0]; default: 0;
|
||||
* reg_core_0_iram0_recording_addr_1
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_ADDR_1 0x00FFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_ADDR_1_M (ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_ADDR_1_V << ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_ADDR_1_S)
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_ADDR_1_V 0x00FFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_ADDR_1_S 0
|
||||
/** ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_WR_1 : RO; bitpos: [24]; default: 0;
|
||||
* reg_core_0_iram0_recording_wr_1
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_WR_1 (BIT(24))
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_WR_1_M (ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_WR_1_V << ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_WR_1_S)
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_WR_1_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_WR_1_S 24
|
||||
/** ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_LOADSTORE_1 : RO; bitpos: [25]; default: 0;
|
||||
* reg_core_0_iram0_recording_loadstore_1
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_LOADSTORE_1 (BIT(25))
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_LOADSTORE_1_M (ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_LOADSTORE_1_V << ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_LOADSTORE_1_S)
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_LOADSTORE_1_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_IRAM0_RECORDING_LOADSTORE_1_S 25
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_0_REG register
|
||||
* exception monitor status register2
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_0_REG (DR_REG_ASSIST_DEBUG_BASE + 0x58)
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_ADDR_0 : RO; bitpos: [23:0]; default: 0;
|
||||
* reg_core_0_dram0_recording_addr_0
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_ADDR_0 0x00FFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_ADDR_0_M (ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_ADDR_0_V << ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_ADDR_0_S)
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_ADDR_0_V 0x00FFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_ADDR_0_S 0
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_WR_0 : RO; bitpos: [24]; default: 0;
|
||||
* reg_core_0_dram0_recording_wr_0
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_WR_0 (BIT(24))
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_WR_0_M (ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_WR_0_V << ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_WR_0_S)
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_WR_0_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_WR_0_S 24
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_BYTEEN_0 : RO; bitpos: [28:25]; default: 0;
|
||||
* reg_core_0_dram0_recording_byteen_0
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_BYTEEN_0 0x0000000FU
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_BYTEEN_0_M (ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_BYTEEN_0_V << ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_BYTEEN_0_S)
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_BYTEEN_0_V 0x0000000FU
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_BYTEEN_0_S 25
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_1_REG register
|
||||
* exception monitor status register3
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_1_REG (DR_REG_ASSIST_DEBUG_BASE + 0x5c)
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_PC_0 : RO; bitpos: [31:0]; default: 0;
|
||||
* reg_core_0_dram0_recording_pc_0
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_PC_0 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_PC_0_M (ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_PC_0_V << ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_PC_0_S)
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_PC_0_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_PC_0_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_2_REG register
|
||||
* exception monitor status register4
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_2_REG (DR_REG_ASSIST_DEBUG_BASE + 0x60)
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_ADDR_1 : RO; bitpos: [23:0]; default: 0;
|
||||
* reg_core_0_dram0_recording_addr_1
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_ADDR_1 0x00FFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_ADDR_1_M (ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_ADDR_1_V << ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_ADDR_1_S)
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_ADDR_1_V 0x00FFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_ADDR_1_S 0
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_WR_1 : RO; bitpos: [24]; default: 0;
|
||||
* reg_core_0_dram0_recording_wr_1
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_WR_1 (BIT(24))
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_WR_1_M (ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_WR_1_V << ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_WR_1_S)
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_WR_1_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_WR_1_S 24
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_BYTEEN_1 : RO; bitpos: [28:25]; default: 0;
|
||||
* reg_core_0_dram0_recording_byteen_1
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_BYTEEN_1 0x0000000FU
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_BYTEEN_1_M (ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_BYTEEN_1_V << ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_BYTEEN_1_S)
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_BYTEEN_1_V 0x0000000FU
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_BYTEEN_1_S 25
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_3_REG register
|
||||
* exception monitor status register5
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_EXCEPTION_MONITOR_3_REG (DR_REG_ASSIST_DEBUG_BASE + 0x64)
|
||||
/** ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_PC_1 : RO; bitpos: [31:0]; default: 0;
|
||||
* reg_core_0_dram0_recording_pc_1
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_PC_1 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_PC_1_M (ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_PC_1_V << ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_PC_1_S)
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_PC_1_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_DRAM0_RECORDING_PC_1_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_EXCEPTION_MONITOR_0_REG register
|
||||
* exception monitor status register6
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_EXCEPTION_MONITOR_0_REG (DR_REG_ASSIST_DEBUG_BASE + 0x68)
|
||||
/** ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_LIMIT_CYCLE_0 : R/W; bitpos: [19:0]; default: 0;
|
||||
* reg_core_x_iram0_dram0_limit_cycle_0
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_LIMIT_CYCLE_0 0x000FFFFFU
|
||||
#define ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_LIMIT_CYCLE_0_M (ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_LIMIT_CYCLE_0_V << ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_LIMIT_CYCLE_0_S)
|
||||
#define ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_LIMIT_CYCLE_0_V 0x000FFFFFU
|
||||
#define ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_LIMIT_CYCLE_0_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_EXCEPTION_MONITOR_1_REG register
|
||||
* exception monitor status register7
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_EXCEPTION_MONITOR_1_REG (DR_REG_ASSIST_DEBUG_BASE + 0x6c)
|
||||
/** ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_LIMIT_CYCLE_1 : R/W; bitpos: [19:0]; default: 0;
|
||||
* reg_core_x_iram0_dram0_limit_cycle_1
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_LIMIT_CYCLE_1 0x000FFFFFU
|
||||
#define ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_LIMIT_CYCLE_1_M (ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_LIMIT_CYCLE_1_V << ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_LIMIT_CYCLE_1_S)
|
||||
#define ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_LIMIT_CYCLE_1_V 0x000FFFFFU
|
||||
#define ASSIST_DEBUG_CORE_X_IRAM0_DRAM0_LIMIT_CYCLE_1_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_LASTPC_BEFORE_EXCEPTION_REG register
|
||||
* cpu status register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_LASTPC_BEFORE_EXCEPTION_REG (DR_REG_ASSIST_DEBUG_BASE + 0x70)
|
||||
/** ASSIST_DEBUG_CORE_0_LASTPC_BEFORE_EXC : RO; bitpos: [31:0]; default: 0;
|
||||
* cpu's lastpc before exception
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_LASTPC_BEFORE_EXC 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_LASTPC_BEFORE_EXC_M (ASSIST_DEBUG_CORE_0_LASTPC_BEFORE_EXC_V << ASSIST_DEBUG_CORE_0_LASTPC_BEFORE_EXC_S)
|
||||
#define ASSIST_DEBUG_CORE_0_LASTPC_BEFORE_EXC_V 0xFFFFFFFFU
|
||||
#define ASSIST_DEBUG_CORE_0_LASTPC_BEFORE_EXC_S 0
|
||||
|
||||
/** ASSIST_DEBUG_CORE_0_DEBUG_MODE_REG register
|
||||
* cpu status register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DEBUG_MODE_REG (DR_REG_ASSIST_DEBUG_BASE + 0x74)
|
||||
/** ASSIST_DEBUG_CORE_0_DEBUG_MODE : RO; bitpos: [0]; default: 0;
|
||||
* cpu debug mode status, 1 means cpu enter debug mode.
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DEBUG_MODE (BIT(0))
|
||||
#define ASSIST_DEBUG_CORE_0_DEBUG_MODE_M (ASSIST_DEBUG_CORE_0_DEBUG_MODE_V << ASSIST_DEBUG_CORE_0_DEBUG_MODE_S)
|
||||
#define ASSIST_DEBUG_CORE_0_DEBUG_MODE_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_DEBUG_MODE_S 0
|
||||
/** ASSIST_DEBUG_CORE_0_DEBUG_MODULE_ACTIVE : RO; bitpos: [1]; default: 0;
|
||||
* cpu debug_module active status
|
||||
*/
|
||||
#define ASSIST_DEBUG_CORE_0_DEBUG_MODULE_ACTIVE (BIT(1))
|
||||
#define ASSIST_DEBUG_CORE_0_DEBUG_MODULE_ACTIVE_M (ASSIST_DEBUG_CORE_0_DEBUG_MODULE_ACTIVE_V << ASSIST_DEBUG_CORE_0_DEBUG_MODULE_ACTIVE_S)
|
||||
#define ASSIST_DEBUG_CORE_0_DEBUG_MODULE_ACTIVE_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CORE_0_DEBUG_MODULE_ACTIVE_S 1
|
||||
|
||||
/** ASSIST_DEBUG_CLOCK_GATE_REG register
|
||||
* clock register
|
||||
*/
|
||||
#define ASSIST_DEBUG_CLOCK_GATE_REG (DR_REG_ASSIST_DEBUG_BASE + 0x78)
|
||||
/** ASSIST_DEBUG_CLK_EN : R/W; bitpos: [0]; default: 1;
|
||||
* Set 1 force on the clock gate
|
||||
*/
|
||||
#define ASSIST_DEBUG_CLK_EN (BIT(0))
|
||||
#define ASSIST_DEBUG_CLK_EN_M (ASSIST_DEBUG_CLK_EN_V << ASSIST_DEBUG_CLK_EN_S)
|
||||
#define ASSIST_DEBUG_CLK_EN_V 0x00000001U
|
||||
#define ASSIST_DEBUG_CLK_EN_S 0
|
||||
|
||||
/** ASSIST_DEBUG_DATE_REG register
|
||||
* version register
|
||||
*/
|
||||
#define ASSIST_DEBUG_DATE_REG (DR_REG_ASSIST_DEBUG_BASE + 0x3fc)
|
||||
/** ASSIST_DEBUG_ASSIST_DEBUG_DATE : R/W; bitpos: [27:0]; default: 34640176;
|
||||
* version register
|
||||
*/
|
||||
#define ASSIST_DEBUG_ASSIST_DEBUG_DATE 0x0FFFFFFFU
|
||||
#define ASSIST_DEBUG_ASSIST_DEBUG_DATE_M (ASSIST_DEBUG_ASSIST_DEBUG_DATE_V << ASSIST_DEBUG_ASSIST_DEBUG_DATE_S)
|
||||
#define ASSIST_DEBUG_ASSIST_DEBUG_DATE_V 0x0FFFFFFFU
|
||||
#define ASSIST_DEBUG_ASSIST_DEBUG_DATE_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
717
components/soc/esp32h2/include/soc/assist_debug_struct.h
Normal file
717
components/soc/esp32h2/include/soc/assist_debug_struct.h
Normal file
@ -0,0 +1,717 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: monitor configuration registers */
|
||||
/** Type of core_0_intr_ena register
|
||||
* core0 monitor enable configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_area_dram0_0_rd_ena : R/W; bitpos: [0]; default: 0;
|
||||
* Core0 dram0 area0 read monitor enable
|
||||
*/
|
||||
uint32_t core_0_area_dram0_0_rd_ena:1;
|
||||
/** core_0_area_dram0_0_wr_ena : R/W; bitpos: [1]; default: 0;
|
||||
* Core0 dram0 area0 write monitor enable
|
||||
*/
|
||||
uint32_t core_0_area_dram0_0_wr_ena:1;
|
||||
/** core_0_area_dram0_1_rd_ena : R/W; bitpos: [2]; default: 0;
|
||||
* Core0 dram0 area1 read monitor enable
|
||||
*/
|
||||
uint32_t core_0_area_dram0_1_rd_ena:1;
|
||||
/** core_0_area_dram0_1_wr_ena : R/W; bitpos: [3]; default: 0;
|
||||
* Core0 dram0 area1 write monitor enable
|
||||
*/
|
||||
uint32_t core_0_area_dram0_1_wr_ena:1;
|
||||
/** core_0_area_pif_0_rd_ena : R/W; bitpos: [4]; default: 0;
|
||||
* Core0 PIF area0 read monitor enable
|
||||
*/
|
||||
uint32_t core_0_area_pif_0_rd_ena:1;
|
||||
/** core_0_area_pif_0_wr_ena : R/W; bitpos: [5]; default: 0;
|
||||
* Core0 PIF area0 write monitor enable
|
||||
*/
|
||||
uint32_t core_0_area_pif_0_wr_ena:1;
|
||||
/** core_0_area_pif_1_rd_ena : R/W; bitpos: [6]; default: 0;
|
||||
* Core0 PIF area1 read monitor enable
|
||||
*/
|
||||
uint32_t core_0_area_pif_1_rd_ena:1;
|
||||
/** core_0_area_pif_1_wr_ena : R/W; bitpos: [7]; default: 0;
|
||||
* Core0 PIF area1 write monitor enable
|
||||
*/
|
||||
uint32_t core_0_area_pif_1_wr_ena:1;
|
||||
/** core_0_sp_spill_min_ena : R/W; bitpos: [8]; default: 0;
|
||||
* Core0 stackpoint underflow monitor enable
|
||||
*/
|
||||
uint32_t core_0_sp_spill_min_ena:1;
|
||||
/** core_0_sp_spill_max_ena : R/W; bitpos: [9]; default: 0;
|
||||
* Core0 stackpoint overflow monitor enable
|
||||
*/
|
||||
uint32_t core_0_sp_spill_max_ena:1;
|
||||
/** core_0_iram0_exception_monitor_ena : R/W; bitpos: [10]; default: 0;
|
||||
* IBUS busy monitor enable
|
||||
*/
|
||||
uint32_t core_0_iram0_exception_monitor_ena:1;
|
||||
/** core_0_dram0_exception_monitor_ena : R/W; bitpos: [11]; default: 0;
|
||||
* DBUS busy monitor enbale
|
||||
*/
|
||||
uint32_t core_0_dram0_exception_monitor_ena:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_intr_ena_reg_t;
|
||||
|
||||
/** Type of core_0_area_dram0_0_min register
|
||||
* core0 dram0 region0 addr configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_area_dram0_0_min : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* Core0 dram0 region0 start addr
|
||||
*/
|
||||
uint32_t core_0_area_dram0_0_min:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_area_dram0_0_min_reg_t;
|
||||
|
||||
/** Type of core_0_area_dram0_0_max register
|
||||
* core0 dram0 region0 addr configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_area_dram0_0_max : R/W; bitpos: [31:0]; default: 0;
|
||||
* Core0 dram0 region0 end addr
|
||||
*/
|
||||
uint32_t core_0_area_dram0_0_max:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_area_dram0_0_max_reg_t;
|
||||
|
||||
/** Type of core_0_area_dram0_1_min register
|
||||
* core0 dram0 region1 addr configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_area_dram0_1_min : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* Core0 dram0 region1 start addr
|
||||
*/
|
||||
uint32_t core_0_area_dram0_1_min:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_area_dram0_1_min_reg_t;
|
||||
|
||||
/** Type of core_0_area_dram0_1_max register
|
||||
* core0 dram0 region1 addr configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_area_dram0_1_max : R/W; bitpos: [31:0]; default: 0;
|
||||
* Core0 dram0 region1 end addr
|
||||
*/
|
||||
uint32_t core_0_area_dram0_1_max:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_area_dram0_1_max_reg_t;
|
||||
|
||||
/** Type of core_0_area_pif_0_min register
|
||||
* core0 PIF region0 addr configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_area_pif_0_min : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* Core0 PIF region0 start addr
|
||||
*/
|
||||
uint32_t core_0_area_pif_0_min:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_area_pif_0_min_reg_t;
|
||||
|
||||
/** Type of core_0_area_pif_0_max register
|
||||
* core0 PIF region0 addr configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_area_pif_0_max : R/W; bitpos: [31:0]; default: 0;
|
||||
* Core0 PIF region0 end addr
|
||||
*/
|
||||
uint32_t core_0_area_pif_0_max:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_area_pif_0_max_reg_t;
|
||||
|
||||
/** Type of core_0_area_pif_1_min register
|
||||
* core0 PIF region1 addr configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_area_pif_1_min : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* Core0 PIF region1 start addr
|
||||
*/
|
||||
uint32_t core_0_area_pif_1_min:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_area_pif_1_min_reg_t;
|
||||
|
||||
/** Type of core_0_area_pif_1_max register
|
||||
* core0 PIF region1 addr configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_area_pif_1_max : R/W; bitpos: [31:0]; default: 0;
|
||||
* Core0 PIF region1 end addr
|
||||
*/
|
||||
uint32_t core_0_area_pif_1_max:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_area_pif_1_max_reg_t;
|
||||
|
||||
/** Type of core_0_area_pc register
|
||||
* core0 area pc status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_area_pc : RO; bitpos: [31:0]; default: 0;
|
||||
* the stackpointer when first touch region monitor interrupt
|
||||
*/
|
||||
uint32_t core_0_area_pc:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_area_pc_reg_t;
|
||||
|
||||
/** Type of core_0_area_sp register
|
||||
* core0 area sp status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_area_sp : RO; bitpos: [31:0]; default: 0;
|
||||
* the PC when first touch region monitor interrupt
|
||||
*/
|
||||
uint32_t core_0_area_sp:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_area_sp_reg_t;
|
||||
|
||||
/** Type of core_0_sp_min register
|
||||
* stack min value
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_sp_min : R/W; bitpos: [31:0]; default: 0;
|
||||
* core0 sp region configuration regsiter
|
||||
*/
|
||||
uint32_t core_0_sp_min:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_sp_min_reg_t;
|
||||
|
||||
/** Type of core_0_sp_max register
|
||||
* stack max value
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_sp_max : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* core0 sp pc status register
|
||||
*/
|
||||
uint32_t core_0_sp_max:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_sp_max_reg_t;
|
||||
|
||||
/** Type of core_0_sp_pc register
|
||||
* stack monitor pc status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_sp_pc : RO; bitpos: [31:0]; default: 0;
|
||||
* This regsiter stores the PC when trigger stack monitor.
|
||||
*/
|
||||
uint32_t core_0_sp_pc:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_sp_pc_reg_t;
|
||||
|
||||
|
||||
/** Group: interrupt configuration register */
|
||||
/** Type of core_0_intr_raw register
|
||||
* core0 monitor interrupt status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_area_dram0_0_rd_raw : RO; bitpos: [0]; default: 0;
|
||||
* Core0 dram0 area0 read monitor interrupt status
|
||||
*/
|
||||
uint32_t core_0_area_dram0_0_rd_raw:1;
|
||||
/** core_0_area_dram0_0_wr_raw : RO; bitpos: [1]; default: 0;
|
||||
* Core0 dram0 area0 write monitor interrupt status
|
||||
*/
|
||||
uint32_t core_0_area_dram0_0_wr_raw:1;
|
||||
/** core_0_area_dram0_1_rd_raw : RO; bitpos: [2]; default: 0;
|
||||
* Core0 dram0 area1 read monitor interrupt status
|
||||
*/
|
||||
uint32_t core_0_area_dram0_1_rd_raw:1;
|
||||
/** core_0_area_dram0_1_wr_raw : RO; bitpos: [3]; default: 0;
|
||||
* Core0 dram0 area1 write monitor interrupt status
|
||||
*/
|
||||
uint32_t core_0_area_dram0_1_wr_raw:1;
|
||||
/** core_0_area_pif_0_rd_raw : RO; bitpos: [4]; default: 0;
|
||||
* Core0 PIF area0 read monitor interrupt status
|
||||
*/
|
||||
uint32_t core_0_area_pif_0_rd_raw:1;
|
||||
/** core_0_area_pif_0_wr_raw : RO; bitpos: [5]; default: 0;
|
||||
* Core0 PIF area0 write monitor interrupt status
|
||||
*/
|
||||
uint32_t core_0_area_pif_0_wr_raw:1;
|
||||
/** core_0_area_pif_1_rd_raw : RO; bitpos: [6]; default: 0;
|
||||
* Core0 PIF area1 read monitor interrupt status
|
||||
*/
|
||||
uint32_t core_0_area_pif_1_rd_raw:1;
|
||||
/** core_0_area_pif_1_wr_raw : RO; bitpos: [7]; default: 0;
|
||||
* Core0 PIF area1 write monitor interrupt status
|
||||
*/
|
||||
uint32_t core_0_area_pif_1_wr_raw:1;
|
||||
/** core_0_sp_spill_min_raw : RO; bitpos: [8]; default: 0;
|
||||
* Core0 stackpoint underflow monitor interrupt status
|
||||
*/
|
||||
uint32_t core_0_sp_spill_min_raw:1;
|
||||
/** core_0_sp_spill_max_raw : RO; bitpos: [9]; default: 0;
|
||||
* Core0 stackpoint overflow monitor interrupt status
|
||||
*/
|
||||
uint32_t core_0_sp_spill_max_raw:1;
|
||||
/** core_0_iram0_exception_monitor_raw : RO; bitpos: [10]; default: 0;
|
||||
* IBUS busy monitor interrupt status
|
||||
*/
|
||||
uint32_t core_0_iram0_exception_monitor_raw:1;
|
||||
/** core_0_dram0_exception_monitor_raw : RO; bitpos: [11]; default: 0;
|
||||
* DBUS busy monitor initerrupt status
|
||||
*/
|
||||
uint32_t core_0_dram0_exception_monitor_raw:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_intr_raw_reg_t;
|
||||
|
||||
/** Type of core_0_intr_rls register
|
||||
* core0 monitor interrupt enable register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_area_dram0_0_rd_rls : R/W; bitpos: [0]; default: 0;
|
||||
* Core0 dram0 area0 read monitor interrupt enable
|
||||
*/
|
||||
uint32_t core_0_area_dram0_0_rd_rls:1;
|
||||
/** core_0_area_dram0_0_wr_rls : R/W; bitpos: [1]; default: 0;
|
||||
* Core0 dram0 area0 write monitor interrupt enable
|
||||
*/
|
||||
uint32_t core_0_area_dram0_0_wr_rls:1;
|
||||
/** core_0_area_dram0_1_rd_rls : R/W; bitpos: [2]; default: 0;
|
||||
* Core0 dram0 area1 read monitor interrupt enable
|
||||
*/
|
||||
uint32_t core_0_area_dram0_1_rd_rls:1;
|
||||
/** core_0_area_dram0_1_wr_rls : R/W; bitpos: [3]; default: 0;
|
||||
* Core0 dram0 area1 write monitor interrupt enable
|
||||
*/
|
||||
uint32_t core_0_area_dram0_1_wr_rls:1;
|
||||
/** core_0_area_pif_0_rd_rls : R/W; bitpos: [4]; default: 0;
|
||||
* Core0 PIF area0 read monitor interrupt enable
|
||||
*/
|
||||
uint32_t core_0_area_pif_0_rd_rls:1;
|
||||
/** core_0_area_pif_0_wr_rls : R/W; bitpos: [5]; default: 0;
|
||||
* Core0 PIF area0 write monitor interrupt enable
|
||||
*/
|
||||
uint32_t core_0_area_pif_0_wr_rls:1;
|
||||
/** core_0_area_pif_1_rd_rls : R/W; bitpos: [6]; default: 0;
|
||||
* Core0 PIF area1 read monitor interrupt enable
|
||||
*/
|
||||
uint32_t core_0_area_pif_1_rd_rls:1;
|
||||
/** core_0_area_pif_1_wr_rls : R/W; bitpos: [7]; default: 0;
|
||||
* Core0 PIF area1 write monitor interrupt enable
|
||||
*/
|
||||
uint32_t core_0_area_pif_1_wr_rls:1;
|
||||
/** core_0_sp_spill_min_rls : R/W; bitpos: [8]; default: 0;
|
||||
* Core0 stackpoint underflow monitor interrupt enable
|
||||
*/
|
||||
uint32_t core_0_sp_spill_min_rls:1;
|
||||
/** core_0_sp_spill_max_rls : R/W; bitpos: [9]; default: 0;
|
||||
* Core0 stackpoint overflow monitor interrupt enable
|
||||
*/
|
||||
uint32_t core_0_sp_spill_max_rls:1;
|
||||
/** core_0_iram0_exception_monitor_rls : R/W; bitpos: [10]; default: 0;
|
||||
* IBUS busy monitor interrupt enable
|
||||
*/
|
||||
uint32_t core_0_iram0_exception_monitor_rls:1;
|
||||
/** core_0_dram0_exception_monitor_rls : R/W; bitpos: [11]; default: 0;
|
||||
* DBUS busy monitor interrupt enbale
|
||||
*/
|
||||
uint32_t core_0_dram0_exception_monitor_rls:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_intr_rls_reg_t;
|
||||
|
||||
/** Type of core_0_intr_clr register
|
||||
* core0 monitor interrupt clr register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_area_dram0_0_rd_clr : WT; bitpos: [0]; default: 0;
|
||||
* Core0 dram0 area0 read monitor interrupt clr
|
||||
*/
|
||||
uint32_t core_0_area_dram0_0_rd_clr:1;
|
||||
/** core_0_area_dram0_0_wr_clr : WT; bitpos: [1]; default: 0;
|
||||
* Core0 dram0 area0 write monitor interrupt clr
|
||||
*/
|
||||
uint32_t core_0_area_dram0_0_wr_clr:1;
|
||||
/** core_0_area_dram0_1_rd_clr : WT; bitpos: [2]; default: 0;
|
||||
* Core0 dram0 area1 read monitor interrupt clr
|
||||
*/
|
||||
uint32_t core_0_area_dram0_1_rd_clr:1;
|
||||
/** core_0_area_dram0_1_wr_clr : WT; bitpos: [3]; default: 0;
|
||||
* Core0 dram0 area1 write monitor interrupt clr
|
||||
*/
|
||||
uint32_t core_0_area_dram0_1_wr_clr:1;
|
||||
/** core_0_area_pif_0_rd_clr : WT; bitpos: [4]; default: 0;
|
||||
* Core0 PIF area0 read monitor interrupt clr
|
||||
*/
|
||||
uint32_t core_0_area_pif_0_rd_clr:1;
|
||||
/** core_0_area_pif_0_wr_clr : WT; bitpos: [5]; default: 0;
|
||||
* Core0 PIF area0 write monitor interrupt clr
|
||||
*/
|
||||
uint32_t core_0_area_pif_0_wr_clr:1;
|
||||
/** core_0_area_pif_1_rd_clr : WT; bitpos: [6]; default: 0;
|
||||
* Core0 PIF area1 read monitor interrupt clr
|
||||
*/
|
||||
uint32_t core_0_area_pif_1_rd_clr:1;
|
||||
/** core_0_area_pif_1_wr_clr : WT; bitpos: [7]; default: 0;
|
||||
* Core0 PIF area1 write monitor interrupt clr
|
||||
*/
|
||||
uint32_t core_0_area_pif_1_wr_clr:1;
|
||||
/** core_0_sp_spill_min_clr : WT; bitpos: [8]; default: 0;
|
||||
* Core0 stackpoint underflow monitor interrupt clr
|
||||
*/
|
||||
uint32_t core_0_sp_spill_min_clr:1;
|
||||
/** core_0_sp_spill_max_clr : WT; bitpos: [9]; default: 0;
|
||||
* Core0 stackpoint overflow monitor interrupt clr
|
||||
*/
|
||||
uint32_t core_0_sp_spill_max_clr:1;
|
||||
/** core_0_iram0_exception_monitor_clr : WT; bitpos: [10]; default: 0;
|
||||
* IBUS busy monitor interrupt clr
|
||||
*/
|
||||
uint32_t core_0_iram0_exception_monitor_clr:1;
|
||||
/** core_0_dram0_exception_monitor_clr : WT; bitpos: [11]; default: 0;
|
||||
* DBUS busy monitor interrupt clr
|
||||
*/
|
||||
uint32_t core_0_dram0_exception_monitor_clr:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_intr_clr_reg_t;
|
||||
|
||||
|
||||
/** Group: pc reording configuration register */
|
||||
/** Type of core_0_rcd_en register
|
||||
* record enable configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_rcd_recorden : R/W; bitpos: [0]; default: 0;
|
||||
* Set 1 to enable record PC
|
||||
*/
|
||||
uint32_t core_0_rcd_recorden:1;
|
||||
/** core_0_rcd_pdebugen : R/W; bitpos: [1]; default: 0;
|
||||
* Set 1 to enable cpu pdebug function, must set this bit can get cpu PC
|
||||
*/
|
||||
uint32_t core_0_rcd_pdebugen:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_rcd_en_reg_t;
|
||||
|
||||
|
||||
/** Group: pc reording status register */
|
||||
/** Type of core_0_rcd_pdebugpc register
|
||||
* record status regsiter
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_rcd_pdebugpc : RO; bitpos: [31:0]; default: 0;
|
||||
* recorded PC
|
||||
*/
|
||||
uint32_t core_0_rcd_pdebugpc:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_rcd_pdebugpc_reg_t;
|
||||
|
||||
/** Type of core_0_rcd_pdebugsp register
|
||||
* record status regsiter
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_rcd_pdebugsp : RO; bitpos: [31:0]; default: 0;
|
||||
* recorded sp
|
||||
*/
|
||||
uint32_t core_0_rcd_pdebugsp:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_rcd_pdebugsp_reg_t;
|
||||
|
||||
|
||||
/** Group: exception monitor regsiter */
|
||||
/** Type of core_0_iram0_exception_monitor_0 register
|
||||
* exception monitor status register0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_iram0_recording_addr_0 : RO; bitpos: [23:0]; default: 0;
|
||||
* reg_core_0_iram0_recording_addr_0
|
||||
*/
|
||||
uint32_t core_0_iram0_recording_addr_0:24;
|
||||
/** core_0_iram0_recording_wr_0 : RO; bitpos: [24]; default: 0;
|
||||
* reg_core_0_iram0_recording_wr_0
|
||||
*/
|
||||
uint32_t core_0_iram0_recording_wr_0:1;
|
||||
/** core_0_iram0_recording_loadstore_0 : RO; bitpos: [25]; default: 0;
|
||||
* reg_core_0_iram0_recording_loadstore_0
|
||||
*/
|
||||
uint32_t core_0_iram0_recording_loadstore_0:1;
|
||||
uint32_t reserved_26:6;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_iram0_exception_monitor_0_reg_t;
|
||||
|
||||
/** Type of core_0_iram0_exception_monitor_1 register
|
||||
* exception monitor status register1
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_iram0_recording_addr_1 : RO; bitpos: [23:0]; default: 0;
|
||||
* reg_core_0_iram0_recording_addr_1
|
||||
*/
|
||||
uint32_t core_0_iram0_recording_addr_1:24;
|
||||
/** core_0_iram0_recording_wr_1 : RO; bitpos: [24]; default: 0;
|
||||
* reg_core_0_iram0_recording_wr_1
|
||||
*/
|
||||
uint32_t core_0_iram0_recording_wr_1:1;
|
||||
/** core_0_iram0_recording_loadstore_1 : RO; bitpos: [25]; default: 0;
|
||||
* reg_core_0_iram0_recording_loadstore_1
|
||||
*/
|
||||
uint32_t core_0_iram0_recording_loadstore_1:1;
|
||||
uint32_t reserved_26:6;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_iram0_exception_monitor_1_reg_t;
|
||||
|
||||
/** Type of core_0_dram0_exception_monitor_0 register
|
||||
* exception monitor status register2
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_dram0_recording_addr_0 : RO; bitpos: [23:0]; default: 0;
|
||||
* reg_core_0_dram0_recording_addr_0
|
||||
*/
|
||||
uint32_t core_0_dram0_recording_addr_0:24;
|
||||
/** core_0_dram0_recording_wr_0 : RO; bitpos: [24]; default: 0;
|
||||
* reg_core_0_dram0_recording_wr_0
|
||||
*/
|
||||
uint32_t core_0_dram0_recording_wr_0:1;
|
||||
/** core_0_dram0_recording_byteen_0 : RO; bitpos: [28:25]; default: 0;
|
||||
* reg_core_0_dram0_recording_byteen_0
|
||||
*/
|
||||
uint32_t core_0_dram0_recording_byteen_0:4;
|
||||
uint32_t reserved_29:3;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_dram0_exception_monitor_0_reg_t;
|
||||
|
||||
/** Type of core_0_dram0_exception_monitor_1 register
|
||||
* exception monitor status register3
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_dram0_recording_pc_0 : RO; bitpos: [31:0]; default: 0;
|
||||
* reg_core_0_dram0_recording_pc_0
|
||||
*/
|
||||
uint32_t core_0_dram0_recording_pc_0:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_dram0_exception_monitor_1_reg_t;
|
||||
|
||||
/** Type of core_0_dram0_exception_monitor_2 register
|
||||
* exception monitor status register4
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_dram0_recording_addr_1 : RO; bitpos: [23:0]; default: 0;
|
||||
* reg_core_0_dram0_recording_addr_1
|
||||
*/
|
||||
uint32_t core_0_dram0_recording_addr_1:24;
|
||||
/** core_0_dram0_recording_wr_1 : RO; bitpos: [24]; default: 0;
|
||||
* reg_core_0_dram0_recording_wr_1
|
||||
*/
|
||||
uint32_t core_0_dram0_recording_wr_1:1;
|
||||
/** core_0_dram0_recording_byteen_1 : RO; bitpos: [28:25]; default: 0;
|
||||
* reg_core_0_dram0_recording_byteen_1
|
||||
*/
|
||||
uint32_t core_0_dram0_recording_byteen_1:4;
|
||||
uint32_t reserved_29:3;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_dram0_exception_monitor_2_reg_t;
|
||||
|
||||
/** Type of core_0_dram0_exception_monitor_3 register
|
||||
* exception monitor status register5
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_dram0_recording_pc_1 : RO; bitpos: [31:0]; default: 0;
|
||||
* reg_core_0_dram0_recording_pc_1
|
||||
*/
|
||||
uint32_t core_0_dram0_recording_pc_1:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_dram0_exception_monitor_3_reg_t;
|
||||
|
||||
/** Type of core_x_iram0_dram0_exception_monitor_0 register
|
||||
* exception monitor status register6
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_x_iram0_dram0_limit_cycle_0 : R/W; bitpos: [19:0]; default: 0;
|
||||
* reg_core_x_iram0_dram0_limit_cycle_0
|
||||
*/
|
||||
uint32_t core_x_iram0_dram0_limit_cycle_0:20;
|
||||
uint32_t reserved_20:12;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_x_iram0_dram0_exception_monitor_0_reg_t;
|
||||
|
||||
/** Type of core_x_iram0_dram0_exception_monitor_1 register
|
||||
* exception monitor status register7
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_x_iram0_dram0_limit_cycle_1 : R/W; bitpos: [19:0]; default: 0;
|
||||
* reg_core_x_iram0_dram0_limit_cycle_1
|
||||
*/
|
||||
uint32_t core_x_iram0_dram0_limit_cycle_1:20;
|
||||
uint32_t reserved_20:12;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_x_iram0_dram0_exception_monitor_1_reg_t;
|
||||
|
||||
|
||||
/** Group: cpu status registers */
|
||||
/** Type of core_0_lastpc_before_exception register
|
||||
* cpu status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_lastpc_before_exc : RO; bitpos: [31:0]; default: 0;
|
||||
* cpu's lastpc before exception
|
||||
*/
|
||||
uint32_t core_0_lastpc_before_exc:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_lastpc_before_exception_reg_t;
|
||||
|
||||
/** Type of core_0_debug_mode register
|
||||
* cpu status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core_0_debug_mode : RO; bitpos: [0]; default: 0;
|
||||
* cpu debug mode status, 1 means cpu enter debug mode.
|
||||
*/
|
||||
uint32_t core_0_debug_mode:1;
|
||||
/** core_0_debug_module_active : RO; bitpos: [1]; default: 0;
|
||||
* cpu debug_module active status
|
||||
*/
|
||||
uint32_t core_0_debug_module_active:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_core_0_debug_mode_reg_t;
|
||||
|
||||
|
||||
/** Group: Configuration Registers */
|
||||
/** Type of clock_gate register
|
||||
* clock register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_en : R/W; bitpos: [0]; default: 1;
|
||||
* Set 1 force on the clock gate
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_clock_gate_reg_t;
|
||||
|
||||
/** Type of date register
|
||||
* version register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** assist_debug_date : R/W; bitpos: [27:0]; default: 34640176;
|
||||
* version register
|
||||
*/
|
||||
uint32_t assist_debug_date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} assist_debug_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile assist_debug_core_0_intr_ena_reg_t core_0_intr_ena;
|
||||
volatile assist_debug_core_0_intr_raw_reg_t core_0_intr_raw;
|
||||
volatile assist_debug_core_0_intr_rls_reg_t core_0_intr_rls;
|
||||
volatile assist_debug_core_0_intr_clr_reg_t core_0_intr_clr;
|
||||
volatile assist_debug_core_0_area_dram0_0_min_reg_t core_0_area_dram0_0_min;
|
||||
volatile assist_debug_core_0_area_dram0_0_max_reg_t core_0_area_dram0_0_max;
|
||||
volatile assist_debug_core_0_area_dram0_1_min_reg_t core_0_area_dram0_1_min;
|
||||
volatile assist_debug_core_0_area_dram0_1_max_reg_t core_0_area_dram0_1_max;
|
||||
volatile assist_debug_core_0_area_pif_0_min_reg_t core_0_area_pif_0_min;
|
||||
volatile assist_debug_core_0_area_pif_0_max_reg_t core_0_area_pif_0_max;
|
||||
volatile assist_debug_core_0_area_pif_1_min_reg_t core_0_area_pif_1_min;
|
||||
volatile assist_debug_core_0_area_pif_1_max_reg_t core_0_area_pif_1_max;
|
||||
volatile assist_debug_core_0_area_pc_reg_t core_0_area_pc;
|
||||
volatile assist_debug_core_0_area_sp_reg_t core_0_area_sp;
|
||||
volatile assist_debug_core_0_sp_min_reg_t core_0_sp_min;
|
||||
volatile assist_debug_core_0_sp_max_reg_t core_0_sp_max;
|
||||
volatile assist_debug_core_0_sp_pc_reg_t core_0_sp_pc;
|
||||
volatile assist_debug_core_0_rcd_en_reg_t core_0_rcd_en;
|
||||
volatile assist_debug_core_0_rcd_pdebugpc_reg_t core_0_rcd_pdebugpc;
|
||||
volatile assist_debug_core_0_rcd_pdebugsp_reg_t core_0_rcd_pdebugsp;
|
||||
volatile assist_debug_core_0_iram0_exception_monitor_0_reg_t core_0_iram0_exception_monitor_0;
|
||||
volatile assist_debug_core_0_iram0_exception_monitor_1_reg_t core_0_iram0_exception_monitor_1;
|
||||
volatile assist_debug_core_0_dram0_exception_monitor_0_reg_t core_0_dram0_exception_monitor_0;
|
||||
volatile assist_debug_core_0_dram0_exception_monitor_1_reg_t core_0_dram0_exception_monitor_1;
|
||||
volatile assist_debug_core_0_dram0_exception_monitor_2_reg_t core_0_dram0_exception_monitor_2;
|
||||
volatile assist_debug_core_0_dram0_exception_monitor_3_reg_t core_0_dram0_exception_monitor_3;
|
||||
volatile assist_debug_core_x_iram0_dram0_exception_monitor_0_reg_t core_x_iram0_dram0_exception_monitor_0;
|
||||
volatile assist_debug_core_x_iram0_dram0_exception_monitor_1_reg_t core_x_iram0_dram0_exception_monitor_1;
|
||||
volatile assist_debug_core_0_lastpc_before_exception_reg_t core_0_lastpc_before_exception;
|
||||
volatile assist_debug_core_0_debug_mode_reg_t core_0_debug_mode;
|
||||
volatile assist_debug_clock_gate_reg_t clock_gate;
|
||||
uint32_t reserved_07c[224];
|
||||
volatile assist_debug_date_reg_t date;
|
||||
} assist_debug_dev_t;
|
||||
|
||||
extern assist_debug_dev_t ASSIST_DEBUG;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(assist_debug_dev_t) == 0x400, "Invalid size of assist_debug_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
93
components/soc/esp32h2/include/soc/boot_mode.h
Normal file
93
components/soc/esp32h2/include/soc/boot_mode.h
Normal file
@ -0,0 +1,93 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#ifndef _SOC_BOOT_MODE_H_
|
||||
#define _SOC_BOOT_MODE_H_
|
||||
|
||||
#include "soc.h"
|
||||
|
||||
/*SPI Boot*/
|
||||
#define IS_1XXX(v) (((v)&0x08)==0x08)
|
||||
|
||||
/*Download Boot, SPI(or SDIO_V2)/UART0*/
|
||||
#define IS_00XX(v) (((v)&0x0c)==0x00)
|
||||
|
||||
/*Download Boot, SDIO/UART0/UART1,FEI_FEO V2*/
|
||||
#define IS_0000(v) (((v)&0x0f)==0x00)
|
||||
|
||||
/*Download Boot, SDIO/UART0/UART1,FEI_REO V2*/
|
||||
#define IS_0001(v) (((v)&0x0f)==0x01)
|
||||
|
||||
/*Download Boot, SDIO/UART0/UART1,REI_FEO V2*/
|
||||
#define IS_0010(v) (((v)&0x0f)==0x02)
|
||||
|
||||
/*Download Boot, SDIO/UART0/UART1,REI_REO V2*/
|
||||
#define IS_0011(v) (((v)&0x0f)==0x03)
|
||||
|
||||
/*legacy SPI Boot*/
|
||||
#define IS_0100(v) (((v)&0x0f)==0x04)
|
||||
|
||||
/*ATE/ANALOG Mode*/
|
||||
#define IS_0101(v) (((v)&0x0f)==0x05)
|
||||
|
||||
/*SPI(or SDIO_V1) download Mode*/
|
||||
#define IS_0110(v) (((v)&0x0f)==0x06)
|
||||
|
||||
/*Diagnostic Mode+UART0 download Mode*/
|
||||
#define IS_0111(v) (((v)&0x0f)==0x07)
|
||||
|
||||
|
||||
|
||||
#define BOOT_MODE_GET() (GPIO_REG_READ(GPIO_STRAP_REG))
|
||||
|
||||
/*do not include download mode*/
|
||||
#define ETS_IS_UART_BOOT() IS_0111(BOOT_MODE_GET())
|
||||
|
||||
/*all spi boot including spi/legacy*/
|
||||
#define ETS_IS_FLASH_BOOT() (IS_1XXX(BOOT_MODE_GET()) || IS_0100(BOOT_MODE_GET()))
|
||||
|
||||
/*all faster spi boot including spi*/
|
||||
#define ETS_IS_FAST_FLASH_BOOT() IS_1XXX(BOOT_MODE_GET())
|
||||
|
||||
#if SUPPORT_SDIO_DOWNLOAD
|
||||
|
||||
/*all sdio V2 of failing edge input, failing edge output*/
|
||||
#define ETS_IS_SDIO_FEI_FEO_V2_BOOT() IS_0000(BOOT_MODE_GET())
|
||||
|
||||
/*all sdio V2 of failing edge input, raising edge output*/
|
||||
#define ETS_IS_SDIO_FEI_REO_V2_BOOT() IS_0001(BOOT_MODE_GET())
|
||||
|
||||
/*all sdio V2 of raising edge input, failing edge output*/
|
||||
#define ETS_IS_SDIO_REI_FEO_V2_BOOT() IS_0010(BOOT_MODE_GET())
|
||||
|
||||
/*all sdio V2 of raising edge input, raising edge output*/
|
||||
#define ETS_IS_SDIO_REI_REO_V2_BOOT() IS_0011(BOOT_MODE_GET())
|
||||
|
||||
/*all sdio V1 of raising edge input, failing edge output*/
|
||||
#define ETS_IS_SDIO_REI_FEO_V1_BOOT() IS_0110(BOOT_MODE_GET())
|
||||
|
||||
/*do not include joint download mode*/
|
||||
#define ETS_IS_SDIO_BOOT() IS_0110(BOOT_MODE_GET())
|
||||
#else
|
||||
|
||||
/*do not include joint download mode*/
|
||||
#define ETS_IS_SPI_DOWNLOAD_BOOT() IS_0110(BOOT_MODE_GET())
|
||||
|
||||
#endif
|
||||
|
||||
/*joint download boot*/
|
||||
#define ETS_IS_JOINT_DOWNLOAD_BOOT() IS_00XX(BOOT_MODE_GET())
|
||||
|
||||
/*ATE mode*/
|
||||
#define ETS_IS_ATE_BOOT() IS_0101(BOOT_MODE_GET())
|
||||
|
||||
/*used by ETS_IS_SDIO_UART_BOOT*/
|
||||
#define SEL_NO_BOOT 0
|
||||
#define SEL_SDIO_BOOT BIT0
|
||||
#define SEL_UART_BOOT BIT1
|
||||
#define SEL_SPI_SLAVE_BOOT BIT2
|
||||
|
||||
#endif /* _SOC_BOOT_MODE_H_ */
|
6235
components/soc/esp32h2/include/soc/cache_reg.h
Normal file
6235
components/soc/esp32h2/include/soc/cache_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
5747
components/soc/esp32h2/include/soc/cache_struct.h
Normal file
5747
components/soc/esp32h2/include/soc/cache_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
162
components/soc/esp32h2/include/soc/clint_reg.h
Normal file
162
components/soc/esp32h2/include/soc/clint_reg.h
Normal file
@ -0,0 +1,162 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define DR_REG_CLINT_M_BASE ( 0x20001800)
|
||||
#define DR_REG_CLINT_U_BASE ( 0x20001C00)
|
||||
|
||||
/*CLINT MINT*/
|
||||
#define CLINT_MINT_SIP_REG (DR_REG_CLINT_M_BASE + 0x0)
|
||||
/* CLINT_CPU_MINT_SIP : R/W ;bitpos:[0] ;default: 1'b0 ; */
|
||||
/*description: .*/
|
||||
#define CLINT_CPU_MINT_SIP 0xFFFFFFFF
|
||||
#define CLINT_CPU_MINT_SIP_M ((CLINT_CPU_MINT_SIP_V)<<(CLINT_CPU_MINT_SIP_S))
|
||||
#define CLINT_CPU_MINT_SIP_V 0xFFFFFFFF
|
||||
#define CLINT_CPU_MINT_SIP_S 0
|
||||
|
||||
#define CLINT_MINT_TIMECTL_REG (DR_REG_CLINT_M_BASE + 0x4)
|
||||
/* CLINT_MINT_SAMPLING_MODE : R/W ;bitpos:[5:4] ;default: 2'b0 ; */
|
||||
/*description: .*/
|
||||
#define CLINT_MINT_SAMPLING_MODE 0x00000003
|
||||
#define CLINT_MINT_SAMPLING_MODE_M ((CLINT_CPU_MINT_TIMECTL_V)<<(CLINT_CPU_MINT_TIMECTL_S))
|
||||
#define CLINT_MINT_SAMPLING_MODE_V 0x3
|
||||
#define CLINT_MINT_SAMPLING_MODE_S 4
|
||||
/* CLINT_MINT_COUNTER_OVERFLOW : R/W ;bitpos:[3] ;default: 1'b0 ; */
|
||||
/*description: */
|
||||
#define CLINT_MINT_COUNTER_OVERFLOW (BIT(3))
|
||||
#define CLINT_MINT_COUNTER_OVERFLOW_M (BIT(3))
|
||||
#define CLINT_MINT_COUNTER_OVERFLOW_V 0x1
|
||||
#define CLINT_MINT_COUNTER_OVERFLOW_S 3
|
||||
/* CLINT_MINT_TIMERINT_PENDING : R/W ;bitpos:[2] ;default: 1'b0 ; */
|
||||
/*description: */
|
||||
#define CLINT_MINT_TIMERINT_PENDING (BIT(2))
|
||||
#define CLINT_MINT_TIMERINT_PENDING_M (BIT(2))
|
||||
#define CLINT_MINT_TIMERINT_PENDING_V 0x1
|
||||
#define CLINT_MINT_TIMERINT_PENDING_S 2
|
||||
/* CLINT_MINT_TIMERINT_EN : R/W ;bitpos:[1] ;default: 1'b0 ; */
|
||||
/*description: */
|
||||
#define CLINT_MINT_TIMERINT_EN (BIT(1))
|
||||
#define CLINT_MINT_TIMERINT_EN_M (BIT(1))
|
||||
#define CLINT_MINT_TIMERINT_EN_V 0x1
|
||||
#define CLINT_MINT_TIMERINT_EN_S 1
|
||||
/* CLINT_MINT_COUNTER_EN : R/W ;bitpos:[0] ;default: 1'b0 ; */
|
||||
/*description: */
|
||||
#define CLINT_MINT_COUNTER_EN (BIT(0))
|
||||
#define CLINT_MINT_COUNTER_EN_M (BIT(0))
|
||||
#define CLINT_MINT_COUNTER_EN_V 0x1
|
||||
#define CLINT_MINT_COUNTER_EN_S 0
|
||||
|
||||
#define CLINT_MINT_MTIME_L_REG (DR_REG_CLINT_M_BASE + 0x8)
|
||||
/* CLINT_CPU_MINT_MTIME_L : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define CLINT_CPU_MINT_MTIME_L 0xFFFFFFFF
|
||||
#define CLINT_CPU_MINT_MTIME_L_M ((CLINT_CPU_MINT_MTIME_L_V)<<(CLINT_CPU_MINT_MTIME_L_S))
|
||||
#define CLINT_CPU_MINT_MTIME_L_V 0xFFFFFFFF
|
||||
#define CLINT_CPU_MINT_MTIME_L_S 0
|
||||
|
||||
#define CLINT_MINT_MTIME_H_REG (DR_REG_CLINT_M_BASE + 0xC)
|
||||
/* CLINT_CPU_MINT_MTIME_H : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define CLINT_CPU_MINT_MTIME_H 0xFFFFFFFF
|
||||
#define CLINT_CPU_MINT_MTIME_H_M ((CLINT_CPU_MINT_MTIME_H_V)<<(CLINT_CPU_MINT_MTIME_H_S))
|
||||
#define CLINT_CPU_MINT_MTIME_H_V 0xFFFFFFFF
|
||||
#define CLINT_CPU_MINT_MTIME_H_S 0
|
||||
|
||||
#define CLINT_MINT_MTIMECMP_L_REG (DR_REG_CLINT_M_BASE + 0x10)
|
||||
/* CLINT_CPU_MINT_MTIMECMP_L : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define CLINT_CPU_MINT_MTIMECMP_L 0xFFFFFFFF
|
||||
#define CLINT_CPU_MINT_MTIMECMP_L_M ((CLINT_CPU_MINT_MTIMECMP_L_V)<<(CLINT_CPU_MINT_MTIMECMP_L_S))
|
||||
#define CLINT_CPU_MINT_MTIMECMP_L_V 0xFFFFFFFF
|
||||
#define CLINT_CPU_MINT_MTIMECMP_L_S 0
|
||||
|
||||
#define CLINT_MINT_MTIMECMP_H_REG (DR_REG_CLINT_M_BASE + 0x14)
|
||||
/* CLINT_CPU_MINT_MTIMECMP_H : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define CLINT_CPU_MINT_MTIMECMP_H 0xFFFFFFFF
|
||||
#define CLINT_CPU_MINT_MTIMECMP_H_M ((CLINT_CPU_MINT_MTIMECMP_H_V)<<(CLINT_CPU_MINT_MTIMECMP_H_S))
|
||||
#define CLINT_CPU_MINT_MTIMECMP_H_V 0xFFFFFFFF
|
||||
#define CLINT_CPU_MINT_MTIMECMP_H_S 0
|
||||
|
||||
/*CLINT UINT*/
|
||||
#define CLINT_UINT_SIP_REG (DR_REG_CLINT_U_BASE + 0x0)
|
||||
/* CLINT_CPU_UINT_SIP : R/W ;bitpos:[0] ;default: 1'b1 ; */
|
||||
/*description: .*/
|
||||
#define CLINT_CPU_UINT_SIP 0xFFFFFFFF
|
||||
#define CLINT_CPU_UINT_SIP_M ((CLINT_CPU_UINT_SIP_V)<<(CLINT_CPU_UINT_SIP_S))
|
||||
#define CLINT_CPU_UINT_SIP_V 0xFFFFFFFF
|
||||
#define CLINT_CPU_UINT_SIP_S 0
|
||||
|
||||
#define CLINT_UINT_TIMECTL_REG (DR_REG_CLINT_U_BASE + 0x4)
|
||||
/* CLINT_UINT_SAMPLING_MODE : R/W ;bitpos:[5:4] ;default: 2'b0 ; */
|
||||
/*description: .*/
|
||||
#define CLINT_UINT_SAMPLING_MODE 0x00000003
|
||||
#define CLINT_UINT_SAMPLING_MODE_M ((CLINT_CPU_UINT_TIMECTL_V)<<(CLINT_CPU_UINT_TIMECTL_S))
|
||||
#define CLINT_UINT_SAMPLING_MODE_V 0x3
|
||||
#define CLINT_UINT_SAMPLING_MODE_S 4
|
||||
/* CLINT_UINT_COUNTER_OVERFLOW : R/W ;bitpos:[3] ;default: 1'b0 ; */
|
||||
/*description: */
|
||||
#define CLINT_UINT_COUNTER_OVERFLOW (BIT(3))
|
||||
#define CLINT_UINT_COUNTER_OVERFLOW_M (BIT(3))
|
||||
#define CLINT_UINT_COUNTER_OVERFLOW_V 0x1
|
||||
#define CLINT_UINT_COUNTER_OVERFLOW_S 3
|
||||
/* CLINT_UINT_TIMERINT_PENDING : R/W ;bitpos:[2] ;default: 1'b0 ; */
|
||||
/*description: */
|
||||
#define CLINT_UINT_TIMERINT_PENDING (BIT(2))
|
||||
#define CLINT_UINT_TIMERINT_PENDING_M (BIT(2))
|
||||
#define CLINT_UINT_TIMERINT_PENDING_V 0x1
|
||||
#define CLINT_UINT_TIMERINT_PENDING_S 2
|
||||
/* CLINT_UINT_TIMERINT_EN : R/W ;bitpos:[1] ;default: 1'b0 ; */
|
||||
/*description: */
|
||||
#define CLINT_UINT_TIMERINT_EN (BIT(1))
|
||||
#define CLINT_UINT_TIMERINT_EN_M (BIT(1))
|
||||
#define CLINT_UINT_TIMERINT_EN_V 0x1
|
||||
#define CLINT_UINT_TIMERINT_EN_S 1
|
||||
/* CLINT_UINT_COUNTER_EN : R/W ;bitpos:[0] ;default: 1'b0 ; */
|
||||
/*description: */
|
||||
#define CLINT_UINT_COUNTER_EN (BIT(0))
|
||||
#define CLINT_UINT_COUNTER_EN_M (BIT(0))
|
||||
#define CLINT_UINT_COUNTER_EN_V 0x1
|
||||
#define CLINT_UINT_COUNTER_EN_S 0
|
||||
|
||||
#define CLINT_UINT_UTIME_L_REG (DR_REG_CLINT_U_BASE + 0x8)
|
||||
/* CLINT_CPU_UINT_UTIME_L : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define CLINT_CPU_UINT_UTIME_L 0xFFFFFFFF
|
||||
#define CLINT_CPU_UINT_UTIME_L_M ((CLINT_CPU_UINT_UTIME_L_V)<<(CLINT_CPU_UINT_UTIME_L_S))
|
||||
#define CLINT_CPU_UINT_UTIME_L_V 0xFFFFFFFF
|
||||
#define CLINT_CPU_UINT_UTIME_L_S 0
|
||||
|
||||
#define CLINT_UINT_UTIME_H_REG (DR_REG_CLINT_U_BASE + 0xC)
|
||||
/* CLINT_CPU_UINT_UTIME_H : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define CLINT_CPU_UINT_UTIME_H 0xFFFFFFFF
|
||||
#define CLINT_CPU_UINT_UTIME_H_M ((CLINT_CPU_UINT_UTIME_H_V)<<(CLINT_CPU_UINT_UTIME_H_S))
|
||||
#define CLINT_CPU_UINT_UTIME_H_V 0xFFFFFFFF
|
||||
#define CLINT_CPU_UINT_UTIME_H_S 0
|
||||
|
||||
#define CLINT_UINT_UTIMECMP_L_REG (DR_REG_CLINT_U_BASE + 0x10)
|
||||
/* CLINT_CPU_UINT_UTIMECMP_L : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define CLINT_CPU_UINT_UTIMECMP_L 0xFFFFFFFF
|
||||
#define CLINT_CPU_UINT_UTIMECMP_L_M ((CLINT_CPU_UINT_UTIMECMP_L_V)<<(CLINT_CPU_UINT_UTIMECMP_L_S))
|
||||
#define CLINT_CPU_UINT_UTIMECMP_L_V 0xFFFFFFFF
|
||||
#define CLINT_CPU_UINT_UTIMECMP_L_S 0
|
||||
|
||||
#define CLINT_UINT_UTIMECMP_H_REG (DR_REG_CLINT_U_BASE + 0x14)
|
||||
/* CLINT_CPU_UINT_UTIMECMP_H : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define CLINT_CPU_UINT_UTIMECMP_H 0xFFFFFFFF
|
||||
#define CLINT_CPU_UINT_UTIMECMP_H_M ((CLINT_CPU_UINT_UTIMECMP_H_V)<<(CLINT_CPU_UINT_UTIMECMP_H_S))
|
||||
#define CLINT_CPU_UINT_UTIMECMP_H_V 0xFFFFFFFF
|
||||
#define CLINT_CPU_UINT_UTIMECMP_H_S 0
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
343
components/soc/esp32h2/include/soc/clk_tree_defs.h
Normal file
343
components/soc/esp32h2/include/soc/clk_tree_defs.h
Normal file
@ -0,0 +1,343 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "sdkconfig.h" // ESP32H2 TODO: IDF-5973
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// TODO: IDF-6265 Copied from C6, need to update
|
||||
/*
|
||||
************************* ESP32H2 Root Clock Source ****************************
|
||||
* 1) Internal 17.5MHz RC Oscillator: RC_FAST (usually referred as FOSC or CK8M/CLK8M in TRM and reg. description)
|
||||
*
|
||||
* This RC oscillator generates a ~17.5MHz clock signal output as the RC_FAST_CLK.
|
||||
* The ~17.5MHz signal output is also passed into a configurable divider, which by default divides the input clock
|
||||
* frequency by 256, to generate a RC_FAST_D256_CLK (usually referred as 8md256 or simply d256 in reg. description).
|
||||
*
|
||||
* The exact frequency of RC_FAST_CLK can be computed in runtime through calibration on the RC_FAST_D256_CLK.
|
||||
*
|
||||
* 2) External 40MHz Crystal Clock: XTAL
|
||||
*
|
||||
* 3) Internal 136kHz RC Oscillator: RC_SLOW (usually referrred as RTC in TRM or reg. description)
|
||||
*
|
||||
* This RC oscillator generates a ~136kHz clock signal output as the RC_SLOW_CLK. The exact frequency of this clock
|
||||
* can be computed in runtime through calibration.
|
||||
*
|
||||
* 4) External 32kHz Crystal Clock (optional): XTAL32K
|
||||
*
|
||||
* The clock source for this XTAL32K_CLK can be either a 32kHz crystal connecting to the XTAL_32K_P and XTAL_32K_N
|
||||
* pins or a 32kHz clock signal generated by an external circuit. The external signal must be connected to the
|
||||
* XTAL_32K_P pin.
|
||||
*
|
||||
* XTAL32K_CLK can also be calibrated to get its exact frequency.
|
||||
*/
|
||||
|
||||
/* With the default value of CK8M_DFREQ = 100, RC_FAST clock frequency is 17.5 MHz +/- 7% */
|
||||
#define SOC_CLK_RC_FAST_FREQ_APPROX 17500000 /*!< Approximate RC_FAST_CLK frequency in Hz */
|
||||
#define SOC_CLK_RC_SLOW_FREQ_APPROX 136000 /*!< Approximate RC_SLOW_CLK frequency in Hz */
|
||||
#define SOC_CLK_RC_FAST_D256_FREQ_APPROX (SOC_CLK_RC_FAST_FREQ_APPROX / 256) /*!< Approximate RC_FAST_D256_CLK frequency in Hz */
|
||||
#define SOC_CLK_XTAL32K_FREQ_APPROX 32768 /*!< Approximate XTAL32K_CLK frequency in Hz */
|
||||
|
||||
// Naming convention: SOC_ROOT_CLK_{loc}_{type}_[attr]
|
||||
// {loc}: EXT, INT
|
||||
// {type}: XTAL, RC
|
||||
// [attr] - optional: [frequency], FAST, SLOW
|
||||
/**
|
||||
* @brief Root clock
|
||||
*/
|
||||
typedef enum {
|
||||
SOC_ROOT_CLK_INT_RC_FAST, /*!< Internal 17.5MHz RC oscillator */
|
||||
SOC_ROOT_CLK_INT_RC_SLOW, /*!< Internal 136kHz RC oscillator */
|
||||
SOC_ROOT_CLK_EXT_XTAL, /*!< External 40MHz crystal */
|
||||
SOC_ROOT_CLK_EXT_XTAL32K, /*!< External 32kHz crystal/clock signal */
|
||||
} soc_root_clk_t;
|
||||
|
||||
/**
|
||||
* @brief CPU_CLK mux inputs, which are the supported clock sources for the CPU_CLK
|
||||
* @note Enum values are matched with the register field values on purpose
|
||||
*/
|
||||
typedef enum {
|
||||
SOC_CPU_CLK_SRC_XTAL = 0, /*!< Select XTAL_CLK as CPU_CLK source */
|
||||
SOC_CPU_CLK_SRC_PLL = 1, /*!< Select PLL_CLK as CPU_CLK source (PLL_CLK is the output of 40MHz crystal oscillator frequency multiplier, can be 480MHz or 320MHz) */
|
||||
SOC_CPU_CLK_SRC_RC_FAST = 2, /*!< Select RC_FAST_CLK as CPU_CLK source */
|
||||
SOC_CPU_CLK_SRC_INVALID, /*!< Invalid CPU_CLK source */
|
||||
} soc_cpu_clk_src_t;
|
||||
|
||||
/**
|
||||
* @brief RTC_SLOW_CLK mux inputs, which are the supported clock sources for the RTC_SLOW_CLK
|
||||
* @note Enum values are matched with the register field values on purpose
|
||||
*/
|
||||
typedef enum {
|
||||
SOC_RTC_SLOW_CLK_SRC_RC_SLOW = 0, /*!< Select RC_SLOW_CLK as RTC_SLOW_CLK source */
|
||||
SOC_RTC_SLOW_CLK_SRC_XTAL32K = 1, /*!< Select XTAL32K_CLK as RTC_SLOW_CLK source */
|
||||
SOC_RTC_SLOW_CLK_SRC_RC_FAST_D256 = 2, /*!< Select RC_FAST_D256_CLK (referred as FOSC_DIV or 8m_d256/8md256 in TRM and reg. description) as RTC_SLOW_CLK source */
|
||||
SOC_RTC_SLOW_CLK_SRC_INVALID, /*!< Invalid RTC_SLOW_CLK source */
|
||||
} soc_rtc_slow_clk_src_t;
|
||||
|
||||
/**
|
||||
* @brief RTC_FAST_CLK mux inputs, which are the supported clock sources for the RTC_FAST_CLK
|
||||
* @note Enum values are matched with the register field values on purpose
|
||||
*/
|
||||
typedef enum {
|
||||
SOC_RTC_FAST_CLK_SRC_XTAL_D2 = 0, /*!< Select XTAL_D2_CLK (may referred as XTAL_CLK_DIV_2) as RTC_FAST_CLK source */
|
||||
SOC_RTC_FAST_CLK_SRC_XTAL_DIV = SOC_RTC_FAST_CLK_SRC_XTAL_D2, /*!< Alias name for `SOC_RTC_FAST_CLK_SRC_XTAL_D2` */
|
||||
SOC_RTC_FAST_CLK_SRC_RC_FAST = 1, /*!< Select RC_FAST_CLK as RTC_FAST_CLK source */
|
||||
SOC_RTC_FAST_CLK_SRC_INVALID, /*!< Invalid RTC_FAST_CLK source */
|
||||
} soc_rtc_fast_clk_src_t;
|
||||
|
||||
// Naming convention: SOC_MOD_CLK_{[upstream]clock_name}_[attr]
|
||||
// {[upstream]clock_name}: APB, (BB)PLL, etc.
|
||||
// [attr] - optional: FAST, SLOW, D<divider>, F<freq>
|
||||
/**
|
||||
* @brief Supported clock sources for modules (CPU, peripherals, RTC, etc.)
|
||||
*
|
||||
* @note enum starts from 1, to save 0 for special purpose
|
||||
*/
|
||||
typedef enum {
|
||||
// For CPU domain
|
||||
SOC_MOD_CLK_CPU = 1, /*!< CPU_CLK can be sourced from XTAL, PLL, or RC_FAST by configuring soc_cpu_clk_src_t */
|
||||
// For RTC domain
|
||||
SOC_MOD_CLK_RTC_FAST, /*!< RTC_FAST_CLK can be sourced from XTAL_D2 or RC_FAST by configuring soc_rtc_fast_clk_src_t */
|
||||
SOC_MOD_CLK_RTC_SLOW, /*!< RTC_SLOW_CLK can be sourced from RC_SLOW, XTAL32K, or RC_FAST_D256 by configuring soc_rtc_slow_clk_src_t */
|
||||
// For digital domain: peripherals, WIFI, BLE
|
||||
SOC_MOD_CLK_APB, /*!< APB_CLK is highly dependent on the CPU_CLK source */
|
||||
SOC_MOD_CLK_PLL_F80M, /*!< PLL_F80M_CLK is derived from PLL, and has a fixed frequency of 80MHz */
|
||||
SOC_MOD_CLK_PLL_F160M, /*!< PLL_F160M_CLK is derived from PLL, and has a fixed frequency of 160MHz */
|
||||
SOC_MOD_CLK_PLL_D2, /*!< PLL_D2_CLK is derived from PLL, it has a fixed divider of 2 */
|
||||
SOC_MOD_CLK_XTAL32K, /*!< XTAL32K_CLK comes from the external 32kHz crystal, passing a clock gating to the peripherals */
|
||||
SOC_MOD_CLK_RC_FAST, /*!< RC_FAST_CLK comes from the internal 20MHz rc oscillator, passing a clock gating to the peripherals */
|
||||
SOC_MOD_CLK_RC_FAST_D256, /*!< RC_FAST_D256_CLK comes from the internal 20MHz rc oscillator, divided by 256, and passing a clock gating to the peripherals */
|
||||
SOC_MOD_CLK_XTAL, /*!< XTAL_CLK comes from the external 40MHz crystal */
|
||||
} soc_module_clk_t;
|
||||
|
||||
//////////////////////////////////////////////////SYSTIMER///////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* @brief Type of SYSTIMER clock source
|
||||
*/
|
||||
typedef enum {
|
||||
SYSTIMER_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL, /*!< SYSTIMER source clock is XTAL */
|
||||
SYSTIMER_CLK_SRC_RC_FAST = SOC_MOD_CLK_RC_FAST, /*!< SYSTIMER source clock is RC_FAST */
|
||||
SYSTIMER_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL, /*!< SYSTIMER source clock default choice is XTAL */
|
||||
} soc_periph_systimer_clk_src_t;
|
||||
|
||||
//////////////////////////////////////////////////GPTimer///////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* @brief Array initializer for all supported clock sources of GPTimer
|
||||
*
|
||||
* The following code can be used to iterate all possible clocks:
|
||||
* @code{c}
|
||||
* soc_periph_gptimer_clk_src_t gptimer_clks[] = (soc_periph_gptimer_clk_src_t)SOC_GPTIMER_CLKS;
|
||||
* for (size_t i = 0; i< sizeof(gptimer_clks) / sizeof(gptimer_clks[0]); i++) {
|
||||
* soc_periph_gptimer_clk_src_t clk = gptimer_clks[i];
|
||||
* // Test GPTimer with the clock `clk`
|
||||
* }
|
||||
* @endcode
|
||||
*/
|
||||
#if CONFIG_IDF_ENV_FPGA
|
||||
#define SOC_GPTIMER_CLKS {SOC_MOD_CLK_XTAL}
|
||||
#else
|
||||
#define SOC_GPTIMER_CLKS {SOC_MOD_CLK_APB, SOC_MOD_CLK_XTAL}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Type of GPTimer clock source
|
||||
*/
|
||||
typedef enum {
|
||||
GPTIMER_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
||||
GPTIMER_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the source clock */
|
||||
#if CONFIG_IDF_ENV_FPGA
|
||||
GPTIMER_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the default choice */
|
||||
#else
|
||||
GPTIMER_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB, /*!< Select APB as the default choice */
|
||||
#endif
|
||||
} soc_periph_gptimer_clk_src_t;
|
||||
|
||||
/**
|
||||
* @brief Type of Timer Group clock source, reserved for the legacy timer group driver
|
||||
*/
|
||||
typedef enum {
|
||||
TIMER_SRC_CLK_APB = SOC_MOD_CLK_APB, /*!< Timer group clock source is APB */
|
||||
TIMER_SRC_CLK_XTAL = SOC_MOD_CLK_XTAL, /*!< Timer group clock source is XTAL */
|
||||
TIMER_SRC_CLK_DEFAULT = SOC_MOD_CLK_APB, /*!< Timer group clock source default choice is APB */
|
||||
} soc_periph_tg_clk_src_legacy_t;
|
||||
|
||||
//////////////////////////////////////////////////RMT///////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* @brief Array initializer for all supported clock sources of RMT
|
||||
*/
|
||||
#if CONFIG_IDF_ENV_FPGA
|
||||
#define SOC_RMT_CLKS {SOC_MOD_CLK_XTAL}
|
||||
#else
|
||||
#define SOC_RMT_CLKS {SOC_MOD_CLK_APB, SOC_MOD_CLK_XTAL}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Type of RMT clock source
|
||||
*/
|
||||
typedef enum {
|
||||
RMT_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
||||
RMT_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the source clock */
|
||||
#if CONFIG_IDF_ENV_FPGA
|
||||
RMT_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the default choice */
|
||||
#else
|
||||
RMT_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB, /*!< Select APB as the default choice */
|
||||
#endif
|
||||
} soc_periph_rmt_clk_src_t;
|
||||
|
||||
/**
|
||||
* @brief Type of RMT clock source, reserved for the legacy RMT driver
|
||||
*/
|
||||
typedef enum {
|
||||
RMT_BASECLK_APB = SOC_MOD_CLK_APB, /*!< RMT source clock is APB */
|
||||
RMT_BASECLK_XTAL = SOC_MOD_CLK_XTAL, /*!< RMT source clock is XTAL */
|
||||
RMT_BASECLK_DEFAULT = SOC_MOD_CLK_APB, /*!< RMT source clock default choice is APB */
|
||||
} soc_periph_rmt_clk_src_legacy_t;
|
||||
|
||||
//////////////////////////////////////////////////Temp Sensor///////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* @brief Array initializer for all supported clock sources of Temperature Sensor
|
||||
*/
|
||||
#define SOC_TEMP_SENSOR_CLKS {SOC_MOD_CLK_XTAL, SOC_MOD_CLK_RC_FAST}
|
||||
|
||||
/**
|
||||
* @brief Type of Temp Sensor clock source
|
||||
*/
|
||||
typedef enum {
|
||||
TEMPERATURE_SENSOR_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the source clock */
|
||||
TEMPERATURE_SENSOR_CLK_SRC_RC_FAST = SOC_MOD_CLK_RC_FAST, /*!< Select RC_FAST as the source clock */
|
||||
TEMPERATURE_SENSOR_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the default choice */
|
||||
} soc_periph_temperature_sensor_clk_src_t;
|
||||
|
||||
///////////////////////////////////////////////////UART/////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* @brief Type of UART clock source, reserved for the legacy UART driver
|
||||
*/
|
||||
typedef enum {
|
||||
UART_SCLK_APB = SOC_MOD_CLK_APB, /*!< UART source clock is APB CLK */
|
||||
UART_SCLK_RTC = SOC_MOD_CLK_RC_FAST, /*!< UART source clock is RC_FAST */
|
||||
UART_SCLK_XTAL = SOC_MOD_CLK_XTAL, /*!< UART source clock is XTAL */
|
||||
UART_SCLK_DEFAULT = SOC_MOD_CLK_APB, /*!< UART source clock default choice is APB */
|
||||
} soc_periph_uart_clk_src_legacy_t;
|
||||
|
||||
//////////////////////////////////////////////////MCPWM/////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* @brief Array initializer for all supported clock sources of MCPWM Timer
|
||||
*/
|
||||
#define SOC_MCPWM_TIMER_CLKS {SOC_MOD_CLK_PLL_F160M, SOC_MOD_CLK_XTAL}
|
||||
|
||||
/**
|
||||
* @brief Type of MCPWM timer clock source
|
||||
*/
|
||||
typedef enum {
|
||||
MCPWM_TIMER_CLK_SRC_PLL160M = SOC_MOD_CLK_PLL_F160M, /*!< Select PLL_F160M as the source clock */
|
||||
MCPWM_TIMER_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the source clock */
|
||||
#if CONFIG_IDF_ENV_FPGA
|
||||
MCPWM_TIMER_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the default clock choice */
|
||||
#else
|
||||
MCPWM_TIMER_CLK_SRC_DEFAULT = SOC_MOD_CLK_PLL_F160M, /*!< Select PLL_F160M as the default clock choice */
|
||||
#endif
|
||||
} soc_periph_mcpwm_timer_clk_src_t;
|
||||
|
||||
/**
|
||||
* @brief Array initializer for all supported clock sources of MCPWM Capture Timer
|
||||
*/
|
||||
#define SOC_MCPWM_CAPTURE_CLKS {SOC_MOD_CLK_PLL_F160M, SOC_MOD_CLK_XTAL}
|
||||
|
||||
/**
|
||||
* @brief Type of MCPWM capture clock source
|
||||
*/
|
||||
typedef enum {
|
||||
MCPWM_CAPTURE_CLK_SRC_PLL160M = SOC_MOD_CLK_PLL_F160M, /*!< Select PLL_F160M as the source clock */
|
||||
MCPWM_CAPTURE_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the source clock */
|
||||
#if CONFIG_IDF_ENV_FPGA
|
||||
MCPWM_CAPTURE_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the default clock choice */
|
||||
#else
|
||||
MCPWM_CAPTURE_CLK_SRC_DEFAULT = SOC_MOD_CLK_PLL_F160M, /*!< Select PLL_F160M as the default clock choice */
|
||||
#endif
|
||||
} soc_periph_mcpwm_capture_clk_src_t;
|
||||
|
||||
///////////////////////////////////////////////////// I2S //////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* @brief Array initializer for all supported clock sources of I2S
|
||||
*/
|
||||
#if CONFIG_IDF_ENV_FPGA
|
||||
#define SOC_I2S_CLKS {SOC_MOD_CLK_XTAL}
|
||||
#else
|
||||
#define SOC_I2S_CLKS {SOC_MOD_CLK_PLL_F160M, SOC_MOD_CLK_XTAL}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief I2S clock source enum
|
||||
*/
|
||||
typedef enum {
|
||||
#if CONFIG_IDF_ENV_FPGA
|
||||
I2S_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL,
|
||||
#else
|
||||
I2S_CLK_SRC_DEFAULT = SOC_MOD_CLK_PLL_F160M, /*!< Select PLL_F160M as the default source clock */
|
||||
#endif
|
||||
I2S_CLK_SRC_PLL_160M = SOC_MOD_CLK_PLL_F160M, /*!< Select PLL_F160M as the source clock */
|
||||
I2S_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the source clock */
|
||||
} soc_periph_i2s_clk_src_t;
|
||||
|
||||
/////////////////////////////////////////////////I2C////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* @brief Array initializer for all supported clock sources of I2C
|
||||
*/
|
||||
#define SOC_I2C_CLKS {SOC_MOD_CLK_XTAL, SOC_MOD_CLK_RC_FAST}
|
||||
|
||||
/**
|
||||
* @brief Type of I2C clock source.
|
||||
*/
|
||||
typedef enum {
|
||||
I2C_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL,
|
||||
I2C_CLK_SRC_RC_FAST = SOC_MOD_CLK_RC_FAST,
|
||||
I2C_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL,
|
||||
} soc_periph_i2c_clk_src_t;
|
||||
|
||||
//////////////////////////////////////////////////SDM//////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* @brief Array initializer for all supported clock sources of SDM
|
||||
*/
|
||||
#define SOC_SDM_CLKS {SOC_MOD_CLK_APB}
|
||||
|
||||
/**
|
||||
* @brief Sigma Delta Modulator clock source
|
||||
*/
|
||||
typedef enum {
|
||||
SDM_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
||||
SDM_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB, /*!< Select APB as the default clock choice */
|
||||
} soc_periph_sdm_clk_src_t;
|
||||
|
||||
//////////////////////////////////////////////////TWAI/////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* @brief Array initializer for all supported clock sources of TWAI
|
||||
*/
|
||||
#define SOC_TWAI_CLKS {SOC_MOD_CLK_XTAL}
|
||||
|
||||
/**
|
||||
* @brief TWAI clock source
|
||||
*/
|
||||
typedef enum {
|
||||
TWAI_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the source clock */
|
||||
TWAI_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the default clock choice */
|
||||
} soc_periph_twai_clk_src_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
15
components/soc/esp32h2/include/soc/clkout_channel.h
Normal file
15
components/soc/esp32h2/include/soc/clkout_channel.h
Normal file
@ -0,0 +1,15 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
//CLKOUT channels
|
||||
// ESP32H2-TODO: IDF-6388 please check
|
||||
#define CLKOUT_GPIO20_DIRECT_CHANNEL CLKOUT_CHANNEL_1
|
||||
#define CLKOUT_CHANNEL_1_DIRECT_GPIO_NUM 20
|
||||
#define CLKOUT_GPIO19_DIRECT_CHANNEL CLKOUT_CHANNEL_2
|
||||
#define CLKOUT_CHANNEL_2_DIRECT_GPIO_NUM 19
|
||||
#define CLKOUT_GPIO18_DIRECT_CHANNEL CLKOUT_CHANNEL_3
|
||||
#define CLKOUT_CHANNEL_3_DIRECT_GPIO_NUM 18
|
109
components/soc/esp32h2/include/soc/dport_access.h
Normal file
109
components/soc/esp32h2/include/soc/dport_access.h
Normal file
@ -0,0 +1,109 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc.h"
|
||||
#include "uart_reg.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// Target does not have DPORT bus, so these macros are all same as the non-DPORT versions
|
||||
|
||||
#define DPORT_INTERRUPT_DISABLE()
|
||||
#define DPORT_INTERRUPT_RESTORE()
|
||||
|
||||
/**
|
||||
* @brief Read a sequence of DPORT registers to the buffer.
|
||||
*
|
||||
* @param[out] buff_out Contains the read data.
|
||||
* @param[in] address Initial address for reading registers.
|
||||
* @param[in] num_words The number of words.
|
||||
*/
|
||||
void esp_dport_access_read_buffer(uint32_t *buff_out, uint32_t address, uint32_t num_words);
|
||||
|
||||
// _DPORT_REG_WRITE & DPORT_REG_WRITE are equivalent.
|
||||
#define _DPORT_REG_READ(_r) (*(volatile uint32_t *)(_r))
|
||||
#define _DPORT_REG_WRITE(_r, _v) (*(volatile uint32_t *)(_r)) = (_v)
|
||||
|
||||
// Write value to DPORT register (does not require protecting)
|
||||
#define DPORT_REG_WRITE(_r, _v) _DPORT_REG_WRITE((_r), (_v))
|
||||
|
||||
#define DPORT_REG_READ(_r) _DPORT_REG_READ(_r)
|
||||
#define DPORT_SEQUENCE_REG_READ(_r) _DPORT_REG_READ(_r)
|
||||
|
||||
//get bit or get bits from register
|
||||
#define DPORT_REG_GET_BIT(_r, _b) (DPORT_REG_READ(_r) & (_b))
|
||||
|
||||
//set bit or set bits to register
|
||||
#define DPORT_REG_SET_BIT(_r, _b) DPORT_REG_WRITE((_r), (DPORT_REG_READ(_r)|(_b)))
|
||||
|
||||
//clear bit or clear bits of register
|
||||
#define DPORT_REG_CLR_BIT(_r, _b) DPORT_REG_WRITE((_r), (DPORT_REG_READ(_r) & (~(_b))))
|
||||
|
||||
//set bits of register controlled by mask
|
||||
#define DPORT_REG_SET_BITS(_r, _b, _m) DPORT_REG_WRITE((_r), ((DPORT_REG_READ(_r) & (~(_m))) | ((_b) & (_m))))
|
||||
|
||||
//get field from register, uses field _S & _V to determine mask
|
||||
#define DPORT_REG_GET_FIELD(_r, _f) ((DPORT_REG_READ(_r) >> (_f##_S)) & (_f##_V))
|
||||
|
||||
//set field to register, used when _f is not left shifted by _f##_S
|
||||
#define DPORT_REG_SET_FIELD(_r, _f, _v) DPORT_REG_WRITE((_r), ((DPORT_REG_READ(_r) & (~((_f##_V) << (_f##_S))))|(((_v) & (_f##_V))<<(_f##_S))))
|
||||
|
||||
//get field value from a variable, used when _f is not left shifted by _f##_S
|
||||
#define DPORT_VALUE_GET_FIELD(_r, _f) (((_r) >> (_f##_S)) & (_f))
|
||||
|
||||
//get field value from a variable, used when _f is left shifted by _f##_S
|
||||
#define DPORT_VALUE_GET_FIELD2(_r, _f) (((_r) & (_f))>> (_f##_S))
|
||||
|
||||
//set field value to a variable, used when _f is not left shifted by _f##_S
|
||||
#define DPORT_VALUE_SET_FIELD(_r, _f, _v) ((_r)=(((_r) & ~((_f) << (_f##_S)))|((_v)<<(_f##_S))))
|
||||
|
||||
//set field value to a variable, used when _f is left shifted by _f##_S
|
||||
#define DPORT_VALUE_SET_FIELD2(_r, _f, _v) ((_r)=(((_r) & ~(_f))|((_v)<<(_f##_S))))
|
||||
|
||||
//generate a value from a field value, used when _f is not left shifted by _f##_S
|
||||
#define DPORT_FIELD_TO_VALUE(_f, _v) (((_v)&(_f))<<_f##_S)
|
||||
|
||||
//generate a value from a field value, used when _f is left shifted by _f##_S
|
||||
#define DPORT_FIELD_TO_VALUE2(_f, _v) (((_v)<<_f##_S) & (_f))
|
||||
|
||||
//Register read macros with an underscore prefix access DPORT memory directly. In IDF apps, use the non-underscore versions to be SMP-safe.
|
||||
#define _DPORT_READ_PERI_REG(addr) (*((volatile uint32_t *)(addr)))
|
||||
#define _DPORT_WRITE_PERI_REG(addr, val) (*((volatile uint32_t *)(addr))) = (uint32_t)(val)
|
||||
#define _DPORT_REG_SET_BIT(_r, _b) _DPORT_REG_WRITE((_r), (_DPORT_REG_READ(_r)|(_b)))
|
||||
#define _DPORT_REG_CLR_BIT(_r, _b) _DPORT_REG_WRITE((_r), (_DPORT_REG_READ(_r) & (~(_b))))
|
||||
|
||||
#define DPORT_READ_PERI_REG(addr) _DPORT_READ_PERI_REG(addr)
|
||||
|
||||
//write value to register
|
||||
#define DPORT_WRITE_PERI_REG(addr, val) _DPORT_WRITE_PERI_REG((addr), (val))
|
||||
|
||||
//clear bits of register controlled by mask
|
||||
#define DPORT_CLEAR_PERI_REG_MASK(reg, mask) DPORT_WRITE_PERI_REG((reg), (DPORT_READ_PERI_REG(reg)&(~(mask))))
|
||||
|
||||
//set bits of register controlled by mask
|
||||
#define DPORT_SET_PERI_REG_MASK(reg, mask) DPORT_WRITE_PERI_REG((reg), (DPORT_READ_PERI_REG(reg)|(mask)))
|
||||
|
||||
//get bits of register controlled by mask
|
||||
#define DPORT_GET_PERI_REG_MASK(reg, mask) (DPORT_READ_PERI_REG(reg) & (mask))
|
||||
|
||||
//get bits of register controlled by highest bit and lowest bit
|
||||
#define DPORT_GET_PERI_REG_BITS(reg, hipos,lowpos) ((DPORT_READ_PERI_REG(reg)>>(lowpos))&((1<<((hipos)-(lowpos)+1))-1))
|
||||
|
||||
//set bits of register controlled by mask and shift
|
||||
#define DPORT_SET_PERI_REG_BITS(reg,bit_map,value,shift) DPORT_WRITE_PERI_REG((reg), ((DPORT_READ_PERI_REG(reg)&(~((bit_map)<<(shift))))|(((value) & bit_map)<<(shift))))
|
||||
|
||||
//get field of register
|
||||
#define DPORT_GET_PERI_REG_BITS2(reg, mask,shift) ((DPORT_READ_PERI_REG(reg)>>(shift))&(mask))
|
||||
//}}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
149
components/soc/esp32h2/include/soc/ds_reg.h
Normal file
149
components/soc/esp32h2/include/soc/ds_reg.h
Normal file
@ -0,0 +1,149 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** DS_Y_MEM register
|
||||
* memory that stores Y
|
||||
*/
|
||||
#define DS_Y_MEM (DR_REG_DS_BASE + 0x0)
|
||||
#define DS_Y_MEM_SIZE_BYTES 512
|
||||
|
||||
/** DS_M_MEM register
|
||||
* memory that stores M
|
||||
*/
|
||||
#define DS_M_MEM (DR_REG_DS_BASE + 0x200)
|
||||
#define DS_M_MEM_SIZE_BYTES 512
|
||||
|
||||
/** DS_RB_MEM register
|
||||
* memory that stores Rb
|
||||
*/
|
||||
#define DS_RB_MEM (DR_REG_DS_BASE + 0x400)
|
||||
#define DS_RB_MEM_SIZE_BYTES 512
|
||||
|
||||
/** DS_BOX_MEM register
|
||||
* memory that stores BOX
|
||||
*/
|
||||
#define DS_BOX_MEM (DR_REG_DS_BASE + 0x600)
|
||||
#define DS_BOX_MEM_SIZE_BYTES 48
|
||||
|
||||
/** DS_IV_MEM register
|
||||
* memory that stores IV
|
||||
*/
|
||||
#define DS_IV_MEM (DR_REG_DS_BASE + 0x630)
|
||||
#define DS_IV_MEM_SIZE_BYTES 16
|
||||
|
||||
/** DS_X_MEM register
|
||||
* memory that stores X
|
||||
*/
|
||||
#define DS_X_MEM (DR_REG_DS_BASE + 0x800)
|
||||
#define DS_X_MEM_SIZE_BYTES 512
|
||||
|
||||
/** DS_Z_MEM register
|
||||
* memory that stores Z
|
||||
*/
|
||||
#define DS_Z_MEM (DR_REG_DS_BASE + 0xa00)
|
||||
#define DS_Z_MEM_SIZE_BYTES 512
|
||||
|
||||
/** DS_SET_START_REG register
|
||||
* DS start control register
|
||||
*/
|
||||
#define DS_SET_START_REG (DR_REG_DS_BASE + 0xe00)
|
||||
/** DS_SET_START : WT; bitpos: [0]; default: 0;
|
||||
* set this bit to start DS operation.
|
||||
*/
|
||||
#define DS_SET_START (BIT(0))
|
||||
#define DS_SET_START_M (DS_SET_START_V << DS_SET_START_S)
|
||||
#define DS_SET_START_V 0x00000001U
|
||||
#define DS_SET_START_S 0
|
||||
|
||||
/** DS_SET_CONTINUE_REG register
|
||||
* DS continue control register
|
||||
*/
|
||||
#define DS_SET_CONTINUE_REG (DR_REG_DS_BASE + 0xe04)
|
||||
/** DS_SET_CONTINUE : WT; bitpos: [0]; default: 0;
|
||||
* set this bit to continue DS operation.
|
||||
*/
|
||||
#define DS_SET_CONTINUE (BIT(0))
|
||||
#define DS_SET_CONTINUE_M (DS_SET_CONTINUE_V << DS_SET_CONTINUE_S)
|
||||
#define DS_SET_CONTINUE_V 0x00000001U
|
||||
#define DS_SET_CONTINUE_S 0
|
||||
|
||||
/** DS_SET_FINISH_REG register
|
||||
* DS finish control register
|
||||
*/
|
||||
#define DS_SET_FINISH_REG (DR_REG_DS_BASE + 0xe08)
|
||||
/** DS_SET_FINISH : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to finish DS process.
|
||||
*/
|
||||
#define DS_SET_FINISH (BIT(0))
|
||||
#define DS_SET_FINISH_M (DS_SET_FINISH_V << DS_SET_FINISH_S)
|
||||
#define DS_SET_FINISH_V 0x00000001U
|
||||
#define DS_SET_FINISH_S 0
|
||||
|
||||
/** DS_QUERY_BUSY_REG register
|
||||
* DS query busy register
|
||||
*/
|
||||
#define DS_QUERY_BUSY_REG (DR_REG_DS_BASE + 0xe0c)
|
||||
/** DS_QUERY_BUSY : RO; bitpos: [0]; default: 0;
|
||||
* digital signature state. 1'b0: idle, 1'b1: busy
|
||||
*/
|
||||
#define DS_QUERY_BUSY (BIT(0))
|
||||
#define DS_QUERY_BUSY_M (DS_QUERY_BUSY_V << DS_QUERY_BUSY_S)
|
||||
#define DS_QUERY_BUSY_V 0x00000001U
|
||||
#define DS_QUERY_BUSY_S 0
|
||||
|
||||
/** DS_QUERY_KEY_WRONG_REG register
|
||||
* DS query key-wrong counter register
|
||||
*/
|
||||
#define DS_QUERY_KEY_WRONG_REG (DR_REG_DS_BASE + 0xe10)
|
||||
/** DS_QUERY_KEY_WRONG : RO; bitpos: [3:0]; default: 0;
|
||||
* digital signature key wrong counter
|
||||
*/
|
||||
#define DS_QUERY_KEY_WRONG 0x0000000FU
|
||||
#define DS_QUERY_KEY_WRONG_M (DS_QUERY_KEY_WRONG_V << DS_QUERY_KEY_WRONG_S)
|
||||
#define DS_QUERY_KEY_WRONG_V 0x0000000FU
|
||||
#define DS_QUERY_KEY_WRONG_S 0
|
||||
|
||||
/** DS_QUERY_CHECK_REG register
|
||||
* DS query check result register
|
||||
*/
|
||||
#define DS_QUERY_CHECK_REG (DR_REG_DS_BASE + 0xe14)
|
||||
/** DS_MD_ERROR : RO; bitpos: [0]; default: 0;
|
||||
* MD checkout result. 1'b0: MD check pass, 1'b1: MD check fail
|
||||
*/
|
||||
#define DS_MD_ERROR (BIT(0))
|
||||
#define DS_MD_ERROR_M (DS_MD_ERROR_V << DS_MD_ERROR_S)
|
||||
#define DS_MD_ERROR_V 0x00000001U
|
||||
#define DS_MD_ERROR_S 0
|
||||
/** DS_PADDING_BAD : RO; bitpos: [1]; default: 0;
|
||||
* padding checkout result. 1'b0: a good padding, 1'b1: a bad padding
|
||||
*/
|
||||
#define DS_PADDING_BAD (BIT(1))
|
||||
#define DS_PADDING_BAD_M (DS_PADDING_BAD_V << DS_PADDING_BAD_S)
|
||||
#define DS_PADDING_BAD_V 0x00000001U
|
||||
#define DS_PADDING_BAD_S 1
|
||||
|
||||
/** DS_DATE_REG register
|
||||
* DS version control register
|
||||
*/
|
||||
#define DS_DATE_REG (DR_REG_DS_BASE + 0xe20)
|
||||
/** DS_DATE : R/W; bitpos: [29:0]; default: 538969624;
|
||||
* ds version information
|
||||
*/
|
||||
#define DS_DATE 0x3FFFFFFFU
|
||||
#define DS_DATE_M (DS_DATE_V << DS_DATE_S)
|
||||
#define DS_DATE_V 0x3FFFFFFFU
|
||||
#define DS_DATE_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
149
components/soc/esp32h2/include/soc/ds_struct.h
Normal file
149
components/soc/esp32h2/include/soc/ds_struct.h
Normal file
@ -0,0 +1,149 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: memory type */
|
||||
|
||||
/** Group: Control/Status registers */
|
||||
/** Type of set_start register
|
||||
* DS start control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_start : WT; bitpos: [0]; default: 0;
|
||||
* set this bit to start DS operation.
|
||||
*/
|
||||
uint32_t set_start:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ds_set_start_reg_t;
|
||||
|
||||
/** Type of set_continue register
|
||||
* DS continue control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_continue : WT; bitpos: [0]; default: 0;
|
||||
* set this bit to continue DS operation.
|
||||
*/
|
||||
uint32_t set_continue:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ds_set_continue_reg_t;
|
||||
|
||||
/** Type of set_finish register
|
||||
* DS finish control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_finish : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to finish DS process.
|
||||
*/
|
||||
uint32_t set_finish:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ds_set_finish_reg_t;
|
||||
|
||||
/** Type of query_busy register
|
||||
* DS query busy register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** query_busy : RO; bitpos: [0]; default: 0;
|
||||
* digital signature state. 1'b0: idle, 1'b1: busy
|
||||
*/
|
||||
uint32_t query_busy:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ds_query_busy_reg_t;
|
||||
|
||||
/** Type of query_key_wrong register
|
||||
* DS query key-wrong counter register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** query_key_wrong : RO; bitpos: [3:0]; default: 0;
|
||||
* digital signature key wrong counter
|
||||
*/
|
||||
uint32_t query_key_wrong:4;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} ds_query_key_wrong_reg_t;
|
||||
|
||||
/** Type of query_check register
|
||||
* DS query check result register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** md_error : RO; bitpos: [0]; default: 0;
|
||||
* MD checkout result. 1'b0: MD check pass, 1'b1: MD check fail
|
||||
*/
|
||||
uint32_t md_error:1;
|
||||
/** padding_bad : RO; bitpos: [1]; default: 0;
|
||||
* padding checkout result. 1'b0: a good padding, 1'b1: a bad padding
|
||||
*/
|
||||
uint32_t padding_bad:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} ds_query_check_reg_t;
|
||||
|
||||
|
||||
/** Group: version control register */
|
||||
/** Type of date register
|
||||
* DS version control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [29:0]; default: 538969624;
|
||||
* ds version information
|
||||
*/
|
||||
uint32_t date:30;
|
||||
uint32_t reserved_30:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} ds_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile uint32_t y[128];
|
||||
volatile uint32_t m[128];
|
||||
volatile uint32_t rb[128];
|
||||
volatile uint32_t box[12];
|
||||
volatile uint32_t iv[4];
|
||||
uint32_t reserved_640[112];
|
||||
volatile uint32_t x[128];
|
||||
volatile uint32_t z[128];
|
||||
uint32_t reserved_c00[128];
|
||||
volatile ds_set_start_reg_t set_start;
|
||||
volatile ds_set_continue_reg_t set_continue;
|
||||
volatile ds_set_finish_reg_t set_finish;
|
||||
volatile ds_query_busy_reg_t query_busy;
|
||||
volatile ds_query_key_wrong_reg_t query_key_wrong;
|
||||
volatile ds_query_check_reg_t query_check;
|
||||
uint32_t reserved_e18[2];
|
||||
volatile ds_date_reg_t date;
|
||||
} ds_dev_t;
|
||||
|
||||
extern ds_dev_t DS;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(ds_dev_t) == 0xe24, "Invalid size of ds_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
167
components/soc/esp32h2/include/soc/ecc_mult_reg.h
Normal file
167
components/soc/esp32h2/include/soc/ecc_mult_reg.h
Normal file
@ -0,0 +1,167 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** ECC_MULT_INT_RAW_REG register
|
||||
* ECC interrupt raw register, valid in level.
|
||||
*/
|
||||
#define ECC_MULT_INT_RAW_REG (DR_REG_ECC_MULT_BASE + 0xc)
|
||||
/** ECC_MULT_CALC_DONE_INT_RAW : RO/WTC/SS; bitpos: [0]; default: 0;
|
||||
* The raw interrupt status bit for the ecc_calc_done_int interrupt
|
||||
*/
|
||||
#define ECC_MULT_CALC_DONE_INT_RAW (BIT(0))
|
||||
#define ECC_MULT_CALC_DONE_INT_RAW_M (ECC_MULT_CALC_DONE_INT_RAW_V << ECC_MULT_CALC_DONE_INT_RAW_S)
|
||||
#define ECC_MULT_CALC_DONE_INT_RAW_V 0x00000001U
|
||||
#define ECC_MULT_CALC_DONE_INT_RAW_S 0
|
||||
|
||||
/** ECC_MULT_INT_ST_REG register
|
||||
* ECC interrupt status register.
|
||||
*/
|
||||
#define ECC_MULT_INT_ST_REG (DR_REG_ECC_MULT_BASE + 0x10)
|
||||
/** ECC_MULT_CALC_DONE_INT_ST : RO; bitpos: [0]; default: 0;
|
||||
* The masked interrupt status bit for the ecc_calc_done_int interrupt
|
||||
*/
|
||||
#define ECC_MULT_CALC_DONE_INT_ST (BIT(0))
|
||||
#define ECC_MULT_CALC_DONE_INT_ST_M (ECC_MULT_CALC_DONE_INT_ST_V << ECC_MULT_CALC_DONE_INT_ST_S)
|
||||
#define ECC_MULT_CALC_DONE_INT_ST_V 0x00000001U
|
||||
#define ECC_MULT_CALC_DONE_INT_ST_S 0
|
||||
|
||||
/** ECC_MULT_INT_ENA_REG register
|
||||
* ECC interrupt enable register.
|
||||
*/
|
||||
#define ECC_MULT_INT_ENA_REG (DR_REG_ECC_MULT_BASE + 0x14)
|
||||
/** ECC_MULT_CALC_DONE_INT_ENA : R/W; bitpos: [0]; default: 0;
|
||||
* The interrupt enable bit for the ecc_calc_done_int interrupt
|
||||
*/
|
||||
#define ECC_MULT_CALC_DONE_INT_ENA (BIT(0))
|
||||
#define ECC_MULT_CALC_DONE_INT_ENA_M (ECC_MULT_CALC_DONE_INT_ENA_V << ECC_MULT_CALC_DONE_INT_ENA_S)
|
||||
#define ECC_MULT_CALC_DONE_INT_ENA_V 0x00000001U
|
||||
#define ECC_MULT_CALC_DONE_INT_ENA_S 0
|
||||
|
||||
/** ECC_MULT_INT_CLR_REG register
|
||||
* ECC interrupt clear register.
|
||||
*/
|
||||
#define ECC_MULT_INT_CLR_REG (DR_REG_ECC_MULT_BASE + 0x18)
|
||||
/** ECC_MULT_CALC_DONE_INT_CLR : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear the ecc_calc_done_int interrupt
|
||||
*/
|
||||
#define ECC_MULT_CALC_DONE_INT_CLR (BIT(0))
|
||||
#define ECC_MULT_CALC_DONE_INT_CLR_M (ECC_MULT_CALC_DONE_INT_CLR_V << ECC_MULT_CALC_DONE_INT_CLR_S)
|
||||
#define ECC_MULT_CALC_DONE_INT_CLR_V 0x00000001U
|
||||
#define ECC_MULT_CALC_DONE_INT_CLR_S 0
|
||||
|
||||
/** ECC_MULT_CONF_REG register
|
||||
* ECC configure register
|
||||
*/
|
||||
#define ECC_MULT_CONF_REG (DR_REG_ECC_MULT_BASE + 0x1c)
|
||||
/** ECC_MULT_START : R/W/SC; bitpos: [0]; default: 0;
|
||||
* Write 1 to start caculation of ECC Accelerator. This bit will be self-cleared after
|
||||
* the caculatrion is done.
|
||||
*/
|
||||
#define ECC_MULT_START (BIT(0))
|
||||
#define ECC_MULT_START_M (ECC_MULT_START_V << ECC_MULT_START_S)
|
||||
#define ECC_MULT_START_V 0x00000001U
|
||||
#define ECC_MULT_START_S 0
|
||||
/** ECC_MULT_RESET : WT; bitpos: [1]; default: 0;
|
||||
* Write 1 to reset ECC Accelerator.
|
||||
*/
|
||||
#define ECC_MULT_RESET (BIT(1))
|
||||
#define ECC_MULT_RESET_M (ECC_MULT_RESET_V << ECC_MULT_RESET_S)
|
||||
#define ECC_MULT_RESET_V 0x00000001U
|
||||
#define ECC_MULT_RESET_S 1
|
||||
/** ECC_MULT_KEY_LENGTH : R/W; bitpos: [2]; default: 0;
|
||||
* The key length mode bit of ECC Accelerator. 0: P-192. 1: P-256.
|
||||
*/
|
||||
#define ECC_MULT_KEY_LENGTH (BIT(2))
|
||||
#define ECC_MULT_KEY_LENGTH_M (ECC_MULT_KEY_LENGTH_V << ECC_MULT_KEY_LENGTH_S)
|
||||
#define ECC_MULT_KEY_LENGTH_V 0x00000001U
|
||||
#define ECC_MULT_KEY_LENGTH_S 2
|
||||
/** ECC_MULT_MOD_BASE : R/W; bitpos: [3]; default: 0;
|
||||
* The mod base of mod operation, only valid in work_mode 8-11. 0: n(order of curve).
|
||||
* 1: p(mod base of curve)
|
||||
*/
|
||||
#define ECC_MULT_MOD_BASE (BIT(3))
|
||||
#define ECC_MULT_MOD_BASE_M (ECC_MULT_MOD_BASE_V << ECC_MULT_MOD_BASE_S)
|
||||
#define ECC_MULT_MOD_BASE_V 0x00000001U
|
||||
#define ECC_MULT_MOD_BASE_S 3
|
||||
/** ECC_MULT_WORK_MODE : R/W; bitpos: [7:4]; default: 0;
|
||||
* The work mode bits of ECC Accelerator. 0: Point Mult Mode. 1: Reserved. 2: Point
|
||||
* verification mode. 3: Point Verif+mult mode. 4: Jacobian Point Mult Mode. 5: Point
|
||||
* Add Mode. 6: Jacobian Point Verification Mode. 7: Point Verif + Jacobian Mult Mode.
|
||||
* 8: mod addition. 9. mod substraction. 10: mod multiplication. 11: mod division.
|
||||
*/
|
||||
#define ECC_MULT_WORK_MODE 0x0000000FU
|
||||
#define ECC_MULT_WORK_MODE_M (ECC_MULT_WORK_MODE_V << ECC_MULT_WORK_MODE_S)
|
||||
#define ECC_MULT_WORK_MODE_V 0x0000000FU
|
||||
#define ECC_MULT_WORK_MODE_S 4
|
||||
/** ECC_MULT_SECURITY_MODE : R/W; bitpos: [8]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
#define ECC_MULT_SECURITY_MODE (BIT(8))
|
||||
#define ECC_MULT_SECURITY_MODE_M (ECC_MULT_SECURITY_MODE_V << ECC_MULT_SECURITY_MODE_S)
|
||||
#define ECC_MULT_SECURITY_MODE_V 0x00000001U
|
||||
#define ECC_MULT_SECURITY_MODE_S 8
|
||||
/** ECC_MULT_VERIFICATION_RESULT : RO/SS; bitpos: [29]; default: 0;
|
||||
* The verification result bit of ECC Accelerator, only valid when calculation is done.
|
||||
*/
|
||||
#define ECC_MULT_VERIFICATION_RESULT (BIT(29))
|
||||
#define ECC_MULT_VERIFICATION_RESULT_M (ECC_MULT_VERIFICATION_RESULT_V << ECC_MULT_VERIFICATION_RESULT_S)
|
||||
#define ECC_MULT_VERIFICATION_RESULT_V 0x00000001U
|
||||
#define ECC_MULT_VERIFICATION_RESULT_S 29
|
||||
/** ECC_MULT_CLK_EN : R/W; bitpos: [30]; default: 0;
|
||||
* Write 1 to force on register clock gate.
|
||||
*/
|
||||
#define ECC_MULT_CLK_EN (BIT(30))
|
||||
#define ECC_MULT_CLK_EN_M (ECC_MULT_CLK_EN_V << ECC_MULT_CLK_EN_S)
|
||||
#define ECC_MULT_CLK_EN_V 0x00000001U
|
||||
#define ECC_MULT_CLK_EN_S 30
|
||||
/** ECC_MULT_MEM_CLOCK_GATE_FORCE_ON : R/W; bitpos: [31]; default: 1;
|
||||
* ECC memory clock gate force on register
|
||||
*/
|
||||
#define ECC_MULT_MEM_CLOCK_GATE_FORCE_ON (BIT(31))
|
||||
#define ECC_MULT_MEM_CLOCK_GATE_FORCE_ON_M (ECC_MULT_MEM_CLOCK_GATE_FORCE_ON_V << ECC_MULT_MEM_CLOCK_GATE_FORCE_ON_S)
|
||||
#define ECC_MULT_MEM_CLOCK_GATE_FORCE_ON_V 0x00000001U
|
||||
#define ECC_MULT_MEM_CLOCK_GATE_FORCE_ON_S 31
|
||||
|
||||
/** ECC_MULT_DATE_REG register
|
||||
* Version control register
|
||||
*/
|
||||
#define ECC_MULT_DATE_REG (DR_REG_ECC_MULT_BASE + 0xfc)
|
||||
/** ECC_MULT_DATE : R/W; bitpos: [27:0]; default: 35680640;
|
||||
* ECC mult version control register
|
||||
*/
|
||||
#define ECC_MULT_DATE 0x0FFFFFFFU
|
||||
#define ECC_MULT_DATE_M (ECC_MULT_DATE_V << ECC_MULT_DATE_S)
|
||||
#define ECC_MULT_DATE_V 0x0FFFFFFFU
|
||||
#define ECC_MULT_DATE_S 0
|
||||
|
||||
/** ECC_MULT_K_MEM register
|
||||
* The memory that stores k.
|
||||
*/
|
||||
#define ECC_MULT_K_MEM (DR_REG_ECC_MULT_BASE + 0x100)
|
||||
#define ECC_MULT_K_MEM_SIZE_BYTES 32
|
||||
|
||||
/** ECC_MULT_PX_MEM register
|
||||
* The memory that stores Px.
|
||||
*/
|
||||
#define ECC_MULT_PX_MEM (DR_REG_ECC_MULT_BASE + 0x120)
|
||||
#define ECC_MULT_PX_MEM_SIZE_BYTES 32
|
||||
|
||||
/** ECC_MULT_PY_MEM register
|
||||
* The memory that stores Py.
|
||||
*/
|
||||
#define ECC_MULT_PY_MEM (DR_REG_ECC_MULT_BASE + 0x140)
|
||||
#define ECC_MULT_PY_MEM_SIZE_BYTES 32
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
164
components/soc/esp32h2/include/soc/ecc_mult_struct.h
Normal file
164
components/soc/esp32h2/include/soc/ecc_mult_struct.h
Normal file
@ -0,0 +1,164 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: Memory data */
|
||||
|
||||
/** Group: Interrupt registers */
|
||||
/** Type of int_raw register
|
||||
* ECC interrupt raw register, valid in level.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** calc_done_int_raw : RO/WTC/SS; bitpos: [0]; default: 0;
|
||||
* The raw interrupt status bit for the ecc_calc_done_int interrupt
|
||||
*/
|
||||
uint32_t calc_done_int_raw:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecc_mult_int_raw_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* ECC interrupt status register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** calc_done_int_st : RO; bitpos: [0]; default: 0;
|
||||
* The masked interrupt status bit for the ecc_calc_done_int interrupt
|
||||
*/
|
||||
uint32_t calc_done_int_st:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecc_mult_int_st_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* ECC interrupt enable register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** calc_done_int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* The interrupt enable bit for the ecc_calc_done_int interrupt
|
||||
*/
|
||||
uint32_t calc_done_int_ena:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecc_mult_int_ena_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* ECC interrupt clear register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** calc_done_int_clr : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear the ecc_calc_done_int interrupt
|
||||
*/
|
||||
uint32_t calc_done_int_clr:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecc_mult_int_clr_reg_t;
|
||||
|
||||
|
||||
/** Group: RX Control and configuration registers */
|
||||
/** Type of conf register
|
||||
* ECC configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** start : R/W/SC; bitpos: [0]; default: 0;
|
||||
* Write 1 to start caculation of ECC Accelerator. This bit will be self-cleared after
|
||||
* the caculatrion is done.
|
||||
*/
|
||||
uint32_t start:1;
|
||||
/** reset : WT; bitpos: [1]; default: 0;
|
||||
* Write 1 to reset ECC Accelerator.
|
||||
*/
|
||||
uint32_t reset:1;
|
||||
/** key_length : R/W; bitpos: [2]; default: 0;
|
||||
* The key length mode bit of ECC Accelerator. 0: P-192. 1: P-256.
|
||||
*/
|
||||
uint32_t key_length:1;
|
||||
/** mod_base : R/W; bitpos: [3]; default: 0;
|
||||
* The mod base of mod operation, only valid in work_mode 8-11. 0: n(order of curve).
|
||||
* 1: p(mod base of curve)
|
||||
*/
|
||||
uint32_t mod_base:1;
|
||||
/** work_mode : R/W; bitpos: [7:4]; default: 0;
|
||||
* The work mode bits of ECC Accelerator. 0: Point Mult Mode. 1: Reserved. 2: Point
|
||||
* verification mode. 3: Point Verif+mult mode. 4: Jacobian Point Mult Mode. 5: Point
|
||||
* Add Mode. 6: Jacobian Point Verification Mode. 7: Point Verif + Jacobian Mult Mode.
|
||||
* 8: mod addition. 9. mod substraction. 10: mod multiplication. 11: mod division.
|
||||
*/
|
||||
uint32_t work_mode:4;
|
||||
/** security_mode : R/W; bitpos: [8]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t security_mode:1;
|
||||
uint32_t reserved_9:20;
|
||||
/** verification_result : RO/SS; bitpos: [29]; default: 0;
|
||||
* The verification result bit of ECC Accelerator, only valid when calculation is done.
|
||||
*/
|
||||
uint32_t verification_result:1;
|
||||
/** clk_en : R/W; bitpos: [30]; default: 0;
|
||||
* Write 1 to force on register clock gate.
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
/** mem_clock_gate_force_on : R/W; bitpos: [31]; default: 1;
|
||||
* ECC memory clock gate force on register
|
||||
*/
|
||||
uint32_t mem_clock_gate_force_on:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecc_mult_conf_reg_t;
|
||||
|
||||
|
||||
/** Group: Version register */
|
||||
/** Type of date register
|
||||
* Version control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [27:0]; default: 35680640;
|
||||
* ECC mult version control register
|
||||
*/
|
||||
uint32_t date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecc_mult_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
uint32_t reserved_000[3];
|
||||
volatile ecc_mult_int_raw_reg_t int_raw;
|
||||
volatile ecc_mult_int_st_reg_t int_st;
|
||||
volatile ecc_mult_int_ena_reg_t int_ena;
|
||||
volatile ecc_mult_int_clr_reg_t int_clr;
|
||||
volatile ecc_mult_conf_reg_t conf;
|
||||
uint32_t reserved_020[55];
|
||||
volatile ecc_mult_date_reg_t date;
|
||||
volatile uint32_t k[8];
|
||||
volatile uint32_t px[8];
|
||||
volatile uint32_t py[8];
|
||||
} ecc_mult_dev_t;
|
||||
|
||||
extern ecc_mult_dev_t ECC;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(ecc_mult_dev_t) == 0x160, "Invalid size of ecc_mult_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
295
components/soc/esp32h2/include/soc/ecdsa_reg.h
Normal file
295
components/soc/esp32h2/include/soc/ecdsa_reg.h
Normal file
@ -0,0 +1,295 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** ECDSA_CONF_REG register
|
||||
* ECDSA configure register
|
||||
*/
|
||||
#define ECDSA_CONF_REG (DR_REG_ECDSA_BASE + 0x4)
|
||||
/** ECDSA_WORK_MODE : R/W; bitpos: [0]; default: 0;
|
||||
* The work mode bits of ECDSA Accelerator. 0: Signature Generate Mode. 1: Signature
|
||||
* Verify Mode.
|
||||
*/
|
||||
#define ECDSA_WORK_MODE (BIT(0))
|
||||
#define ECDSA_WORK_MODE_M (ECDSA_WORK_MODE_V << ECDSA_WORK_MODE_S)
|
||||
#define ECDSA_WORK_MODE_V 0x00000001U
|
||||
#define ECDSA_WORK_MODE_S 0
|
||||
/** ECDSA_ECC_CURVE : R/W; bitpos: [1]; default: 0;
|
||||
* The ecc curve select bit of ECDSA Accelerator. 0: P-192. 1: P-256.
|
||||
*/
|
||||
#define ECDSA_ECC_CURVE (BIT(1))
|
||||
#define ECDSA_ECC_CURVE_M (ECDSA_ECC_CURVE_V << ECDSA_ECC_CURVE_S)
|
||||
#define ECDSA_ECC_CURVE_V 0x00000001U
|
||||
#define ECDSA_ECC_CURVE_S 1
|
||||
/** ECDSA_SOFTWARE_SET_K : R/W; bitpos: [2]; default: 0;
|
||||
* The source of k select bit. 0: k is automatically generated by TRNG. 1: k is
|
||||
* written by software.
|
||||
*/
|
||||
#define ECDSA_SOFTWARE_SET_K (BIT(2))
|
||||
#define ECDSA_SOFTWARE_SET_K_M (ECDSA_SOFTWARE_SET_K_V << ECDSA_SOFTWARE_SET_K_S)
|
||||
#define ECDSA_SOFTWARE_SET_K_V 0x00000001U
|
||||
#define ECDSA_SOFTWARE_SET_K_S 2
|
||||
/** ECDSA_SOFTWARE_SET_Z : R/W; bitpos: [3]; default: 0;
|
||||
* The source of z select bit. 0: z is generated from SHA result. 1: z is written by
|
||||
* software.
|
||||
*/
|
||||
#define ECDSA_SOFTWARE_SET_Z (BIT(3))
|
||||
#define ECDSA_SOFTWARE_SET_Z_M (ECDSA_SOFTWARE_SET_Z_V << ECDSA_SOFTWARE_SET_Z_S)
|
||||
#define ECDSA_SOFTWARE_SET_Z_V 0x00000001U
|
||||
#define ECDSA_SOFTWARE_SET_Z_S 3
|
||||
|
||||
/** ECDSA_CLK_REG register
|
||||
* ECDSA clock gate register
|
||||
*/
|
||||
#define ECDSA_CLK_REG (DR_REG_ECDSA_BASE + 0x8)
|
||||
/** ECDSA_CLK_GATE_FORCE_ON : R/W; bitpos: [0]; default: 0;
|
||||
* Write 1 to force on register clock gate.
|
||||
*/
|
||||
#define ECDSA_CLK_GATE_FORCE_ON (BIT(0))
|
||||
#define ECDSA_CLK_GATE_FORCE_ON_M (ECDSA_CLK_GATE_FORCE_ON_V << ECDSA_CLK_GATE_FORCE_ON_S)
|
||||
#define ECDSA_CLK_GATE_FORCE_ON_V 0x00000001U
|
||||
#define ECDSA_CLK_GATE_FORCE_ON_S 0
|
||||
|
||||
/** ECDSA_INT_RAW_REG register
|
||||
* ECDSA interrupt raw register, valid in level.
|
||||
*/
|
||||
#define ECDSA_INT_RAW_REG (DR_REG_ECDSA_BASE + 0xc)
|
||||
/** ECDSA_CALC_DONE_INT_RAW : RO/WTC/SS; bitpos: [0]; default: 0;
|
||||
* The raw interrupt status bit for the ecdsa_calc_done_int interrupt
|
||||
*/
|
||||
#define ECDSA_CALC_DONE_INT_RAW (BIT(0))
|
||||
#define ECDSA_CALC_DONE_INT_RAW_M (ECDSA_CALC_DONE_INT_RAW_V << ECDSA_CALC_DONE_INT_RAW_S)
|
||||
#define ECDSA_CALC_DONE_INT_RAW_V 0x00000001U
|
||||
#define ECDSA_CALC_DONE_INT_RAW_S 0
|
||||
/** ECDSA_SHA_RELEASE_INT_RAW : RO/WTC/SS; bitpos: [1]; default: 0;
|
||||
* The raw interrupt status bit for the ecdsa_sha_release_int interrupt
|
||||
*/
|
||||
#define ECDSA_SHA_RELEASE_INT_RAW (BIT(1))
|
||||
#define ECDSA_SHA_RELEASE_INT_RAW_M (ECDSA_SHA_RELEASE_INT_RAW_V << ECDSA_SHA_RELEASE_INT_RAW_S)
|
||||
#define ECDSA_SHA_RELEASE_INT_RAW_V 0x00000001U
|
||||
#define ECDSA_SHA_RELEASE_INT_RAW_S 1
|
||||
|
||||
/** ECDSA_INT_ST_REG register
|
||||
* ECDSA interrupt status register.
|
||||
*/
|
||||
#define ECDSA_INT_ST_REG (DR_REG_ECDSA_BASE + 0x10)
|
||||
/** ECDSA_CALC_DONE_INT_ST : RO; bitpos: [0]; default: 0;
|
||||
* The masked interrupt status bit for the ecdsa_calc_done_int interrupt
|
||||
*/
|
||||
#define ECDSA_CALC_DONE_INT_ST (BIT(0))
|
||||
#define ECDSA_CALC_DONE_INT_ST_M (ECDSA_CALC_DONE_INT_ST_V << ECDSA_CALC_DONE_INT_ST_S)
|
||||
#define ECDSA_CALC_DONE_INT_ST_V 0x00000001U
|
||||
#define ECDSA_CALC_DONE_INT_ST_S 0
|
||||
/** ECDSA_SHA_RELEASE_INT_ST : RO; bitpos: [1]; default: 0;
|
||||
* The masked interrupt status bit for the ecdsa_sha_release_int interrupt
|
||||
*/
|
||||
#define ECDSA_SHA_RELEASE_INT_ST (BIT(1))
|
||||
#define ECDSA_SHA_RELEASE_INT_ST_M (ECDSA_SHA_RELEASE_INT_ST_V << ECDSA_SHA_RELEASE_INT_ST_S)
|
||||
#define ECDSA_SHA_RELEASE_INT_ST_V 0x00000001U
|
||||
#define ECDSA_SHA_RELEASE_INT_ST_S 1
|
||||
|
||||
/** ECDSA_INT_ENA_REG register
|
||||
* ECDSA interrupt enable register.
|
||||
*/
|
||||
#define ECDSA_INT_ENA_REG (DR_REG_ECDSA_BASE + 0x14)
|
||||
/** ECDSA_CALC_DONE_INT_ENA : R/W; bitpos: [0]; default: 0;
|
||||
* The interrupt enable bit for the ecdsa_calc_done_int interrupt
|
||||
*/
|
||||
#define ECDSA_CALC_DONE_INT_ENA (BIT(0))
|
||||
#define ECDSA_CALC_DONE_INT_ENA_M (ECDSA_CALC_DONE_INT_ENA_V << ECDSA_CALC_DONE_INT_ENA_S)
|
||||
#define ECDSA_CALC_DONE_INT_ENA_V 0x00000001U
|
||||
#define ECDSA_CALC_DONE_INT_ENA_S 0
|
||||
/** ECDSA_SHA_RELEASE_INT_ENA : R/W; bitpos: [1]; default: 0;
|
||||
* The interrupt enable bit for the ecdsa_sha_release_int interrupt
|
||||
*/
|
||||
#define ECDSA_SHA_RELEASE_INT_ENA (BIT(1))
|
||||
#define ECDSA_SHA_RELEASE_INT_ENA_M (ECDSA_SHA_RELEASE_INT_ENA_V << ECDSA_SHA_RELEASE_INT_ENA_S)
|
||||
#define ECDSA_SHA_RELEASE_INT_ENA_V 0x00000001U
|
||||
#define ECDSA_SHA_RELEASE_INT_ENA_S 1
|
||||
|
||||
/** ECDSA_INT_CLR_REG register
|
||||
* ECDSA interrupt clear register.
|
||||
*/
|
||||
#define ECDSA_INT_CLR_REG (DR_REG_ECDSA_BASE + 0x18)
|
||||
/** ECDSA_CALC_DONE_INT_CLR : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear the ecdsa_calc_done_int interrupt
|
||||
*/
|
||||
#define ECDSA_CALC_DONE_INT_CLR (BIT(0))
|
||||
#define ECDSA_CALC_DONE_INT_CLR_M (ECDSA_CALC_DONE_INT_CLR_V << ECDSA_CALC_DONE_INT_CLR_S)
|
||||
#define ECDSA_CALC_DONE_INT_CLR_V 0x00000001U
|
||||
#define ECDSA_CALC_DONE_INT_CLR_S 0
|
||||
/** ECDSA_SHA_RELEASE_INT_CLR : WT; bitpos: [1]; default: 0;
|
||||
* Set this bit to clear the ecdsa_sha_release_int interrupt
|
||||
*/
|
||||
#define ECDSA_SHA_RELEASE_INT_CLR (BIT(1))
|
||||
#define ECDSA_SHA_RELEASE_INT_CLR_M (ECDSA_SHA_RELEASE_INT_CLR_V << ECDSA_SHA_RELEASE_INT_CLR_S)
|
||||
#define ECDSA_SHA_RELEASE_INT_CLR_V 0x00000001U
|
||||
#define ECDSA_SHA_RELEASE_INT_CLR_S 1
|
||||
|
||||
/** ECDSA_START_REG register
|
||||
* ECDSA start register
|
||||
*/
|
||||
#define ECDSA_START_REG (DR_REG_ECDSA_BASE + 0x1c)
|
||||
/** ECDSA_START : WT; bitpos: [0]; default: 0;
|
||||
* Write 1 to start caculation of ECDSA Accelerator. This bit will be self-cleared
|
||||
* after configuration.
|
||||
*/
|
||||
#define ECDSA_START (BIT(0))
|
||||
#define ECDSA_START_M (ECDSA_START_V << ECDSA_START_S)
|
||||
#define ECDSA_START_V 0x00000001U
|
||||
#define ECDSA_START_S 0
|
||||
/** ECDSA_LOAD_DONE : WT; bitpos: [1]; default: 0;
|
||||
* Write 1 to input load done signal of ECDSA Accelerator. This bit will be
|
||||
* self-cleared after configuration.
|
||||
*/
|
||||
#define ECDSA_LOAD_DONE (BIT(1))
|
||||
#define ECDSA_LOAD_DONE_M (ECDSA_LOAD_DONE_V << ECDSA_LOAD_DONE_S)
|
||||
#define ECDSA_LOAD_DONE_V 0x00000001U
|
||||
#define ECDSA_LOAD_DONE_S 1
|
||||
/** ECDSA_GET_DONE : WT; bitpos: [2]; default: 0;
|
||||
* Write 1 to input get done signal of ECDSA Accelerator. This bit will be
|
||||
* self-cleared after configuration.
|
||||
*/
|
||||
#define ECDSA_GET_DONE (BIT(2))
|
||||
#define ECDSA_GET_DONE_M (ECDSA_GET_DONE_V << ECDSA_GET_DONE_S)
|
||||
#define ECDSA_GET_DONE_V 0x00000001U
|
||||
#define ECDSA_GET_DONE_S 2
|
||||
|
||||
/** ECDSA_STATE_REG register
|
||||
* ECDSA status register
|
||||
*/
|
||||
#define ECDSA_STATE_REG (DR_REG_ECDSA_BASE + 0x20)
|
||||
/** ECDSA_BUSY : RO; bitpos: [1:0]; default: 0;
|
||||
* The status bits of ECDSA Accelerator. ECDSA is at 0: IDLE, 1: LOAD, 2: GET, 3: BUSY
|
||||
* state.
|
||||
*/
|
||||
#define ECDSA_BUSY 0x00000003U
|
||||
#define ECDSA_BUSY_M (ECDSA_BUSY_V << ECDSA_BUSY_S)
|
||||
#define ECDSA_BUSY_V 0x00000003U
|
||||
#define ECDSA_BUSY_S 0
|
||||
|
||||
/** ECDSA_RESULT_REG register
|
||||
* ECDSA result register
|
||||
*/
|
||||
#define ECDSA_RESULT_REG (DR_REG_ECDSA_BASE + 0x24)
|
||||
/** ECDSA_OPERATION_RESULT : RO/SS; bitpos: [0]; default: 0;
|
||||
* The operation result bit of ECDSA Accelerator, only valid when ECDSA calculation is
|
||||
* done.
|
||||
*/
|
||||
#define ECDSA_OPERATION_RESULT (BIT(0))
|
||||
#define ECDSA_OPERATION_RESULT_M (ECDSA_OPERATION_RESULT_V << ECDSA_OPERATION_RESULT_S)
|
||||
#define ECDSA_OPERATION_RESULT_V 0x00000001U
|
||||
#define ECDSA_OPERATION_RESULT_S 0
|
||||
|
||||
/** ECDSA_DATE_REG register
|
||||
* Version control register
|
||||
*/
|
||||
#define ECDSA_DATE_REG (DR_REG_ECDSA_BASE + 0xfc)
|
||||
/** ECDSA_DATE : R/W; bitpos: [27:0]; default: 35684752;
|
||||
* ECDSA version control register
|
||||
*/
|
||||
#define ECDSA_DATE 0x0FFFFFFFU
|
||||
#define ECDSA_DATE_M (ECDSA_DATE_V << ECDSA_DATE_S)
|
||||
#define ECDSA_DATE_V 0x0FFFFFFFU
|
||||
#define ECDSA_DATE_S 0
|
||||
|
||||
/** ECDSA_SHA_MODE_REG register
|
||||
* ECDSA control SHA register
|
||||
*/
|
||||
#define ECDSA_SHA_MODE_REG (DR_REG_ECDSA_BASE + 0x200)
|
||||
/** ECDSA_SHA_MODE : R/W; bitpos: [2:0]; default: 0;
|
||||
* The work mode bits of SHA Calculator in ECDSA Accelerator. 1: SHA-224. 2: SHA-256.
|
||||
* Others: invalid.
|
||||
*/
|
||||
#define ECDSA_SHA_MODE 0x00000007U
|
||||
#define ECDSA_SHA_MODE_M (ECDSA_SHA_MODE_V << ECDSA_SHA_MODE_S)
|
||||
#define ECDSA_SHA_MODE_V 0x00000007U
|
||||
#define ECDSA_SHA_MODE_S 0
|
||||
|
||||
/** ECDSA_SHA_START_REG register
|
||||
* ECDSA control SHA register
|
||||
*/
|
||||
#define ECDSA_SHA_START_REG (DR_REG_ECDSA_BASE + 0x210)
|
||||
/** ECDSA_SHA_START : WT; bitpos: [0]; default: 0;
|
||||
* Write 1 to start the first caculation of SHA Calculator in ECDSA Accelerator. This
|
||||
* bit will be self-cleared after configuration.
|
||||
*/
|
||||
#define ECDSA_SHA_START (BIT(0))
|
||||
#define ECDSA_SHA_START_M (ECDSA_SHA_START_V << ECDSA_SHA_START_S)
|
||||
#define ECDSA_SHA_START_V 0x00000001U
|
||||
#define ECDSA_SHA_START_S 0
|
||||
|
||||
/** ECDSA_SHA_CONTINUE_REG register
|
||||
* ECDSA control SHA register
|
||||
*/
|
||||
#define ECDSA_SHA_CONTINUE_REG (DR_REG_ECDSA_BASE + 0x214)
|
||||
/** ECDSA_SHA_CONTINUE : WT; bitpos: [0]; default: 0;
|
||||
* Write 1 to start the latter caculation of SHA Calculator in ECDSA Accelerator. This
|
||||
* bit will be self-cleared after configuration.
|
||||
*/
|
||||
#define ECDSA_SHA_CONTINUE (BIT(0))
|
||||
#define ECDSA_SHA_CONTINUE_M (ECDSA_SHA_CONTINUE_V << ECDSA_SHA_CONTINUE_S)
|
||||
#define ECDSA_SHA_CONTINUE_V 0x00000001U
|
||||
#define ECDSA_SHA_CONTINUE_S 0
|
||||
|
||||
/** ECDSA_SHA_BUSY_REG register
|
||||
* ECDSA status register
|
||||
*/
|
||||
#define ECDSA_SHA_BUSY_REG (DR_REG_ECDSA_BASE + 0x218)
|
||||
/** ECDSA_SHA_BUSY : RO; bitpos: [0]; default: 0;
|
||||
* The busy status bit of SHA Calculator in ECDSA Accelerator. 1:SHA is in
|
||||
* calculation. 0: SHA is idle.
|
||||
*/
|
||||
#define ECDSA_SHA_BUSY (BIT(0))
|
||||
#define ECDSA_SHA_BUSY_M (ECDSA_SHA_BUSY_V << ECDSA_SHA_BUSY_S)
|
||||
#define ECDSA_SHA_BUSY_V 0x00000001U
|
||||
#define ECDSA_SHA_BUSY_S 0
|
||||
|
||||
/** ECDSA_MESSAGE_MEM register
|
||||
* The memory that stores message.
|
||||
*/
|
||||
#define ECDSA_MESSAGE_MEM (DR_REG_ECDSA_BASE + 0x280)
|
||||
#define ECDSA_MESSAGE_MEM_SIZE_BYTES 32
|
||||
|
||||
/** ECDSA_R_MEM register
|
||||
* The memory that stores r.
|
||||
*/
|
||||
#define ECDSA_R_MEM (DR_REG_ECDSA_BASE + 0xa00)
|
||||
#define ECDSA_R_MEM_SIZE_BYTES 32
|
||||
|
||||
/** ECDSA_S_MEM register
|
||||
* The memory that stores s.
|
||||
*/
|
||||
#define ECDSA_S_MEM (DR_REG_ECDSA_BASE + 0xa20)
|
||||
#define ECDSA_S_MEM_SIZE_BYTES 32
|
||||
|
||||
/** ECDSA_Z_MEM register
|
||||
* The memory that stores software written z.
|
||||
*/
|
||||
#define ECDSA_Z_MEM (DR_REG_ECDSA_BASE + 0xa40)
|
||||
#define ECDSA_Z_MEM_SIZE_BYTES 32
|
||||
|
||||
/** ECDSA_QAX_MEM register
|
||||
* The memory that stores x coordinates of QA or software written k.
|
||||
*/
|
||||
#define ECDSA_QAX_MEM (DR_REG_ECDSA_BASE + 0xa60)
|
||||
#define ECDSA_QAX_MEM_SIZE_BYTES 32
|
||||
|
||||
/** ECDSA_QAY_MEM register
|
||||
* The memory that stores y coordinates of QA.
|
||||
*/
|
||||
#define ECDSA_QAY_MEM (DR_REG_ECDSA_BASE + 0xa80)
|
||||
#define ECDSA_QAY_MEM_SIZE_BYTES 32
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
310
components/soc/esp32h2/include/soc/ecdsa_struct.h
Normal file
310
components/soc/esp32h2/include/soc/ecdsa_struct.h
Normal file
@ -0,0 +1,310 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: Data Memory */
|
||||
|
||||
/** Group: Configuration registers */
|
||||
/** Type of conf register
|
||||
* ECDSA configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** work_mode : R/W; bitpos: [0]; default: 0;
|
||||
* The work mode bits of ECDSA Accelerator. 0: Signature Generate Mode. 1: Signature
|
||||
* Verify Mode.
|
||||
*/
|
||||
uint32_t work_mode:1;
|
||||
/** ecc_curve : R/W; bitpos: [1]; default: 0;
|
||||
* The ecc curve select bit of ECDSA Accelerator. 0: P-192. 1: P-256.
|
||||
*/
|
||||
uint32_t ecc_curve:1;
|
||||
/** software_set_k : R/W; bitpos: [2]; default: 0;
|
||||
* The source of k select bit. 0: k is automatically generated by TRNG. 1: k is
|
||||
* written by software.
|
||||
*/
|
||||
uint32_t software_set_k:1;
|
||||
/** software_set_z : R/W; bitpos: [3]; default: 0;
|
||||
* The source of z select bit. 0: z is generated from SHA result. 1: z is written by
|
||||
* software.
|
||||
*/
|
||||
uint32_t software_set_z:1;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecdsa_conf_reg_t;
|
||||
|
||||
/** Type of start register
|
||||
* ECDSA start register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** start : WT; bitpos: [0]; default: 0;
|
||||
* Write 1 to start caculation of ECDSA Accelerator. This bit will be self-cleared
|
||||
* after configuration.
|
||||
*/
|
||||
uint32_t start:1;
|
||||
/** load_done : WT; bitpos: [1]; default: 0;
|
||||
* Write 1 to input load done signal of ECDSA Accelerator. This bit will be
|
||||
* self-cleared after configuration.
|
||||
*/
|
||||
uint32_t load_done:1;
|
||||
/** get_done : WT; bitpos: [2]; default: 0;
|
||||
* Write 1 to input get done signal of ECDSA Accelerator. This bit will be
|
||||
* self-cleared after configuration.
|
||||
*/
|
||||
uint32_t get_done:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecdsa_start_reg_t;
|
||||
|
||||
|
||||
/** Group: Clock and reset registers */
|
||||
/** Type of clk register
|
||||
* ECDSA clock gate register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_gate_force_on : R/W; bitpos: [0]; default: 0;
|
||||
* Write 1 to force on register clock gate.
|
||||
*/
|
||||
uint32_t clk_gate_force_on:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecdsa_clk_reg_t;
|
||||
|
||||
|
||||
/** Group: Interrupt registers */
|
||||
/** Type of int_raw register
|
||||
* ECDSA interrupt raw register, valid in level.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** calc_done_int_raw : RO/WTC/SS; bitpos: [0]; default: 0;
|
||||
* The raw interrupt status bit for the ecdsa_calc_done_int interrupt
|
||||
*/
|
||||
uint32_t calc_done_int_raw:1;
|
||||
/** sha_release_int_raw : RO/WTC/SS; bitpos: [1]; default: 0;
|
||||
* The raw interrupt status bit for the ecdsa_sha_release_int interrupt
|
||||
*/
|
||||
uint32_t sha_release_int_raw:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecdsa_int_raw_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* ECDSA interrupt status register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** calc_done_int_st : RO; bitpos: [0]; default: 0;
|
||||
* The masked interrupt status bit for the ecdsa_calc_done_int interrupt
|
||||
*/
|
||||
uint32_t calc_done_int_st:1;
|
||||
/** sha_release_int_st : RO; bitpos: [1]; default: 0;
|
||||
* The masked interrupt status bit for the ecdsa_sha_release_int interrupt
|
||||
*/
|
||||
uint32_t sha_release_int_st:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecdsa_int_st_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* ECDSA interrupt enable register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** calc_done_int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* The interrupt enable bit for the ecdsa_calc_done_int interrupt
|
||||
*/
|
||||
uint32_t calc_done_int_ena:1;
|
||||
/** sha_release_int_ena : R/W; bitpos: [1]; default: 0;
|
||||
* The interrupt enable bit for the ecdsa_sha_release_int interrupt
|
||||
*/
|
||||
uint32_t sha_release_int_ena:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecdsa_int_ena_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* ECDSA interrupt clear register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** calc_done_int_clr : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear the ecdsa_calc_done_int interrupt
|
||||
*/
|
||||
uint32_t calc_done_int_clr:1;
|
||||
/** sha_release_int_clr : WT; bitpos: [1]; default: 0;
|
||||
* Set this bit to clear the ecdsa_sha_release_int interrupt
|
||||
*/
|
||||
uint32_t sha_release_int_clr:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecdsa_int_clr_reg_t;
|
||||
|
||||
|
||||
/** Group: Status registers */
|
||||
/** Type of state register
|
||||
* ECDSA status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** busy : RO; bitpos: [1:0]; default: 0;
|
||||
* The status bits of ECDSA Accelerator. ECDSA is at 0: IDLE, 1: LOAD, 2: GET, 3: BUSY
|
||||
* state.
|
||||
*/
|
||||
uint32_t busy:2;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecdsa_state_reg_t;
|
||||
|
||||
|
||||
/** Group: Result registers */
|
||||
/** Type of result register
|
||||
* ECDSA result register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** operation_result : RO/SS; bitpos: [0]; default: 0;
|
||||
* The operation result bit of ECDSA Accelerator, only valid when ECDSA calculation is
|
||||
* done.
|
||||
*/
|
||||
uint32_t operation_result:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecdsa_result_reg_t;
|
||||
|
||||
|
||||
/** Group: SHA register */
|
||||
/** Type of sha_mode register
|
||||
* ECDSA control SHA register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sha_mode : R/W; bitpos: [2:0]; default: 0;
|
||||
* The work mode bits of SHA Calculator in ECDSA Accelerator. 1: SHA-224. 2: SHA-256.
|
||||
* Others: invalid.
|
||||
*/
|
||||
uint32_t sha_mode:3;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecdsa_sha_mode_reg_t;
|
||||
|
||||
/** Type of sha_start register
|
||||
* ECDSA control SHA register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sha_start : WT; bitpos: [0]; default: 0;
|
||||
* Write 1 to start the first caculation of SHA Calculator in ECDSA Accelerator. This
|
||||
* bit will be self-cleared after configuration.
|
||||
*/
|
||||
uint32_t sha_start:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecdsa_sha_start_reg_t;
|
||||
|
||||
/** Type of sha_continue register
|
||||
* ECDSA control SHA register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sha_continue : WT; bitpos: [0]; default: 0;
|
||||
* Write 1 to start the latter caculation of SHA Calculator in ECDSA Accelerator. This
|
||||
* bit will be self-cleared after configuration.
|
||||
*/
|
||||
uint32_t sha_continue:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecdsa_sha_continue_reg_t;
|
||||
|
||||
/** Type of sha_busy register
|
||||
* ECDSA status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sha_busy : RO; bitpos: [0]; default: 0;
|
||||
* The busy status bit of SHA Calculator in ECDSA Accelerator. 1:SHA is in
|
||||
* calculation. 0: SHA is idle.
|
||||
*/
|
||||
uint32_t sha_busy:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecdsa_sha_busy_reg_t;
|
||||
|
||||
|
||||
/** Group: Version register */
|
||||
/** Type of date register
|
||||
* Version control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [27:0]; default: 35684752;
|
||||
* ECDSA version control register
|
||||
*/
|
||||
uint32_t date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} ecdsa_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
uint32_t reserved_000;
|
||||
volatile ecdsa_conf_reg_t conf;
|
||||
volatile ecdsa_clk_reg_t clk;
|
||||
volatile ecdsa_int_raw_reg_t int_raw;
|
||||
volatile ecdsa_int_st_reg_t int_st;
|
||||
volatile ecdsa_int_ena_reg_t int_ena;
|
||||
volatile ecdsa_int_clr_reg_t int_clr;
|
||||
volatile ecdsa_start_reg_t start;
|
||||
volatile ecdsa_state_reg_t state;
|
||||
volatile ecdsa_result_reg_t result;
|
||||
uint32_t reserved_028[53];
|
||||
volatile ecdsa_date_reg_t date;
|
||||
uint32_t reserved_100[64];
|
||||
volatile ecdsa_sha_mode_reg_t sha_mode;
|
||||
uint32_t reserved_204[3];
|
||||
volatile ecdsa_sha_start_reg_t sha_start;
|
||||
volatile ecdsa_sha_continue_reg_t sha_continue;
|
||||
volatile ecdsa_sha_busy_reg_t sha_busy;
|
||||
uint32_t reserved_21c[25];
|
||||
volatile uint32_t message[8];
|
||||
uint32_t reserved_2a0[472];
|
||||
volatile uint32_t r[8];
|
||||
volatile uint32_t s[8];
|
||||
volatile uint32_t z[8];
|
||||
volatile uint32_t qax[8];
|
||||
volatile uint32_t qay[8];
|
||||
} ecdsa_dev_t;
|
||||
|
||||
extern ecdsa_dev_t ECDSA;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(ecdsa_dev_t) == 0xaa0, "Invalid size of ecdsa_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
2482
components/soc/esp32h2/include/soc/efuse_reg.h
Normal file
2482
components/soc/esp32h2/include/soc/efuse_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
2295
components/soc/esp32h2/include/soc/efuse_struct.h
Normal file
2295
components/soc/esp32h2/include/soc/efuse_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
114
components/soc/esp32h2/include/soc/ext_mem_defs.h
Normal file
114
components/soc/esp32h2/include/soc/ext_mem_defs.h
Normal file
@ -0,0 +1,114 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2020-2021 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#ifndef _CACHE_MEMORY_H_
|
||||
#define _CACHE_MEMORY_H_
|
||||
|
||||
#include "esp_bit_defs.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*IRAM0 is connected with Cache IBUS0*/
|
||||
#define IRAM0_CACHE_ADDRESS_LOW 0x42000000
|
||||
#define IRAM0_CACHE_ADDRESS_HIGH(page_size) (IRAM0_CACHE_ADDRESS_LOW + ((page_size) * 128)) // MMU has 256 pages, first 128 for instruction
|
||||
#define IRAM0_ADDRESS_LOW 0x40000000
|
||||
#define IRAM0_ADDRESS_HIGH(page_size) IRAM0_CACHE_ADDRESS_HIGH(page_size)
|
||||
|
||||
/*DRAM0 is connected with Cache DBUS0*/
|
||||
#define DRAM0_ADDRESS_LOW 0x42000000
|
||||
#define DRAM0_ADDRESS_HIGH 0x43000000
|
||||
#define DRAM0_CACHE_ADDRESS_LOW IRAM0_CACHE_ADDRESS_HIGH(CONFIG_MMU_PAGE_SIZE) // ESP32H2-TODO : IDF-6370
|
||||
#define DRAM0_CACHE_ADDRESS_HIGH(page_size) (IRAM0_CACHE_ADDRESS_HIGH(page_size) + ((page_size) * 128)) // MMU has 256 pages, second 128 for data
|
||||
#define DRAM0_CACHE_OPERATION_HIGH(page_size) DRAM0_CACHE_ADDRESS_HIGH(page_size)
|
||||
#define ESP_CACHE_TEMP_ADDR 0x42000000
|
||||
|
||||
#define BUS_SIZE(bus_name, page_size) (bus_name##_ADDRESS_HIGH(page_size) - bus_name##_ADDRESS_LOW)
|
||||
#define ADDRESS_IN_BUS(bus_name, vaddr, page_size) ((vaddr) >= bus_name##_ADDRESS_LOW && (vaddr) < bus_name##_ADDRESS_HIGH(page_size))
|
||||
|
||||
#define ADDRESS_IN_IRAM0(vaddr, page_size) ADDRESS_IN_BUS(IRAM0, vaddr, page_size)
|
||||
#define ADDRESS_IN_IRAM0_CACHE(vaddr, page_size) ADDRESS_IN_BUS(IRAM0_CACHE, vaddr, page_size)
|
||||
#define ADDRESS_IN_DRAM0(vaddr, page_size) ADDRESS_IN_BUS(DRAM0, vaddr, page_size)
|
||||
#define ADDRESS_IN_DRAM0_CACHE(vaddr, page_size) ADDRESS_IN_BUS(DRAM0_CACHE, vaddr, page_size)
|
||||
|
||||
#define BUS_IRAM0_CACHE_SIZE(page_size) BUS_SIZE(IRAM0_CACHE, page_size)
|
||||
#define BUS_DRAM0_CACHE_SIZE(page_size) BUS_SIZE(DRAM0_CACHE, page_size)
|
||||
|
||||
#define CACHE_IBUS 0
|
||||
#define CACHE_IBUS_MMU_START 0
|
||||
#define CACHE_IBUS_MMU_END 0x200
|
||||
|
||||
#define CACHE_DBUS 1
|
||||
#define CACHE_DBUS_MMU_START 0
|
||||
#define CACHE_DBUS_MMU_END 0x200
|
||||
|
||||
//TODO, remove these cache function dependencies
|
||||
#define CACHE_IROM_MMU_START 0
|
||||
#define CACHE_IROM_MMU_END Cache_Get_IROM_MMU_End()
|
||||
#define CACHE_IROM_MMU_SIZE (CACHE_IROM_MMU_END - CACHE_IROM_MMU_START)
|
||||
|
||||
#define CACHE_DROM_MMU_START CACHE_IROM_MMU_END
|
||||
#define CACHE_DROM_MMU_END Cache_Get_DROM_MMU_End()
|
||||
#define CACHE_DROM_MMU_SIZE (CACHE_DROM_MMU_END - CACHE_DROM_MMU_START)
|
||||
|
||||
#define CACHE_DROM_MMU_MAX_END 0x400
|
||||
|
||||
#define ICACHE_MMU_SIZE 0x200
|
||||
#define DCACHE_MMU_SIZE 0x200
|
||||
|
||||
#define MMU_BUS_START(i) 0
|
||||
#define MMU_BUS_SIZE(i) 0x200
|
||||
|
||||
#define MMU_MSPI_ACCESS_FLASH 0
|
||||
#define MMU_MSPI_VALID BIT(9)
|
||||
#define MMU_MSPI_INVALID 0
|
||||
#define MMU_MSPI_SENSITIVE BIT(10)
|
||||
|
||||
#define MMU_ACCESS_FLASH MMU_MSPI_ACCESS_FLASH
|
||||
#define MMU_ACCESS_SPIRAM MMU_MSPI_ACCESS_SPIRAM
|
||||
#define MMU_VALID MMU_MSPI_VALID
|
||||
#define MMU_SENSITIVE MMU_MSPI_SENSITIVE
|
||||
|
||||
// ESP32H2-TODO : IDF-6251
|
||||
#define MMU_INVALID_MASK MMU_MSPI_VALID
|
||||
#define MMU_INVALID MMU_MSPI_INVALID
|
||||
|
||||
|
||||
|
||||
#define CACHE_MAX_SYNC_NUM 0x400000
|
||||
#define CACHE_MAX_LOCK_NUM 0x8000
|
||||
|
||||
#define FLASH_MMU_TABLE ((volatile uint32_t*) DR_REG_MMU_TABLE)
|
||||
#define FLASH_MMU_TABLE_SIZE (ICACHE_MMU_SIZE/sizeof(uint32_t))
|
||||
|
||||
/**
|
||||
* MMU entry valid bit mask for mapping value. For an entry:
|
||||
* valid bit + value bits
|
||||
* valid bit is BIT(9), so value bits are 0x1ff
|
||||
*/
|
||||
#define MMU_VALID_VAL_MASK 0x1ff
|
||||
/**
|
||||
* Max MMU available paddr page num.
|
||||
* `MMU_MAX_PADDR_PAGE_NUM * CONFIG_MMU_PAGE_SIZE` means the max paddr address supported by the MMU. e.g.:
|
||||
* 256 * 64KB, means MMU can support 16MB paddr at most
|
||||
*/
|
||||
#define MMU_MAX_PADDR_PAGE_NUM 256
|
||||
//MMU entry num
|
||||
#define MMU_ENTRY_NUM 256
|
||||
|
||||
/**
|
||||
* This is the mask used for mapping. e.g.:
|
||||
* 0x4200_0000 & MMU_VADDR_MASK
|
||||
*/
|
||||
#define MMU_VADDR_MASK(page_size) ((page_size) * MMU_ENTRY_NUM - 1)
|
||||
|
||||
#define CACHE_MEMORY_IBANK0_ADDR 0x40800000
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /*_CACHE_MEMORY_H_ */
|
951
components/soc/esp32h2/include/soc/extmem_reg.h
Normal file
951
components/soc/esp32h2/include/soc/extmem_reg.h
Normal file
@ -0,0 +1,951 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// TODO: IDF-5797
|
||||
|
||||
#define EXTMEM_ICACHE_CTRL_REG (DR_REG_EXTMEM_BASE + 0x0)
|
||||
|
||||
#define EXTMEM_DCACHE_CTRL_REG (DR_REG_EXTMEM_BASE + 0x4)
|
||||
/* EXTMEM_DCACHE_SHUT_DBUS1 : R/W ;bitpos:[1] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to disable core1 dbus access L1-DCache, 0: enable, 1: disable.*/
|
||||
#define EXTMEM_DCACHE_SHUT_DBUS1 (BIT(1))
|
||||
#define EXTMEM_DCACHE_SHUT_DBUS1_M (BIT(1))
|
||||
#define EXTMEM_DCACHE_SHUT_DBUS1_V 0x1
|
||||
#define EXTMEM_DCACHE_SHUT_DBUS1_S 1
|
||||
/* EXTMEM_DCACHE_SHUT_DBUS0 : R/W ;bitpos:[0] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to disable core0 dbus access L1-DCache, 0: enable, 1: disable.*/
|
||||
#define EXTMEM_DCACHE_SHUT_DBUS0 (BIT(0))
|
||||
#define EXTMEM_DCACHE_SHUT_DBUS0_M (BIT(0))
|
||||
#define EXTMEM_DCACHE_SHUT_DBUS0_V 0x1
|
||||
#define EXTMEM_DCACHE_SHUT_DBUS0_S 0
|
||||
|
||||
#define EXTMEM_CACHE_WRAP_AROUND_CTRL_REG (DR_REG_EXTMEM_BASE + 0x20)
|
||||
/* EXTMEM_DCACHE_WRAP : R/W ;bitpos:[4] ;default: 1'h0 ; */
|
||||
/*description: Set this bit as 1 to enable L1-DCache wrap around mode..*/
|
||||
#define EXTMEM_CACHE_FLASH_WRAP_AROUND (BIT(4))
|
||||
#define EXTMEM_CACHE_FLASH_WRAP_AROUND_M (BIT(4))
|
||||
#define EXTMEM_CACHE_FLASH_WRAP_AROUND_V 0x1
|
||||
#define EXTMEM_CACHE_FLASH_WRAP_AROUND_S 4
|
||||
|
||||
#define EXTMEM_CACHE_TAG_MEM_POWER_CTRL_REG (DR_REG_EXTMEM_BASE + 0x24)
|
||||
/* EXTMEM_DCACHE_TAG_MEM_FORCE_PU : R/W ;bitpos:[18] ;default: 1'h1 ; */
|
||||
/*description: The bit is used to power L1-DCache tag memory up. 0: follow rtc_lslp, 1: power u
|
||||
p.*/
|
||||
#define EXTMEM_DCACHE_TAG_MEM_FORCE_PU (BIT(18))
|
||||
#define EXTMEM_DCACHE_TAG_MEM_FORCE_PU_M (BIT(18))
|
||||
#define EXTMEM_DCACHE_TAG_MEM_FORCE_PU_V 0x1
|
||||
#define EXTMEM_DCACHE_TAG_MEM_FORCE_PU_S 18
|
||||
/* EXTMEM_DCACHE_TAG_MEM_FORCE_PD : R/W ;bitpos:[17] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to power L1-DCache tag memory down. 0: follow rtc_lslp, 1: power
|
||||
down.*/
|
||||
#define EXTMEM_DCACHE_TAG_MEM_FORCE_PD (BIT(17))
|
||||
#define EXTMEM_DCACHE_TAG_MEM_FORCE_PD_M (BIT(17))
|
||||
#define EXTMEM_DCACHE_TAG_MEM_FORCE_PD_V 0x1
|
||||
#define EXTMEM_DCACHE_TAG_MEM_FORCE_PD_S 17
|
||||
/* EXTMEM_DCACHE_TAG_MEM_FORCE_ON : R/W ;bitpos:[16] ;default: 1'h1 ; */
|
||||
/*description: The bit is used to close clock gating of L1-DCache tag memory. 1: close gating,
|
||||
0: open clock gating..*/
|
||||
#define EXTMEM_DCACHE_TAG_MEM_FORCE_ON (BIT(16))
|
||||
#define EXTMEM_DCACHE_TAG_MEM_FORCE_ON_M (BIT(16))
|
||||
#define EXTMEM_DCACHE_TAG_MEM_FORCE_ON_V 0x1
|
||||
#define EXTMEM_DCACHE_TAG_MEM_FORCE_ON_S 16
|
||||
|
||||
#define EXTMEM_CACHE_DATA_MEM_POWER_CTRL_REG (DR_REG_EXTMEM_BASE + 0x28)
|
||||
/* EXTMEM_DCACHE_DATA_MEM_FORCE_PU : R/W ;bitpos:[18] ;default: 1'h1 ; */
|
||||
/*description: The bit is used to power L1-DCache data memory up. 0: follow rtc_lslp, 1: power
|
||||
up.*/
|
||||
#define EXTMEM_DCACHE_DATA_MEM_FORCE_PU (BIT(18))
|
||||
#define EXTMEM_DCACHE_DATA_MEM_FORCE_PU_M (BIT(18))
|
||||
#define EXTMEM_DCACHE_DATA_MEM_FORCE_PU_V 0x1
|
||||
#define EXTMEM_DCACHE_DATA_MEM_FORCE_PU_S 18
|
||||
/* EXTMEM_DCACHE_DATA_MEM_FORCE_PD : R/W ;bitpos:[17] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to power L1-DCache data memory down. 0: follow rtc_lslp, 1: powe
|
||||
r down.*/
|
||||
#define EXTMEM_DCACHE_DATA_MEM_FORCE_PD (BIT(17))
|
||||
#define EXTMEM_DCACHE_DATA_MEM_FORCE_PD_M (BIT(17))
|
||||
#define EXTMEM_DCACHE_DATA_MEM_FORCE_PD_V 0x1
|
||||
#define EXTMEM_DCACHE_DATA_MEM_FORCE_PD_S 17
|
||||
/* EXTMEM_DCACHE_DATA_MEM_FORCE_ON : R/W ;bitpos:[16] ;default: 1'h1 ; */
|
||||
/*description: The bit is used to close clock gating of L1-DCache data memory. 1: close gating
|
||||
, 0: open clock gating..*/
|
||||
#define EXTMEM_DCACHE_DATA_MEM_FORCE_ON (BIT(16))
|
||||
#define EXTMEM_DCACHE_DATA_MEM_FORCE_ON_M (BIT(16))
|
||||
#define EXTMEM_DCACHE_DATA_MEM_FORCE_ON_V 0x1
|
||||
#define EXTMEM_DCACHE_DATA_MEM_FORCE_ON_S 16
|
||||
|
||||
#define EXTMEM_CACHE_FREEZE_CTRL_REG (DR_REG_EXTMEM_BASE + 0x2C)
|
||||
/* EXTMEM_DCACHE_FREEZE_DONE : RO ;bitpos:[18] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to indicate whether freeze operation on L1-DCache is finished or
|
||||
not. 0: not finished. 1: finished..*/
|
||||
#define EXTMEM_DCACHE_FREEZE_DONE (BIT(18))
|
||||
#define EXTMEM_DCACHE_FREEZE_DONE_M (BIT(18))
|
||||
#define EXTMEM_DCACHE_FREEZE_DONE_V 0x1
|
||||
#define EXTMEM_DCACHE_FREEZE_DONE_S 18
|
||||
/* EXTMEM_DCACHE_FREEZE_MODE : R/W ;bitpos:[17] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to configure mode of freeze operation L1-DCache. 0: a miss-acces
|
||||
s will not stuck. 1: a miss-access will stuck..*/
|
||||
#define EXTMEM_DCACHE_FREEZE_MODE (BIT(17))
|
||||
#define EXTMEM_DCACHE_FREEZE_MODE_M (BIT(17))
|
||||
#define EXTMEM_DCACHE_FREEZE_MODE_V 0x1
|
||||
#define EXTMEM_DCACHE_FREEZE_MODE_S 17
|
||||
/* EXTMEM_DCACHE_FREEZE_EN : R/W ;bitpos:[16] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to enable freeze operation on L1-DCache. It can be cleared by so
|
||||
ftware..*/
|
||||
#define EXTMEM_DCACHE_FREEZE_EN (BIT(16))
|
||||
#define EXTMEM_DCACHE_FREEZE_EN_M (BIT(16))
|
||||
#define EXTMEM_DCACHE_FREEZE_EN_V 0x1
|
||||
#define EXTMEM_DCACHE_FREEZE_EN_S 16
|
||||
|
||||
#define EXTMEM_CACHE_DATA_MEM_ACS_CONF_REG (DR_REG_EXTMEM_BASE + 0x30)
|
||||
/* EXTMEM_DCACHE_DATA_MEM_WR_EN : R/W ;bitpos:[17] ;default: 1'h1 ; */
|
||||
/*description: The bit is used to enable config-bus write L1-DCache data memoryory. 0: disable,
|
||||
1: enable..*/
|
||||
#define EXTMEM_DCACHE_DATA_MEM_WR_EN (BIT(17))
|
||||
#define EXTMEM_DCACHE_DATA_MEM_WR_EN_M (BIT(17))
|
||||
#define EXTMEM_DCACHE_DATA_MEM_WR_EN_V 0x1
|
||||
#define EXTMEM_DCACHE_DATA_MEM_WR_EN_S 17
|
||||
/* EXTMEM_DCACHE_DATA_MEM_RD_EN : R/W ;bitpos:[16] ;default: 1'h1 ; */
|
||||
/*description: The bit is used to enable config-bus read L1-DCache data memoryory. 0: disable,
|
||||
1: enable..*/
|
||||
#define EXTMEM_DCACHE_DATA_MEM_RD_EN (BIT(16))
|
||||
#define EXTMEM_DCACHE_DATA_MEM_RD_EN_M (BIT(16))
|
||||
#define EXTMEM_DCACHE_DATA_MEM_RD_EN_V 0x1
|
||||
#define EXTMEM_DCACHE_DATA_MEM_RD_EN_S 16
|
||||
|
||||
#define EXTMEM_CACHE_TAG_MEM_ACS_CONF_REG (DR_REG_EXTMEM_BASE + 0x34)
|
||||
/* EXTMEM_DCACHE_TAG_MEM_WR_EN : R/W ;bitpos:[17] ;default: 1'h1 ; */
|
||||
/*description: The bit is used to enable config-bus write L1-DCache tag memoryory. 0: disable,
|
||||
1: enable..*/
|
||||
#define EXTMEM_DCACHE_TAG_MEM_WR_EN (BIT(17))
|
||||
#define EXTMEM_DCACHE_TAG_MEM_WR_EN_M (BIT(17))
|
||||
#define EXTMEM_DCACHE_TAG_MEM_WR_EN_V 0x1
|
||||
#define EXTMEM_DCACHE_TAG_MEM_WR_EN_S 17
|
||||
/* EXTMEM_DCACHE_TAG_MEM_RD_EN : R/W ;bitpos:[16] ;default: 1'h1 ; */
|
||||
/*description: The bit is used to enable config-bus read L1-DCache tag memoryory. 0: disable, 1
|
||||
: enable..*/
|
||||
#define EXTMEM_DCACHE_TAG_MEM_RD_EN (BIT(16))
|
||||
#define EXTMEM_DCACHE_TAG_MEM_RD_EN_M (BIT(16))
|
||||
#define EXTMEM_DCACHE_TAG_MEM_RD_EN_V 0x1
|
||||
#define EXTMEM_DCACHE_TAG_MEM_RD_EN_S 16
|
||||
|
||||
#define EXTMEM_DCACHE_PRELOCK_CONF_REG (DR_REG_EXTMEM_BASE + 0x78)
|
||||
/* EXTMEM_DCACHE_PRELOCK_RGID : HRO ;bitpos:[5:2] ;default: 4'h0 ; */
|
||||
/*description: The bit is used to set the gid of l1 dcache prelock..*/
|
||||
#define EXTMEM_DCACHE_PRELOCK_RGID 0x0000000F
|
||||
#define EXTMEM_DCACHE_PRELOCK_RGID_M ((EXTMEM_DCACHE_PRELOCK_RGID_V)<<(EXTMEM_DCACHE_PRELOCK_RGID_S))
|
||||
#define EXTMEM_DCACHE_PRELOCK_RGID_V 0xF
|
||||
#define EXTMEM_DCACHE_PRELOCK_RGID_S 2
|
||||
/* EXTMEM_DCACHE_PRELOCK_SCT1_EN : R/W ;bitpos:[1] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to enable the second section of prelock function on L1-DCache..*/
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT1_EN (BIT(1))
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT1_EN_M (BIT(1))
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT1_EN_V 0x1
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT1_EN_S 1
|
||||
/* EXTMEM_DCACHE_PRELOCK_SCT0_EN : R/W ;bitpos:[0] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to enable the first section of prelock function on L1-DCache..*/
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT0_EN (BIT(0))
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT0_EN_M (BIT(0))
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT0_EN_V 0x1
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT0_EN_S 0
|
||||
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT0_ADDR_REG (DR_REG_EXTMEM_BASE + 0x7C)
|
||||
/* EXTMEM_DCACHE_PRELOCK_SCT0_ADDR : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: Those bits are used to configure the start virtual address of the first section
|
||||
of prelock on L1-DCache, which should be used together with L1_DCACHE_PRELOCK_SC
|
||||
T0_SIZE_REG.*/
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT0_ADDR 0xFFFFFFFF
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT0_ADDR_M ((EXTMEM_DCACHE_PRELOCK_SCT0_ADDR_V)<<(EXTMEM_DCACHE_PRELOCK_SCT0_ADDR_S))
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT0_ADDR_V 0xFFFFFFFF
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT0_ADDR_S 0
|
||||
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT1_ADDR_REG (DR_REG_EXTMEM_BASE + 0x80)
|
||||
/* EXTMEM_DCACHE_PRELOCK_SCT1_ADDR : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: Those bits are used to configure the start virtual address of the second section
|
||||
of prelock on L1-DCache, which should be used together with L1_DCACHE_PRELOCK_S
|
||||
CT1_SIZE_REG.*/
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT1_ADDR 0xFFFFFFFF
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT1_ADDR_M ((EXTMEM_DCACHE_PRELOCK_SCT1_ADDR_V)<<(EXTMEM_DCACHE_PRELOCK_SCT1_ADDR_S))
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT1_ADDR_V 0xFFFFFFFF
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT1_ADDR_S 0
|
||||
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT_SIZE_REG (DR_REG_EXTMEM_BASE + 0x84)
|
||||
/* EXTMEM_DCACHE_PRELOCK_SCT1_SIZE : R/W ;bitpos:[29:16] ;default: 14'h3fff ; */
|
||||
/*description: Those bits are used to configure the size of the second section of prelock on L1
|
||||
-DCache, which should be used together with L1_DCACHE_PRELOCK_SCT1_ADDR_REG.*/
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT1_SIZE 0x00003FFF
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT1_SIZE_M ((EXTMEM_DCACHE_PRELOCK_SCT1_SIZE_V)<<(EXTMEM_DCACHE_PRELOCK_SCT1_SIZE_S))
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT1_SIZE_V 0x3FFF
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT1_SIZE_S 16
|
||||
/* EXTMEM_DCACHE_PRELOCK_SCT0_SIZE : R/W ;bitpos:[13:0] ;default: 14'h3fff ; */
|
||||
/*description: Those bits are used to configure the size of the first section of prelock on L1-
|
||||
DCache, which should be used together with L1_DCACHE_PRELOCK_SCT0_ADDR_REG.*/
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT0_SIZE 0x00003FFF
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT0_SIZE_M ((EXTMEM_DCACHE_PRELOCK_SCT0_SIZE_V)<<(EXTMEM_DCACHE_PRELOCK_SCT0_SIZE_S))
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT0_SIZE_V 0x3FFF
|
||||
#define EXTMEM_DCACHE_PRELOCK_SCT0_SIZE_S 0
|
||||
|
||||
#define EXTMEM_CACHE_LOCK_CTRL_REG (DR_REG_EXTMEM_BASE + 0x88)
|
||||
/* EXTMEM_CACHE_LOCK_RGID : HRO ;bitpos:[6:3] ;default: 4'h0 ; */
|
||||
/*description: The bit is used to set the gid of cache lock/unlock..*/
|
||||
#define EXTMEM_CACHE_LOCK_RGID 0x0000000F
|
||||
#define EXTMEM_CACHE_LOCK_RGID_M ((EXTMEM_CACHE_LOCK_RGID_V)<<(EXTMEM_CACHE_LOCK_RGID_S))
|
||||
#define EXTMEM_CACHE_LOCK_RGID_V 0xF
|
||||
#define EXTMEM_CACHE_LOCK_RGID_S 3
|
||||
/* EXTMEM_CACHE_LOCK_DONE : RO ;bitpos:[2] ;default: 1'h1 ; */
|
||||
/*description: The bit is used to indicate whether unlock/lock operation is finished or not. 0:
|
||||
not finished. 1: finished..*/
|
||||
#define EXTMEM_CACHE_LOCK_DONE (BIT(2))
|
||||
#define EXTMEM_CACHE_LOCK_DONE_M (BIT(2))
|
||||
#define EXTMEM_CACHE_LOCK_DONE_V 0x1
|
||||
#define EXTMEM_CACHE_LOCK_DONE_S 2
|
||||
/* EXTMEM_CACHE_UNLOCK_ENA : R/W/SC ;bitpos:[1] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to enable unlock operation. It will be cleared by hardware after
|
||||
unlock operation done. Note that (1) this bit and lock_ena bit are mutually exc
|
||||
lusive, that is, those bits can not be set to 1 at the same time. (2) unlock ope
|
||||
ration can be applied on L1-ICache, L1-DCache and L2-Cache..*/
|
||||
#define EXTMEM_CACHE_UNLOCK_ENA (BIT(1))
|
||||
#define EXTMEM_CACHE_UNLOCK_ENA_M (BIT(1))
|
||||
#define EXTMEM_CACHE_UNLOCK_ENA_V 0x1
|
||||
#define EXTMEM_CACHE_UNLOCK_ENA_S 1
|
||||
/* EXTMEM_CACHE_LOCK_ENA : R/W/SC ;bitpos:[0] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to enable lock operation. It will be cleared by hardware after l
|
||||
ock operation done. Note that (1) this bit and unlock_ena bit are mutually exclu
|
||||
sive, that is, those bits can not be set to 1 at the same time. (2) lock operati
|
||||
on can be applied on LL1-ICache, L1-DCache and L2-Cache..*/
|
||||
#define EXTMEM_CACHE_LOCK_ENA (BIT(0))
|
||||
#define EXTMEM_CACHE_LOCK_ENA_M (BIT(0))
|
||||
#define EXTMEM_CACHE_LOCK_ENA_V 0x1
|
||||
#define EXTMEM_CACHE_LOCK_ENA_S 0
|
||||
|
||||
#define EXTMEM_CACHE_LOCK_MAP_REG (DR_REG_EXTMEM_BASE + 0x8C)
|
||||
/* EXTMEM_CACHE_LOCK_MAP : R/W ;bitpos:[5:0] ;default: 6'h0 ; */
|
||||
/*description: Those bits are used to indicate which caches in the two-level cache structure wi
|
||||
ll apply this lock/unlock operation. [0]: L1-ICache0, [1]: L1-ICache1, [2]: L1-I
|
||||
Cache2, [3]: L1-ICache3, [4]: L1-DCache, [5]: L2-Cache..*/
|
||||
#define EXTMEM_CACHE_LOCK_MAP 0x0000003F
|
||||
#define EXTMEM_CACHE_LOCK_MAP_M ((EXTMEM_CACHE_LOCK_MAP_V)<<(EXTMEM_CACHE_LOCK_MAP_S))
|
||||
#define EXTMEM_CACHE_LOCK_MAP_V 0x3F
|
||||
#define EXTMEM_CACHE_LOCK_MAP_S 0
|
||||
|
||||
#define EXTMEM_CACHE_LOCK_ADDR_REG (DR_REG_EXTMEM_BASE + 0x90)
|
||||
/* EXTMEM_CACHE_LOCK_ADDR : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: Those bits are used to configure the start virtual address of the lock/unlock op
|
||||
eration, which should be used together with CACHE_LOCK_SIZE_REG.*/
|
||||
#define EXTMEM_CACHE_LOCK_ADDR 0xFFFFFFFF
|
||||
#define EXTMEM_CACHE_LOCK_ADDR_M ((EXTMEM_CACHE_LOCK_ADDR_V)<<(EXTMEM_CACHE_LOCK_ADDR_S))
|
||||
#define EXTMEM_CACHE_LOCK_ADDR_V 0xFFFFFFFF
|
||||
#define EXTMEM_CACHE_LOCK_ADDR_S 0
|
||||
|
||||
#define EXTMEM_CACHE_LOCK_SIZE_REG (DR_REG_EXTMEM_BASE + 0x94)
|
||||
/* EXTMEM_CACHE_LOCK_SIZE : R/W ;bitpos:[15:0] ;default: 16'h0 ; */
|
||||
/*description: Those bits are used to configure the size of the lock/unlock operation, which sh
|
||||
ould be used together with CACHE_LOCK_ADDR_REG.*/
|
||||
#define EXTMEM_CACHE_LOCK_SIZE 0x0000FFFF
|
||||
#define EXTMEM_CACHE_LOCK_SIZE_M ((EXTMEM_CACHE_LOCK_SIZE_V)<<(EXTMEM_CACHE_LOCK_SIZE_S))
|
||||
#define EXTMEM_CACHE_LOCK_SIZE_V 0xFFFF
|
||||
#define EXTMEM_CACHE_LOCK_SIZE_S 0
|
||||
|
||||
#define EXTMEM_CACHE_SYNC_CTRL_REG (DR_REG_EXTMEM_BASE + 0x98)
|
||||
/* EXTMEM_CACHE_SYNC_RGID : HRO ;bitpos:[8:5] ;default: 4'h0 ; */
|
||||
/*description: The bit is used to set the gid of cache sync operation (invalidate, clean, writ
|
||||
eback, writeback_invalidate).*/
|
||||
#define EXTMEM_CACHE_SYNC_RGID 0x0000000F
|
||||
#define EXTMEM_CACHE_SYNC_RGID_M ((EXTMEM_CACHE_SYNC_RGID_V)<<(EXTMEM_CACHE_SYNC_RGID_S))
|
||||
#define EXTMEM_CACHE_SYNC_RGID_V 0xF
|
||||
#define EXTMEM_CACHE_SYNC_RGID_S 5
|
||||
/* EXTMEM_CACHE_SYNC_DONE : RO ;bitpos:[4] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to indicate whether sync operation (invalidate, clean, writeback
|
||||
, writeback_invalidate) is finished or not. 0: not finished. 1: finished..*/
|
||||
#define EXTMEM_CACHE_SYNC_DONE (BIT(4))
|
||||
#define EXTMEM_CACHE_SYNC_DONE_M (BIT(4))
|
||||
#define EXTMEM_CACHE_SYNC_DONE_V 0x1
|
||||
#define EXTMEM_CACHE_SYNC_DONE_S 4
|
||||
/* EXTMEM_CACHE_WRITEBACK_INVALIDATE_ENA : R/W/SC ;bitpos:[3] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to enable writeback-invalidate operation. It will be cleared by
|
||||
hardware after writeback-invalidate operation done. Note that this bit and the o
|
||||
ther sync-bits (invalidate_ena, clean_ena, writeback_ena) are mutually exclusive
|
||||
, that is, those bits can not be set to 1 at the same time..*/
|
||||
#define EXTMEM_CACHE_WRITEBACK_INVALIDATE_ENA (BIT(3))
|
||||
#define EXTMEM_CACHE_WRITEBACK_INVALIDATE_ENA_M (BIT(3))
|
||||
#define EXTMEM_CACHE_WRITEBACK_INVALIDATE_ENA_V 0x1
|
||||
#define EXTMEM_CACHE_WRITEBACK_INVALIDATE_ENA_S 3
|
||||
/* EXTMEM_CACHE_WRITEBACK_ENA : R/W/SC ;bitpos:[2] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to enable writeback operation. It will be cleared by hardware af
|
||||
ter writeback operation done. Note that this bit and the other sync-bits (invali
|
||||
date_ena, clean_ena, writeback_invalidate_ena) are mutually exclusive, that is,
|
||||
those bits can not be set to 1 at the same time..*/
|
||||
#define EXTMEM_CACHE_WRITEBACK_ENA (BIT(2))
|
||||
#define EXTMEM_CACHE_WRITEBACK_ENA_M (BIT(2))
|
||||
#define EXTMEM_CACHE_WRITEBACK_ENA_V 0x1
|
||||
#define EXTMEM_CACHE_WRITEBACK_ENA_S 2
|
||||
/* EXTMEM_CACHE_CLEAN_ENA : R/W/SC ;bitpos:[1] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to enable clean operation. It will be cleared by hardware after
|
||||
clean operation done. Note that this bit and the other sync-bits (invalidate_ena
|
||||
, writeback_ena, writeback_invalidate_ena) are mutually exclusive, that is, thos
|
||||
e bits can not be set to 1 at the same time..*/
|
||||
#define EXTMEM_CACHE_CLEAN_ENA (BIT(1))
|
||||
#define EXTMEM_CACHE_CLEAN_ENA_M (BIT(1))
|
||||
#define EXTMEM_CACHE_CLEAN_ENA_V 0x1
|
||||
#define EXTMEM_CACHE_CLEAN_ENA_S 1
|
||||
/* EXTMEM_CACHE_INVALIDATE_ENA : R/W/SC ;bitpos:[0] ;default: 1'h1 ; */
|
||||
/*description: The bit is used to enable invalidate operation. It will be cleared by hardware a
|
||||
fter invalidate operation done. Note that this bit and the other sync-bits (clea
|
||||
n_ena, writeback_ena, writeback_invalidate_ena) are mutually exclusive, that is,
|
||||
those bits can not be set to 1 at the same time..*/
|
||||
#define EXTMEM_CACHE_INVALIDATE_ENA (BIT(0))
|
||||
#define EXTMEM_CACHE_INVALIDATE_ENA_M (BIT(0))
|
||||
#define EXTMEM_CACHE_INVALIDATE_ENA_V 0x1
|
||||
#define EXTMEM_CACHE_INVALIDATE_ENA_S 0
|
||||
|
||||
#define EXTMEM_CACHE_SYNC_MAP_REG (DR_REG_EXTMEM_BASE + 0x9C)
|
||||
/* EXTMEM_CACHE_SYNC_MAP : R/W ;bitpos:[5:0] ;default: 6'h3f ; */
|
||||
/*description: Those bits are used to indicate which caches in the two-level cache structure wi
|
||||
ll apply the sync operation. [0]: L1-ICache0, [1]: L1-ICache1, [2]: L1-ICache2,
|
||||
[3]: L1-ICache3, [4]: L1-DCache, [5]: L2-Cache..*/
|
||||
#define EXTMEM_CACHE_SYNC_MAP 0x0000003F
|
||||
#define EXTMEM_CACHE_SYNC_MAP_M ((EXTMEM_CACHE_SYNC_MAP_V)<<(EXTMEM_CACHE_SYNC_MAP_S))
|
||||
#define EXTMEM_CACHE_SYNC_MAP_V 0x3F
|
||||
#define EXTMEM_CACHE_SYNC_MAP_S 0
|
||||
|
||||
#define EXTMEM_CACHE_SYNC_ADDR_REG (DR_REG_EXTMEM_BASE + 0xA0)
|
||||
/* EXTMEM_CACHE_SYNC_ADDR : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: Those bits are used to configure the start virtual address of the sync operation
|
||||
, which should be used together with CACHE_SYNC_SIZE_REG.*/
|
||||
#define EXTMEM_CACHE_SYNC_ADDR 0xFFFFFFFF
|
||||
#define EXTMEM_CACHE_SYNC_ADDR_M ((EXTMEM_CACHE_SYNC_ADDR_V)<<(EXTMEM_CACHE_SYNC_ADDR_S))
|
||||
#define EXTMEM_CACHE_SYNC_ADDR_V 0xFFFFFFFF
|
||||
#define EXTMEM_CACHE_SYNC_ADDR_S 0
|
||||
|
||||
#define EXTMEM_CACHE_SYNC_SIZE_REG (DR_REG_EXTMEM_BASE + 0xA4)
|
||||
/* EXTMEM_CACHE_SYNC_SIZE : R/W ;bitpos:[23:0] ;default: 24'h0 ; */
|
||||
/*description: Those bits are used to configure the size of the sync operation, which should be
|
||||
used together with CACHE_SYNC_ADDR_REG.*/
|
||||
#define EXTMEM_CACHE_SYNC_SIZE 0x00FFFFFF
|
||||
#define EXTMEM_CACHE_SYNC_SIZE_M ((EXTMEM_CACHE_SYNC_SIZE_V)<<(EXTMEM_CACHE_SYNC_SIZE_S))
|
||||
#define EXTMEM_CACHE_SYNC_SIZE_V 0xFFFFFF
|
||||
#define EXTMEM_CACHE_SYNC_SIZE_S 0
|
||||
|
||||
#define EXTMEM_DCACHE_PRELOAD_CTRL_REG (DR_REG_EXTMEM_BASE + 0xD8)
|
||||
/* EXTMEM_DCACHE_PRELOAD_RGID : HRO ;bitpos:[6:3] ;default: 4'h0 ; */
|
||||
/*description: The bit is used to set the gid of l1 dcache preload..*/
|
||||
#define EXTMEM_DCACHE_PRELOAD_RGID 0x0000000F
|
||||
#define EXTMEM_DCACHE_PRELOAD_RGID_M ((EXTMEM_DCACHE_PRELOAD_RGID_V)<<(EXTMEM_DCACHE_PRELOAD_RGID_S))
|
||||
#define EXTMEM_DCACHE_PRELOAD_RGID_V 0xF
|
||||
#define EXTMEM_DCACHE_PRELOAD_RGID_S 3
|
||||
/* EXTMEM_DCACHE_PRELOAD_ORDER : R/W ;bitpos:[2] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to configure the direction of preload operation. 0: ascending, 1
|
||||
: descending..*/
|
||||
#define EXTMEM_DCACHE_PRELOAD_ORDER (BIT(2))
|
||||
#define EXTMEM_DCACHE_PRELOAD_ORDER_M (BIT(2))
|
||||
#define EXTMEM_DCACHE_PRELOAD_ORDER_V 0x1
|
||||
#define EXTMEM_DCACHE_PRELOAD_ORDER_S 2
|
||||
/* EXTMEM_DCACHE_PRELOAD_DONE : RO ;bitpos:[1] ;default: 1'h1 ; */
|
||||
/*description: The bit is used to indicate whether preload operation is finished or not. 0: not
|
||||
finished. 1: finished..*/
|
||||
#define EXTMEM_DCACHE_PRELOAD_DONE (BIT(1))
|
||||
#define EXTMEM_DCACHE_PRELOAD_DONE_M (BIT(1))
|
||||
#define EXTMEM_DCACHE_PRELOAD_DONE_V 0x1
|
||||
#define EXTMEM_DCACHE_PRELOAD_DONE_S 1
|
||||
/* EXTMEM_DCACHE_PRELOAD_ENA : R/W/SC ;bitpos:[0] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to enable preload operation on L1-DCache. It will be cleared by
|
||||
hardware automatically after preload operation is done..*/
|
||||
#define EXTMEM_DCACHE_PRELOAD_ENA (BIT(0))
|
||||
#define EXTMEM_DCACHE_PRELOAD_ENA_M (BIT(0))
|
||||
#define EXTMEM_DCACHE_PRELOAD_ENA_V 0x1
|
||||
#define EXTMEM_DCACHE_PRELOAD_ENA_S 0
|
||||
|
||||
#define EXTMEM_DCACHE_PRELOAD_ADDR_REG (DR_REG_EXTMEM_BASE + 0xDC)
|
||||
/* EXTMEM_DCACHE_PRELOAD_ADDR : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: Those bits are used to configure the start virtual address of preload on L1-DCac
|
||||
he, which should be used together with L1_DCACHE_PRELOAD_SIZE_REG.*/
|
||||
#define EXTMEM_DCACHE_PRELOAD_ADDR 0xFFFFFFFF
|
||||
#define EXTMEM_DCACHE_PRELOAD_ADDR_M ((EXTMEM_DCACHE_PRELOAD_ADDR_V)<<(EXTMEM_DCACHE_PRELOAD_ADDR_S))
|
||||
#define EXTMEM_DCACHE_PRELOAD_ADDR_V 0xFFFFFFFF
|
||||
#define EXTMEM_DCACHE_PRELOAD_ADDR_S 0
|
||||
|
||||
#define EXTMEM_DCACHE_PRELOAD_SIZE_REG (DR_REG_EXTMEM_BASE + 0xE0)
|
||||
/* EXTMEM_DCACHE_PRELOAD_SIZE : R/W ;bitpos:[13:0] ;default: 14'h0 ; */
|
||||
/*description: Those bits are used to configure the size of the first section of prelock on L1-
|
||||
DCache, which should be used together with L1_DCACHE_PRELOAD_ADDR_REG.*/
|
||||
#define EXTMEM_DCACHE_PRELOAD_SIZE 0x00003FFF
|
||||
#define EXTMEM_DCACHE_PRELOAD_SIZE_M ((EXTMEM_DCACHE_PRELOAD_SIZE_V)<<(EXTMEM_DCACHE_PRELOAD_SIZE_S))
|
||||
#define EXTMEM_DCACHE_PRELOAD_SIZE_V 0x3FFF
|
||||
#define EXTMEM_DCACHE_PRELOAD_SIZE_S 0
|
||||
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_CTRL_REG (DR_REG_EXTMEM_BASE + 0x134)
|
||||
/* EXTMEM_DCACHE_AUTOLOAD_SCT1_ENA : R/W ;bitpos:[9] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to enable the second section for autoload operation on L1-DCache
|
||||
..*/
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT1_ENA (BIT(9))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT1_ENA_M (BIT(9))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT1_ENA_V 0x1
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT1_ENA_S 9
|
||||
/* EXTMEM_DCACHE_AUTOLOAD_SCT0_ENA : R/W ;bitpos:[8] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to enable the first section for autoload operation on L1-DCache..*/
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT0_ENA (BIT(8))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT0_ENA_M (BIT(8))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT0_ENA_V 0x1
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT0_ENA_S 8
|
||||
/* EXTMEM_DCACHE_AUTOLOAD_TRIGGER_MODE : R/W ;bitpos:[4:3] ;default: 2'h0 ; */
|
||||
/*description: The field is used to configure trigger mode of autoload operation on L1-DCache.
|
||||
0/3: miss-trigger, 1: hit-trigger, 2: miss-hit-trigger..*/
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_TRIGGER_MODE 0x00000003
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_TRIGGER_MODE_M ((EXTMEM_DCACHE_AUTOLOAD_TRIGGER_MODE_V)<<(EXTMEM_DCACHE_AUTOLOAD_TRIGGER_MODE_S))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_TRIGGER_MODE_V 0x3
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_TRIGGER_MODE_S 3
|
||||
/* EXTMEM_DCACHE_AUTOLOAD_ORDER : R/W ;bitpos:[2] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to configure the direction of autoload operation on L1-DCache. 0
|
||||
: ascending. 1: descending..*/
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_ORDER (BIT(2))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_ORDER_M (BIT(2))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_ORDER_V 0x1
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_ORDER_S 2
|
||||
/* EXTMEM_DCACHE_AUTOLOAD_DONE : RO ;bitpos:[1] ;default: 1'h1 ; */
|
||||
/*description: The bit is used to indicate whether autoload operation on L1-DCache is finished
|
||||
or not. 0: not finished. 1: finished..*/
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_DONE (BIT(1))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_DONE_M (BIT(1))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_DONE_V 0x1
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_DONE_S 1
|
||||
/* EXTMEM_DCACHE_AUTOLOAD_ENA : R/W ;bitpos:[0] ;default: 1'h0 ; */
|
||||
/*description: The bit is used to enable and disable autoload operation on L1-DCache. 1: enabl
|
||||
e, 0: disable..*/
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_ENA (BIT(0))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_ENA_M (BIT(0))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_ENA_V 0x1
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_ENA_S 0
|
||||
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT0_ADDR_REG (DR_REG_EXTMEM_BASE + 0x138)
|
||||
/* EXTMEM_DCACHE_AUTOLOAD_SCT0_ADDR : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: Those bits are used to configure the start virtual address of the first section
|
||||
for autoload operation on L1-DCache. Note that it should be used together with L
|
||||
1_DCACHE_AUTOLOAD_SCT0_SIZE and L1_DCACHE_AUTOLOAD_SCT0_ENA..*/
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT0_ADDR 0xFFFFFFFF
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT0_ADDR_M ((EXTMEM_DCACHE_AUTOLOAD_SCT0_ADDR_V)<<(EXTMEM_DCACHE_AUTOLOAD_SCT0_ADDR_S))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT0_ADDR_V 0xFFFFFFFF
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT0_ADDR_S 0
|
||||
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT0_SIZE_REG (DR_REG_EXTMEM_BASE + 0x13C)
|
||||
/* EXTMEM_DCACHE_AUTOLOAD_SCT0_SIZE : R/W ;bitpos:[27:0] ;default: 28'h0 ; */
|
||||
/*description: Those bits are used to configure the size of the first section for autoload oper
|
||||
ation on L1-DCache. Note that it should be used together with L1_DCACHE_AUTOLOAD
|
||||
_SCT0_ADDR and L1_DCACHE_AUTOLOAD_SCT0_ENA..*/
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT0_SIZE 0x0FFFFFFF
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT0_SIZE_M ((EXTMEM_DCACHE_AUTOLOAD_SCT0_SIZE_V)<<(EXTMEM_DCACHE_AUTOLOAD_SCT0_SIZE_S))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT0_SIZE_V 0xFFFFFFF
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT0_SIZE_S 0
|
||||
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT1_ADDR_REG (DR_REG_EXTMEM_BASE + 0x140)
|
||||
/* EXTMEM_DCACHE_AUTOLOAD_SCT1_ADDR : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: Those bits are used to configure the start virtual address of the second section
|
||||
for autoload operation on L1-DCache. Note that it should be used together with
|
||||
L1_DCACHE_AUTOLOAD_SCT1_SIZE and L1_DCACHE_AUTOLOAD_SCT1_ENA..*/
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT1_ADDR 0xFFFFFFFF
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT1_ADDR_M ((EXTMEM_DCACHE_AUTOLOAD_SCT1_ADDR_V)<<(EXTMEM_DCACHE_AUTOLOAD_SCT1_ADDR_S))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT1_ADDR_V 0xFFFFFFFF
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT1_ADDR_S 0
|
||||
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT1_SIZE_REG (DR_REG_EXTMEM_BASE + 0x144)
|
||||
/* EXTMEM_DCACHE_AUTOLOAD_SCT1_SIZE : R/W ;bitpos:[27:0] ;default: 28'h0 ; */
|
||||
/*description: Those bits are used to configure the size of the second section for autoload ope
|
||||
ration on L1-DCache. Note that it should be used together with L1_DCACHE_AUTOLOA
|
||||
D_SCT1_ADDR and L1_DCACHE_AUTOLOAD_SCT1_ENA..*/
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT1_SIZE 0x0FFFFFFF
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT1_SIZE_M ((EXTMEM_DCACHE_AUTOLOAD_SCT1_SIZE_V)<<(EXTMEM_DCACHE_AUTOLOAD_SCT1_SIZE_S))
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT1_SIZE_V 0xFFFFFFF
|
||||
#define EXTMEM_DCACHE_AUTOLOAD_SCT1_SIZE_S 0
|
||||
|
||||
#define EXTMEM_CACHE_ACS_CNT_INT_ENA_REG (DR_REG_EXTMEM_BASE + 0x158)
|
||||
/* EXTMEM_DBUS1_OVF_INT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to enable interrupt of one of counters overflow that occurs in L
|
||||
1-DCache due to bus1 accesses L1-DCache..*/
|
||||
#define EXTMEM_DBUS1_OVF_INT_ENA (BIT(5))
|
||||
#define EXTMEM_DBUS1_OVF_INT_ENA_M (BIT(5))
|
||||
#define EXTMEM_DBUS1_OVF_INT_ENA_V 0x1
|
||||
#define EXTMEM_DBUS1_OVF_INT_ENA_S 5
|
||||
/* EXTMEM_DBUS0_OVF_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to enable interrupt of one of counters overflow that occurs in L
|
||||
1-DCache due to bus0 accesses L1-DCache..*/
|
||||
#define EXTMEM_DBUS0_OVF_INT_ENA (BIT(4))
|
||||
#define EXTMEM_DBUS0_OVF_INT_ENA_M (BIT(4))
|
||||
#define EXTMEM_DBUS0_OVF_INT_ENA_V 0x1
|
||||
#define EXTMEM_DBUS0_OVF_INT_ENA_S 4
|
||||
|
||||
#define EXTMEM_CACHE_ACS_CNT_INT_CLR_REG (DR_REG_EXTMEM_BASE + 0x15C)
|
||||
/* EXTMEM_DBUS1_OVF_INT_CLR : WT ;bitpos:[5] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to clear counters overflow interrupt and counters in L1-DCache d
|
||||
ue to bus1 accesses L1-DCache..*/
|
||||
#define EXTMEM_DBUS1_OVF_INT_CLR (BIT(5))
|
||||
#define EXTMEM_DBUS1_OVF_INT_CLR_M (BIT(5))
|
||||
#define EXTMEM_DBUS1_OVF_INT_CLR_V 0x1
|
||||
#define EXTMEM_DBUS1_OVF_INT_CLR_S 5
|
||||
/* EXTMEM_DBUS0_OVF_INT_CLR : WT ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to clear counters overflow interrupt and counters in L1-DCache d
|
||||
ue to bus0 accesses L1-DCache..*/
|
||||
#define EXTMEM_DBUS0_OVF_INT_CLR (BIT(4))
|
||||
#define EXTMEM_DBUS0_OVF_INT_CLR_M (BIT(4))
|
||||
#define EXTMEM_DBUS0_OVF_INT_CLR_V 0x1
|
||||
#define EXTMEM_DBUS0_OVF_INT_CLR_S 4
|
||||
|
||||
#define EXTMEM_CACHE_ACS_CNT_INT_RAW_REG (DR_REG_EXTMEM_BASE + 0x160)
|
||||
/* EXTMEM_DBUS1_OVF_INT_RAW : R/WTC/SS ;bitpos:[5] ;default: 1'b0 ; */
|
||||
/*description: The raw bit of the interrupt of one of counters overflow that occurs in L1-DCach
|
||||
e due to bus1 accesses L1-DCache..*/
|
||||
#define EXTMEM_DBUS1_OVF_INT_RAW (BIT(5))
|
||||
#define EXTMEM_DBUS1_OVF_INT_RAW_M (BIT(5))
|
||||
#define EXTMEM_DBUS1_OVF_INT_RAW_V 0x1
|
||||
#define EXTMEM_DBUS1_OVF_INT_RAW_S 5
|
||||
/* EXTMEM_DBUS0_OVF_INT_RAW : R/WTC/SS ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: The raw bit of the interrupt of one of counters overflow that occurs in L1-DCach
|
||||
e due to bus0 accesses L1-DCache..*/
|
||||
#define EXTMEM_DBUS0_OVF_INT_RAW (BIT(4))
|
||||
#define EXTMEM_DBUS0_OVF_INT_RAW_M (BIT(4))
|
||||
#define EXTMEM_DBUS0_OVF_INT_RAW_V 0x1
|
||||
#define EXTMEM_DBUS0_OVF_INT_RAW_S 4
|
||||
|
||||
#define EXTMEM_CACHE_ACS_CNT_INT_ST_REG (DR_REG_EXTMEM_BASE + 0x164)
|
||||
/* EXTMEM_DBUS1_OVF_INT_ST : RO ;bitpos:[5] ;default: 1'b0 ; */
|
||||
/*description: The bit indicates the interrupt status of one of counters overflow that occurs i
|
||||
n L1-DCache due to bus1 accesses L1-DCache..*/
|
||||
#define EXTMEM_DBUS1_OVF_INT_ST (BIT(5))
|
||||
#define EXTMEM_DBUS1_OVF_INT_ST_M (BIT(5))
|
||||
#define EXTMEM_DBUS1_OVF_INT_ST_V 0x1
|
||||
#define EXTMEM_DBUS1_OVF_INT_ST_S 5
|
||||
/* EXTMEM_DBUS0_OVF_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: The bit indicates the interrupt status of one of counters overflow that occurs i
|
||||
n L1-DCache due to bus0 accesses L1-DCache..*/
|
||||
#define EXTMEM_DBUS0_OVF_INT_ST (BIT(4))
|
||||
#define EXTMEM_DBUS0_OVF_INT_ST_M (BIT(4))
|
||||
#define EXTMEM_DBUS0_OVF_INT_ST_V 0x1
|
||||
#define EXTMEM_DBUS0_OVF_INT_ST_S 4
|
||||
|
||||
#define EXTMEM_CACHE_ACS_FAIL_INT_ENA_REG (DR_REG_EXTMEM_BASE + 0x168)
|
||||
/* EXTMEM_DCACHE_FAIL_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to enable interrupt of access fail that occurs in L1-DCache due
|
||||
to cpu accesses L1-DCache..*/
|
||||
#define EXTMEM_DCACHE_FAIL_INT_ENA (BIT(4))
|
||||
#define EXTMEM_DCACHE_FAIL_INT_ENA_M (BIT(4))
|
||||
#define EXTMEM_DCACHE_FAIL_INT_ENA_V 0x1
|
||||
#define EXTMEM_DCACHE_FAIL_INT_ENA_S 4
|
||||
|
||||
#define EXTMEM_CACHE_ACS_FAIL_INT_CLR_REG (DR_REG_EXTMEM_BASE + 0x16C)
|
||||
/* EXTMEM_DCACHE_FAIL_INT_CLR : WT ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to clear interrupt of access fail that occurs in L1-DCache due t
|
||||
o cpu accesses L1-DCache..*/
|
||||
#define EXTMEM_DCACHE_FAIL_INT_CLR (BIT(4))
|
||||
#define EXTMEM_DCACHE_FAIL_INT_CLR_M (BIT(4))
|
||||
#define EXTMEM_DCACHE_FAIL_INT_CLR_V 0x1
|
||||
#define EXTMEM_DCACHE_FAIL_INT_CLR_S 4
|
||||
|
||||
#define EXTMEM_CACHE_ACS_FAIL_INT_RAW_REG (DR_REG_EXTMEM_BASE + 0x170)
|
||||
/* EXTMEM_DCACHE_FAIL_INT_RAW : R/WTC/SS ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: The raw bit of the interrupt of access fail that occurs in L1-DCache..*/
|
||||
#define EXTMEM_DCACHE_FAIL_INT_RAW (BIT(4))
|
||||
#define EXTMEM_DCACHE_FAIL_INT_RAW_M (BIT(4))
|
||||
#define EXTMEM_DCACHE_FAIL_INT_RAW_V 0x1
|
||||
#define EXTMEM_DCACHE_FAIL_INT_RAW_S 4
|
||||
|
||||
#define EXTMEM_CACHE_ACS_FAIL_INT_ST_REG (DR_REG_EXTMEM_BASE + 0x174)
|
||||
/* EXTMEM_DCACHE_FAIL_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: The bit indicates the interrupt status of access fail that occurs in L1-DCache d
|
||||
ue to cpu accesses L1-DCache..*/
|
||||
#define EXTMEM_DCACHE_FAIL_INT_ST (BIT(4))
|
||||
#define EXTMEM_DCACHE_FAIL_INT_ST_M (BIT(4))
|
||||
#define EXTMEM_DCACHE_FAIL_INT_ST_V 0x1
|
||||
#define EXTMEM_DCACHE_FAIL_INT_ST_S 4
|
||||
|
||||
#define EXTMEM_CACHE_ACS_CNT_CTRL_REG (DR_REG_EXTMEM_BASE + 0x178)
|
||||
/* EXTMEM_DBUS1_CNT_CLR : WT ;bitpos:[21] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to clear dbus1 counter in L1-DCache..*/
|
||||
#define EXTMEM_DBUS1_CNT_CLR (BIT(21))
|
||||
#define EXTMEM_DBUS1_CNT_CLR_M (BIT(21))
|
||||
#define EXTMEM_DBUS1_CNT_CLR_V 0x1
|
||||
#define EXTMEM_DBUS1_CNT_CLR_S 21
|
||||
/* EXTMEM_DBUS0_CNT_CLR : WT ;bitpos:[20] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to clear dbus0 counter in L1-DCache..*/
|
||||
#define EXTMEM_DBUS0_CNT_CLR (BIT(20))
|
||||
#define EXTMEM_DBUS0_CNT_CLR_M (BIT(20))
|
||||
#define EXTMEM_DBUS0_CNT_CLR_V 0x1
|
||||
#define EXTMEM_DBUS0_CNT_CLR_S 20
|
||||
/* EXTMEM_DBUS1_CNT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to enable dbus1 counter in L1-DCache..*/
|
||||
#define EXTMEM_DBUS1_CNT_ENA (BIT(5))
|
||||
#define EXTMEM_DBUS1_CNT_ENA_M (BIT(5))
|
||||
#define EXTMEM_DBUS1_CNT_ENA_V 0x1
|
||||
#define EXTMEM_DBUS1_CNT_ENA_S 5
|
||||
/* EXTMEM_DBUS0_CNT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to enable dbus0 counter in L1-DCache..*/
|
||||
#define EXTMEM_DBUS0_CNT_ENA (BIT(4))
|
||||
#define EXTMEM_DBUS0_CNT_ENA_M (BIT(4))
|
||||
#define EXTMEM_DBUS0_CNT_ENA_V 0x1
|
||||
#define EXTMEM_DBUS0_CNT_ENA_S 4
|
||||
|
||||
#define EXTMEM_DBUS0_ACS_HIT_CNT_REG (DR_REG_EXTMEM_BASE + 0x1BC)
|
||||
/* EXTMEM_DBUS0_HIT_CNT : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: The register records the number of hits when bus0 accesses L1-DCache..*/
|
||||
#define EXTMEM_DBUS0_HIT_CNT 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS0_HIT_CNT_M ((EXTMEM_DBUS0_HIT_CNT_V)<<(EXTMEM_DBUS0_HIT_CNT_S))
|
||||
#define EXTMEM_DBUS0_HIT_CNT_V 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS0_HIT_CNT_S 0
|
||||
|
||||
#define EXTMEM_DBUS0_ACS_MISS_CNT_REG (DR_REG_EXTMEM_BASE + 0x1C0)
|
||||
/* EXTMEM_DBUS0_MISS_CNT : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: The register records the number of missing when bus0 accesses L1-DCache..*/
|
||||
#define EXTMEM_DBUS0_MISS_CNT 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS0_MISS_CNT_M ((EXTMEM_DBUS0_MISS_CNT_V)<<(EXTMEM_DBUS0_MISS_CNT_S))
|
||||
#define EXTMEM_DBUS0_MISS_CNT_V 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS0_MISS_CNT_S 0
|
||||
|
||||
#define EXTMEM_DBUS0_ACS_CONFLICT_CNT_REG (DR_REG_EXTMEM_BASE + 0x1C4)
|
||||
/* EXTMEM_DBUS0_CONFLICT_CNT : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: The register records the number of access-conflicts when bus0 accesses L1-DCache
|
||||
..*/
|
||||
#define EXTMEM_DBUS0_CONFLICT_CNT 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS0_CONFLICT_CNT_M ((EXTMEM_DBUS0_CONFLICT_CNT_V)<<(EXTMEM_DBUS0_CONFLICT_CNT_S))
|
||||
#define EXTMEM_DBUS0_CONFLICT_CNT_V 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS0_CONFLICT_CNT_S 0
|
||||
|
||||
#define EXTMEM_DBUS0_ACS_NXTLVL_CNT_REG (DR_REG_EXTMEM_BASE + 0x1C8)
|
||||
/* EXTMEM_DBUS0_NXTLVL_CNT : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: The register records the number of times that L1-DCache accesses L2-Cache due to
|
||||
bus0 accessing L1-DCache..*/
|
||||
#define EXTMEM_DBUS0_NXTLVL_CNT 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS0_NXTLVL_CNT_M ((EXTMEM_DBUS0_NXTLVL_CNT_V)<<(EXTMEM_DBUS0_NXTLVL_CNT_S))
|
||||
#define EXTMEM_DBUS0_NXTLVL_CNT_V 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS0_NXTLVL_CNT_S 0
|
||||
|
||||
#define EXTMEM_DBUS1_ACS_HIT_CNT_REG (DR_REG_EXTMEM_BASE + 0x1CC)
|
||||
/* EXTMEM_DBUS1_HIT_CNT : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: The register records the number of hits when bus1 accesses L1-DCache..*/
|
||||
#define EXTMEM_DBUS1_HIT_CNT 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS1_HIT_CNT_M ((EXTMEM_DBUS1_HIT_CNT_V)<<(EXTMEM_DBUS1_HIT_CNT_S))
|
||||
#define EXTMEM_DBUS1_HIT_CNT_V 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS1_HIT_CNT_S 0
|
||||
|
||||
#define EXTMEM_DBUS1_ACS_MISS_CNT_REG (DR_REG_EXTMEM_BASE + 0x1D0)
|
||||
/* EXTMEM_DBUS1_MISS_CNT : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: The register records the number of missing when bus1 accesses L1-DCache..*/
|
||||
#define EXTMEM_DBUS1_MISS_CNT 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS1_MISS_CNT_M ((EXTMEM_DBUS1_MISS_CNT_V)<<(EXTMEM_DBUS1_MISS_CNT_S))
|
||||
#define EXTMEM_DBUS1_MISS_CNT_V 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS1_MISS_CNT_S 0
|
||||
|
||||
#define EXTMEM_DBUS1_ACS_CONFLICT_CNT_REG (DR_REG_EXTMEM_BASE + 0x1D4)
|
||||
/* EXTMEM_DBUS1_CONFLICT_CNT : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: The register records the number of access-conflicts when bus1 accesses L1-DCache
|
||||
..*/
|
||||
#define EXTMEM_DBUS1_CONFLICT_CNT 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS1_CONFLICT_CNT_M ((EXTMEM_DBUS1_CONFLICT_CNT_V)<<(EXTMEM_DBUS1_CONFLICT_CNT_S))
|
||||
#define EXTMEM_DBUS1_CONFLICT_CNT_V 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS1_CONFLICT_CNT_S 0
|
||||
|
||||
#define EXTMEM_DBUS1_ACS_NXTLVL_CNT_REG (DR_REG_EXTMEM_BASE + 0x1D8)
|
||||
/* EXTMEM_DBUS1_NXTLVL_CNT : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: The register records the number of times that L1-DCache accesses L2-Cache due to
|
||||
bus1 accessing L1-DCache..*/
|
||||
#define EXTMEM_DBUS1_NXTLVL_CNT 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS1_NXTLVL_CNT_M ((EXTMEM_DBUS1_NXTLVL_CNT_V)<<(EXTMEM_DBUS1_NXTLVL_CNT_S))
|
||||
#define EXTMEM_DBUS1_NXTLVL_CNT_V 0xFFFFFFFF
|
||||
#define EXTMEM_DBUS1_NXTLVL_CNT_S 0
|
||||
|
||||
#define EXTMEM_ICACHE0_ACS_FAIL_ID_ATTR_REG (DR_REG_EXTMEM_BASE + 0x1FC)
|
||||
/* EXTMEM_ICACHE0_FAIL_ATTR : RO ;bitpos:[31:16] ;default: 16'h0 ; */
|
||||
/*description: The register records the attribution of fail-access when cache0 accesses L1-ICac
|
||||
he..*/
|
||||
#define EXTMEM_ICACHE0_FAIL_ATTR 0x0000FFFF
|
||||
#define EXTMEM_ICACHE0_FAIL_ATTR_M ((EXTMEM_ICACHE0_FAIL_ATTR_V)<<(EXTMEM_ICACHE0_FAIL_ATTR_S))
|
||||
#define EXTMEM_ICACHE0_FAIL_ATTR_V 0xFFFF
|
||||
#define EXTMEM_ICACHE0_FAIL_ATTR_S 16
|
||||
/* EXTMEM_ICACHE0_FAIL_ID : RO ;bitpos:[15:0] ;default: 16'h0 ; */
|
||||
/*description: The register records the ID of fail-access when cache0 accesses L1-ICache..*/
|
||||
#define EXTMEM_ICACHE0_FAIL_ID 0x0000FFFF
|
||||
#define EXTMEM_ICACHE0_FAIL_ID_M ((EXTMEM_ICACHE0_FAIL_ID_V)<<(EXTMEM_ICACHE0_FAIL_ID_S))
|
||||
#define EXTMEM_ICACHE0_FAIL_ID_V 0xFFFF
|
||||
#define EXTMEM_ICACHE0_FAIL_ID_S 0
|
||||
|
||||
#define EXTMEM_ICACHE0_ACS_FAIL_ADDR_REG (DR_REG_EXTMEM_BASE + 0x200)
|
||||
/* EXTMEM_ICACHE0_FAIL_ADDR : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: The register records the address of fail-access when cache0 accesses L1-ICache..*/
|
||||
#define EXTMEM_ICACHE0_FAIL_ADDR 0xFFFFFFFF
|
||||
#define EXTMEM_ICACHE0_FAIL_ADDR_M ((EXTMEM_ICACHE0_FAIL_ADDR_V)<<(EXTMEM_ICACHE0_FAIL_ADDR_S))
|
||||
#define EXTMEM_ICACHE0_FAIL_ADDR_V 0xFFFFFFFF
|
||||
#define EXTMEM_ICACHE0_FAIL_ADDR_S 0
|
||||
|
||||
#define EXTMEM_ICACHE1_ACS_FAIL_ID_ATTR_REG (DR_REG_EXTMEM_BASE + 0x204)
|
||||
/* EXTMEM_ICACHE1_FAIL_ATTR : RO ;bitpos:[31:16] ;default: 16'h0 ; */
|
||||
/*description: The register records the attribution of fail-access when cache1 accesses L1-ICac
|
||||
he..*/
|
||||
#define EXTMEM_ICACHE1_FAIL_ATTR 0x0000FFFF
|
||||
#define EXTMEM_ICACHE1_FAIL_ATTR_M ((EXTMEM_ICACHE1_FAIL_ATTR_V)<<(EXTMEM_ICACHE1_FAIL_ATTR_S))
|
||||
#define EXTMEM_ICACHE1_FAIL_ATTR_V 0xFFFF
|
||||
#define EXTMEM_ICACHE1_FAIL_ATTR_S 16
|
||||
/* EXTMEM_ICACHE1_FAIL_ID : RO ;bitpos:[15:0] ;default: 16'h0 ; */
|
||||
/*description: The register records the ID of fail-access when cache1 accesses L1-ICache..*/
|
||||
#define EXTMEM_ICACHE1_FAIL_ID 0x0000FFFF
|
||||
#define EXTMEM_ICACHE1_FAIL_ID_M ((EXTMEM_ICACHE1_FAIL_ID_V)<<(EXTMEM_ICACHE1_FAIL_ID_S))
|
||||
#define EXTMEM_ICACHE1_FAIL_ID_V 0xFFFF
|
||||
#define EXTMEM_ICACHE1_FAIL_ID_S 0
|
||||
|
||||
#define EXTMEM_ICACHE1_ACS_FAIL_ADDR_REG (DR_REG_EXTMEM_BASE + 0x208)
|
||||
/* EXTMEM_ICACHE1_FAIL_ADDR : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: The register records the address of fail-access when cache1 accesses L1-ICache..*/
|
||||
#define EXTMEM_ICACHE1_FAIL_ADDR 0xFFFFFFFF
|
||||
#define EXTMEM_ICACHE1_FAIL_ADDR_M ((EXTMEM_ICACHE1_FAIL_ADDR_V)<<(EXTMEM_ICACHE1_FAIL_ADDR_S))
|
||||
#define EXTMEM_ICACHE1_FAIL_ADDR_V 0xFFFFFFFF
|
||||
#define EXTMEM_ICACHE1_FAIL_ADDR_S 0
|
||||
|
||||
#define EXTMEM_DCACHE_ACS_FAIL_ID_ATTR_REG (DR_REG_EXTMEM_BASE + 0x21C)
|
||||
/* EXTMEM_DCACHE_FAIL_ATTR : RO ;bitpos:[31:16] ;default: 16'h0 ; */
|
||||
/*description: The register records the attribution of fail-access when cache accesses L1-DCach
|
||||
e..*/
|
||||
#define EXTMEM_DCACHE_FAIL_ATTR 0x0000FFFF
|
||||
#define EXTMEM_DCACHE_FAIL_ATTR_M ((EXTMEM_DCACHE_FAIL_ATTR_V)<<(EXTMEM_DCACHE_FAIL_ATTR_S))
|
||||
#define EXTMEM_DCACHE_FAIL_ATTR_V 0xFFFF
|
||||
#define EXTMEM_DCACHE_FAIL_ATTR_S 16
|
||||
/* EXTMEM_DCACHE_FAIL_ID : RO ;bitpos:[15:0] ;default: 16'h0 ; */
|
||||
/*description: The register records the ID of fail-access when cache accesses L1-DCache..*/
|
||||
#define EXTMEM_DCACHE_FAIL_ID 0x0000FFFF
|
||||
#define EXTMEM_DCACHE_FAIL_ID_M ((EXTMEM_DCACHE_FAIL_ID_V)<<(EXTMEM_DCACHE_FAIL_ID_S))
|
||||
#define EXTMEM_DCACHE_FAIL_ID_V 0xFFFF
|
||||
#define EXTMEM_DCACHE_FAIL_ID_S 0
|
||||
|
||||
#define EXTMEM_DCACHE_ACS_FAIL_ADDR_REG (DR_REG_EXTMEM_BASE + 0x220)
|
||||
/* EXTMEM_DCACHE_FAIL_ADDR : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: The register records the address of fail-access when cache accesses L1-DCache..*/
|
||||
#define EXTMEM_DCACHE_FAIL_ADDR 0xFFFFFFFF
|
||||
#define EXTMEM_DCACHE_FAIL_ADDR_M ((EXTMEM_DCACHE_FAIL_ADDR_V)<<(EXTMEM_DCACHE_FAIL_ADDR_S))
|
||||
#define EXTMEM_DCACHE_FAIL_ADDR_V 0xFFFFFFFF
|
||||
#define EXTMEM_DCACHE_FAIL_ADDR_S 0
|
||||
|
||||
#define EXTMEM_CACHE_SYNC_PRELOAD_INT_ENA_REG (DR_REG_EXTMEM_BASE + 0x224)
|
||||
/* EXTMEM_CACHE_SYNC_ERR_INT_ENA : R/W ;bitpos:[13] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to enable interrupt of Cache sync-operation error..*/
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_ENA (BIT(13))
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_ENA_M (BIT(13))
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_ENA_V 0x1
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_ENA_S 13
|
||||
/* EXTMEM_DCACHE_PLD_ERR_INT_ENA : R/W ;bitpos:[11] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to enable interrupt of L1-DCache preload-operation error..*/
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_ENA (BIT(11))
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_ENA_M (BIT(11))
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_ENA_V 0x1
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_ENA_S 11
|
||||
/* EXTMEM_CACHE_SYNC_DONE_INT_ENA : R/W ;bitpos:[6] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to enable interrupt of Cache sync-operation done..*/
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_ENA (BIT(6))
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_ENA_M (BIT(6))
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_ENA_V 0x1
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_ENA_S 6
|
||||
/* EXTMEM_DCACHE_PLD_DONE_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to enable interrupt of L1-DCache preload-operation. If preload o
|
||||
peration is done, interrupt occurs..*/
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_ENA (BIT(4))
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_ENA_M (BIT(4))
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_ENA_V 0x1
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_ENA_S 4
|
||||
|
||||
#define EXTMEM_CACHE_SYNC_PRELOAD_INT_CLR_REG (DR_REG_EXTMEM_BASE + 0x228)
|
||||
/* EXTMEM_CACHE_SYNC_ERR_INT_CLR : WT ;bitpos:[13] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to clear interrupt of Cache sync-operation error..*/
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_CLR (BIT(13))
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_CLR_M (BIT(13))
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_CLR_V 0x1
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_CLR_S 13
|
||||
/* EXTMEM_DCACHE_PLD_ERR_INT_CLR : WT ;bitpos:[11] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to clear interrupt of L1-DCache preload-operation error..*/
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_CLR (BIT(11))
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_CLR_M (BIT(11))
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_CLR_V 0x1
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_CLR_S 11
|
||||
/* EXTMEM_CACHE_SYNC_DONE_INT_CLR : WT ;bitpos:[6] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to clear interrupt that occurs only when Cache sync-operation is
|
||||
done..*/
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_CLR (BIT(6))
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_CLR_M (BIT(6))
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_CLR_V 0x1
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_CLR_S 6
|
||||
/* EXTMEM_DCACHE_PLD_DONE_INT_CLR : WT ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to clear interrupt that occurs only when L1-DCache preload-opera
|
||||
tion is done..*/
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_CLR (BIT(4))
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_CLR_M (BIT(4))
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_CLR_V 0x1
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_CLR_S 4
|
||||
|
||||
#define EXTMEM_CACHE_SYNC_PRELOAD_INT_RAW_REG (DR_REG_EXTMEM_BASE + 0x22C)
|
||||
/* EXTMEM_CACHE_SYNC_ERR_INT_RAW : R/WTC/SS ;bitpos:[13] ;default: 1'b0 ; */
|
||||
/*description: The raw bit of the interrupt that occurs only when Cache sync-operation error oc
|
||||
curs..*/
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_RAW (BIT(13))
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_RAW_M (BIT(13))
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_RAW_V 0x1
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_RAW_S 13
|
||||
/* EXTMEM_DCACHE_PLD_ERR_INT_RAW : R/WTC/SS ;bitpos:[11] ;default: 1'b0 ; */
|
||||
/*description: The raw bit of the interrupt that occurs only when L1-DCache preload-operation e
|
||||
rror occurs..*/
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_RAW (BIT(11))
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_RAW_M (BIT(11))
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_RAW_V 0x1
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_RAW_S 11
|
||||
/* EXTMEM_CACHE_SYNC_DONE_INT_RAW : R/WTC/SS ;bitpos:[6] ;default: 1'b0 ; */
|
||||
/*description: The raw bit of the interrupt that occurs only when Cache sync-operation is done..*/
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_RAW (BIT(6))
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_RAW_M (BIT(6))
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_RAW_V 0x1
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_RAW_S 6
|
||||
/* EXTMEM_DCACHE_PLD_DONE_INT_RAW : R/WTC/SS ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: The raw bit of the interrupt that occurs only when L1-DCache preload-operation i
|
||||
s done..*/
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_RAW (BIT(4))
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_RAW_M (BIT(4))
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_RAW_V 0x1
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_RAW_S 4
|
||||
|
||||
#define EXTMEM_CACHE_SYNC_PRELOAD_INT_ST_REG (DR_REG_EXTMEM_BASE + 0x230)
|
||||
/* EXTMEM_CACHE_SYNC_ERR_INT_ST : RO ;bitpos:[13] ;default: 1'b0 ; */
|
||||
/*description: The bit indicates the status of the interrupt of Cache sync-operation error..*/
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_ST (BIT(13))
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_ST_M (BIT(13))
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_ST_V 0x1
|
||||
#define EXTMEM_CACHE_SYNC_ERR_INT_ST_S 13
|
||||
/* EXTMEM_DCACHE_PLD_ERR_INT_ST : RO ;bitpos:[11] ;default: 1'b0 ; */
|
||||
/*description: The bit indicates the status of the interrupt of L1-DCache preload-operation err
|
||||
or..*/
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_ST (BIT(11))
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_ST_M (BIT(11))
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_ST_V 0x1
|
||||
#define EXTMEM_DCACHE_PLD_ERR_INT_ST_S 11
|
||||
/* EXTMEM_CACHE_SYNC_DONE_INT_ST : RO ;bitpos:[6] ;default: 1'b0 ; */
|
||||
/*description: The bit indicates the status of the interrupt that occurs only when Cache sync-o
|
||||
peration is done..*/
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_ST (BIT(6))
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_ST_M (BIT(6))
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_ST_V 0x1
|
||||
#define EXTMEM_CACHE_SYNC_DONE_INT_ST_S 6
|
||||
/* EXTMEM_DCACHE_PLD_DONE_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: The bit indicates the status of the interrupt that occurs only when L1-DCache pr
|
||||
eload-operation is done..*/
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_ST (BIT(4))
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_ST_M (BIT(4))
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_ST_V 0x1
|
||||
#define EXTMEM_DCACHE_PLD_DONE_INT_ST_S 4
|
||||
|
||||
#define EXTMEM_CACHE_SYNC_PRELOAD_EXCEPTION_REG (DR_REG_EXTMEM_BASE + 0x234)
|
||||
/* EXTMEM_CACHE_SYNC_ERR_CODE : RO ;bitpos:[13:12] ;default: 2'h0 ; */
|
||||
/*description: The values 0-2 are available which means sync map, command conflict and size are
|
||||
error in Cache System..*/
|
||||
#define EXTMEM_CACHE_SYNC_ERR_CODE 0x00000003
|
||||
#define EXTMEM_CACHE_SYNC_ERR_CODE_M ((EXTMEM_CACHE_SYNC_ERR_CODE_V)<<(EXTMEM_CACHE_SYNC_ERR_CODE_S))
|
||||
#define EXTMEM_CACHE_SYNC_ERR_CODE_V 0x3
|
||||
#define EXTMEM_CACHE_SYNC_ERR_CODE_S 12
|
||||
/* EXTMEM_DCACHE_PLD_ERR_CODE : RO ;bitpos:[9:8] ;default: 2'h0 ; */
|
||||
/*description: The value 2 is Only available which means preload size is error in L1-DCache..*/
|
||||
#define EXTMEM_DCACHE_PLD_ERR_CODE 0x00000003
|
||||
#define EXTMEM_DCACHE_PLD_ERR_CODE_M ((EXTMEM_DCACHE_PLD_ERR_CODE_V)<<(EXTMEM_DCACHE_PLD_ERR_CODE_S))
|
||||
#define EXTMEM_DCACHE_PLD_ERR_CODE_V 0x3
|
||||
#define EXTMEM_DCACHE_PLD_ERR_CODE_S 8
|
||||
|
||||
#define EXTMEM_CACHE_SYNC_RST_CTRL_REG (DR_REG_EXTMEM_BASE + 0x238)
|
||||
/* EXTMEM_DCACHE_SYNC_RST : R/W ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: set this bit to reset sync-logic inside L1-DCache. Recommend that this should on
|
||||
ly be used to initialize sync-logic when some fatal error of sync-logic occurs..*/
|
||||
#define EXTMEM_DCACHE_SYNC_RST (BIT(4))
|
||||
#define EXTMEM_DCACHE_SYNC_RST_M (BIT(4))
|
||||
#define EXTMEM_DCACHE_SYNC_RST_V 0x1
|
||||
#define EXTMEM_DCACHE_SYNC_RST_S 4
|
||||
|
||||
#define EXTMEM_CACHE_PRELOAD_RST_CTRL_REG (DR_REG_EXTMEM_BASE + 0x23C)
|
||||
/* EXTMEM_DCACHE_PLD_RST : R/W ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: set this bit to reset preload-logic inside L1-DCache. Recommend that this should
|
||||
only be used to initialize preload-logic when some fatal error of preload-logic
|
||||
occurs..*/
|
||||
#define EXTMEM_DCACHE_PLD_RST (BIT(4))
|
||||
#define EXTMEM_DCACHE_PLD_RST_M (BIT(4))
|
||||
#define EXTMEM_DCACHE_PLD_RST_V 0x1
|
||||
#define EXTMEM_DCACHE_PLD_RST_S 4
|
||||
|
||||
#define EXTMEM_CACHE_AUTOLOAD_BUF_CLR_CTRL_REG (DR_REG_EXTMEM_BASE + 0x240)
|
||||
/* EXTMEM_DCACHE_ALD_BUF_CLR : R/W ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: set this bit to clear autoload-buffer inside L1-DCache. If this bit is active, a
|
||||
utoload will not work in L1-DCache. This bit should not be active when autoload
|
||||
works in L1-DCache..*/
|
||||
#define EXTMEM_DCACHE_ALD_BUF_CLR (BIT(4))
|
||||
#define EXTMEM_DCACHE_ALD_BUF_CLR_M (BIT(4))
|
||||
#define EXTMEM_DCACHE_ALD_BUF_CLR_V 0x1
|
||||
#define EXTMEM_DCACHE_ALD_BUF_CLR_S 4
|
||||
|
||||
#define EXTMEM_UNALLOCATE_BUFFER_CLEAR_REG (DR_REG_EXTMEM_BASE + 0x244)
|
||||
/* EXTMEM_DCACHE_UNALLOC_CLR : R/W ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: The bit is used to clear the unallocate request buffer of l1 dcache where the un
|
||||
allocate request is responsed but not completed..*/
|
||||
#define EXTMEM_DCACHE_UNALLOC_CLR (BIT(4))
|
||||
#define EXTMEM_DCACHE_UNALLOC_CLR_M (BIT(4))
|
||||
#define EXTMEM_DCACHE_UNALLOC_CLR_V 0x1
|
||||
#define EXTMEM_DCACHE_UNALLOC_CLR_S 4
|
||||
|
||||
#define EXTMEM_CACHE_OBJECT_CTRL_REG (DR_REG_EXTMEM_BASE + 0x248)
|
||||
/* EXTMEM_DCACHE_MEM_OBJECT : R/W ;bitpos:[10] ;default: 1'b0 ; */
|
||||
/*description: Set this bit to set L1-DCache data memory as object. This bit should be onehot w
|
||||
ith the others fields inside this register..*/
|
||||
#define EXTMEM_DCACHE_MEM_OBJECT (BIT(10))
|
||||
#define EXTMEM_DCACHE_MEM_OBJECT_M (BIT(10))
|
||||
#define EXTMEM_DCACHE_MEM_OBJECT_V 0x1
|
||||
#define EXTMEM_DCACHE_MEM_OBJECT_S 10
|
||||
/* EXTMEM_DCACHE_TAG_OBJECT : R/W ;bitpos:[4] ;default: 1'b0 ; */
|
||||
/*description: Set this bit to set L1-DCache tag memory as object. This bit should be onehot wi
|
||||
th the others fields inside this register..*/
|
||||
#define EXTMEM_DCACHE_TAG_OBJECT (BIT(4))
|
||||
#define EXTMEM_DCACHE_TAG_OBJECT_M (BIT(4))
|
||||
#define EXTMEM_DCACHE_TAG_OBJECT_V 0x1
|
||||
#define EXTMEM_DCACHE_TAG_OBJECT_S 4
|
||||
|
||||
#define EXTMEM_CACHE_WAY_OBJECT_REG (DR_REG_EXTMEM_BASE + 0x24C)
|
||||
/* EXTMEM_CACHE_WAY_OBJECT : R/W ;bitpos:[2:0] ;default: 3'h0 ; */
|
||||
/*description: Set this bits to select which way of the tag-object will be accessed. 0: way0, 1
|
||||
: way1, 2: way2, 3: way3, ?, 7: way7..*/
|
||||
#define EXTMEM_CACHE_WAY_OBJECT 0x00000007
|
||||
#define EXTMEM_CACHE_WAY_OBJECT_M ((EXTMEM_CACHE_WAY_OBJECT_V)<<(EXTMEM_CACHE_WAY_OBJECT_S))
|
||||
#define EXTMEM_CACHE_WAY_OBJECT_V 0x7
|
||||
#define EXTMEM_CACHE_WAY_OBJECT_S 0
|
||||
|
||||
#define EXTMEM_CACHE_VADDR_REG (DR_REG_EXTMEM_BASE + 0x250)
|
||||
/* EXTMEM_CACHE_VADDR : R/W ;bitpos:[31:0] ;default: 32'h40000000 ; */
|
||||
/*description: Those bits stores the virtual address which will decide where inside the specifi
|
||||
ed tag memory object will be accessed..*/
|
||||
#define EXTMEM_CACHE_VADDR 0xFFFFFFFF
|
||||
#define EXTMEM_CACHE_VADDR_M ((EXTMEM_CACHE_VADDR_V)<<(EXTMEM_CACHE_VADDR_S))
|
||||
#define EXTMEM_CACHE_VADDR_V 0xFFFFFFFF
|
||||
#define EXTMEM_CACHE_VADDR_S 0
|
||||
|
||||
#define EXTMEM_CACHE_DEBUG_BUS_REG (DR_REG_EXTMEM_BASE + 0x254)
|
||||
/* EXTMEM_CACHE_DEBUG_BUS : R/W ;bitpos:[31:0] ;default: 32'h254 ; */
|
||||
/*description: This is a constant place where we can write data to or read data from the tag/da
|
||||
ta memory on the specified cache..*/
|
||||
#define EXTMEM_CACHE_DEBUG_BUS 0xFFFFFFFF
|
||||
#define EXTMEM_CACHE_DEBUG_BUS_M ((EXTMEM_CACHE_DEBUG_BUS_V)<<(EXTMEM_CACHE_DEBUG_BUS_S))
|
||||
#define EXTMEM_CACHE_DEBUG_BUS_V 0xFFFFFFFF
|
||||
#define EXTMEM_CACHE_DEBUG_BUS_S 0
|
||||
|
||||
#define EXTMEM_DATE_REG (DR_REG_EXTMEM_BASE + 0x3FC)
|
||||
/* EXTMEM_DATE : R/W ;bitpos:[27:0] ;default: 28'h2202080 ; */
|
||||
/*description: version control register. Note that this default value stored is the latest date
|
||||
when the hardware logic was updated..*/
|
||||
#define EXTMEM_DATE 0x0FFFFFFF
|
||||
#define EXTMEM_DATE_M ((EXTMEM_DATE_V)<<(EXTMEM_DATE_S))
|
||||
#define EXTMEM_DATE_V 0xFFFFFFF
|
||||
#define EXTMEM_DATE_S 0
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
5747
components/soc/esp32h2/include/soc/extmem_struct.h
Normal file
5747
components/soc/esp32h2/include/soc/extmem_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
16
components/soc/esp32h2/include/soc/gdma_channel.h
Normal file
16
components/soc/esp32h2/include/soc/gdma_channel.h
Normal file
@ -0,0 +1,16 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// The following macros have a format SOC_[periph][instance_id] to make it work with `GDMA_MAKE_TRIGGER`
|
||||
#define SOC_GDMA_TRIG_PERIPH_M2M0 (-1)
|
||||
#define SOC_GDMA_TRIG_PERIPH_SPI2 (0)
|
||||
#define SOC_GDMA_TRIG_PERIPH_UART0 (2)
|
||||
#define SOC_GDMA_TRIG_PERIPH_I2S0 (3)
|
||||
#define SOC_GDMA_TRIG_PERIPH_AES0 (6)
|
||||
#define SOC_GDMA_TRIG_PERIPH_SHA0 (7)
|
||||
#define SOC_GDMA_TRIG_PERIPH_ADC0 (8)
|
3161
components/soc/esp32h2/include/soc/gdma_reg.h
Normal file
3161
components/soc/esp32h2/include/soc/gdma_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
995
components/soc/esp32h2/include/soc/gdma_struct.h
Normal file
995
components/soc/esp32h2/include/soc/gdma_struct.h
Normal file
@ -0,0 +1,995 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: Interrupt Registers */
|
||||
/** Type of in_int_raw_chn register
|
||||
* Raw status interrupt of channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** in_done_int_raw : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* The raw interrupt bit turns to high level when the last data pointed by one inlink
|
||||
* descriptor has been received for Rx channel 0.
|
||||
*/
|
||||
uint32_t in_done_int_raw:1;
|
||||
/** in_suc_eof_int_raw : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* The raw interrupt bit turns to high level when the last data pointed by one inlink
|
||||
* descriptor has been received for Rx channel 0. For UHCI0 the raw interrupt bit
|
||||
* turns to high level when the last data pointed by one inlink descriptor has been
|
||||
* received and no data error is detected for Rx channel 0.
|
||||
*/
|
||||
uint32_t in_suc_eof_int_raw:1;
|
||||
/** in_err_eof_int_raw : R/WTC/SS; bitpos: [2]; default: 0;
|
||||
* The raw interrupt bit turns to high level when data error is detected only in the
|
||||
* case that the peripheral is UHCI0 for Rx channel 0. For other peripherals this raw
|
||||
* interrupt is reserved.
|
||||
*/
|
||||
uint32_t in_err_eof_int_raw:1;
|
||||
/** in_dscr_err_int_raw : R/WTC/SS; bitpos: [3]; default: 0;
|
||||
* The raw interrupt bit turns to high level when detecting inlink descriptor error
|
||||
* including owner error and the second and third word error of inlink descriptor for
|
||||
* Rx channel 0.
|
||||
*/
|
||||
uint32_t in_dscr_err_int_raw:1;
|
||||
/** in_dscr_empty_int_raw : R/WTC/SS; bitpos: [4]; default: 0;
|
||||
* The raw interrupt bit turns to high level when Rx buffer pointed by inlink is full
|
||||
* and receiving data is not completed but there is no more inlink for Rx channel 0.
|
||||
*/
|
||||
uint32_t in_dscr_empty_int_raw:1;
|
||||
/** infifo_ovf_int_raw : R/WTC/SS; bitpos: [5]; default: 0;
|
||||
* This raw interrupt bit turns to high level when level 1 fifo of Rx channel 0 is
|
||||
* overflow.
|
||||
*/
|
||||
uint32_t infifo_ovf_int_raw:1;
|
||||
/** infifo_udf_int_raw : R/WTC/SS; bitpos: [6]; default: 0;
|
||||
* This raw interrupt bit turns to high level when level 1 fifo of Rx channel 0 is
|
||||
* underflow.
|
||||
*/
|
||||
uint32_t infifo_udf_int_raw:1;
|
||||
uint32_t reserved_7:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_int_raw_chn_reg_t;
|
||||
|
||||
/** Type of in_int_st_chn register
|
||||
* Masked interrupt of channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** in_done_int_st : RO; bitpos: [0]; default: 0;
|
||||
* The raw interrupt status bit for the IN_DONE_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_done_int_st:1;
|
||||
/** in_suc_eof_int_st : RO; bitpos: [1]; default: 0;
|
||||
* The raw interrupt status bit for the IN_SUC_EOF_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_suc_eof_int_st:1;
|
||||
/** in_err_eof_int_st : RO; bitpos: [2]; default: 0;
|
||||
* The raw interrupt status bit for the IN_ERR_EOF_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_err_eof_int_st:1;
|
||||
/** in_dscr_err_int_st : RO; bitpos: [3]; default: 0;
|
||||
* The raw interrupt status bit for the IN_DSCR_ERR_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_dscr_err_int_st:1;
|
||||
/** in_dscr_empty_int_st : RO; bitpos: [4]; default: 0;
|
||||
* The raw interrupt status bit for the IN_DSCR_EMPTY_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_dscr_empty_int_st:1;
|
||||
/** infifo_ovf_int_st : RO; bitpos: [5]; default: 0;
|
||||
* The raw interrupt status bit for the INFIFO_OVF_L1_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t infifo_ovf_int_st:1;
|
||||
/** infifo_udf_int_st : RO; bitpos: [6]; default: 0;
|
||||
* The raw interrupt status bit for the INFIFO_UDF_L1_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t infifo_udf_int_st:1;
|
||||
uint32_t reserved_7:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_int_st_chn_reg_t;
|
||||
|
||||
/** Type of in_int_ena_chn register
|
||||
* Interrupt enable bits of channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** in_done_int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* The interrupt enable bit for the IN_DONE_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_done_int_ena:1;
|
||||
/** in_suc_eof_int_ena : R/W; bitpos: [1]; default: 0;
|
||||
* The interrupt enable bit for the IN_SUC_EOF_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_suc_eof_int_ena:1;
|
||||
/** in_err_eof_int_ena : R/W; bitpos: [2]; default: 0;
|
||||
* The interrupt enable bit for the IN_ERR_EOF_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_err_eof_int_ena:1;
|
||||
/** in_dscr_err_int_ena : R/W; bitpos: [3]; default: 0;
|
||||
* The interrupt enable bit for the IN_DSCR_ERR_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_dscr_err_int_ena:1;
|
||||
/** in_dscr_empty_int_ena : R/W; bitpos: [4]; default: 0;
|
||||
* The interrupt enable bit for the IN_DSCR_EMPTY_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_dscr_empty_int_ena:1;
|
||||
/** infifo_ovf_int_ena : R/W; bitpos: [5]; default: 0;
|
||||
* The interrupt enable bit for the INFIFO_OVF_L1_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t infifo_ovf_int_ena:1;
|
||||
/** infifo_udf_int_ena : R/W; bitpos: [6]; default: 0;
|
||||
* The interrupt enable bit for the INFIFO_UDF_L1_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t infifo_udf_int_ena:1;
|
||||
uint32_t reserved_7:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_int_ena_chn_reg_t;
|
||||
|
||||
/** Type of in_int_clr_chn register
|
||||
* Interrupt clear bits of channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** in_done_int_clr : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear the IN_DONE_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_done_int_clr:1;
|
||||
/** in_suc_eof_int_clr : WT; bitpos: [1]; default: 0;
|
||||
* Set this bit to clear the IN_SUC_EOF_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_suc_eof_int_clr:1;
|
||||
/** in_err_eof_int_clr : WT; bitpos: [2]; default: 0;
|
||||
* Set this bit to clear the IN_ERR_EOF_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_err_eof_int_clr:1;
|
||||
/** in_dscr_err_int_clr : WT; bitpos: [3]; default: 0;
|
||||
* Set this bit to clear the IN_DSCR_ERR_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_dscr_err_int_clr:1;
|
||||
/** in_dscr_empty_int_clr : WT; bitpos: [4]; default: 0;
|
||||
* Set this bit to clear the IN_DSCR_EMPTY_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t in_dscr_empty_int_clr:1;
|
||||
/** infifo_ovf_int_clr : WT; bitpos: [5]; default: 0;
|
||||
* Set this bit to clear the INFIFO_OVF_L1_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t infifo_ovf_int_clr:1;
|
||||
/** infifo_udf_int_clr : WT; bitpos: [6]; default: 0;
|
||||
* Set this bit to clear the INFIFO_UDF_L1_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t infifo_udf_int_clr:1;
|
||||
uint32_t reserved_7:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_int_clr_chn_reg_t;
|
||||
|
||||
/** Type of out_int_raw_chn register
|
||||
* Raw status interrupt of channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** out_done_int_raw : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* The raw interrupt bit turns to high level when the last data pointed by one outlink
|
||||
* descriptor has been transmitted to peripherals for Tx channel 0.
|
||||
*/
|
||||
uint32_t out_done_int_raw:1;
|
||||
/** out_eof_int_raw : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* The raw interrupt bit turns to high level when the last data pointed by one outlink
|
||||
* descriptor has been read from memory for Tx channel 0.
|
||||
*/
|
||||
uint32_t out_eof_int_raw:1;
|
||||
/** out_dscr_err_int_raw : R/WTC/SS; bitpos: [2]; default: 0;
|
||||
* The raw interrupt bit turns to high level when detecting outlink descriptor error
|
||||
* including owner error and the second and third word error of outlink descriptor for
|
||||
* Tx channel 0.
|
||||
*/
|
||||
uint32_t out_dscr_err_int_raw:1;
|
||||
/** out_total_eof_int_raw : R/WTC/SS; bitpos: [3]; default: 0;
|
||||
* The raw interrupt bit turns to high level when data corresponding a outlink
|
||||
* (includes one link descriptor or few link descriptors) is transmitted out for Tx
|
||||
* channel 0.
|
||||
*/
|
||||
uint32_t out_total_eof_int_raw:1;
|
||||
/** outfifo_ovf_int_raw : R/WTC/SS; bitpos: [4]; default: 0;
|
||||
* This raw interrupt bit turns to high level when level 1 fifo of Tx channel 0 is
|
||||
* overflow.
|
||||
*/
|
||||
uint32_t outfifo_ovf_int_raw:1;
|
||||
/** outfifo_udf_int_raw : R/WTC/SS; bitpos: [5]; default: 0;
|
||||
* This raw interrupt bit turns to high level when level 1 fifo of Tx channel 0 is
|
||||
* underflow.
|
||||
*/
|
||||
uint32_t outfifo_udf_int_raw:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_int_raw_chn_reg_t;
|
||||
|
||||
/** Type of out_int_st_chn register
|
||||
* Masked interrupt of channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** out_done_int_st : RO; bitpos: [0]; default: 0;
|
||||
* The raw interrupt status bit for the OUT_DONE_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t out_done_int_st:1;
|
||||
/** out_eof_int_st : RO; bitpos: [1]; default: 0;
|
||||
* The raw interrupt status bit for the OUT_EOF_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t out_eof_int_st:1;
|
||||
/** out_dscr_err_int_st : RO; bitpos: [2]; default: 0;
|
||||
* The raw interrupt status bit for the OUT_DSCR_ERR_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t out_dscr_err_int_st:1;
|
||||
/** out_total_eof_int_st : RO; bitpos: [3]; default: 0;
|
||||
* The raw interrupt status bit for the OUT_TOTAL_EOF_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t out_total_eof_int_st:1;
|
||||
/** outfifo_ovf_int_st : RO; bitpos: [4]; default: 0;
|
||||
* The raw interrupt status bit for the OUTFIFO_OVF_L1_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t outfifo_ovf_int_st:1;
|
||||
/** outfifo_udf_int_st : RO; bitpos: [5]; default: 0;
|
||||
* The raw interrupt status bit for the OUTFIFO_UDF_L1_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t outfifo_udf_int_st:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_int_st_chn_reg_t;
|
||||
|
||||
/** Type of out_int_ena_chn register
|
||||
* Interrupt enable bits of channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** out_done_int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* The interrupt enable bit for the OUT_DONE_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t out_done_int_ena:1;
|
||||
/** out_eof_int_ena : R/W; bitpos: [1]; default: 0;
|
||||
* The interrupt enable bit for the OUT_EOF_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t out_eof_int_ena:1;
|
||||
/** out_dscr_err_int_ena : R/W; bitpos: [2]; default: 0;
|
||||
* The interrupt enable bit for the OUT_DSCR_ERR_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t out_dscr_err_int_ena:1;
|
||||
/** out_total_eof_int_ena : R/W; bitpos: [3]; default: 0;
|
||||
* The interrupt enable bit for the OUT_TOTAL_EOF_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t out_total_eof_int_ena:1;
|
||||
/** outfifo_ovf_int_ena : R/W; bitpos: [4]; default: 0;
|
||||
* The interrupt enable bit for the OUTFIFO_OVF_L1_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t outfifo_ovf_int_ena:1;
|
||||
/** outfifo_udf_int_ena : R/W; bitpos: [5]; default: 0;
|
||||
* The interrupt enable bit for the OUTFIFO_UDF_L1_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t outfifo_udf_int_ena:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_int_ena_chn_reg_t;
|
||||
|
||||
/** Type of out_int_clr_chn register
|
||||
* Interrupt clear bits of channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** out_done_int_clr : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear the OUT_DONE_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t out_done_int_clr:1;
|
||||
/** out_eof_int_clr : WT; bitpos: [1]; default: 0;
|
||||
* Set this bit to clear the OUT_EOF_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t out_eof_int_clr:1;
|
||||
/** out_dscr_err_int_clr : WT; bitpos: [2]; default: 0;
|
||||
* Set this bit to clear the OUT_DSCR_ERR_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t out_dscr_err_int_clr:1;
|
||||
/** out_total_eof_int_clr : WT; bitpos: [3]; default: 0;
|
||||
* Set this bit to clear the OUT_TOTAL_EOF_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t out_total_eof_int_clr:1;
|
||||
/** outfifo_ovf_int_clr : WT; bitpos: [4]; default: 0;
|
||||
* Set this bit to clear the OUTFIFO_OVF_L1_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t outfifo_ovf_int_clr:1;
|
||||
/** outfifo_udf_int_clr : WT; bitpos: [5]; default: 0;
|
||||
* Set this bit to clear the OUTFIFO_UDF_L1_CH_INT interrupt.
|
||||
*/
|
||||
uint32_t outfifo_udf_int_clr:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_int_clr_chn_reg_t;
|
||||
|
||||
|
||||
/** Group: Debug Registers */
|
||||
/** Type of ahb_test register
|
||||
* reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** ahb_testmode : R/W; bitpos: [2:0]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t ahb_testmode:3;
|
||||
uint32_t reserved_3:1;
|
||||
/** ahb_testaddr : R/W; bitpos: [5:4]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t ahb_testaddr:2;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_ahb_test_reg_t;
|
||||
|
||||
|
||||
/** Group: Configuration Registers */
|
||||
/** Type of misc_conf register
|
||||
* MISC register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** ahbm_rst_inter : R/W; bitpos: [0]; default: 0;
|
||||
* Set this bit then clear this bit to reset the internal ahb FSM.
|
||||
*/
|
||||
uint32_t ahbm_rst_inter:1;
|
||||
uint32_t reserved_1:1;
|
||||
/** arb_pri_dis : R/W; bitpos: [2]; default: 0;
|
||||
* Set this bit to disable priority arbitration function.
|
||||
*/
|
||||
uint32_t arb_pri_dis:1;
|
||||
/** clk_en : R/W; bitpos: [3]; default: 0;
|
||||
* 1'h1: Force clock on for register. 1'h0: Support clock only when application writes
|
||||
* registers.
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_misc_conf_reg_t;
|
||||
|
||||
/** Type of in_conf0_chn register
|
||||
* Configure 0 register of Rx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** in_rst : R/W; bitpos: [0]; default: 0;
|
||||
* This bit is used to reset DMA channel 0 Rx FSM and Rx FIFO pointer.
|
||||
*/
|
||||
uint32_t in_rst:1;
|
||||
/** in_loop_test : R/W; bitpos: [1]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t in_loop_test:1;
|
||||
/** indscr_burst_en : R/W; bitpos: [2]; default: 0;
|
||||
* Set this bit to 1 to enable INCR burst transfer for Rx channel 0 reading link
|
||||
* descriptor when accessing internal SRAM.
|
||||
*/
|
||||
uint32_t indscr_burst_en:1;
|
||||
/** in_data_burst_en : R/W; bitpos: [3]; default: 0;
|
||||
* Set this bit to 1 to enable INCR burst transfer for Rx channel 0 receiving data
|
||||
* when accessing internal SRAM.
|
||||
*/
|
||||
uint32_t in_data_burst_en:1;
|
||||
/** mem_trans_en : R/W; bitpos: [4]; default: 0;
|
||||
* Set this bit 1 to enable automatic transmitting data from memory to memory via DMA.
|
||||
*/
|
||||
uint32_t mem_trans_en:1;
|
||||
/** in_etm_en : R/W; bitpos: [5]; default: 0;
|
||||
* Set this bit to 1 to enable etm control mode, dma Rx channel 0 is triggered by etm
|
||||
* task.
|
||||
*/
|
||||
uint32_t in_etm_en:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_conf0_chn_reg_t;
|
||||
|
||||
/** Type of in_conf1_chn register
|
||||
* Configure 1 register of Rx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:12;
|
||||
/** in_check_owner : R/W; bitpos: [12]; default: 0;
|
||||
* Set this bit to enable checking the owner attribute of the link descriptor.
|
||||
*/
|
||||
uint32_t in_check_owner:1;
|
||||
uint32_t reserved_13:19;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_conf1_chn_reg_t;
|
||||
|
||||
/** Type of in_pop_chn register
|
||||
* Pop control register of Rx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** infifo_rdata : RO; bitpos: [11:0]; default: 2048;
|
||||
* This register stores the data popping from DMA FIFO.
|
||||
*/
|
||||
uint32_t infifo_rdata:12;
|
||||
/** infifo_pop : WT; bitpos: [12]; default: 0;
|
||||
* Set this bit to pop data from DMA FIFO.
|
||||
*/
|
||||
uint32_t infifo_pop:1;
|
||||
uint32_t reserved_13:19;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_pop_chn_reg_t;
|
||||
|
||||
/** Type of in_link_chn register
|
||||
* Link descriptor configure and control register of Rx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** inlink_addr : R/W; bitpos: [19:0]; default: 0;
|
||||
* This register stores the 20 least significant bits of the first inlink descriptor's
|
||||
* address.
|
||||
*/
|
||||
uint32_t inlink_addr:20;
|
||||
/** inlink_auto_ret : R/W; bitpos: [20]; default: 1;
|
||||
* Set this bit to return to current inlink descriptor's address when there are some
|
||||
* errors in current receiving data.
|
||||
*/
|
||||
uint32_t inlink_auto_ret:1;
|
||||
/** inlink_stop : WT; bitpos: [21]; default: 0;
|
||||
* Set this bit to stop dealing with the inlink descriptors.
|
||||
*/
|
||||
uint32_t inlink_stop:1;
|
||||
/** inlink_start : WT; bitpos: [22]; default: 0;
|
||||
* Set this bit to start dealing with the inlink descriptors.
|
||||
*/
|
||||
uint32_t inlink_start:1;
|
||||
/** inlink_restart : WT; bitpos: [23]; default: 0;
|
||||
* Set this bit to mount a new inlink descriptor.
|
||||
*/
|
||||
uint32_t inlink_restart:1;
|
||||
/** inlink_park : RO; bitpos: [24]; default: 1;
|
||||
* 1: the inlink descriptor's FSM is in idle state. 0: the inlink descriptor's FSM is
|
||||
* working.
|
||||
*/
|
||||
uint32_t inlink_park:1;
|
||||
uint32_t reserved_25:7;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_link_chn_reg_t;
|
||||
|
||||
/** Type of out_conf0_chn register
|
||||
* Configure 0 register of Tx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** out_rst : R/W; bitpos: [0]; default: 0;
|
||||
* This bit is used to reset DMA channel 0 Tx FSM and Tx FIFO pointer.
|
||||
*/
|
||||
uint32_t out_rst:1;
|
||||
/** out_loop_test : R/W; bitpos: [1]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t out_loop_test:1;
|
||||
/** out_auto_wrback : R/W; bitpos: [2]; default: 0;
|
||||
* Set this bit to enable automatic outlink-writeback when all the data in tx buffer
|
||||
* has been transmitted.
|
||||
*/
|
||||
uint32_t out_auto_wrback:1;
|
||||
/** out_eof_mode : R/W; bitpos: [3]; default: 1;
|
||||
* EOF flag generation mode when transmitting data. 1: EOF flag for Tx channel 0 is
|
||||
* generated when data need to transmit has been popped from FIFO in DMA
|
||||
*/
|
||||
uint32_t out_eof_mode:1;
|
||||
/** outdscr_burst_en : R/W; bitpos: [4]; default: 0;
|
||||
* Set this bit to 1 to enable INCR burst transfer for Tx channel 0 reading link
|
||||
* descriptor when accessing internal SRAM.
|
||||
*/
|
||||
uint32_t outdscr_burst_en:1;
|
||||
/** out_data_burst_en : R/W; bitpos: [5]; default: 0;
|
||||
* Set this bit to 1 to enable INCR burst transfer for Tx channel 0 transmitting data
|
||||
* when accessing internal SRAM.
|
||||
*/
|
||||
uint32_t out_data_burst_en:1;
|
||||
/** out_etm_en : R/W; bitpos: [6]; default: 0;
|
||||
* Set this bit to 1 to enable etm control mode, dma Tx channel 0 is triggered by etm
|
||||
* task.
|
||||
*/
|
||||
uint32_t out_etm_en:1;
|
||||
uint32_t reserved_7:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_conf0_chn_reg_t;
|
||||
|
||||
/** Type of out_conf1_chn register
|
||||
* Configure 1 register of Tx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:12;
|
||||
/** out_check_owner : R/W; bitpos: [12]; default: 0;
|
||||
* Set this bit to enable checking the owner attribute of the link descriptor.
|
||||
*/
|
||||
uint32_t out_check_owner:1;
|
||||
uint32_t reserved_13:19;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_conf1_chn_reg_t;
|
||||
|
||||
/** Type of out_push_chn register
|
||||
* Push control register of Rx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** outfifo_wdata : R/W; bitpos: [8:0]; default: 0;
|
||||
* This register stores the data that need to be pushed into DMA FIFO.
|
||||
*/
|
||||
uint32_t outfifo_wdata:9;
|
||||
/** outfifo_push : WT; bitpos: [9]; default: 0;
|
||||
* Set this bit to push data into DMA FIFO.
|
||||
*/
|
||||
uint32_t outfifo_push:1;
|
||||
uint32_t reserved_10:22;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_push_chn_reg_t;
|
||||
|
||||
/** Type of out_link_chn register
|
||||
* Link descriptor configure and control register of Tx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** outlink_addr : R/W; bitpos: [19:0]; default: 0;
|
||||
* This register stores the 20 least significant bits of the first outlink
|
||||
* descriptor's address.
|
||||
*/
|
||||
uint32_t outlink_addr:20;
|
||||
/** outlink_stop : WT; bitpos: [20]; default: 0;
|
||||
* Set this bit to stop dealing with the outlink descriptors.
|
||||
*/
|
||||
uint32_t outlink_stop:1;
|
||||
/** outlink_start : WT; bitpos: [21]; default: 0;
|
||||
* Set this bit to start dealing with the outlink descriptors.
|
||||
*/
|
||||
uint32_t outlink_start:1;
|
||||
/** outlink_restart : WT; bitpos: [22]; default: 0;
|
||||
* Set this bit to restart a new outlink from the last address.
|
||||
*/
|
||||
uint32_t outlink_restart:1;
|
||||
/** outlink_park : RO; bitpos: [23]; default: 1;
|
||||
* 1: the outlink descriptor's FSM is in idle state. 0: the outlink descriptor's FSM
|
||||
* is working.
|
||||
*/
|
||||
uint32_t outlink_park:1;
|
||||
uint32_t reserved_24:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_link_chn_reg_t;
|
||||
|
||||
/** Group: Version Registers */
|
||||
/** Type of date register
|
||||
* Version control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [31:0]; default: 35660368;
|
||||
* register version.
|
||||
*/
|
||||
uint32_t date:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_date_reg_t;
|
||||
|
||||
|
||||
/** Group: Status Registers */
|
||||
/** Type of infifo_status_chn register
|
||||
* Receive FIFO status of Rx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** infifo_full : RO; bitpos: [0]; default: 1;
|
||||
* L1 Rx FIFO full signal for Rx channel 0.
|
||||
*/
|
||||
uint32_t infifo_full:1;
|
||||
/** infifo_empty : RO; bitpos: [1]; default: 1;
|
||||
* L1 Rx FIFO empty signal for Rx channel 0.
|
||||
*/
|
||||
uint32_t infifo_empty:1;
|
||||
/** infifo_cnt : RO; bitpos: [7:2]; default: 0;
|
||||
* The register stores the byte number of the data in L1 Rx FIFO for Rx channel 0.
|
||||
*/
|
||||
uint32_t infifo_cnt:6;
|
||||
uint32_t reserved_8:15;
|
||||
/** in_remain_under_1b : RO; bitpos: [23]; default: 1;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t in_remain_under_1b:1;
|
||||
/** in_remain_under_2b : RO; bitpos: [24]; default: 1;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t in_remain_under_2b:1;
|
||||
/** in_remain_under_3b : RO; bitpos: [25]; default: 1;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t in_remain_under_3b:1;
|
||||
/** in_remain_under_4b : RO; bitpos: [26]; default: 1;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t in_remain_under_4b:1;
|
||||
/** in_buf_hungry : RO; bitpos: [27]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t in_buf_hungry:1;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_infifo_status_chn_reg_t;
|
||||
|
||||
/** Type of in_state_chn register
|
||||
* Receive status of Rx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** inlink_dscr_addr : RO; bitpos: [17:0]; default: 0;
|
||||
* This register stores the current inlink descriptor's address.
|
||||
*/
|
||||
uint32_t inlink_dscr_addr:18;
|
||||
/** in_dscr_state : RO; bitpos: [19:18]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t in_dscr_state:2;
|
||||
/** in_state : RO; bitpos: [22:20]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t in_state:3;
|
||||
uint32_t reserved_23:9;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_state_chn_reg_t;
|
||||
|
||||
/** Type of in_suc_eof_des_addr_chn register
|
||||
* Inlink descriptor address when EOF occurs of Rx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** in_suc_eof_des_addr : RO; bitpos: [31:0]; default: 0;
|
||||
* This register stores the address of the inlink descriptor when the EOF bit in this
|
||||
* descriptor is 1.
|
||||
*/
|
||||
uint32_t in_suc_eof_des_addr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_suc_eof_des_addr_chn_reg_t;
|
||||
|
||||
/** Type of in_err_eof_des_addr_chn register
|
||||
* Inlink descriptor address when errors occur of Rx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** in_err_eof_des_addr : RO; bitpos: [31:0]; default: 0;
|
||||
* This register stores the address of the inlink descriptor when there are some
|
||||
* errors in current receiving data. Only used when peripheral is UHCI0.
|
||||
*/
|
||||
uint32_t in_err_eof_des_addr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_err_eof_des_addr_chn_reg_t;
|
||||
|
||||
/** Type of in_dscr_chn register
|
||||
* Current inlink descriptor address of Rx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** inlink_dscr : RO; bitpos: [31:0]; default: 0;
|
||||
* The address of the current inlink descriptor x.
|
||||
*/
|
||||
uint32_t inlink_dscr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_dscr_chn_reg_t;
|
||||
|
||||
/** Type of in_dscr_bf0_chn register
|
||||
* The last inlink descriptor address of Rx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** inlink_dscr_bf0 : RO; bitpos: [31:0]; default: 0;
|
||||
* The address of the last inlink descriptor x-1.
|
||||
*/
|
||||
uint32_t inlink_dscr_bf0:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_dscr_bf0_chn_reg_t;
|
||||
|
||||
/** Type of in_dscr_bf1_chn register
|
||||
* The second-to-last inlink descriptor address of Rx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** inlink_dscr_bf1 : RO; bitpos: [31:0]; default: 0;
|
||||
* The address of the second-to-last inlink descriptor x-2.
|
||||
*/
|
||||
uint32_t inlink_dscr_bf1:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_dscr_bf1_chn_reg_t;
|
||||
|
||||
/** Type of outfifo_status_chn register
|
||||
* Transmit FIFO status of Tx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** outfifo_full : RO; bitpos: [0]; default: 0;
|
||||
* L1 Tx FIFO full signal for Tx channel 0.
|
||||
*/
|
||||
uint32_t outfifo_full:1;
|
||||
/** outfifo_empty : RO; bitpos: [1]; default: 1;
|
||||
* L1 Tx FIFO empty signal for Tx channel 0.
|
||||
*/
|
||||
uint32_t outfifo_empty:1;
|
||||
/** outfifo_cnt : RO; bitpos: [7:2]; default: 0;
|
||||
* The register stores the byte number of the data in L1 Tx FIFO for Tx channel 0.
|
||||
*/
|
||||
uint32_t outfifo_cnt:6;
|
||||
uint32_t reserved_8:15;
|
||||
/** out_remain_under_1b : RO; bitpos: [23]; default: 1;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t out_remain_under_1b:1;
|
||||
/** out_remain_under_2b : RO; bitpos: [24]; default: 1;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t out_remain_under_2b:1;
|
||||
/** out_remain_under_3b : RO; bitpos: [25]; default: 1;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t out_remain_under_3b:1;
|
||||
/** out_remain_under_4b : RO; bitpos: [26]; default: 1;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t out_remain_under_4b:1;
|
||||
uint32_t reserved_27:5;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_outfifo_status_chn_reg_t;
|
||||
|
||||
/** Type of out_state_chn register
|
||||
* Transmit status of Tx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** outlink_dscr_addr : RO; bitpos: [17:0]; default: 0;
|
||||
* This register stores the current outlink descriptor's address.
|
||||
*/
|
||||
uint32_t outlink_dscr_addr:18;
|
||||
/** out_dscr_state : RO; bitpos: [19:18]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t out_dscr_state:2;
|
||||
/** out_state : RO; bitpos: [22:20]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t out_state:3;
|
||||
uint32_t reserved_23:9;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_state_chn_reg_t;
|
||||
|
||||
/** Type of out_eof_des_addr_chn register
|
||||
* Outlink descriptor address when EOF occurs of Tx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** out_eof_des_addr : RO; bitpos: [31:0]; default: 0;
|
||||
* This register stores the address of the outlink descriptor when the EOF bit in this
|
||||
* descriptor is 1.
|
||||
*/
|
||||
uint32_t out_eof_des_addr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_eof_des_addr_chn_reg_t;
|
||||
|
||||
/** Type of out_eof_bfr_des_addr_chn register
|
||||
* The last outlink descriptor address when EOF occurs of Tx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** out_eof_bfr_des_addr : RO; bitpos: [31:0]; default: 0;
|
||||
* This register stores the address of the outlink descriptor before the last outlink
|
||||
* descriptor.
|
||||
*/
|
||||
uint32_t out_eof_bfr_des_addr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_eof_bfr_des_addr_chn_reg_t;
|
||||
|
||||
/** Type of out_dscr_chn register
|
||||
* Current inlink descriptor address of Tx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** outlink_dscr : RO; bitpos: [31:0]; default: 0;
|
||||
* The address of the current outlink descriptor y.
|
||||
*/
|
||||
uint32_t outlink_dscr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_dscr_chn_reg_t;
|
||||
|
||||
/** Type of out_dscr_bf0_chn register
|
||||
* The last inlink descriptor address of Tx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** outlink_dscr_bf0 : RO; bitpos: [31:0]; default: 0;
|
||||
* The address of the last outlink descriptor y-1.
|
||||
*/
|
||||
uint32_t outlink_dscr_bf0:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_dscr_bf0_chn_reg_t;
|
||||
|
||||
/** Type of out_dscr_bf1_chn register
|
||||
* The second-to-last inlink descriptor address of Tx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** outlink_dscr_bf1 : RO; bitpos: [31:0]; default: 0;
|
||||
* The address of the second-to-last inlink descriptor x-2.
|
||||
*/
|
||||
uint32_t outlink_dscr_bf1:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_dscr_bf1_chn_reg_t;
|
||||
|
||||
|
||||
/** Group: Priority Registers */
|
||||
/** Type of in_pri_chn register
|
||||
* Priority register of Rx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rx_pri : R/W; bitpos: [3:0]; default: 0;
|
||||
* The priority of Rx channel 0. The larger of the value the higher of the priority.
|
||||
*/
|
||||
uint32_t rx_pri:4;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_pri_chn_reg_t;
|
||||
|
||||
/** Type of out_pri_chn register
|
||||
* Priority register of Tx channel 0.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tx_pri : R/W; bitpos: [3:0]; default: 0;
|
||||
* The priority of Tx channel 0. The larger of the value the higher of the priority.
|
||||
*/
|
||||
uint32_t tx_pri:4;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_pri_chn_reg_t;
|
||||
|
||||
|
||||
/** Group: Peripheral Select Registers */
|
||||
/** Type of in_peri_sel_chn register
|
||||
* Peripheral selection of Rx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** peri_in_sel : R/W; bitpos: [5:0]; default: 63;
|
||||
* This register is used to select peripheral for Rx channel 0. 0:SPI2. 1: reserved.
|
||||
* 2: UHCI0. 3: I2S0. 4: reserved. 5: reserved. 6: AES. 7: SHA. 8: ADC_DAC. 9:
|
||||
* Parallel_IO.
|
||||
*/
|
||||
uint32_t peri_in_sel:6;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_in_peri_sel_chn_reg_t;
|
||||
|
||||
/** Type of out_peri_sel_chn register
|
||||
* Peripheral selection of Tx channel 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** peri_out_sel : R/W; bitpos: [5:0]; default: 63;
|
||||
* This register is used to select peripheral for Tx channel 0. 0:SPI2. 1: reserved.
|
||||
* 2: UHCI0. 3: I2S0. 4: reserved. 5: reserved. 6: AES. 7: SHA. 8: ADC_DAC. 9:
|
||||
* Parallel_IO.
|
||||
*/
|
||||
uint32_t peri_out_sel:6;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} gdma_out_peri_sel_chn_reg_t;
|
||||
|
||||
typedef struct {
|
||||
volatile gdma_in_int_raw_chn_reg_t raw;
|
||||
volatile gdma_in_int_st_chn_reg_t st;
|
||||
volatile gdma_in_int_ena_chn_reg_t ena;
|
||||
volatile gdma_in_int_clr_chn_reg_t clr;
|
||||
} gdma_in_int_chn_reg_t;
|
||||
|
||||
typedef struct {
|
||||
volatile gdma_out_int_raw_chn_reg_t raw;
|
||||
volatile gdma_out_int_st_chn_reg_t st;
|
||||
volatile gdma_out_int_ena_chn_reg_t ena;
|
||||
volatile gdma_out_int_clr_chn_reg_t clr;
|
||||
} gdma_out_int_chn_reg_t;
|
||||
|
||||
typedef struct {
|
||||
volatile gdma_in_conf0_chn_reg_t in_conf0;
|
||||
volatile gdma_in_conf1_chn_reg_t in_conf1;
|
||||
volatile gdma_infifo_status_chn_reg_t infifo_status;
|
||||
volatile gdma_in_pop_chn_reg_t in_pop;
|
||||
volatile gdma_in_link_chn_reg_t in_link;
|
||||
volatile gdma_in_state_chn_reg_t in_state;
|
||||
volatile gdma_in_suc_eof_des_addr_chn_reg_t in_suc_eof_des_addr;
|
||||
volatile gdma_in_err_eof_des_addr_chn_reg_t in_err_eof_des_addr;
|
||||
volatile gdma_in_dscr_chn_reg_t in_dscr;
|
||||
volatile gdma_in_dscr_bf0_chn_reg_t in_dscr_bf0;
|
||||
volatile gdma_in_dscr_bf1_chn_reg_t in_dscr_bf1;
|
||||
volatile gdma_in_pri_chn_reg_t in_pri;
|
||||
volatile gdma_in_peri_sel_chn_reg_t in_peri_sel;
|
||||
} gdma_in_chn_reg_t;
|
||||
|
||||
typedef struct {
|
||||
volatile gdma_out_conf0_chn_reg_t out_conf0;
|
||||
volatile gdma_out_conf1_chn_reg_t out_conf1;
|
||||
volatile gdma_outfifo_status_chn_reg_t outfifo_status;
|
||||
volatile gdma_out_push_chn_reg_t out_push;
|
||||
volatile gdma_out_link_chn_reg_t out_link;
|
||||
volatile gdma_out_state_chn_reg_t out_state;
|
||||
volatile gdma_out_eof_des_addr_chn_reg_t out_eof_des_addr;
|
||||
volatile gdma_out_eof_bfr_des_addr_chn_reg_t out_eof_bfr_des_addr;
|
||||
volatile gdma_out_dscr_chn_reg_t out_dscr;
|
||||
volatile gdma_out_dscr_bf0_chn_reg_t out_dscr_bf0;
|
||||
volatile gdma_out_dscr_bf1_chn_reg_t out_dscr_bf1;
|
||||
volatile gdma_out_pri_chn_reg_t out_pri;
|
||||
volatile gdma_out_peri_sel_chn_reg_t out_peri_sel;
|
||||
} gdma_out_chn_reg_t;
|
||||
|
||||
typedef struct {
|
||||
volatile gdma_in_chn_reg_t in;
|
||||
uint32_t reserved_in[11];
|
||||
volatile gdma_out_chn_reg_t out;
|
||||
uint32_t reserved_out[11];
|
||||
} gdma_chn_reg_t;
|
||||
|
||||
|
||||
typedef struct gdma_dev_s {
|
||||
volatile gdma_in_int_chn_reg_t in_intr[3];
|
||||
volatile gdma_out_int_chn_reg_t out_intr[3];
|
||||
volatile gdma_ahb_test_reg_t ahb_test;
|
||||
volatile gdma_misc_conf_reg_t misc_conf;
|
||||
volatile gdma_date_reg_t date;
|
||||
uint32_t reserved_06c;
|
||||
volatile gdma_chn_reg_t channel[3];
|
||||
} gdma_dev_t;
|
||||
|
||||
extern gdma_dev_t GDMA;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(gdma_dev_t) == 0x2B0, "Invalid size of gdma_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
1072
components/soc/esp32h2/include/soc/gpio_ext_reg.h
Normal file
1072
components/soc/esp32h2/include/soc/gpio_ext_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
319
components/soc/esp32h2/include/soc/gpio_ext_struct.h
Normal file
319
components/soc/esp32h2/include/soc/gpio_ext_struct.h
Normal file
@ -0,0 +1,319 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: SDM Configure Registers */
|
||||
/** Type of sigmadeltan register
|
||||
* Duty Cycle Configure Register of SDMn
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sd0_in : R/W; bitpos: [7:0]; default: 0;
|
||||
* This field is used to configure the duty cycle of sigma delta modulation output.
|
||||
*/
|
||||
uint32_t duty:8;
|
||||
/** sd0_prescale : R/W; bitpos: [15:8]; default: 255;
|
||||
* This field is used to set a divider value to divide APB clock.
|
||||
*/
|
||||
uint32_t prescale:8;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_sigmadelta_chn_reg_t;
|
||||
|
||||
/** Type of sigmadelta_misc register
|
||||
* MISC Register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** function_clk_en : R/W; bitpos: [30]; default: 0;
|
||||
* Clock enable bit of sigma delta modulation.
|
||||
*/
|
||||
uint32_t function_clk_en:1;
|
||||
/** spi_swap : R/W; bitpos: [31]; default: 0;
|
||||
* Reserved.
|
||||
*/
|
||||
uint32_t spi_swap:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_sigmadelta_misc_reg_t;
|
||||
|
||||
|
||||
/** Group: Clock gate Register */
|
||||
/** Type of clock_gate register
|
||||
* Clock Gating Configure Register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_en : R/W; bitpos: [0]; default: 0;
|
||||
* Clock enable bit of configuration registers for sigma delta modulation.
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_sigmadelta_clock_gate_reg_t;
|
||||
|
||||
|
||||
/** Group: Configure Registers */
|
||||
/** Type of pad_comp_config register
|
||||
* PAD Compare configure Register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** xpd_comp : R/W; bitpos: [0]; default: 0;
|
||||
* Pad compare enable bit.
|
||||
*/
|
||||
uint32_t xpd_comp:1;
|
||||
/** mode_comp : R/W; bitpos: [1]; default: 0;
|
||||
* 1 to enable external reference from PAD[0]. 0 to enable internal reference,
|
||||
* meanwhile PAD[0] can be used as a regular GPIO.
|
||||
*/
|
||||
uint32_t mode_comp:1;
|
||||
/** dref_comp : R/W; bitpos: [4:2]; default: 0;
|
||||
* internal reference voltage tuning bit. 0V to 0.7*VDDPST step 0.1*VDDPST.
|
||||
*/
|
||||
uint32_t dref_comp:3;
|
||||
/** zero_det_mode : R/W; bitpos: [6:5]; default: 0;
|
||||
* Zero Detect mode select.
|
||||
*/
|
||||
uint32_t zero_det_mode:2;
|
||||
uint32_t reserved_7:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_pad_comp_config_reg_t;
|
||||
|
||||
/** Type of pad_comp_filter register
|
||||
* Zero Detect filter Register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** zero_det_filter_cnt : R/W; bitpos: [31:0]; default: 0;
|
||||
* Zero Detect filter cycle length
|
||||
*/
|
||||
uint32_t zero_det_filter_cnt:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_pad_comp_filter_reg_t;
|
||||
|
||||
|
||||
/** Group: Glitch filter Configure Registers */
|
||||
/** Type of glitch_filter_chn register
|
||||
* Glitch Filter Configure Register of Channeln
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** filter_ch0_en : R/W; bitpos: [0]; default: 0;
|
||||
* Glitch Filter channel enable bit.
|
||||
*/
|
||||
uint32_t filter_ch0_en:1;
|
||||
/** filter_ch0_input_io_num : R/W; bitpos: [6:1]; default: 0;
|
||||
* Glitch Filter input io number.
|
||||
*/
|
||||
uint32_t filter_ch0_input_io_num:6;
|
||||
/** filter_ch0_window_thres : R/W; bitpos: [12:7]; default: 0;
|
||||
* Glitch Filter window threshold.
|
||||
*/
|
||||
uint32_t filter_ch0_window_thres:6;
|
||||
/** filter_ch0_window_width : R/W; bitpos: [18:13]; default: 0;
|
||||
* Glitch Filter window width.
|
||||
*/
|
||||
uint32_t filter_ch0_window_width:6;
|
||||
uint32_t reserved_19:13;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_glitch_filter_chn_reg_t;
|
||||
|
||||
|
||||
/** Group: Etm Configure Registers */
|
||||
/** Type of etm_event_chn_cfg register
|
||||
* Etm Config register of Channeln
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** etm_ch0_event_sel : R/W; bitpos: [4:0]; default: 0;
|
||||
* Etm event channel select gpio.
|
||||
*/
|
||||
uint32_t etm_ch0_event_sel:5;
|
||||
uint32_t reserved_5:2;
|
||||
/** etm_ch0_event_en : R/W; bitpos: [7]; default: 0;
|
||||
* Etm event send enable bit.
|
||||
*/
|
||||
uint32_t etm_ch0_event_en:1;
|
||||
uint32_t reserved_8:24;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_etm_event_chn_cfg_reg_t;
|
||||
|
||||
/** Type of etm_task_p0_cfg register
|
||||
* Etm Configure Register to decide which GPIO been chosen
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** etm_task_gpio0_en : R/W; bitpos: [0]; default: 0;
|
||||
* Enable bit of GPIO response etm task.
|
||||
*/
|
||||
uint32_t etm_task_gpio0_en:1;
|
||||
/** etm_task_gpio0_sel : R/W; bitpos: [3:1]; default: 0;
|
||||
* GPIO choose a etm task channel.
|
||||
*/
|
||||
uint32_t etm_task_gpio0_sel:3;
|
||||
uint32_t reserved_4:4;
|
||||
/** etm_task_gpio1_en : R/W; bitpos: [8]; default: 0;
|
||||
* Enable bit of GPIO response etm task.
|
||||
*/
|
||||
uint32_t etm_task_gpio1_en:1;
|
||||
/** etm_task_gpio1_sel : R/W; bitpos: [11:9]; default: 0;
|
||||
* GPIO choose a etm task channel.
|
||||
*/
|
||||
uint32_t etm_task_gpio1_sel:3;
|
||||
uint32_t reserved_12:4;
|
||||
/** etm_task_gpio2_en : R/W; bitpos: [16]; default: 0;
|
||||
* Enable bit of GPIO response etm task.
|
||||
*/
|
||||
uint32_t etm_task_gpio2_en:1;
|
||||
/** etm_task_gpio2_sel : R/W; bitpos: [19:17]; default: 0;
|
||||
* GPIO choose a etm task channel.
|
||||
*/
|
||||
uint32_t etm_task_gpio2_sel:3;
|
||||
uint32_t reserved_20:4;
|
||||
/** etm_task_gpio3_en : R/W; bitpos: [24]; default: 0;
|
||||
* Enable bit of GPIO response etm task.
|
||||
*/
|
||||
uint32_t etm_task_gpio3_en:1;
|
||||
/** etm_task_gpio3_sel : R/W; bitpos: [27:25]; default: 0;
|
||||
* GPIO choose a etm task channel.
|
||||
*/
|
||||
uint32_t etm_task_gpio3_sel:3;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_etm_task_pn_cfg_reg_t;
|
||||
|
||||
/** Group: Interrupt Registers */
|
||||
/** Type of int_raw register
|
||||
* GPIOSD interrupt raw register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** pad_comp_int_raw : RO/WTC/SS; bitpos: [0]; default: 0;
|
||||
* Pad compare raw interrupt
|
||||
*/
|
||||
uint32_t pad_comp_int_raw:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_ext_int_raw_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* GPIOSD interrupt masked register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** pad_comp_int_st : RO; bitpos: [0]; default: 0;
|
||||
* Pad compare masked interrupt
|
||||
*/
|
||||
uint32_t pad_comp_int_st:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_ext_int_st_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* GPIOSD interrupt enable register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** pad_comp_int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* Pad compare interrupt enable
|
||||
*/
|
||||
uint32_t pad_comp_int_ena:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_ext_int_ena_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* GPIOSD interrupt clear register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** pad_comp_int_clr : WT; bitpos: [0]; default: 0;
|
||||
* Pad compare interrupt clear
|
||||
*/
|
||||
uint32_t pad_comp_int_clr:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_ext_int_clr_reg_t;
|
||||
|
||||
|
||||
/** Group: Version Register */
|
||||
/** Type of version register
|
||||
* Version Control Register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** gpio_sd_date : R/W; bitpos: [27:0]; default: 35684640;
|
||||
* Version control register.
|
||||
*/
|
||||
uint32_t gpio_sd_date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_ext_version_reg_t;
|
||||
|
||||
typedef struct {
|
||||
volatile gpio_sigmadelta_chn_reg_t channel[4];
|
||||
uint32_t reserved_010[4];
|
||||
volatile gpio_sigmadelta_misc_reg_t misc;
|
||||
volatile gpio_sigmadelta_clock_gate_reg_t clock_gate;
|
||||
} gpio_sd_dev_t;
|
||||
|
||||
typedef struct {
|
||||
volatile gpio_glitch_filter_chn_reg_t glitch_filter_chn[8];
|
||||
} gpio_glitch_filter_dev_t;
|
||||
|
||||
typedef struct {
|
||||
volatile gpio_etm_event_chn_cfg_reg_t etm_event_chn_cfg[8];
|
||||
uint32_t reserved_080[8];
|
||||
volatile gpio_etm_task_pn_cfg_reg_t etm_task_pn_cfg[7];
|
||||
} gpio_etm_dev_t;
|
||||
|
||||
typedef struct {
|
||||
volatile gpio_sd_dev_t sigma_delta;
|
||||
volatile gpio_pad_comp_config_reg_t pad_comp_config;
|
||||
volatile gpio_pad_comp_filter_reg_t pad_comp_filter;
|
||||
volatile gpio_glitch_filter_dev_t glitch_filter;
|
||||
uint32_t reserved_050[4];
|
||||
volatile gpio_etm_dev_t etm;
|
||||
uint32_t reserved_0bc[9];
|
||||
volatile gpio_ext_int_raw_reg_t int_raw;
|
||||
volatile gpio_ext_int_st_reg_t int_st;
|
||||
volatile gpio_ext_int_ena_reg_t int_ena;
|
||||
volatile gpio_ext_int_clr_reg_t int_clr;
|
||||
uint32_t reserved_0f0[3];
|
||||
volatile gpio_ext_version_reg_t version;
|
||||
} gpio_ext_dev_t;
|
||||
|
||||
extern gpio_sd_dev_t SDM;
|
||||
extern gpio_glitch_filter_dev_t GLITCH_FILTER;
|
||||
extern gpio_etm_dev_t GPIO_ETM;
|
||||
extern gpio_ext_dev_t GPIO_EXT;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(gpio_ext_dev_t) == 0x100, "Invalid size of gpio_ext_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
19
components/soc/esp32h2/include/soc/gpio_pins.h
Normal file
19
components/soc/esp32h2/include/soc/gpio_pins.h
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define GPIO_MATRIX_CONST_ONE_INPUT (0x1E)
|
||||
#define GPIO_MATRIX_CONST_ZERO_INPUT (0x1F)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
5633
components/soc/esp32h2/include/soc/gpio_reg.h
Normal file
5633
components/soc/esp32h2/include/soc/gpio_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
254
components/soc/esp32h2/include/soc/gpio_sig_map.h
Normal file
254
components/soc/esp32h2/include/soc/gpio_sig_map.h
Normal file
@ -0,0 +1,254 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define EXT_ADC_START_IDX 0
|
||||
#define LEDC_LS_SIG_OUT0_IDX 0
|
||||
#define MODEM_DIAG0_IDX 0
|
||||
#define LEDC_LS_SIG_OUT1_IDX 1
|
||||
#define MODEM_DIAG1_IDX 1
|
||||
#define LEDC_LS_SIG_OUT2_IDX 2
|
||||
#define MODEM_DIAG2_IDX 2
|
||||
#define LEDC_LS_SIG_OUT3_IDX 3
|
||||
#define MODEM_DIAG3_IDX 3
|
||||
#define LEDC_LS_SIG_OUT4_IDX 4
|
||||
#define MODEM_DIAG4_IDX 4
|
||||
#define LEDC_LS_SIG_OUT5_IDX 5
|
||||
#define MODEM_DIAG5_IDX 5
|
||||
#define U0RXD_IN_IDX 6
|
||||
#define U0TXD_OUT_IDX 6
|
||||
#define U0CTS_IN_IDX 7
|
||||
#define U0RTS_OUT_IDX 7
|
||||
#define U0DSR_IN_IDX 8
|
||||
#define U0DTR_OUT_IDX 8
|
||||
#define U1RXD_IN_IDX 9
|
||||
#define U1TXD_OUT_IDX 9
|
||||
#define U1CTS_IN_IDX 10
|
||||
#define U1RTS_OUT_IDX 10
|
||||
#define MODEM_DIAG6_IDX 10
|
||||
#define U1DSR_IN_IDX 11
|
||||
#define U1DTR_OUT_IDX 11
|
||||
#define I2S_MCLK_IN_IDX 12
|
||||
#define I2S_MCLK_OUT_IDX 12
|
||||
#define I2SO_BCK_IN_IDX 13
|
||||
#define I2SO_BCK_OUT_IDX 13
|
||||
#define I2SO_WS_IN_IDX 14
|
||||
#define I2SO_WS_OUT_IDX 14
|
||||
#define I2SI_SD_IN_IDX 15
|
||||
#define I2SO_SD_OUT_IDX 15
|
||||
#define I2SI_BCK_IN_IDX 16
|
||||
#define I2SI_BCK_OUT_IDX 16
|
||||
#define I2SI_WS_IN_IDX 17
|
||||
#define I2SI_WS_OUT_IDX 17
|
||||
#define I2SO_SD1_OUT_IDX 18
|
||||
#define USB_JTAG_TDO_BRIDGE_IDX 19
|
||||
#define USB_JTAG_TRST_IDX 19
|
||||
#define CPU_TESTBUS0_IDX 20
|
||||
#define CPU_TESTBUS1_IDX 21
|
||||
#define CPU_TESTBUS2_IDX 22
|
||||
#define CPU_TESTBUS3_IDX 23
|
||||
#define CPU_TESTBUS4_IDX 24
|
||||
#define CPU_TESTBUS5_IDX 25
|
||||
#define CPU_TESTBUS6_IDX 26
|
||||
#define CPU_TESTBUS7_IDX 27
|
||||
#define CPU_GPIO_IN0_IDX 28
|
||||
#define CPU_GPIO_OUT0_IDX 28
|
||||
#define CPU_GPIO_IN1_IDX 29
|
||||
#define CPU_GPIO_OUT1_IDX 29
|
||||
#define CPU_GPIO_IN2_IDX 30
|
||||
#define CPU_GPIO_OUT2_IDX 30
|
||||
#define CPU_GPIO_IN3_IDX 31
|
||||
#define CPU_GPIO_OUT3_IDX 31
|
||||
#define CPU_GPIO_IN4_IDX 32
|
||||
#define CPU_GPIO_OUT4_IDX 32
|
||||
#define CPU_GPIO_IN5_IDX 33
|
||||
#define CPU_GPIO_OUT5_IDX 33
|
||||
#define CPU_GPIO_IN6_IDX 34
|
||||
#define CPU_GPIO_OUT6_IDX 34
|
||||
#define CPU_GPIO_IN7_IDX 35
|
||||
#define CPU_GPIO_OUT7_IDX 35
|
||||
#define USB_JTAG_TCK_IDX 36
|
||||
#define USB_JTAG_TMS_IDX 37
|
||||
#define USB_JTAG_TDI_IDX 38
|
||||
#define USB_JTAG_TDO_IDX 39
|
||||
#define USB_EXTPHY_VP_IDX 40
|
||||
#define USB_EXTPHY_OEN_IDX 40
|
||||
#define USB_EXTPHY_VM_IDX 41
|
||||
#define USB_EXTPHY_SPEED_IDX 41
|
||||
#define USB_EXTPHY_RCV_IDX 42
|
||||
#define USB_EXTPHY_VPO_IDX 42
|
||||
#define USB_EXTPHY_VMO_IDX 43
|
||||
#define USB_EXTPHY_SUSPND_IDX 44
|
||||
#define I2CEXT0_SCL_IN_IDX 45
|
||||
#define I2CEXT0_SCL_OUT_IDX 45
|
||||
#define I2CEXT0_SDA_IN_IDX 46
|
||||
#define I2CEXT0_SDA_OUT_IDX 46
|
||||
#define PARL_RX_DATA0_IDX 47
|
||||
#define PARL_TX_DATA0_IDX 47
|
||||
#define PARL_RX_DATA1_IDX 48
|
||||
#define PARL_TX_DATA1_IDX 48
|
||||
#define PARL_RX_DATA2_IDX 49
|
||||
#define PARL_TX_DATA2_IDX 49
|
||||
#define PARL_RX_DATA3_IDX 50
|
||||
#define PARL_TX_DATA3_IDX 50
|
||||
#define PARL_RX_DATA4_IDX 51
|
||||
#define PARL_TX_DATA4_IDX 51
|
||||
#define PARL_RX_DATA5_IDX 52
|
||||
#define PARL_TX_DATA5_IDX 52
|
||||
#define PARL_RX_DATA6_IDX 53
|
||||
#define PARL_TX_DATA6_IDX 53
|
||||
#define PARL_RX_DATA7_IDX 54
|
||||
#define PARL_TX_DATA7_IDX 54
|
||||
#define I2CEXT1_SCL_IN_IDX 55
|
||||
#define I2CEXT1_SCL_OUT_IDX 55
|
||||
#define I2CEXT1_SDA_IN_IDX 56
|
||||
#define I2CEXT1_SDA_OUT_IDX 56
|
||||
#define CTE_ANT0_IDX 57
|
||||
#define CTE_ANT1_IDX 58
|
||||
#define CTE_ANT2_IDX 59
|
||||
#define CTE_ANT3_IDX 60
|
||||
#define CTE_ANT4_IDX 61
|
||||
#define CTE_ANT5_IDX 62
|
||||
#define FSPICLK_IN_IDX 63
|
||||
#define FSPICLK_OUT_IDX 63
|
||||
#define FSPIQ_IN_IDX 64
|
||||
#define FSPIQ_OUT_IDX 64
|
||||
#define FSPID_IN_IDX 65
|
||||
#define FSPID_OUT_IDX 65
|
||||
#define FSPIHD_IN_IDX 66
|
||||
#define FSPIHD_OUT_IDX 66
|
||||
#define FSPIWP_IN_IDX 67
|
||||
#define FSPIWP_OUT_IDX 67
|
||||
#define FSPICS0_IN_IDX 68
|
||||
#define FSPICS0_OUT_IDX 68
|
||||
#define MODEM_DIAG7_IDX 68
|
||||
#define PARL_RX_CLK_IN_IDX 69
|
||||
#define PARL_RX_CLK_OUT_IDX 69
|
||||
#define PARL_TX_CLK_IN_IDX 70
|
||||
#define PARL_TX_CLK_OUT_IDX 70
|
||||
#define RMT_SIG_IN0_IDX 71
|
||||
#define RMT_SIG_OUT0_IDX 71
|
||||
#define MODEM_DIAG8_IDX 71
|
||||
#define RMT_SIG_IN1_IDX 72
|
||||
#define RMT_SIG_OUT1_IDX 72
|
||||
#define MODEM_DIAG9_IDX 72
|
||||
#define CAN0_RX_IDX 73
|
||||
#define CAN0_TX_IDX 73
|
||||
#define MODEM_DIAG10_IDX 73
|
||||
#define CAN0_BUS_OFF_ON_IDX 74
|
||||
#define MODEM_DIAG11_IDX 74
|
||||
#define CAN0_CLKOUT_IDX 75
|
||||
#define MODEM_DIAG12_IDX 75
|
||||
#define CAN0_STANDBY_IDX 76
|
||||
#define MODEM_DIAG13_IDX 76
|
||||
#define CTE_ANT6_IDX 77
|
||||
#define CTE_ANT7_IDX 78
|
||||
#define CTE_ANT8_IDX 79
|
||||
#define CTE_ANT9_IDX 80
|
||||
#define EXTERN_PRIORITY_I_IDX 81
|
||||
#define EXTERN_PRIORITY_O_IDX 81
|
||||
#define EXTERN_ACTIVE_I_IDX 82
|
||||
#define EXTERN_ACTIVE_O_IDX 82
|
||||
#define GPIO_SD0_OUT_IDX 83
|
||||
#define GPIO_SD1_OUT_IDX 84
|
||||
#define GPIO_SD2_OUT_IDX 85
|
||||
#define GPIO_SD3_OUT_IDX 86
|
||||
#define PWM0_SYNC0_IN_IDX 87
|
||||
#define PWM0_OUT0A_IDX 87
|
||||
#define MODEM_DIAG14_IDX 87
|
||||
#define PWM0_SYNC1_IN_IDX 88
|
||||
#define PWM0_OUT0B_IDX 88
|
||||
#define MODEM_DIAG15_IDX 88
|
||||
#define PWM0_SYNC2_IN_IDX 89
|
||||
#define PWM0_OUT1A_IDX 89
|
||||
#define MODEM_DIAG16_IDX 89
|
||||
#define PWM0_F0_IN_IDX 90
|
||||
#define PWM0_OUT1B_IDX 90
|
||||
#define MODEM_DIAG17_IDX 90
|
||||
#define PWM0_F1_IN_IDX 91
|
||||
#define PWM0_OUT2A_IDX 91
|
||||
#define MODEM_DIAG18_IDX 91
|
||||
#define PWM0_F2_IN_IDX 92
|
||||
#define PWM0_OUT2B_IDX 92
|
||||
#define MODEM_DIAG19_IDX 92
|
||||
#define PWM0_CAP0_IN_IDX 93
|
||||
#define ANT_SEL0_IDX 93
|
||||
#define PWM0_CAP1_IN_IDX 94
|
||||
#define ANT_SEL1_IDX 94
|
||||
#define PWM0_CAP2_IN_IDX 95
|
||||
#define ANT_SEL2_IDX 95
|
||||
#define ANT_SEL3_IDX 96
|
||||
#define SIG_IN_FUNC_97_IDX 97
|
||||
#define SIG_IN_FUNC97_IDX 97
|
||||
#define SIG_IN_FUNC_98_IDX 98
|
||||
#define SIG_IN_FUNC98_IDX 98
|
||||
#define SIG_IN_FUNC_99_IDX 99
|
||||
#define SIG_IN_FUNC99_IDX 99
|
||||
#define SIG_IN_FUNC_100_IDX 100
|
||||
#define SIG_IN_FUNC100_IDX 100
|
||||
#define PCNT_SIG_CH0_IN0_IDX 101
|
||||
#define FSPICS1_OUT_IDX 101
|
||||
#define MODEM_DIAG20_IDX 101
|
||||
#define PCNT_SIG_CH1_IN0_IDX 102
|
||||
#define FSPICS2_OUT_IDX 102
|
||||
#define MODEM_DIAG21_IDX 102
|
||||
#define PCNT_CTRL_CH0_IN0_IDX 103
|
||||
#define FSPICS3_OUT_IDX 103
|
||||
#define MODEM_DIAG22_IDX 103
|
||||
#define PCNT_CTRL_CH1_IN0_IDX 104
|
||||
#define FSPICS4_OUT_IDX 104
|
||||
#define MODEM_DIAG23_IDX 104
|
||||
#define PCNT_SIG_CH0_IN1_IDX 105
|
||||
#define FSPICS5_OUT_IDX 105
|
||||
#define MODEM_DIAG24_IDX 105
|
||||
#define PCNT_SIG_CH1_IN1_IDX 106
|
||||
#define CTE_ANT10_IDX 106
|
||||
#define PCNT_CTRL_CH0_IN1_IDX 107
|
||||
#define CTE_ANT11_IDX 107
|
||||
#define PCNT_CTRL_CH1_IN1_IDX 108
|
||||
#define CTE_ANT12_IDX 108
|
||||
#define PCNT_SIG_CH0_IN2_IDX 109
|
||||
#define CTE_ANT13_IDX 109
|
||||
#define PCNT_SIG_CH1_IN2_IDX 110
|
||||
#define CTE_ANT14_IDX 110
|
||||
#define PCNT_CTRL_CH0_IN2_IDX 111
|
||||
#define CTE_ANT15_IDX 111
|
||||
#define PCNT_CTRL_CH1_IN2_IDX 112
|
||||
#define MODEM_DIAG25_IDX 112
|
||||
#define PCNT_SIG_CH0_IN3_IDX 113
|
||||
#define MODEM_DIAG26_IDX 113
|
||||
#define PCNT_SIG_CH1_IN3_IDX 114
|
||||
#define SPICLK_OUT_IDX 114
|
||||
#define PCNT_CTRL_CH0_IN3_IDX 115
|
||||
#define SPICS0_OUT_IDX 115
|
||||
#define MODEM_DIAG27_IDX 115
|
||||
#define PCNT_CTRL_CH1_IN3_IDX 116
|
||||
#define SPICS1_OUT_IDX 116
|
||||
#define MODEM_DIAG28_IDX 116
|
||||
#define GPIO_EVENT_MATRIX_IN0_IDX 117
|
||||
#define GPIO_TASK_MATRIX_OUT0_IDX 117
|
||||
#define GPIO_EVENT_MATRIX_IN1_IDX 118
|
||||
#define GPIO_TASK_MATRIX_OUT1_IDX 118
|
||||
#define GPIO_EVENT_MATRIX_IN2_IDX 119
|
||||
#define GPIO_TASK_MATRIX_OUT2_IDX 119
|
||||
#define GPIO_EVENT_MATRIX_IN3_IDX 120
|
||||
#define GPIO_TASK_MATRIX_OUT3_IDX 120
|
||||
#define SPIQ_IN_IDX 121
|
||||
#define SPIQ_OUT_IDX 121
|
||||
#define SPID_IN_IDX 122
|
||||
#define SPID_OUT_IDX 122
|
||||
#define SPIHD_IN_IDX 123
|
||||
#define SPIHD_OUT_IDX 123
|
||||
#define SPIWP_IN_IDX 124
|
||||
#define SPIWP_OUT_IDX 124
|
||||
#define CLK_OUT_OUT1_IDX 125
|
||||
#define MODEM_DIAG29_IDX 125
|
||||
#define CLK_OUT_OUT2_IDX 126
|
||||
#define MODEM_DIAG30_IDX 126
|
||||
#define CLK_OUT_OUT3_IDX 127
|
||||
#define MODEM_DIAG31_IDX 127
|
||||
#define SIG_GPIO_OUT_IDX 128
|
||||
#define GPIO_MAP_DATE_IDX 0x2201120
|
405
components/soc/esp32h2/include/soc/gpio_struct.h
Normal file
405
components/soc/esp32h2/include/soc/gpio_struct.h
Normal file
@ -0,0 +1,405 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: configuration register */
|
||||
/** Type of bt_select register
|
||||
* GPIO bit select register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** bt_sel : R/W; bitpos: [31:0]; default: 0;
|
||||
* GPIO bit select register
|
||||
*/
|
||||
uint32_t bt_sel:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_bt_select_reg_t;
|
||||
|
||||
/** Type of out register
|
||||
* GPIO output register for GPIO0-31
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** out_data_orig : R/W/SC/WTC; bitpos: [31:0]; default: 0;
|
||||
* GPIO output register for GPIO0-31
|
||||
*/
|
||||
uint32_t out_data_orig:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_out_reg_t;
|
||||
|
||||
/** Type of out_w1ts register
|
||||
* GPIO output set register for GPIO0-31
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** out_w1ts : WT; bitpos: [31:0]; default: 0;
|
||||
* GPIO output set register for GPIO0-31
|
||||
*/
|
||||
uint32_t out_w1ts:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_out_w1ts_reg_t;
|
||||
|
||||
/** Type of out_w1tc register
|
||||
* GPIO output clear register for GPIO0-31
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** out_w1tc : WT; bitpos: [31:0]; default: 0;
|
||||
* GPIO output clear register for GPIO0-31
|
||||
*/
|
||||
uint32_t out_w1tc:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_out_w1tc_reg_t;
|
||||
|
||||
/** Type of sdio_select register
|
||||
* GPIO sdio select register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sdio_sel : R/W; bitpos: [7:0]; default: 0;
|
||||
* GPIO sdio select register
|
||||
*/
|
||||
uint32_t sdio_sel:8;
|
||||
uint32_t reserved_8:24;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_sdio_select_reg_t;
|
||||
|
||||
/** Type of enable register
|
||||
* GPIO output enable register for GPIO0-31
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** enable_data : R/W/WTC; bitpos: [31:0]; default: 0;
|
||||
* GPIO output enable register for GPIO0-31
|
||||
*/
|
||||
uint32_t enable_data:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_enable_reg_t;
|
||||
|
||||
/** Type of enable_w1ts register
|
||||
* GPIO output enable set register for GPIO0-31
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** enable_w1ts : WT; bitpos: [31:0]; default: 0;
|
||||
* GPIO output enable set register for GPIO0-31
|
||||
*/
|
||||
uint32_t enable_w1ts:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_enable_w1ts_reg_t;
|
||||
|
||||
/** Type of enable_w1tc register
|
||||
* GPIO output enable clear register for GPIO0-31
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** enable_w1tc : WT; bitpos: [31:0]; default: 0;
|
||||
* GPIO output enable clear register for GPIO0-31
|
||||
*/
|
||||
uint32_t enable_w1tc:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_enable_w1tc_reg_t;
|
||||
|
||||
/** Type of strap register
|
||||
* pad strapping register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** strapping : RO; bitpos: [15:0]; default: 0;
|
||||
* pad strapping register
|
||||
*/
|
||||
uint32_t strapping:16;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_strap_reg_t;
|
||||
|
||||
/** Type of in register
|
||||
* GPIO input register for GPIO0-31
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** in_data_next : RO; bitpos: [31:0]; default: 0;
|
||||
* GPIO input register for GPIO0-31
|
||||
*/
|
||||
uint32_t in_data_next:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_in_reg_t;
|
||||
|
||||
/** Type of status register
|
||||
* GPIO interrupt status register for GPIO0-31
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** status_interrupt : R/W/WTC; bitpos: [31:0]; default: 0;
|
||||
* GPIO interrupt status register for GPIO0-31
|
||||
*/
|
||||
uint32_t status_interrupt:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_status_reg_t;
|
||||
|
||||
/** Type of status_w1ts register
|
||||
* GPIO interrupt status set register for GPIO0-31
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** status_w1ts : WT; bitpos: [31:0]; default: 0;
|
||||
* GPIO interrupt status set register for GPIO0-31
|
||||
*/
|
||||
uint32_t status_w1ts:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_status_w1ts_reg_t;
|
||||
|
||||
/** Type of status_w1tc register
|
||||
* GPIO interrupt status clear register for GPIO0-31
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** status_w1tc : WT; bitpos: [31:0]; default: 0;
|
||||
* GPIO interrupt status clear register for GPIO0-31
|
||||
*/
|
||||
uint32_t status_w1tc:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_status_w1tc_reg_t;
|
||||
|
||||
/** Type of pcpu_int register
|
||||
* GPIO PRO_CPU interrupt status register for GPIO0-31
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** procpu_int : RO; bitpos: [31:0]; default: 0;
|
||||
* GPIO PRO_CPU interrupt status register for GPIO0-31
|
||||
*/
|
||||
uint32_t procpu_int:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_pcpu_int_reg_t;
|
||||
|
||||
/** Type of pcpu_nmi_int register
|
||||
* GPIO PRO_CPU(not shielded) interrupt status register for GPIO0-31
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** procpu_nmi_int : RO; bitpos: [31:0]; default: 0;
|
||||
* GPIO PRO_CPU(not shielded) interrupt status register for GPIO0-31
|
||||
*/
|
||||
uint32_t procpu_nmi_int:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_pcpu_nmi_int_reg_t;
|
||||
|
||||
/** Type of cpusdio_int register
|
||||
* GPIO CPUSDIO interrupt status register for GPIO0-31
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sdio_int : RO; bitpos: [31:0]; default: 0;
|
||||
* GPIO CPUSDIO interrupt status register for GPIO0-31
|
||||
*/
|
||||
uint32_t sdio_int:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_cpusdio_int_reg_t;
|
||||
|
||||
/** Type of pinn register
|
||||
* GPIO pin configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** pinn_sync2_bypass : R/W; bitpos: [1:0]; default: 0;
|
||||
* set GPIO input_sync2 signal mode. 0:disable. 1:trigger at negedge. 2or3:trigger at
|
||||
* posedge.
|
||||
*/
|
||||
uint32_t sync2_bypass:2;
|
||||
/** pinn_pad_driver : R/W; bitpos: [2]; default: 0;
|
||||
* set this bit to select pad driver. 1:open-drain. 0:normal.
|
||||
*/
|
||||
uint32_t pad_driver:1;
|
||||
/** pinn_sync1_bypass : R/W; bitpos: [4:3]; default: 0;
|
||||
* set GPIO input_sync1 signal mode. 0:disable. 1:trigger at negedge. 2or3:trigger at
|
||||
* posedge.
|
||||
*/
|
||||
uint32_t sync1_bypass:2;
|
||||
uint32_t reserved_5:2;
|
||||
/** pinn_int_type : R/W; bitpos: [9:7]; default: 0;
|
||||
* set this value to choose interrupt mode. 0:disable GPIO interrupt. 1:trigger at
|
||||
* posedge. 2:trigger at negedge. 3:trigger at any edge. 4:valid at low level. 5:valid
|
||||
* at high level
|
||||
*/
|
||||
uint32_t int_type:3;
|
||||
/** pinn_wakeup_enable : R/W; bitpos: [10]; default: 0;
|
||||
* set this bit to enable GPIO wakeup.(can only wakeup CPU from Light-sleep Mode)
|
||||
*/
|
||||
uint32_t wakeup_enable:1;
|
||||
/** pinn_config : R/W; bitpos: [12:11]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t config:2;
|
||||
/** pinn_int_ena : R/W; bitpos: [17:13]; default: 0;
|
||||
* set bit 13 to enable CPU interrupt. set bit 14 to enable CPU(not shielded)
|
||||
* interrupt.
|
||||
*/
|
||||
uint32_t int_ena:5;
|
||||
uint32_t reserved_18:14;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_pin_reg_t;
|
||||
|
||||
/** Type of status_next register
|
||||
* GPIO interrupt source register for GPIO0-31
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** status_interrupt_next : RO; bitpos: [31:0]; default: 0;
|
||||
* GPIO interrupt source register for GPIO0-31
|
||||
*/
|
||||
uint32_t status_interrupt_next:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_status_next_reg_t;
|
||||
|
||||
/** Type of func0_in_sel_cfg register
|
||||
* GPIO input function configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** func0_in_sel : R/W; bitpos: [5:0]; default: 60;
|
||||
* set this value: s=0-34: connect GPIO[s] to this port. s=0x38: set this port always
|
||||
* high level. s=0x3C: set this port always low level.
|
||||
*/
|
||||
uint32_t in_sel:6;
|
||||
/** func0_in_inv_sel : R/W; bitpos: [6]; default: 0;
|
||||
* set this bit to invert input signal. 1:invert. 0:not invert.
|
||||
*/
|
||||
uint32_t in_inv_sel:1;
|
||||
/** sig0_in_sel : R/W; bitpos: [7]; default: 0;
|
||||
* set this bit to bypass GPIO. 1:do not bypass GPIO. 0:bypass GPIO.
|
||||
*/
|
||||
uint32_t sig_in_sel:1;
|
||||
uint32_t reserved_8:24;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_func_in_sel_cfg_reg_t;
|
||||
|
||||
/** Type of funcn_out_sel_cfg register
|
||||
* GPIO output function select register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** funcn_out_sel : R/W/SC; bitpos: [7:0]; default: 128;
|
||||
* The value of the bits: 0<=s<=256. Set the value to select output signal. s=0-127:
|
||||
* output of GPIO[n] equals input of peripheral[s]. s=128: output of GPIO[n] equals
|
||||
* GPIO_OUT_REG[n].
|
||||
*/
|
||||
uint32_t out_sel:8;
|
||||
/** funcn_out_inv_sel : R/W/SC; bitpos: [8]; default: 0;
|
||||
* set this bit to invert output signal.1:invert.0:not invert.
|
||||
*/
|
||||
uint32_t out_inv_sel:1;
|
||||
/** funcn_oen_sel : R/W; bitpos: [9]; default: 0;
|
||||
* set this bit to select output enable signal.1:use GPIO_ENABLE_REG[n] as output
|
||||
* enable signal.0:use peripheral output enable signal.
|
||||
*/
|
||||
uint32_t oen_sel:1;
|
||||
/** funcn_oen_inv_sel : R/W; bitpos: [10]; default: 0;
|
||||
* set this bit to invert output enable signal.1:invert.0:not invert.
|
||||
*/
|
||||
uint32_t oen_inv_sel:1;
|
||||
uint32_t reserved_11:21;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_func_out_sel_cfg_reg_t;
|
||||
|
||||
/** Type of clock_gate register
|
||||
* GPIO clock gate register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_en : R/W; bitpos: [0]; default: 1;
|
||||
* set this bit to enable GPIO clock gate
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_clock_gate_reg_t;
|
||||
|
||||
/** Type of date register
|
||||
* GPIO version register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [27:0]; default: 35655968;
|
||||
* version register
|
||||
*/
|
||||
uint32_t date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} gpio_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile gpio_bt_select_reg_t bt_select;
|
||||
volatile gpio_out_reg_t out;
|
||||
volatile gpio_out_w1ts_reg_t out_w1ts;
|
||||
volatile gpio_out_w1tc_reg_t out_w1tc;
|
||||
uint32_t reserved_010[3];
|
||||
volatile gpio_sdio_select_reg_t sdio_select;
|
||||
volatile gpio_enable_reg_t enable;
|
||||
volatile gpio_enable_w1ts_reg_t enable_w1ts;
|
||||
volatile gpio_enable_w1tc_reg_t enable_w1tc;
|
||||
uint32_t reserved_02c[3];
|
||||
volatile gpio_strap_reg_t strap;
|
||||
volatile gpio_in_reg_t in;
|
||||
uint32_t reserved_040;
|
||||
volatile gpio_status_reg_t status;
|
||||
volatile gpio_status_w1ts_reg_t status_w1ts;
|
||||
volatile gpio_status_w1tc_reg_t status_w1tc;
|
||||
uint32_t reserved_050[3];
|
||||
volatile gpio_pcpu_int_reg_t pcpu_int;
|
||||
volatile gpio_pcpu_nmi_int_reg_t pcpu_nmi_int;
|
||||
volatile gpio_cpusdio_int_reg_t cpusdio_int;
|
||||
uint32_t reserved_068[3];
|
||||
volatile gpio_pin_reg_t pin[32];
|
||||
uint32_t reserved_0f4[22];
|
||||
volatile gpio_status_next_reg_t status_next;
|
||||
uint32_t reserved_150;
|
||||
volatile gpio_func_in_sel_cfg_reg_t func_in_sel_cfg[125];
|
||||
uint32_t reserved_348[131];
|
||||
volatile gpio_func_out_sel_cfg_reg_t func_out_sel_cfg[32];
|
||||
uint32_t reserved_5d4[22];
|
||||
volatile gpio_clock_gate_reg_t clock_gate;
|
||||
uint32_t reserved_630[51];
|
||||
volatile gpio_date_reg_t date;
|
||||
} gpio_dev_t;
|
||||
|
||||
extern gpio_dev_t GPIO;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(gpio_dev_t) == 0x700, "Invalid size of gpio_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
232
components/soc/esp32h2/include/soc/hmac_reg.h
Normal file
232
components/soc/esp32h2/include/soc/hmac_reg.h
Normal file
@ -0,0 +1,232 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** HMAC_SET_START_REG register
|
||||
* Process control register 0.
|
||||
*/
|
||||
#define HMAC_SET_START_REG (DR_REG_HMAC_BASE + 0x40)
|
||||
/** HMAC_SET_START : WS; bitpos: [0]; default: 0;
|
||||
* Start hmac operation.
|
||||
*/
|
||||
#define HMAC_SET_START (BIT(0))
|
||||
#define HMAC_SET_START_M (HMAC_SET_START_V << HMAC_SET_START_S)
|
||||
#define HMAC_SET_START_V 0x00000001U
|
||||
#define HMAC_SET_START_S 0
|
||||
|
||||
/** HMAC_SET_PARA_PURPOSE_REG register
|
||||
* Configure purpose.
|
||||
*/
|
||||
#define HMAC_SET_PARA_PURPOSE_REG (DR_REG_HMAC_BASE + 0x44)
|
||||
/** HMAC_PURPOSE_SET : WO; bitpos: [3:0]; default: 0;
|
||||
* Set hmac parameter purpose.
|
||||
*/
|
||||
#define HMAC_PURPOSE_SET 0x0000000FU
|
||||
#define HMAC_PURPOSE_SET_M (HMAC_PURPOSE_SET_V << HMAC_PURPOSE_SET_S)
|
||||
#define HMAC_PURPOSE_SET_V 0x0000000FU
|
||||
#define HMAC_PURPOSE_SET_S 0
|
||||
|
||||
/** HMAC_SET_PARA_KEY_REG register
|
||||
* Configure key.
|
||||
*/
|
||||
#define HMAC_SET_PARA_KEY_REG (DR_REG_HMAC_BASE + 0x48)
|
||||
/** HMAC_KEY_SET : WO; bitpos: [2:0]; default: 0;
|
||||
* Set hmac parameter key.
|
||||
*/
|
||||
#define HMAC_KEY_SET 0x00000007U
|
||||
#define HMAC_KEY_SET_M (HMAC_KEY_SET_V << HMAC_KEY_SET_S)
|
||||
#define HMAC_KEY_SET_V 0x00000007U
|
||||
#define HMAC_KEY_SET_S 0
|
||||
|
||||
/** HMAC_SET_PARA_FINISH_REG register
|
||||
* Finish initial configuration.
|
||||
*/
|
||||
#define HMAC_SET_PARA_FINISH_REG (DR_REG_HMAC_BASE + 0x4c)
|
||||
/** HMAC_SET_PARA_END : WS; bitpos: [0]; default: 0;
|
||||
* Finish hmac configuration.
|
||||
*/
|
||||
#define HMAC_SET_PARA_END (BIT(0))
|
||||
#define HMAC_SET_PARA_END_M (HMAC_SET_PARA_END_V << HMAC_SET_PARA_END_S)
|
||||
#define HMAC_SET_PARA_END_V 0x00000001U
|
||||
#define HMAC_SET_PARA_END_S 0
|
||||
|
||||
/** HMAC_SET_MESSAGE_ONE_REG register
|
||||
* Process control register 1.
|
||||
*/
|
||||
#define HMAC_SET_MESSAGE_ONE_REG (DR_REG_HMAC_BASE + 0x50)
|
||||
/** HMAC_SET_TEXT_ONE : WS; bitpos: [0]; default: 0;
|
||||
* Call SHA to calculate one message block.
|
||||
*/
|
||||
#define HMAC_SET_TEXT_ONE (BIT(0))
|
||||
#define HMAC_SET_TEXT_ONE_M (HMAC_SET_TEXT_ONE_V << HMAC_SET_TEXT_ONE_S)
|
||||
#define HMAC_SET_TEXT_ONE_V 0x00000001U
|
||||
#define HMAC_SET_TEXT_ONE_S 0
|
||||
|
||||
/** HMAC_SET_MESSAGE_ING_REG register
|
||||
* Process control register 2.
|
||||
*/
|
||||
#define HMAC_SET_MESSAGE_ING_REG (DR_REG_HMAC_BASE + 0x54)
|
||||
/** HMAC_SET_TEXT_ING : WS; bitpos: [0]; default: 0;
|
||||
* Continue typical hmac.
|
||||
*/
|
||||
#define HMAC_SET_TEXT_ING (BIT(0))
|
||||
#define HMAC_SET_TEXT_ING_M (HMAC_SET_TEXT_ING_V << HMAC_SET_TEXT_ING_S)
|
||||
#define HMAC_SET_TEXT_ING_V 0x00000001U
|
||||
#define HMAC_SET_TEXT_ING_S 0
|
||||
|
||||
/** HMAC_SET_MESSAGE_END_REG register
|
||||
* Process control register 3.
|
||||
*/
|
||||
#define HMAC_SET_MESSAGE_END_REG (DR_REG_HMAC_BASE + 0x58)
|
||||
/** HMAC_SET_TEXT_END : WS; bitpos: [0]; default: 0;
|
||||
* Start hardware padding.
|
||||
*/
|
||||
#define HMAC_SET_TEXT_END (BIT(0))
|
||||
#define HMAC_SET_TEXT_END_M (HMAC_SET_TEXT_END_V << HMAC_SET_TEXT_END_S)
|
||||
#define HMAC_SET_TEXT_END_V 0x00000001U
|
||||
#define HMAC_SET_TEXT_END_S 0
|
||||
|
||||
/** HMAC_SET_RESULT_FINISH_REG register
|
||||
* Process control register 4.
|
||||
*/
|
||||
#define HMAC_SET_RESULT_FINISH_REG (DR_REG_HMAC_BASE + 0x5c)
|
||||
/** HMAC_SET_RESULT_END : WS; bitpos: [0]; default: 0;
|
||||
* After read result from upstream, then let hmac back to idle.
|
||||
*/
|
||||
#define HMAC_SET_RESULT_END (BIT(0))
|
||||
#define HMAC_SET_RESULT_END_M (HMAC_SET_RESULT_END_V << HMAC_SET_RESULT_END_S)
|
||||
#define HMAC_SET_RESULT_END_V 0x00000001U
|
||||
#define HMAC_SET_RESULT_END_S 0
|
||||
|
||||
/** HMAC_SET_INVALIDATE_JTAG_REG register
|
||||
* Invalidate register 0.
|
||||
*/
|
||||
#define HMAC_SET_INVALIDATE_JTAG_REG (DR_REG_HMAC_BASE + 0x60)
|
||||
/** HMAC_SET_INVALIDATE_JTAG : WS; bitpos: [0]; default: 0;
|
||||
* Clear result from hmac downstream JTAG.
|
||||
*/
|
||||
#define HMAC_SET_INVALIDATE_JTAG (BIT(0))
|
||||
#define HMAC_SET_INVALIDATE_JTAG_M (HMAC_SET_INVALIDATE_JTAG_V << HMAC_SET_INVALIDATE_JTAG_S)
|
||||
#define HMAC_SET_INVALIDATE_JTAG_V 0x00000001U
|
||||
#define HMAC_SET_INVALIDATE_JTAG_S 0
|
||||
|
||||
/** HMAC_SET_INVALIDATE_DS_REG register
|
||||
* Invalidate register 1.
|
||||
*/
|
||||
#define HMAC_SET_INVALIDATE_DS_REG (DR_REG_HMAC_BASE + 0x64)
|
||||
/** HMAC_SET_INVALIDATE_DS : WS; bitpos: [0]; default: 0;
|
||||
* Clear result from hmac downstream DS.
|
||||
*/
|
||||
#define HMAC_SET_INVALIDATE_DS (BIT(0))
|
||||
#define HMAC_SET_INVALIDATE_DS_M (HMAC_SET_INVALIDATE_DS_V << HMAC_SET_INVALIDATE_DS_S)
|
||||
#define HMAC_SET_INVALIDATE_DS_V 0x00000001U
|
||||
#define HMAC_SET_INVALIDATE_DS_S 0
|
||||
|
||||
/** HMAC_QUERY_ERROR_REG register
|
||||
* Error register.
|
||||
*/
|
||||
#define HMAC_QUERY_ERROR_REG (DR_REG_HMAC_BASE + 0x68)
|
||||
/** HMAC_QUREY_CHECK : RO; bitpos: [0]; default: 0;
|
||||
* Hmac configuration state. 0: key are agree with purpose. 1: error
|
||||
*/
|
||||
#define HMAC_QUREY_CHECK (BIT(0))
|
||||
#define HMAC_QUREY_CHECK_M (HMAC_QUREY_CHECK_V << HMAC_QUREY_CHECK_S)
|
||||
#define HMAC_QUREY_CHECK_V 0x00000001U
|
||||
#define HMAC_QUREY_CHECK_S 0
|
||||
|
||||
/** HMAC_QUERY_BUSY_REG register
|
||||
* Busy register.
|
||||
*/
|
||||
#define HMAC_QUERY_BUSY_REG (DR_REG_HMAC_BASE + 0x6c)
|
||||
/** HMAC_BUSY_STATE : RO; bitpos: [0]; default: 0;
|
||||
* Hmac state. 1'b0: idle. 1'b1: busy
|
||||
*/
|
||||
#define HMAC_BUSY_STATE (BIT(0))
|
||||
#define HMAC_BUSY_STATE_M (HMAC_BUSY_STATE_V << HMAC_BUSY_STATE_S)
|
||||
#define HMAC_BUSY_STATE_V 0x00000001U
|
||||
#define HMAC_BUSY_STATE_S 0
|
||||
|
||||
/** HMAC_WR_MESSAGE_MEM register
|
||||
* Message block memory.
|
||||
*/
|
||||
#define HMAC_WR_MESSAGE_MEM (DR_REG_HMAC_BASE + 0x80)
|
||||
#define HMAC_WR_MESSAGE_MEM_SIZE_BYTES 64
|
||||
|
||||
/** HMAC_RD_RESULT_MEM register
|
||||
* Result from upstream.
|
||||
*/
|
||||
#define HMAC_RD_RESULT_MEM (DR_REG_HMAC_BASE + 0xc0)
|
||||
#define HMAC_RD_RESULT_MEM_SIZE_BYTES 32
|
||||
|
||||
/** HMAC_SET_MESSAGE_PAD_REG register
|
||||
* Process control register 5.
|
||||
*/
|
||||
#define HMAC_SET_MESSAGE_PAD_REG (DR_REG_HMAC_BASE + 0xf0)
|
||||
/** HMAC_SET_TEXT_PAD : WO; bitpos: [0]; default: 0;
|
||||
* Start software padding.
|
||||
*/
|
||||
#define HMAC_SET_TEXT_PAD (BIT(0))
|
||||
#define HMAC_SET_TEXT_PAD_M (HMAC_SET_TEXT_PAD_V << HMAC_SET_TEXT_PAD_S)
|
||||
#define HMAC_SET_TEXT_PAD_V 0x00000001U
|
||||
#define HMAC_SET_TEXT_PAD_S 0
|
||||
|
||||
/** HMAC_ONE_BLOCK_REG register
|
||||
* Process control register 6.
|
||||
*/
|
||||
#define HMAC_ONE_BLOCK_REG (DR_REG_HMAC_BASE + 0xf4)
|
||||
/** HMAC_SET_ONE_BLOCK : WS; bitpos: [0]; default: 0;
|
||||
* Don't have to do padding.
|
||||
*/
|
||||
#define HMAC_SET_ONE_BLOCK (BIT(0))
|
||||
#define HMAC_SET_ONE_BLOCK_M (HMAC_SET_ONE_BLOCK_V << HMAC_SET_ONE_BLOCK_S)
|
||||
#define HMAC_SET_ONE_BLOCK_V 0x00000001U
|
||||
#define HMAC_SET_ONE_BLOCK_S 0
|
||||
|
||||
/** HMAC_SOFT_JTAG_CTRL_REG register
|
||||
* Jtag register 0.
|
||||
*/
|
||||
#define HMAC_SOFT_JTAG_CTRL_REG (DR_REG_HMAC_BASE + 0xf8)
|
||||
/** HMAC_SOFT_JTAG_CTRL : WS; bitpos: [0]; default: 0;
|
||||
* Turn on JTAG verification.
|
||||
*/
|
||||
#define HMAC_SOFT_JTAG_CTRL (BIT(0))
|
||||
#define HMAC_SOFT_JTAG_CTRL_M (HMAC_SOFT_JTAG_CTRL_V << HMAC_SOFT_JTAG_CTRL_S)
|
||||
#define HMAC_SOFT_JTAG_CTRL_V 0x00000001U
|
||||
#define HMAC_SOFT_JTAG_CTRL_S 0
|
||||
|
||||
/** HMAC_WR_JTAG_REG register
|
||||
* Jtag register 1.
|
||||
*/
|
||||
#define HMAC_WR_JTAG_REG (DR_REG_HMAC_BASE + 0xfc)
|
||||
/** HMAC_WR_JTAG : WO; bitpos: [31:0]; default: 0;
|
||||
* 32-bit of key to be compared.
|
||||
*/
|
||||
#define HMAC_WR_JTAG 0xFFFFFFFFU
|
||||
#define HMAC_WR_JTAG_M (HMAC_WR_JTAG_V << HMAC_WR_JTAG_S)
|
||||
#define HMAC_WR_JTAG_V 0xFFFFFFFFU
|
||||
#define HMAC_WR_JTAG_S 0
|
||||
|
||||
/** HMAC_DATE_REG register
|
||||
* Date register.
|
||||
*/
|
||||
#define HMAC_DATE_REG (DR_REG_HMAC_BASE + 0x1fc)
|
||||
/** HMAC_DATE : R/W; bitpos: [29:0]; default: 538969624;
|
||||
* Hmac date information/ hmac version information.
|
||||
*/
|
||||
#define HMAC_DATE 0x3FFFFFFFU
|
||||
#define HMAC_DATE_M (HMAC_DATE_V << HMAC_DATE_S)
|
||||
#define HMAC_DATE_V 0x3FFFFFFFU
|
||||
#define HMAC_DATE_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
292
components/soc/esp32h2/include/soc/hmac_struct.h
Normal file
292
components/soc/esp32h2/include/soc/hmac_struct.h
Normal file
@ -0,0 +1,292 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: Configuration Register */
|
||||
/** Type of set_start register
|
||||
* Process control register 0.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_start : WS; bitpos: [0]; default: 0;
|
||||
* Start hmac operation.
|
||||
*/
|
||||
uint32_t set_start:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_set_start_reg_t;
|
||||
|
||||
/** Type of set_para_purpose register
|
||||
* Configure purpose.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** purpose_set : WO; bitpos: [3:0]; default: 0;
|
||||
* Set hmac parameter purpose.
|
||||
*/
|
||||
uint32_t purpose_set:4;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_set_para_purpose_reg_t;
|
||||
|
||||
/** Type of set_para_key register
|
||||
* Configure key.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** key_set : WO; bitpos: [2:0]; default: 0;
|
||||
* Set hmac parameter key.
|
||||
*/
|
||||
uint32_t key_set:3;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_set_para_key_reg_t;
|
||||
|
||||
/** Type of set_para_finish register
|
||||
* Finish initial configuration.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_para_end : WS; bitpos: [0]; default: 0;
|
||||
* Finish hmac configuration.
|
||||
*/
|
||||
uint32_t set_para_end:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_set_para_finish_reg_t;
|
||||
|
||||
/** Type of set_message_one register
|
||||
* Process control register 1.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_text_one : WS; bitpos: [0]; default: 0;
|
||||
* Call SHA to calculate one message block.
|
||||
*/
|
||||
uint32_t set_text_one:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_set_message_one_reg_t;
|
||||
|
||||
/** Type of set_message_ing register
|
||||
* Process control register 2.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_text_ing : WS; bitpos: [0]; default: 0;
|
||||
* Continue typical hmac.
|
||||
*/
|
||||
uint32_t set_text_ing:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_set_message_ing_reg_t;
|
||||
|
||||
/** Type of set_message_end register
|
||||
* Process control register 3.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_text_end : WS; bitpos: [0]; default: 0;
|
||||
* Start hardware padding.
|
||||
*/
|
||||
uint32_t set_text_end:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_set_message_end_reg_t;
|
||||
|
||||
/** Type of set_result_finish register
|
||||
* Process control register 4.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_result_end : WS; bitpos: [0]; default: 0;
|
||||
* After read result from upstream, then let hmac back to idle.
|
||||
*/
|
||||
uint32_t set_result_end:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_set_result_finish_reg_t;
|
||||
|
||||
/** Type of set_invalidate_jtag register
|
||||
* Invalidate register 0.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_invalidate_jtag : WS; bitpos: [0]; default: 0;
|
||||
* Clear result from hmac downstream JTAG.
|
||||
*/
|
||||
uint32_t set_invalidate_jtag:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_set_invalidate_jtag_reg_t;
|
||||
|
||||
/** Type of set_invalidate_ds register
|
||||
* Invalidate register 1.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_invalidate_ds : WS; bitpos: [0]; default: 0;
|
||||
* Clear result from hmac downstream DS.
|
||||
*/
|
||||
uint32_t set_invalidate_ds:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_set_invalidate_ds_reg_t;
|
||||
|
||||
/** Type of set_message_pad register
|
||||
* Process control register 5.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_text_pad : WO; bitpos: [0]; default: 0;
|
||||
* Start software padding.
|
||||
*/
|
||||
uint32_t set_text_pad:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_set_message_pad_reg_t;
|
||||
|
||||
/** Type of one_block register
|
||||
* Process control register 6.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_one_block : WS; bitpos: [0]; default: 0;
|
||||
* Don't have to do padding.
|
||||
*/
|
||||
uint32_t set_one_block:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_one_block_reg_t;
|
||||
|
||||
/** Type of soft_jtag_ctrl register
|
||||
* Jtag register 0.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** soft_jtag_ctrl : WS; bitpos: [0]; default: 0;
|
||||
* Turn on JTAG verification.
|
||||
*/
|
||||
uint32_t soft_jtag_ctrl:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_soft_jtag_ctrl_reg_t;
|
||||
|
||||
/** Type of wr_jtag register
|
||||
* Jtag register 1.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** wr_jtag : WO; bitpos: [31:0]; default: 0;
|
||||
* 32-bit of key to be compared.
|
||||
*/
|
||||
uint32_t wr_jtag:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_wr_jtag_reg_t;
|
||||
|
||||
|
||||
/** Group: Status Register */
|
||||
/** Type of query_error register
|
||||
* Error register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** qurey_check : RO; bitpos: [0]; default: 0;
|
||||
* Hmac configuration state. 0: key are agree with purpose. 1: error
|
||||
*/
|
||||
uint32_t qurey_check:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_query_error_reg_t;
|
||||
|
||||
/** Type of query_busy register
|
||||
* Busy register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** busy_state : RO; bitpos: [0]; default: 0;
|
||||
* Hmac state. 1'b0: idle. 1'b1: busy
|
||||
*/
|
||||
uint32_t busy_state:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_query_busy_reg_t;
|
||||
|
||||
|
||||
/** Group: Memory Type */
|
||||
|
||||
/** Group: Version Register */
|
||||
/** Type of date register
|
||||
* Date register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [29:0]; default: 538969624;
|
||||
* Hmac date information/ hmac version information.
|
||||
*/
|
||||
uint32_t date:30;
|
||||
uint32_t reserved_30:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} hmac_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
uint32_t reserved_000[16];
|
||||
volatile hmac_set_start_reg_t set_start;
|
||||
volatile hmac_set_para_purpose_reg_t set_para_purpose;
|
||||
volatile hmac_set_para_key_reg_t set_para_key;
|
||||
volatile hmac_set_para_finish_reg_t set_para_finish;
|
||||
volatile hmac_set_message_one_reg_t set_message_one;
|
||||
volatile hmac_set_message_ing_reg_t set_message_ing;
|
||||
volatile hmac_set_message_end_reg_t set_message_end;
|
||||
volatile hmac_set_result_finish_reg_t set_result_finish;
|
||||
volatile hmac_set_invalidate_jtag_reg_t set_invalidate_jtag;
|
||||
volatile hmac_set_invalidate_ds_reg_t set_invalidate_ds;
|
||||
volatile hmac_query_error_reg_t query_error;
|
||||
volatile hmac_query_busy_reg_t query_busy;
|
||||
uint32_t reserved_070[4];
|
||||
volatile uint32_t wr_message[16];
|
||||
volatile uint32_t rd_result[8];
|
||||
uint32_t reserved_0e0[4];
|
||||
volatile hmac_set_message_pad_reg_t set_message_pad;
|
||||
volatile hmac_one_block_reg_t one_block;
|
||||
volatile hmac_soft_jtag_ctrl_reg_t soft_jtag_ctrl;
|
||||
volatile hmac_wr_jtag_reg_t wr_jtag;
|
||||
uint32_t reserved_100[63];
|
||||
volatile hmac_date_reg_t date;
|
||||
} hmac_dev_t;
|
||||
|
||||
extern hmac_dev_t HMAC;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(hmac_dev_t) == 0x200, "Invalid size of hmac_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
1838
components/soc/esp32h2/include/soc/hp_apm_reg.h
Normal file
1838
components/soc/esp32h2/include/soc/hp_apm_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1670
components/soc/esp32h2/include/soc/hp_apm_struct.h
Normal file
1670
components/soc/esp32h2/include/soc/hp_apm_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
339
components/soc/esp32h2/include/soc/hp_system_reg.h
Normal file
339
components/soc/esp32h2/include/soc/hp_system_reg.h
Normal file
@ -0,0 +1,339 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** HP_SYSTEM_EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL_REG register
|
||||
* EXTERNAL DEVICE ENCRYPTION/DECRYPTION configuration register
|
||||
*/
|
||||
#define HP_SYSTEM_EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL_REG (DR_REG_HP_SYSTEM_BASE + 0x0)
|
||||
/** HP_SYSTEM_ENABLE_SPI_MANUAL_ENCRYPT : R/W; bitpos: [0]; default: 0;
|
||||
* Set this bit as 1 to enable mspi xts manual encrypt in spi boot mode.
|
||||
*/
|
||||
#define HP_SYSTEM_ENABLE_SPI_MANUAL_ENCRYPT (BIT(0))
|
||||
#define HP_SYSTEM_ENABLE_SPI_MANUAL_ENCRYPT_M (HP_SYSTEM_ENABLE_SPI_MANUAL_ENCRYPT_V << HP_SYSTEM_ENABLE_SPI_MANUAL_ENCRYPT_S)
|
||||
#define HP_SYSTEM_ENABLE_SPI_MANUAL_ENCRYPT_V 0x00000001U
|
||||
#define HP_SYSTEM_ENABLE_SPI_MANUAL_ENCRYPT_S 0
|
||||
/** HP_SYSTEM_ENABLE_DOWNLOAD_DB_ENCRYPT : HRO; bitpos: [1]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
#define HP_SYSTEM_ENABLE_DOWNLOAD_DB_ENCRYPT (BIT(1))
|
||||
#define HP_SYSTEM_ENABLE_DOWNLOAD_DB_ENCRYPT_M (HP_SYSTEM_ENABLE_DOWNLOAD_DB_ENCRYPT_V << HP_SYSTEM_ENABLE_DOWNLOAD_DB_ENCRYPT_S)
|
||||
#define HP_SYSTEM_ENABLE_DOWNLOAD_DB_ENCRYPT_V 0x00000001U
|
||||
#define HP_SYSTEM_ENABLE_DOWNLOAD_DB_ENCRYPT_S 1
|
||||
/** HP_SYSTEM_ENABLE_DOWNLOAD_G0CB_DECRYPT : R/W; bitpos: [2]; default: 0;
|
||||
* Set this bit as 1 to enable mspi xts auto decrypt in download boot mode.
|
||||
*/
|
||||
#define HP_SYSTEM_ENABLE_DOWNLOAD_G0CB_DECRYPT (BIT(2))
|
||||
#define HP_SYSTEM_ENABLE_DOWNLOAD_G0CB_DECRYPT_M (HP_SYSTEM_ENABLE_DOWNLOAD_G0CB_DECRYPT_V << HP_SYSTEM_ENABLE_DOWNLOAD_G0CB_DECRYPT_S)
|
||||
#define HP_SYSTEM_ENABLE_DOWNLOAD_G0CB_DECRYPT_V 0x00000001U
|
||||
#define HP_SYSTEM_ENABLE_DOWNLOAD_G0CB_DECRYPT_S 2
|
||||
/** HP_SYSTEM_ENABLE_DOWNLOAD_MANUAL_ENCRYPT : R/W; bitpos: [3]; default: 0;
|
||||
* Set this bit as 1 to enable mspi xts manual encrypt in download boot mode.
|
||||
*/
|
||||
#define HP_SYSTEM_ENABLE_DOWNLOAD_MANUAL_ENCRYPT (BIT(3))
|
||||
#define HP_SYSTEM_ENABLE_DOWNLOAD_MANUAL_ENCRYPT_M (HP_SYSTEM_ENABLE_DOWNLOAD_MANUAL_ENCRYPT_V << HP_SYSTEM_ENABLE_DOWNLOAD_MANUAL_ENCRYPT_S)
|
||||
#define HP_SYSTEM_ENABLE_DOWNLOAD_MANUAL_ENCRYPT_V 0x00000001U
|
||||
#define HP_SYSTEM_ENABLE_DOWNLOAD_MANUAL_ENCRYPT_S 3
|
||||
|
||||
/** HP_SYSTEM_SRAM_USAGE_CONF_REG register
|
||||
* HP memory usage configuration register
|
||||
*/
|
||||
#define HP_SYSTEM_SRAM_USAGE_CONF_REG (DR_REG_HP_SYSTEM_BASE + 0x4)
|
||||
/** HP_SYSTEM_SRAM_USAGE : R/W; bitpos: [14:10]; default: 0;
|
||||
* 0: cpu use hp-memory. 1: mac-dump accessing hp-memory.
|
||||
*/
|
||||
#define HP_SYSTEM_SRAM_USAGE 0x0000001FU
|
||||
#define HP_SYSTEM_SRAM_USAGE_M (HP_SYSTEM_SRAM_USAGE_V << HP_SYSTEM_SRAM_USAGE_S)
|
||||
#define HP_SYSTEM_SRAM_USAGE_V 0x0000001FU
|
||||
#define HP_SYSTEM_SRAM_USAGE_S 10
|
||||
/** HP_SYSTEM_MAC_DUMP_ALLOC : R/W; bitpos: [24:20]; default: 0;
|
||||
* reserved.
|
||||
*/
|
||||
#define HP_SYSTEM_MAC_DUMP_ALLOC 0x0000001FU
|
||||
#define HP_SYSTEM_MAC_DUMP_ALLOC_M (HP_SYSTEM_MAC_DUMP_ALLOC_V << HP_SYSTEM_MAC_DUMP_ALLOC_S)
|
||||
#define HP_SYSTEM_MAC_DUMP_ALLOC_V 0x0000001FU
|
||||
#define HP_SYSTEM_MAC_DUMP_ALLOC_S 20
|
||||
/** HP_SYSTEM_CACHE_USAGE : HRO; bitpos: [31]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
#define HP_SYSTEM_CACHE_USAGE (BIT(31))
|
||||
#define HP_SYSTEM_CACHE_USAGE_M (HP_SYSTEM_CACHE_USAGE_V << HP_SYSTEM_CACHE_USAGE_S)
|
||||
#define HP_SYSTEM_CACHE_USAGE_V 0x00000001U
|
||||
#define HP_SYSTEM_CACHE_USAGE_S 31
|
||||
|
||||
/** HP_SYSTEM_SEC_DPA_CONF_REG register
|
||||
* HP anti-DPA security configuration register
|
||||
*/
|
||||
#define HP_SYSTEM_SEC_DPA_CONF_REG (DR_REG_HP_SYSTEM_BASE + 0x8)
|
||||
/** HP_SYSTEM_SEC_DPA_LEVEL : R/W; bitpos: [1:0]; default: 0;
|
||||
* 0: anti-DPA disable. 1~3: anti-DPA enable with different security level. The larger
|
||||
* the number, the stronger the ability to resist DPA attacks and the higher the
|
||||
* security level, but it will increase the computational overhead of the hardware
|
||||
* crypto-accelerators. Only avaliable if HP_SYSTEM_SEC_DPA_CFG_SEL is 0.
|
||||
*/
|
||||
#define HP_SYSTEM_SEC_DPA_LEVEL 0x00000003U
|
||||
#define HP_SYSTEM_SEC_DPA_LEVEL_M (HP_SYSTEM_SEC_DPA_LEVEL_V << HP_SYSTEM_SEC_DPA_LEVEL_S)
|
||||
#define HP_SYSTEM_SEC_DPA_LEVEL_V 0x00000003U
|
||||
#define HP_SYSTEM_SEC_DPA_LEVEL_S 0
|
||||
/** HP_SYSTEM_SEC_DPA_CFG_SEL : R/W; bitpos: [2]; default: 0;
|
||||
* This field is used to select either HP_SYSTEM_SEC_DPA_LEVEL or EFUSE_SEC_DPA_LEVEL
|
||||
* (from efuse) to control dpa_level. 0: EFUSE_SEC_DPA_LEVEL, 1: HP_SYSTEM_SEC_DPA_LEVEL.
|
||||
*/
|
||||
#define HP_SYSTEM_SEC_DPA_CFG_SEL (BIT(2))
|
||||
#define HP_SYSTEM_SEC_DPA_CFG_SEL_M (HP_SYSTEM_SEC_DPA_CFG_SEL_V << HP_SYSTEM_SEC_DPA_CFG_SEL_S)
|
||||
#define HP_SYSTEM_SEC_DPA_CFG_SEL_V 0x00000001U
|
||||
#define HP_SYSTEM_SEC_DPA_CFG_SEL_S 2
|
||||
|
||||
/** HP_SYSTEM_CPU_PERI_TIMEOUT_CONF_REG register
|
||||
* CPU_PERI_TIMEOUT configuration register
|
||||
*/
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_CONF_REG (DR_REG_HP_SYSTEM_BASE + 0xc)
|
||||
/** HP_SYSTEM_CPU_PERI_TIMEOUT_THRES : R/W; bitpos: [15:0]; default: 65535;
|
||||
* Set the timeout threshold for bus access, corresponding to the number of clock
|
||||
* cycles of the clock domain.
|
||||
*/
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_THRES 0x0000FFFFU
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_THRES_M (HP_SYSTEM_CPU_PERI_TIMEOUT_THRES_V << HP_SYSTEM_CPU_PERI_TIMEOUT_THRES_S)
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_THRES_V 0x0000FFFFU
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_THRES_S 0
|
||||
/** HP_SYSTEM_CPU_PERI_TIMEOUT_INT_CLEAR : WT; bitpos: [16]; default: 0;
|
||||
* Set this bit as 1 to clear timeout interrupt
|
||||
*/
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_INT_CLEAR (BIT(16))
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_INT_CLEAR_M (HP_SYSTEM_CPU_PERI_TIMEOUT_INT_CLEAR_V << HP_SYSTEM_CPU_PERI_TIMEOUT_INT_CLEAR_S)
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_INT_CLEAR_V 0x00000001U
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_INT_CLEAR_S 16
|
||||
/** HP_SYSTEM_CPU_PERI_TIMEOUT_PROTECT_EN : R/W; bitpos: [17]; default: 1;
|
||||
* Set this bit as 1 to enable timeout protection for accessing cpu peripheral
|
||||
* registers
|
||||
*/
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_PROTECT_EN (BIT(17))
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_PROTECT_EN_M (HP_SYSTEM_CPU_PERI_TIMEOUT_PROTECT_EN_V << HP_SYSTEM_CPU_PERI_TIMEOUT_PROTECT_EN_S)
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_PROTECT_EN_V 0x00000001U
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_PROTECT_EN_S 17
|
||||
|
||||
/** HP_SYSTEM_CPU_PERI_TIMEOUT_ADDR_REG register
|
||||
* CPU_PERI_TIMEOUT_ADDR register
|
||||
*/
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_ADDR_REG (DR_REG_HP_SYSTEM_BASE + 0x10)
|
||||
/** HP_SYSTEM_CPU_PERI_TIMEOUT_ADDR : RO; bitpos: [31:0]; default: 0;
|
||||
* Record the address information of abnormal access
|
||||
*/
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_ADDR 0xFFFFFFFFU
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_ADDR_M (HP_SYSTEM_CPU_PERI_TIMEOUT_ADDR_V << HP_SYSTEM_CPU_PERI_TIMEOUT_ADDR_S)
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_ADDR_V 0xFFFFFFFFU
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_ADDR_S 0
|
||||
|
||||
/** HP_SYSTEM_CPU_PERI_TIMEOUT_UID_REG register
|
||||
* CPU_PERI_TIMEOUT_UID register
|
||||
*/
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_UID_REG (DR_REG_HP_SYSTEM_BASE + 0x14)
|
||||
/** HP_SYSTEM_CPU_PERI_TIMEOUT_UID : RO; bitpos: [6:0]; default: 0;
|
||||
* Record master id[4:0] & master permission[6:5] when trigger timeout. This register
|
||||
* will be cleared after the interrupt is cleared.
|
||||
*/
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_UID 0x0000007FU
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_UID_M (HP_SYSTEM_CPU_PERI_TIMEOUT_UID_V << HP_SYSTEM_CPU_PERI_TIMEOUT_UID_S)
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_UID_V 0x0000007FU
|
||||
#define HP_SYSTEM_CPU_PERI_TIMEOUT_UID_S 0
|
||||
|
||||
/** HP_SYSTEM_HP_PERI_TIMEOUT_CONF_REG register
|
||||
* HP_PERI_TIMEOUT configuration register
|
||||
*/
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_CONF_REG (DR_REG_HP_SYSTEM_BASE + 0x18)
|
||||
/** HP_SYSTEM_HP_PERI_TIMEOUT_THRES : R/W; bitpos: [15:0]; default: 65535;
|
||||
* Set the timeout threshold for bus access, corresponding to the number of clock
|
||||
* cycles of the clock domain.
|
||||
*/
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_THRES 0x0000FFFFU
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_THRES_M (HP_SYSTEM_HP_PERI_TIMEOUT_THRES_V << HP_SYSTEM_HP_PERI_TIMEOUT_THRES_S)
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_THRES_V 0x0000FFFFU
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_THRES_S 0
|
||||
/** HP_SYSTEM_HP_PERI_TIMEOUT_INT_CLEAR : WT; bitpos: [16]; default: 0;
|
||||
* Set this bit as 1 to clear timeout interrupt
|
||||
*/
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_INT_CLEAR (BIT(16))
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_INT_CLEAR_M (HP_SYSTEM_HP_PERI_TIMEOUT_INT_CLEAR_V << HP_SYSTEM_HP_PERI_TIMEOUT_INT_CLEAR_S)
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_INT_CLEAR_V 0x00000001U
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_INT_CLEAR_S 16
|
||||
/** HP_SYSTEM_HP_PERI_TIMEOUT_PROTECT_EN : R/W; bitpos: [17]; default: 1;
|
||||
* Set this bit as 1 to enable timeout protection for accessing hp peripheral registers
|
||||
*/
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_PROTECT_EN (BIT(17))
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_PROTECT_EN_M (HP_SYSTEM_HP_PERI_TIMEOUT_PROTECT_EN_V << HP_SYSTEM_HP_PERI_TIMEOUT_PROTECT_EN_S)
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_PROTECT_EN_V 0x00000001U
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_PROTECT_EN_S 17
|
||||
|
||||
/** HP_SYSTEM_HP_PERI_TIMEOUT_ADDR_REG register
|
||||
* HP_PERI_TIMEOUT_ADDR register
|
||||
*/
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_ADDR_REG (DR_REG_HP_SYSTEM_BASE + 0x1c)
|
||||
/** HP_SYSTEM_HP_PERI_TIMEOUT_ADDR : RO; bitpos: [31:0]; default: 0;
|
||||
* Record the address information of abnormal access
|
||||
*/
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_ADDR 0xFFFFFFFFU
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_ADDR_M (HP_SYSTEM_HP_PERI_TIMEOUT_ADDR_V << HP_SYSTEM_HP_PERI_TIMEOUT_ADDR_S)
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_ADDR_V 0xFFFFFFFFU
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_ADDR_S 0
|
||||
|
||||
/** HP_SYSTEM_HP_PERI_TIMEOUT_UID_REG register
|
||||
* HP_PERI_TIMEOUT_UID register
|
||||
*/
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_UID_REG (DR_REG_HP_SYSTEM_BASE + 0x20)
|
||||
/** HP_SYSTEM_HP_PERI_TIMEOUT_UID : RO; bitpos: [6:0]; default: 0;
|
||||
* Record master id[4:0] & master permission[6:5] when trigger timeout. This register
|
||||
* will be cleared after the interrupt is cleared.
|
||||
*/
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_UID 0x0000007FU
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_UID_M (HP_SYSTEM_HP_PERI_TIMEOUT_UID_V << HP_SYSTEM_HP_PERI_TIMEOUT_UID_S)
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_UID_V 0x0000007FU
|
||||
#define HP_SYSTEM_HP_PERI_TIMEOUT_UID_S 0
|
||||
|
||||
/** HP_SYSTEM_ROM_TABLE_LOCK_REG register
|
||||
* Rom-Table lock register
|
||||
*/
|
||||
#define HP_SYSTEM_ROM_TABLE_LOCK_REG (DR_REG_HP_SYSTEM_BASE + 0x24)
|
||||
/** HP_SYSTEM_ROM_TABLE_LOCK : R/W; bitpos: [0]; default: 0;
|
||||
* XXXX
|
||||
*/
|
||||
#define HP_SYSTEM_ROM_TABLE_LOCK (BIT(0))
|
||||
#define HP_SYSTEM_ROM_TABLE_LOCK_M (HP_SYSTEM_ROM_TABLE_LOCK_V << HP_SYSTEM_ROM_TABLE_LOCK_S)
|
||||
#define HP_SYSTEM_ROM_TABLE_LOCK_V 0x00000001U
|
||||
#define HP_SYSTEM_ROM_TABLE_LOCK_S 0
|
||||
|
||||
/** HP_SYSTEM_ROM_TABLE_REG register
|
||||
* Rom-Table register
|
||||
*/
|
||||
#define HP_SYSTEM_ROM_TABLE_REG (DR_REG_HP_SYSTEM_BASE + 0x28)
|
||||
/** HP_SYSTEM_ROM_TABLE : R/W; bitpos: [31:0]; default: 0;
|
||||
* XXXX
|
||||
*/
|
||||
#define HP_SYSTEM_ROM_TABLE 0xFFFFFFFFU
|
||||
#define HP_SYSTEM_ROM_TABLE_M (HP_SYSTEM_ROM_TABLE_V << HP_SYSTEM_ROM_TABLE_S)
|
||||
#define HP_SYSTEM_ROM_TABLE_V 0xFFFFFFFFU
|
||||
#define HP_SYSTEM_ROM_TABLE_S 0
|
||||
|
||||
/** HP_SYSTEM_MEM_TEST_CONF_REG register
|
||||
* MEM_TEST configuration register
|
||||
*/
|
||||
#define HP_SYSTEM_MEM_TEST_CONF_REG (DR_REG_HP_SYSTEM_BASE + 0x2c)
|
||||
/** HP_SYSTEM_HP_MEM_WPULSE : R/W; bitpos: [2:0]; default: 0;
|
||||
* This field controls hp system memory WPULSE parameter. 0b000 for 1.1V/1.0V/0.9V
|
||||
* operating Voltage.
|
||||
*/
|
||||
#define HP_SYSTEM_HP_MEM_WPULSE 0x00000007U
|
||||
#define HP_SYSTEM_HP_MEM_WPULSE_M (HP_SYSTEM_HP_MEM_WPULSE_V << HP_SYSTEM_HP_MEM_WPULSE_S)
|
||||
#define HP_SYSTEM_HP_MEM_WPULSE_V 0x00000007U
|
||||
#define HP_SYSTEM_HP_MEM_WPULSE_S 0
|
||||
/** HP_SYSTEM_HP_MEM_WA : R/W; bitpos: [5:3]; default: 5;
|
||||
* This field controls hp system memory WA parameter. 0b100 for 1.1V operating
|
||||
* Voltage, 0b101 for 1.0V, 0b110 for 0.9V.
|
||||
*/
|
||||
#define HP_SYSTEM_HP_MEM_WA 0x00000007U
|
||||
#define HP_SYSTEM_HP_MEM_WA_M (HP_SYSTEM_HP_MEM_WA_V << HP_SYSTEM_HP_MEM_WA_S)
|
||||
#define HP_SYSTEM_HP_MEM_WA_V 0x00000007U
|
||||
#define HP_SYSTEM_HP_MEM_WA_S 3
|
||||
/** HP_SYSTEM_HP_MEM_RA : R/W; bitpos: [7:6]; default: 0;
|
||||
* This field controls hp system memory RA parameter. 0b00 for 1.1V/1.0V operating
|
||||
* Voltage, 0b01 for 0.9V.
|
||||
*/
|
||||
#define HP_SYSTEM_HP_MEM_RA 0x00000003U
|
||||
#define HP_SYSTEM_HP_MEM_RA_M (HP_SYSTEM_HP_MEM_RA_V << HP_SYSTEM_HP_MEM_RA_S)
|
||||
#define HP_SYSTEM_HP_MEM_RA_V 0x00000003U
|
||||
#define HP_SYSTEM_HP_MEM_RA_S 6
|
||||
/** HP_SYSTEM_HP_MEM_RM : R/W; bitpos: [11:8]; default: 2;
|
||||
* This field controls hp system memory RM parameter. 0b0011 for 1.1V operating
|
||||
* Voltage, 0b0010 for 1.0V, 0b0000 for 0.9V.
|
||||
*/
|
||||
#define HP_SYSTEM_HP_MEM_RM 0x0000000FU
|
||||
#define HP_SYSTEM_HP_MEM_RM_M (HP_SYSTEM_HP_MEM_RM_V << HP_SYSTEM_HP_MEM_RM_S)
|
||||
#define HP_SYSTEM_HP_MEM_RM_V 0x0000000FU
|
||||
#define HP_SYSTEM_HP_MEM_RM_S 8
|
||||
/** HP_SYSTEM_ROM_RM : R/W; bitpos: [15:12]; default: 2;
|
||||
* This field controls rom RM parameter. 0b0011 for 1.1V operating Voltage, 0b0010 for
|
||||
* 1.0V, 0b0010(default) or 0b0001(slow) for 0.9V.
|
||||
*/
|
||||
#define HP_SYSTEM_ROM_RM 0x0000000FU
|
||||
#define HP_SYSTEM_ROM_RM_M (HP_SYSTEM_ROM_RM_V << HP_SYSTEM_ROM_RM_S)
|
||||
#define HP_SYSTEM_ROM_RM_V 0x0000000FU
|
||||
#define HP_SYSTEM_ROM_RM_S 12
|
||||
|
||||
/** HP_SYSTEM_RND_ECO_REG register
|
||||
* redcy eco register.
|
||||
*/
|
||||
#define HP_SYSTEM_RND_ECO_REG (DR_REG_HP_SYSTEM_BASE + 0x3e0)
|
||||
/** HP_SYSTEM_REDCY_ENA : R/W; bitpos: [0]; default: 0;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
#define HP_SYSTEM_REDCY_ENA (BIT(0))
|
||||
#define HP_SYSTEM_REDCY_ENA_M (HP_SYSTEM_REDCY_ENA_V << HP_SYSTEM_REDCY_ENA_S)
|
||||
#define HP_SYSTEM_REDCY_ENA_V 0x00000001U
|
||||
#define HP_SYSTEM_REDCY_ENA_S 0
|
||||
/** HP_SYSTEM_REDCY_RESULT : RO; bitpos: [1]; default: 0;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
#define HP_SYSTEM_REDCY_RESULT (BIT(1))
|
||||
#define HP_SYSTEM_REDCY_RESULT_M (HP_SYSTEM_REDCY_RESULT_V << HP_SYSTEM_REDCY_RESULT_S)
|
||||
#define HP_SYSTEM_REDCY_RESULT_V 0x00000001U
|
||||
#define HP_SYSTEM_REDCY_RESULT_S 1
|
||||
|
||||
/** HP_SYSTEM_RND_ECO_LOW_REG register
|
||||
* redcy eco low register.
|
||||
*/
|
||||
#define HP_SYSTEM_RND_ECO_LOW_REG (DR_REG_HP_SYSTEM_BASE + 0x3e4)
|
||||
/** HP_SYSTEM_REDCY_LOW : R/W; bitpos: [31:0]; default: 0;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
#define HP_SYSTEM_REDCY_LOW 0xFFFFFFFFU
|
||||
#define HP_SYSTEM_REDCY_LOW_M (HP_SYSTEM_REDCY_LOW_V << HP_SYSTEM_REDCY_LOW_S)
|
||||
#define HP_SYSTEM_REDCY_LOW_V 0xFFFFFFFFU
|
||||
#define HP_SYSTEM_REDCY_LOW_S 0
|
||||
|
||||
/** HP_SYSTEM_RND_ECO_HIGH_REG register
|
||||
* redcy eco high register.
|
||||
*/
|
||||
#define HP_SYSTEM_RND_ECO_HIGH_REG (DR_REG_HP_SYSTEM_BASE + 0x3e8)
|
||||
/** HP_SYSTEM_REDCY_HIGH : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
#define HP_SYSTEM_REDCY_HIGH 0xFFFFFFFFU
|
||||
#define HP_SYSTEM_REDCY_HIGH_M (HP_SYSTEM_REDCY_HIGH_V << HP_SYSTEM_REDCY_HIGH_S)
|
||||
#define HP_SYSTEM_REDCY_HIGH_V 0xFFFFFFFFU
|
||||
#define HP_SYSTEM_REDCY_HIGH_S 0
|
||||
|
||||
/** HP_SYSTEM_CLOCK_GATE_REG register
|
||||
* HP-SYSTEM clock gating configure register
|
||||
*/
|
||||
#define HP_SYSTEM_CLOCK_GATE_REG (DR_REG_HP_SYSTEM_BASE + 0x3f8)
|
||||
/** HP_SYSTEM_CLK_EN : R/W; bitpos: [0]; default: 0;
|
||||
* Set this bit as 1 to force on clock gating.
|
||||
*/
|
||||
#define HP_SYSTEM_CLK_EN (BIT(0))
|
||||
#define HP_SYSTEM_CLK_EN_M (HP_SYSTEM_CLK_EN_V << HP_SYSTEM_CLK_EN_S)
|
||||
#define HP_SYSTEM_CLK_EN_V 0x00000001U
|
||||
#define HP_SYSTEM_CLK_EN_S 0
|
||||
|
||||
/** HP_SYSTEM_DATE_REG register
|
||||
* Date register.
|
||||
*/
|
||||
#define HP_SYSTEM_DATE_REG (DR_REG_HP_SYSTEM_BASE + 0x3fc)
|
||||
/** HP_SYSTEM_DATE : R/W; bitpos: [27:0]; default: 35689073;
|
||||
* HP-SYSTEM date information/ HP-SYSTEM version information.
|
||||
*/
|
||||
#define HP_SYSTEM_DATE 0x0FFFFFFFU
|
||||
#define HP_SYSTEM_DATE_M (HP_SYSTEM_DATE_V << HP_SYSTEM_DATE_S)
|
||||
#define HP_SYSTEM_DATE_V 0x0FFFFFFFU
|
||||
#define HP_SYSTEM_DATE_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
360
components/soc/esp32h2/include/soc/hp_system_struct.h
Normal file
360
components/soc/esp32h2/include/soc/hp_system_struct.h
Normal file
@ -0,0 +1,360 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: Configuration Register */
|
||||
/** Type of external_device_encrypt_decrypt_control register
|
||||
* EXTERNAL DEVICE ENCRYPTION/DECRYPTION configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** enable_spi_manual_encrypt : R/W; bitpos: [0]; default: 0;
|
||||
* Set this bit as 1 to enable mspi xts manual encrypt in spi boot mode.
|
||||
*/
|
||||
uint32_t enable_spi_manual_encrypt:1;
|
||||
/** enable_download_db_encrypt : HRO; bitpos: [1]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t enable_download_db_encrypt:1;
|
||||
/** enable_download_g0cb_decrypt : R/W; bitpos: [2]; default: 0;
|
||||
* Set this bit as 1 to enable mspi xts auto decrypt in download boot mode.
|
||||
*/
|
||||
uint32_t enable_download_g0cb_decrypt:1;
|
||||
/** enable_download_manual_encrypt : R/W; bitpos: [3]; default: 0;
|
||||
* Set this bit as 1 to enable mspi xts manual encrypt in download boot mode.
|
||||
*/
|
||||
uint32_t enable_download_manual_encrypt:1;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_external_device_encrypt_decrypt_control_reg_t;
|
||||
|
||||
/** Type of sram_usage_conf register
|
||||
* HP memory usage configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:10;
|
||||
/** sram_usage : R/W; bitpos: [14:10]; default: 0;
|
||||
* 0: cpu use hp-memory. 1: mac-dump accessing hp-memory.
|
||||
*/
|
||||
uint32_t sram_usage:5;
|
||||
uint32_t reserved_15:5;
|
||||
/** mac_dump_alloc : R/W; bitpos: [24:20]; default: 0;
|
||||
* reserved.
|
||||
*/
|
||||
uint32_t mac_dump_alloc:5;
|
||||
uint32_t reserved_25:6;
|
||||
/** cache_usage : HRO; bitpos: [31]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t cache_usage:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_sram_usage_conf_reg_t;
|
||||
|
||||
/** Type of sec_dpa_conf register
|
||||
* HP anti-DPA security configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sec_dpa_level : R/W; bitpos: [1:0]; default: 0;
|
||||
* 0: anti-DPA disable. 1~3: anti-DPA enable with different security level. The larger
|
||||
* the number, the stronger the ability to resist DPA attacks and the higher the
|
||||
* security level, but it will increase the computational overhead of the hardware
|
||||
* crypto-accelerators. Only avaliable if HP_SYS_SEC_DPA_CFG_SEL is 0.
|
||||
*/
|
||||
uint32_t sec_dpa_level:2;
|
||||
/** sec_dpa_cfg_sel : R/W; bitpos: [2]; default: 0;
|
||||
* This field is used to select either HP_SYS_SEC_DPA_LEVEL or EFUSE_SEC_DPA_LEVEL
|
||||
* (from efuse) to control dpa_level. 0: EFUSE_SEC_DPA_LEVEL, 1: HP_SYS_SEC_DPA_LEVEL.
|
||||
*/
|
||||
uint32_t sec_dpa_cfg_sel:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_sec_dpa_conf_reg_t;
|
||||
|
||||
/** Type of rom_table_lock register
|
||||
* Rom-Table lock register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rom_table_lock : R/W; bitpos: [0]; default: 0;
|
||||
* XXXX
|
||||
*/
|
||||
uint32_t rom_table_lock:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_rom_table_lock_reg_t;
|
||||
|
||||
/** Type of rom_table register
|
||||
* Rom-Table register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rom_table : R/W; bitpos: [31:0]; default: 0;
|
||||
* XXXX
|
||||
*/
|
||||
uint32_t rom_table:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_rom_table_reg_t;
|
||||
|
||||
/** Type of mem_test_conf register
|
||||
* MEM_TEST configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** hp_mem_wpulse : R/W; bitpos: [2:0]; default: 0;
|
||||
* This field controls hp system memory WPULSE parameter. 0b000 for 1.1V/1.0V/0.9V
|
||||
* operating Voltage.
|
||||
*/
|
||||
uint32_t hp_mem_wpulse:3;
|
||||
/** hp_mem_wa : R/W; bitpos: [5:3]; default: 5;
|
||||
* This field controls hp system memory WA parameter. 0b100 for 1.1V operating
|
||||
* Voltage, 0b101 for 1.0V, 0b110 for 0.9V.
|
||||
*/
|
||||
uint32_t hp_mem_wa:3;
|
||||
/** hp_mem_ra : R/W; bitpos: [7:6]; default: 0;
|
||||
* This field controls hp system memory RA parameter. 0b00 for 1.1V/1.0V operating
|
||||
* Voltage, 0b01 for 0.9V.
|
||||
*/
|
||||
uint32_t hp_mem_ra:2;
|
||||
/** hp_mem_rm : R/W; bitpos: [11:8]; default: 2;
|
||||
* This field controls hp system memory RM parameter. 0b0011 for 1.1V operating
|
||||
* Voltage, 0b0010 for 1.0V, 0b0000 for 0.9V.
|
||||
*/
|
||||
uint32_t hp_mem_rm:4;
|
||||
/** rom_rm : R/W; bitpos: [15:12]; default: 2;
|
||||
* This field controls rom RM parameter. 0b0011 for 1.1V operating Voltage, 0b0010 for
|
||||
* 1.0V, 0b0010(default) or 0b0001(slow) for 0.9V.
|
||||
*/
|
||||
uint32_t rom_rm:4;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_mem_test_conf_reg_t;
|
||||
|
||||
/** Type of clock_gate register
|
||||
* HP-SYSTEM clock gating configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_en : R/W; bitpos: [0]; default: 0;
|
||||
* Set this bit as 1 to force on clock gating.
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_clock_gate_reg_t;
|
||||
|
||||
|
||||
/** Group: Timeout Register */
|
||||
/** Type of cpu_peri_timeout_conf register
|
||||
* CPU_PERI_TIMEOUT configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cpu_peri_timeout_thres : R/W; bitpos: [15:0]; default: 65535;
|
||||
* Set the timeout threshold for bus access, corresponding to the number of clock
|
||||
* cycles of the clock domain.
|
||||
*/
|
||||
uint32_t cpu_peri_timeout_thres:16;
|
||||
/** cpu_peri_timeout_int_clear : WT; bitpos: [16]; default: 0;
|
||||
* Set this bit as 1 to clear timeout interrupt
|
||||
*/
|
||||
uint32_t cpu_peri_timeout_int_clear:1;
|
||||
/** cpu_peri_timeout_protect_en : R/W; bitpos: [17]; default: 1;
|
||||
* Set this bit as 1 to enable timeout protection for accessing cpu peripheral
|
||||
* registers
|
||||
*/
|
||||
uint32_t cpu_peri_timeout_protect_en:1;
|
||||
uint32_t reserved_18:14;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_cpu_peri_timeout_conf_reg_t;
|
||||
|
||||
/** Type of cpu_peri_timeout_addr register
|
||||
* CPU_PERI_TIMEOUT_ADDR register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cpu_peri_timeout_addr : RO; bitpos: [31:0]; default: 0;
|
||||
* Record the address information of abnormal access
|
||||
*/
|
||||
uint32_t cpu_peri_timeout_addr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_cpu_peri_timeout_addr_reg_t;
|
||||
|
||||
/** Type of cpu_peri_timeout_uid register
|
||||
* CPU_PERI_TIMEOUT_UID register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cpu_peri_timeout_uid : RO; bitpos: [6:0]; default: 0;
|
||||
* Record master id[4:0] & master permission[6:5] when trigger timeout. This register
|
||||
* will be cleared after the interrupt is cleared.
|
||||
*/
|
||||
uint32_t cpu_peri_timeout_uid:7;
|
||||
uint32_t reserved_7:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_cpu_peri_timeout_uid_reg_t;
|
||||
|
||||
/** Type of hp_peri_timeout_conf register
|
||||
* HP_PERI_TIMEOUT configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** hp_peri_timeout_thres : R/W; bitpos: [15:0]; default: 65535;
|
||||
* Set the timeout threshold for bus access, corresponding to the number of clock
|
||||
* cycles of the clock domain.
|
||||
*/
|
||||
uint32_t hp_peri_timeout_thres:16;
|
||||
/** hp_peri_timeout_int_clear : WT; bitpos: [16]; default: 0;
|
||||
* Set this bit as 1 to clear timeout interrupt
|
||||
*/
|
||||
uint32_t hp_peri_timeout_int_clear:1;
|
||||
/** hp_peri_timeout_protect_en : R/W; bitpos: [17]; default: 1;
|
||||
* Set this bit as 1 to enable timeout protection for accessing hp peripheral registers
|
||||
*/
|
||||
uint32_t hp_peri_timeout_protect_en:1;
|
||||
uint32_t reserved_18:14;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_hp_peri_timeout_conf_reg_t;
|
||||
|
||||
/** Type of hp_peri_timeout_addr register
|
||||
* HP_PERI_TIMEOUT_ADDR register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** hp_peri_timeout_addr : RO; bitpos: [31:0]; default: 0;
|
||||
* Record the address information of abnormal access
|
||||
*/
|
||||
uint32_t hp_peri_timeout_addr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_hp_peri_timeout_addr_reg_t;
|
||||
|
||||
/** Type of hp_peri_timeout_uid register
|
||||
* HP_PERI_TIMEOUT_UID register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** hp_peri_timeout_uid : RO; bitpos: [6:0]; default: 0;
|
||||
* Record master id[4:0] & master permission[6:5] when trigger timeout. This register
|
||||
* will be cleared after the interrupt is cleared.
|
||||
*/
|
||||
uint32_t hp_peri_timeout_uid:7;
|
||||
uint32_t reserved_7:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_hp_peri_timeout_uid_reg_t;
|
||||
|
||||
|
||||
/** Group: Redcy ECO Registers */
|
||||
/** Type of rnd_eco register
|
||||
* redcy eco register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** redcy_ena : R/W; bitpos: [0]; default: 0;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
uint32_t redcy_ena:1;
|
||||
/** redcy_result : RO; bitpos: [1]; default: 0;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
uint32_t redcy_result:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_rnd_eco_reg_t;
|
||||
|
||||
/** Type of rnd_eco_low register
|
||||
* redcy eco low register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** redcy_low : R/W; bitpos: [31:0]; default: 0;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
uint32_t redcy_low:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_rnd_eco_low_reg_t;
|
||||
|
||||
/** Type of rnd_eco_high register
|
||||
* redcy eco high register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** redcy_high : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
uint32_t redcy_high:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_rnd_eco_high_reg_t;
|
||||
|
||||
|
||||
/** Group: Version Register */
|
||||
/** Type of date register
|
||||
* Date register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [27:0]; default: 35689073;
|
||||
* HP-SYSTEM date information/ HP-SYSTEM version information.
|
||||
*/
|
||||
uint32_t date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_sys_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile hp_sys_external_device_encrypt_decrypt_control_reg_t external_device_encrypt_decrypt_control;
|
||||
volatile hp_sys_sram_usage_conf_reg_t sram_usage_conf;
|
||||
volatile hp_sys_sec_dpa_conf_reg_t sec_dpa_conf;
|
||||
volatile hp_sys_cpu_peri_timeout_conf_reg_t cpu_peri_timeout_conf;
|
||||
volatile hp_sys_cpu_peri_timeout_addr_reg_t cpu_peri_timeout_addr;
|
||||
volatile hp_sys_cpu_peri_timeout_uid_reg_t cpu_peri_timeout_uid;
|
||||
volatile hp_sys_hp_peri_timeout_conf_reg_t hp_peri_timeout_conf;
|
||||
volatile hp_sys_hp_peri_timeout_addr_reg_t hp_peri_timeout_addr;
|
||||
volatile hp_sys_hp_peri_timeout_uid_reg_t hp_peri_timeout_uid;
|
||||
volatile hp_sys_rom_table_lock_reg_t rom_table_lock;
|
||||
volatile hp_sys_rom_table_reg_t rom_table;
|
||||
volatile hp_sys_mem_test_conf_reg_t mem_test_conf;
|
||||
uint32_t reserved_030[236];
|
||||
volatile hp_sys_rnd_eco_reg_t rnd_eco;
|
||||
volatile hp_sys_rnd_eco_low_reg_t rnd_eco_low;
|
||||
volatile hp_sys_rnd_eco_high_reg_t rnd_eco_high;
|
||||
uint32_t reserved_3ec[3];
|
||||
volatile hp_sys_clock_gate_reg_t clock_gate;
|
||||
volatile hp_sys_date_reg_t date;
|
||||
} hp_sys_dev_t;
|
||||
|
||||
extern hp_sys_dev_t HP_SYSTEM;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(hp_sys_dev_t) == 0x400, "Invalid size of hp_sys_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
12
components/soc/esp32h2/include/soc/hwcrypto_reg.h
Normal file
12
components/soc/esp32h2/include/soc/hwcrypto_reg.h
Normal file
@ -0,0 +1,12 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "soc/aes_reg.h"
|
||||
#include "soc/ds_reg.h"
|
||||
#include "soc/hmac_reg.h"
|
||||
#include "soc/rsa_reg.h"
|
||||
#include "soc/sha_reg.h"
|
1450
components/soc/esp32h2/include/soc/i2c_reg.h
Normal file
1450
components/soc/esp32h2/include/soc/i2c_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1197
components/soc/esp32h2/include/soc/i2c_struct.h
Normal file
1197
components/soc/esp32h2/include/soc/i2c_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
1296
components/soc/esp32h2/include/soc/i2s_reg.h
Normal file
1296
components/soc/esp32h2/include/soc/i2s_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1022
components/soc/esp32h2/include/soc/i2s_struct.h
Normal file
1022
components/soc/esp32h2/include/soc/i2s_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
856
components/soc/esp32h2/include/soc/interrupt_matrix_reg.h
Normal file
856
components/soc/esp32h2/include/soc/interrupt_matrix_reg.h
Normal file
@ -0,0 +1,856 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
// #include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** INTMTX_CORE0_PMU_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_PMU_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x0)
|
||||
/** INTMTX_CORE0_PMU_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_PMU_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_PMU_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_PMU_INTR_MAP_M (INTMTX_CORE0_PMU_INTR_MAP_V << INTMTX_CORE0_PMU_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_PMU_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_PMU_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_EFUSE_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_EFUSE_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x4)
|
||||
/** INTMTX_CORE0_EFUSE_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_EFUSE_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_EFUSE_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_EFUSE_INTR_MAP_M (INTMTX_CORE0_EFUSE_INTR_MAP_V << INTMTX_CORE0_EFUSE_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_EFUSE_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_EFUSE_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_LP_RTC_TIMER_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_LP_RTC_TIMER_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x8)
|
||||
/** INTMTX_CORE0_LP_RTC_TIMER_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_LP_RTC_TIMER_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_LP_RTC_TIMER_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_LP_RTC_TIMER_INTR_MAP_M (INTMTX_CORE0_LP_RTC_TIMER_INTR_MAP_V << INTMTX_CORE0_LP_RTC_TIMER_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_LP_RTC_TIMER_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_LP_RTC_TIMER_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_LP_BLE_TIMER_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_LP_BLE_TIMER_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xc)
|
||||
/** INTMTX_CORE0_LP_BLE_TIMER_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_LP_BLE_TIMER_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_LP_BLE_TIMER_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_LP_BLE_TIMER_INTR_MAP_M (INTMTX_CORE0_LP_BLE_TIMER_INTR_MAP_V << INTMTX_CORE0_LP_BLE_TIMER_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_LP_BLE_TIMER_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_LP_BLE_TIMER_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_LP_WDT_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_LP_WDT_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x10)
|
||||
/** INTMTX_CORE0_LP_WDT_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_LP_WDT_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_LP_WDT_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_LP_WDT_INTR_MAP_M (INTMTX_CORE0_LP_WDT_INTR_MAP_V << INTMTX_CORE0_LP_WDT_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_LP_WDT_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_LP_WDT_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_LP_PERI_TIMEOUT_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_LP_PERI_TIMEOUT_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x14)
|
||||
/** INTMTX_CORE0_LP_PERI_TIMEOUT_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_LP_PERI_TIMEOUT_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_LP_PERI_TIMEOUT_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_LP_PERI_TIMEOUT_INTR_MAP_M (INTMTX_CORE0_LP_PERI_TIMEOUT_INTR_MAP_V << INTMTX_CORE0_LP_PERI_TIMEOUT_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_LP_PERI_TIMEOUT_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_LP_PERI_TIMEOUT_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_LP_APM_M0_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_LP_APM_M0_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x18)
|
||||
/** INTMTX_CORE0_LP_APM_M0_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_LP_APM_M0_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_LP_APM_M0_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_LP_APM_M0_INTR_MAP_M (INTMTX_CORE0_LP_APM_M0_INTR_MAP_V << INTMTX_CORE0_LP_APM_M0_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_LP_APM_M0_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_LP_APM_M0_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_CPU_INTR_FROM_CPU_0_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_0_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x1c)
|
||||
/** INTMTX_CORE0_CPU_INTR_FROM_CPU_0_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_CPU_INTR_FROM_CPU_0 mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_0_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_0_MAP_M (INTMTX_CORE0_CPU_INTR_FROM_CPU_0_MAP_V << INTMTX_CORE0_CPU_INTR_FROM_CPU_0_MAP_S)
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_0_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_0_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_CPU_INTR_FROM_CPU_1_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_1_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x20)
|
||||
/** INTMTX_CORE0_CPU_INTR_FROM_CPU_1_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_CPU_INTR_FROM_CPU_1 mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_1_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_1_MAP_M (INTMTX_CORE0_CPU_INTR_FROM_CPU_1_MAP_V << INTMTX_CORE0_CPU_INTR_FROM_CPU_1_MAP_S)
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_1_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_1_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_CPU_INTR_FROM_CPU_2_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_2_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x24)
|
||||
/** INTMTX_CORE0_CPU_INTR_FROM_CPU_2_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_CPU_INTR_FROM_CPU_2 mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_2_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_2_MAP_M (INTMTX_CORE0_CPU_INTR_FROM_CPU_2_MAP_V << INTMTX_CORE0_CPU_INTR_FROM_CPU_2_MAP_S)
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_2_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_2_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_CPU_INTR_FROM_CPU_3_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_3_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x28)
|
||||
/** INTMTX_CORE0_CPU_INTR_FROM_CPU_3_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_CPU_INTR_FROM_CPU_3 mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_3_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_3_MAP_M (INTMTX_CORE0_CPU_INTR_FROM_CPU_3_MAP_V << INTMTX_CORE0_CPU_INTR_FROM_CPU_3_MAP_S)
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_3_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_CPU_INTR_FROM_CPU_3_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_ASSIST_DEBUG_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_ASSIST_DEBUG_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x2c)
|
||||
/** INTMTX_CORE0_ASSIST_DEBUG_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_ASSIST_DEBUG_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_ASSIST_DEBUG_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_ASSIST_DEBUG_INTR_MAP_M (INTMTX_CORE0_ASSIST_DEBUG_INTR_MAP_V << INTMTX_CORE0_ASSIST_DEBUG_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_ASSIST_DEBUG_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_ASSIST_DEBUG_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_TRACE_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_TRACE_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x30)
|
||||
/** INTMTX_CORE0_TRACE_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_TRACE_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_TRACE_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_TRACE_INTR_MAP_M (INTMTX_CORE0_TRACE_INTR_MAP_V << INTMTX_CORE0_TRACE_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_TRACE_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_TRACE_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_CACHE_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_CACHE_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x34)
|
||||
/** INTMTX_CORE0_CACHE_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_CACHE_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_CACHE_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_CACHE_INTR_MAP_M (INTMTX_CORE0_CACHE_INTR_MAP_V << INTMTX_CORE0_CACHE_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_CACHE_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_CACHE_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_CPU_PERI_TIMEOUT_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_CPU_PERI_TIMEOUT_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x38)
|
||||
/** INTMTX_CORE0_CPU_PERI_TIMEOUT_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_CPU_PERI_TIMEOUT_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_CPU_PERI_TIMEOUT_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_CPU_PERI_TIMEOUT_INTR_MAP_M (INTMTX_CORE0_CPU_PERI_TIMEOUT_INTR_MAP_V << INTMTX_CORE0_CPU_PERI_TIMEOUT_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_CPU_PERI_TIMEOUT_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_CPU_PERI_TIMEOUT_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_BT_MAC_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_BT_MAC_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x3c)
|
||||
/** INTMTX_CORE0_BT_MAC_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_BT_MAC_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_BT_MAC_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_BT_MAC_INTR_MAP_M (INTMTX_CORE0_BT_MAC_INTR_MAP_V << INTMTX_CORE0_BT_MAC_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_BT_MAC_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_BT_MAC_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_BT_BB_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_BT_BB_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x40)
|
||||
/** INTMTX_CORE0_BT_BB_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_BT_BB_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_BT_BB_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_BT_BB_INTR_MAP_M (INTMTX_CORE0_BT_BB_INTR_MAP_V << INTMTX_CORE0_BT_BB_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_BT_BB_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_BT_BB_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_BT_BB_NMI_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_BT_BB_NMI_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x44)
|
||||
/** INTMTX_CORE0_BT_BB_NMI_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_BT_BB_NMI mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_BT_BB_NMI_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_BT_BB_NMI_MAP_M (INTMTX_CORE0_BT_BB_NMI_MAP_V << INTMTX_CORE0_BT_BB_NMI_MAP_S)
|
||||
#define INTMTX_CORE0_BT_BB_NMI_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_BT_BB_NMI_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_COEX_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_COEX_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x48)
|
||||
/** INTMTX_CORE0_COEX_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_COEX_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_COEX_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_COEX_INTR_MAP_M (INTMTX_CORE0_COEX_INTR_MAP_V << INTMTX_CORE0_COEX_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_COEX_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_COEX_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_BLE_TIMER_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_BLE_TIMER_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x4c)
|
||||
/** INTMTX_CORE0_BLE_TIMER_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_BLE_TIMER_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_BLE_TIMER_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_BLE_TIMER_INTR_MAP_M (INTMTX_CORE0_BLE_TIMER_INTR_MAP_V << INTMTX_CORE0_BLE_TIMER_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_BLE_TIMER_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_BLE_TIMER_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_BLE_SEC_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_BLE_SEC_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x50)
|
||||
/** INTMTX_CORE0_BLE_SEC_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_BLE_SEC_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_BLE_SEC_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_BLE_SEC_INTR_MAP_M (INTMTX_CORE0_BLE_SEC_INTR_MAP_V << INTMTX_CORE0_BLE_SEC_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_BLE_SEC_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_BLE_SEC_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_ZB_MAC_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_ZB_MAC_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x54)
|
||||
/** INTMTX_CORE0_ZB_MAC_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_ZB_MAC_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_ZB_MAC_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_ZB_MAC_INTR_MAP_M (INTMTX_CORE0_ZB_MAC_INTR_MAP_V << INTMTX_CORE0_ZB_MAC_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_ZB_MAC_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_ZB_MAC_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_GPIO_INTERRUPT_PRO_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_GPIO_INTERRUPT_PRO_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x58)
|
||||
/** INTMTX_CORE0_GPIO_INTERRUPT_PRO_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_GPIO_INTERRUPT_PRO mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_GPIO_INTERRUPT_PRO_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_GPIO_INTERRUPT_PRO_MAP_M (INTMTX_CORE0_GPIO_INTERRUPT_PRO_MAP_V << INTMTX_CORE0_GPIO_INTERRUPT_PRO_MAP_S)
|
||||
#define INTMTX_CORE0_GPIO_INTERRUPT_PRO_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_GPIO_INTERRUPT_PRO_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x5c)
|
||||
/** INTMTX_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_GPIO_INTERRUPT_PRO_NMI mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_M (INTMTX_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_V << INTMTX_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_S)
|
||||
#define INTMTX_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_PAU_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_PAU_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x60)
|
||||
/** INTMTX_CORE0_PAU_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_PAU_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_PAU_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_PAU_INTR_MAP_M (INTMTX_CORE0_PAU_INTR_MAP_V << INTMTX_CORE0_PAU_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_PAU_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_PAU_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_HP_PERI_TIMEOUT_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_HP_PERI_TIMEOUT_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x64)
|
||||
/** INTMTX_CORE0_HP_PERI_TIMEOUT_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_HP_PERI_TIMEOUT_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_HP_PERI_TIMEOUT_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_HP_PERI_TIMEOUT_INTR_MAP_M (INTMTX_CORE0_HP_PERI_TIMEOUT_INTR_MAP_V << INTMTX_CORE0_HP_PERI_TIMEOUT_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_HP_PERI_TIMEOUT_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_HP_PERI_TIMEOUT_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_HP_APM_M0_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_HP_APM_M0_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x68)
|
||||
/** INTMTX_CORE0_HP_APM_M0_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_HP_APM_M0_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_HP_APM_M0_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_HP_APM_M0_INTR_MAP_M (INTMTX_CORE0_HP_APM_M0_INTR_MAP_V << INTMTX_CORE0_HP_APM_M0_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_HP_APM_M0_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_HP_APM_M0_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_HP_APM_M1_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_HP_APM_M1_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x6c)
|
||||
/** INTMTX_CORE0_HP_APM_M1_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_HP_APM_M1_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_HP_APM_M1_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_HP_APM_M1_INTR_MAP_M (INTMTX_CORE0_HP_APM_M1_INTR_MAP_V << INTMTX_CORE0_HP_APM_M1_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_HP_APM_M1_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_HP_APM_M1_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_HP_APM_M2_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_HP_APM_M2_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x70)
|
||||
/** INTMTX_CORE0_HP_APM_M2_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_HP_APM_M2_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_HP_APM_M2_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_HP_APM_M2_INTR_MAP_M (INTMTX_CORE0_HP_APM_M2_INTR_MAP_V << INTMTX_CORE0_HP_APM_M2_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_HP_APM_M2_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_HP_APM_M2_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_HP_APM_M3_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_HP_APM_M3_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x74)
|
||||
/** INTMTX_CORE0_HP_APM_M3_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_HP_APM_M3_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_HP_APM_M3_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_HP_APM_M3_INTR_MAP_M (INTMTX_CORE0_HP_APM_M3_INTR_MAP_V << INTMTX_CORE0_HP_APM_M3_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_HP_APM_M3_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_HP_APM_M3_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_MSPI_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_MSPI_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x78)
|
||||
/** INTMTX_CORE0_MSPI_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_MSPI_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_MSPI_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_MSPI_INTR_MAP_M (INTMTX_CORE0_MSPI_INTR_MAP_V << INTMTX_CORE0_MSPI_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_MSPI_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_MSPI_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_I2S1_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_I2S1_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x7c)
|
||||
/** INTMTX_CORE0_I2S1_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_I2S1_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_I2S1_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_I2S1_INTR_MAP_M (INTMTX_CORE0_I2S1_INTR_MAP_V << INTMTX_CORE0_I2S1_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_I2S1_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_I2S1_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_UHCI0_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_UHCI0_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x80)
|
||||
/** INTMTX_CORE0_UHCI0_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_UHCI0_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_UHCI0_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_UHCI0_INTR_MAP_M (INTMTX_CORE0_UHCI0_INTR_MAP_V << INTMTX_CORE0_UHCI0_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_UHCI0_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_UHCI0_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_UART0_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_UART0_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x84)
|
||||
/** INTMTX_CORE0_UART0_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_UART0_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_UART0_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_UART0_INTR_MAP_M (INTMTX_CORE0_UART0_INTR_MAP_V << INTMTX_CORE0_UART0_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_UART0_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_UART0_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_UART1_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_UART1_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x88)
|
||||
/** INTMTX_CORE0_UART1_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_UART1_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_UART1_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_UART1_INTR_MAP_M (INTMTX_CORE0_UART1_INTR_MAP_V << INTMTX_CORE0_UART1_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_UART1_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_UART1_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_LEDC_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_LEDC_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x8c)
|
||||
/** INTMTX_CORE0_LEDC_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_LEDC_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_LEDC_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_LEDC_INTR_MAP_M (INTMTX_CORE0_LEDC_INTR_MAP_V << INTMTX_CORE0_LEDC_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_LEDC_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_LEDC_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_CAN0_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_CAN0_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x90)
|
||||
/** INTMTX_CORE0_CAN0_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_CAN0_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_CAN0_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_CAN0_INTR_MAP_M (INTMTX_CORE0_CAN0_INTR_MAP_V << INTMTX_CORE0_CAN0_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_CAN0_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_CAN0_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_USB_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_USB_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x94)
|
||||
/** INTMTX_CORE0_USB_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_USB_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_USB_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_USB_INTR_MAP_M (INTMTX_CORE0_USB_INTR_MAP_V << INTMTX_CORE0_USB_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_USB_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_USB_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_RMT_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_RMT_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x98)
|
||||
/** INTMTX_CORE0_RMT_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_RMT_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_RMT_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_RMT_INTR_MAP_M (INTMTX_CORE0_RMT_INTR_MAP_V << INTMTX_CORE0_RMT_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_RMT_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_RMT_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_I2C_EXT0_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_I2C_EXT0_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x9c)
|
||||
/** INTMTX_CORE0_I2C_EXT0_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_I2C_EXT0_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_I2C_EXT0_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_I2C_EXT0_INTR_MAP_M (INTMTX_CORE0_I2C_EXT0_INTR_MAP_V << INTMTX_CORE0_I2C_EXT0_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_I2C_EXT0_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_I2C_EXT0_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_I2C_EXT1_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_I2C_EXT1_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xa0)
|
||||
/** INTMTX_CORE0_I2C_EXT1_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_I2C_EXT1_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_I2C_EXT1_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_I2C_EXT1_INTR_MAP_M (INTMTX_CORE0_I2C_EXT1_INTR_MAP_V << INTMTX_CORE0_I2C_EXT1_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_I2C_EXT1_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_I2C_EXT1_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_TG0_T0_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_TG0_T0_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xa4)
|
||||
/** INTMTX_CORE0_TG0_T0_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_TG0_T0_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_TG0_T0_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_TG0_T0_INTR_MAP_M (INTMTX_CORE0_TG0_T0_INTR_MAP_V << INTMTX_CORE0_TG0_T0_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_TG0_T0_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_TG0_T0_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_TG0_WDT_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_TG0_WDT_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xa8)
|
||||
/** INTMTX_CORE0_TG0_WDT_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_TG0_WDT_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_TG0_WDT_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_TG0_WDT_INTR_MAP_M (INTMTX_CORE0_TG0_WDT_INTR_MAP_V << INTMTX_CORE0_TG0_WDT_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_TG0_WDT_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_TG0_WDT_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_TG1_T0_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_TG1_T0_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xac)
|
||||
/** INTMTX_CORE0_TG1_T0_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_TG1_T0_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_TG1_T0_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_TG1_T0_INTR_MAP_M (INTMTX_CORE0_TG1_T0_INTR_MAP_V << INTMTX_CORE0_TG1_T0_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_TG1_T0_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_TG1_T0_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_TG1_WDT_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_TG1_WDT_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xb0)
|
||||
/** INTMTX_CORE0_TG1_WDT_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_TG1_WDT_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_TG1_WDT_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_TG1_WDT_INTR_MAP_M (INTMTX_CORE0_TG1_WDT_INTR_MAP_V << INTMTX_CORE0_TG1_WDT_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_TG1_WDT_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_TG1_WDT_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_SYSTIMER_TARGET0_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET0_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xb4)
|
||||
/** INTMTX_CORE0_SYSTIMER_TARGET0_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_SYSTIMER_TARGET0_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET0_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET0_INTR_MAP_M (INTMTX_CORE0_SYSTIMER_TARGET0_INTR_MAP_V << INTMTX_CORE0_SYSTIMER_TARGET0_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET0_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET0_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_SYSTIMER_TARGET1_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET1_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xb8)
|
||||
/** INTMTX_CORE0_SYSTIMER_TARGET1_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_SYSTIMER_TARGET1_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET1_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET1_INTR_MAP_M (INTMTX_CORE0_SYSTIMER_TARGET1_INTR_MAP_V << INTMTX_CORE0_SYSTIMER_TARGET1_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET1_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET1_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_SYSTIMER_TARGET2_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET2_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xbc)
|
||||
/** INTMTX_CORE0_SYSTIMER_TARGET2_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_SYSTIMER_TARGET2_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET2_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET2_INTR_MAP_M (INTMTX_CORE0_SYSTIMER_TARGET2_INTR_MAP_V << INTMTX_CORE0_SYSTIMER_TARGET2_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET2_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_SYSTIMER_TARGET2_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_APB_ADC_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_APB_ADC_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xc0)
|
||||
/** INTMTX_CORE0_APB_ADC_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_APB_ADC_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_APB_ADC_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_APB_ADC_INTR_MAP_M (INTMTX_CORE0_APB_ADC_INTR_MAP_V << INTMTX_CORE0_APB_ADC_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_APB_ADC_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_APB_ADC_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_PWM_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_PWM_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xc4)
|
||||
/** INTMTX_CORE0_PWM_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_PWM_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_PWM_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_PWM_INTR_MAP_M (INTMTX_CORE0_PWM_INTR_MAP_V << INTMTX_CORE0_PWM_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_PWM_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_PWM_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_PCNT_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_PCNT_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xc8)
|
||||
/** INTMTX_CORE0_PCNT_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_PCNT_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_PCNT_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_PCNT_INTR_MAP_M (INTMTX_CORE0_PCNT_INTR_MAP_V << INTMTX_CORE0_PCNT_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_PCNT_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_PCNT_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_PARL_IO_TX_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_PARL_IO_TX_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xcc)
|
||||
/** INTMTX_CORE0_PARL_IO_TX_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_PARL_IO_TX_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_PARL_IO_TX_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_PARL_IO_TX_INTR_MAP_M (INTMTX_CORE0_PARL_IO_TX_INTR_MAP_V << INTMTX_CORE0_PARL_IO_TX_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_PARL_IO_TX_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_PARL_IO_TX_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_PARL_IO_RX_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_PARL_IO_RX_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xd0)
|
||||
/** INTMTX_CORE0_PARL_IO_RX_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_PARL_IO_RX_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_PARL_IO_RX_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_PARL_IO_RX_INTR_MAP_M (INTMTX_CORE0_PARL_IO_RX_INTR_MAP_V << INTMTX_CORE0_PARL_IO_RX_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_PARL_IO_RX_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_PARL_IO_RX_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_DMA_IN_CH0_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_DMA_IN_CH0_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xd4)
|
||||
/** INTMTX_CORE0_DMA_IN_CH0_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_DMA_IN_CH0_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_DMA_IN_CH0_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_DMA_IN_CH0_INTR_MAP_M (INTMTX_CORE0_DMA_IN_CH0_INTR_MAP_V << INTMTX_CORE0_DMA_IN_CH0_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_DMA_IN_CH0_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_DMA_IN_CH0_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_DMA_IN_CH1_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_DMA_IN_CH1_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xd8)
|
||||
/** INTMTX_CORE0_DMA_IN_CH1_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_DMA_IN_CH1_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_DMA_IN_CH1_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_DMA_IN_CH1_INTR_MAP_M (INTMTX_CORE0_DMA_IN_CH1_INTR_MAP_V << INTMTX_CORE0_DMA_IN_CH1_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_DMA_IN_CH1_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_DMA_IN_CH1_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_DMA_IN_CH2_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_DMA_IN_CH2_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xdc)
|
||||
/** INTMTX_CORE0_DMA_IN_CH2_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_DMA_IN_CH2_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_DMA_IN_CH2_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_DMA_IN_CH2_INTR_MAP_M (INTMTX_CORE0_DMA_IN_CH2_INTR_MAP_V << INTMTX_CORE0_DMA_IN_CH2_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_DMA_IN_CH2_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_DMA_IN_CH2_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_DMA_OUT_CH0_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_DMA_OUT_CH0_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xe0)
|
||||
/** INTMTX_CORE0_DMA_OUT_CH0_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_DMA_OUT_CH0_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_DMA_OUT_CH0_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_DMA_OUT_CH0_INTR_MAP_M (INTMTX_CORE0_DMA_OUT_CH0_INTR_MAP_V << INTMTX_CORE0_DMA_OUT_CH0_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_DMA_OUT_CH0_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_DMA_OUT_CH0_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_DMA_OUT_CH1_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_DMA_OUT_CH1_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xe4)
|
||||
/** INTMTX_CORE0_DMA_OUT_CH1_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_DMA_OUT_CH1_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_DMA_OUT_CH1_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_DMA_OUT_CH1_INTR_MAP_M (INTMTX_CORE0_DMA_OUT_CH1_INTR_MAP_V << INTMTX_CORE0_DMA_OUT_CH1_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_DMA_OUT_CH1_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_DMA_OUT_CH1_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_DMA_OUT_CH2_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_DMA_OUT_CH2_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xe8)
|
||||
/** INTMTX_CORE0_DMA_OUT_CH2_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_DMA_OUT_CH2_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_DMA_OUT_CH2_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_DMA_OUT_CH2_INTR_MAP_M (INTMTX_CORE0_DMA_OUT_CH2_INTR_MAP_V << INTMTX_CORE0_DMA_OUT_CH2_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_DMA_OUT_CH2_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_DMA_OUT_CH2_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_GPSPI2_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_GPSPI2_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xec)
|
||||
/** INTMTX_CORE0_GPSPI2_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_GPSPI2_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_GPSPI2_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_GPSPI2_INTR_MAP_M (INTMTX_CORE0_GPSPI2_INTR_MAP_V << INTMTX_CORE0_GPSPI2_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_GPSPI2_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_GPSPI2_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_AES_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_AES_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xf0)
|
||||
/** INTMTX_CORE0_AES_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_AES_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_AES_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_AES_INTR_MAP_M (INTMTX_CORE0_AES_INTR_MAP_V << INTMTX_CORE0_AES_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_AES_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_AES_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_SHA_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_SHA_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xf4)
|
||||
/** INTMTX_CORE0_SHA_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_SHA_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_SHA_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_SHA_INTR_MAP_M (INTMTX_CORE0_SHA_INTR_MAP_V << INTMTX_CORE0_SHA_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_SHA_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_SHA_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_RSA_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_RSA_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xf8)
|
||||
/** INTMTX_CORE0_RSA_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_RSA_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_RSA_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_RSA_INTR_MAP_M (INTMTX_CORE0_RSA_INTR_MAP_V << INTMTX_CORE0_RSA_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_RSA_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_RSA_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_ECC_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_ECC_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xfc)
|
||||
/** INTMTX_CORE0_ECC_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_ECC_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_ECC_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_ECC_INTR_MAP_M (INTMTX_CORE0_ECC_INTR_MAP_V << INTMTX_CORE0_ECC_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_ECC_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_ECC_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_ECDSA_INTR_MAP_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_ECDSA_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x100)
|
||||
/** INTMTX_CORE0_ECDSA_INTR_MAP : R/W; bitpos: [4:0]; default: 0;
|
||||
* CORE0_ECDSA_INTR mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_ECDSA_INTR_MAP 0x0000001FU
|
||||
#define INTMTX_CORE0_ECDSA_INTR_MAP_M (INTMTX_CORE0_ECDSA_INTR_MAP_V << INTMTX_CORE0_ECDSA_INTR_MAP_S)
|
||||
#define INTMTX_CORE0_ECDSA_INTR_MAP_V 0x0000001FU
|
||||
#define INTMTX_CORE0_ECDSA_INTR_MAP_S 0
|
||||
|
||||
/** INTMTX_CORE0_INT_STATUS_REG_0_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_INT_STATUS_REG_0_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x104)
|
||||
/** INTMTX_CORE0_INT_STATUS_0 : RO; bitpos: [31:0]; default: 0;
|
||||
* Status register for interrupt sources 0~31 mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_INT_STATUS_0 0xFFFFFFFFU
|
||||
#define INTMTX_CORE0_INT_STATUS_0_M (INTMTX_CORE0_INT_STATUS_0_V << INTMTX_CORE0_INT_STATUS_0_S)
|
||||
#define INTMTX_CORE0_INT_STATUS_0_V 0xFFFFFFFFU
|
||||
#define INTMTX_CORE0_INT_STATUS_0_S 0
|
||||
|
||||
/** INTMTX_CORE0_INT_STATUS_REG_1_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_INT_STATUS_REG_1_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x108)
|
||||
/** INTMTX_CORE0_INT_STATUS_1 : RO; bitpos: [31:0]; default: 0;
|
||||
* Status register for interrupt sources 32~63 mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_INT_STATUS_1 0xFFFFFFFFU
|
||||
#define INTMTX_CORE0_INT_STATUS_1_M (INTMTX_CORE0_INT_STATUS_1_V << INTMTX_CORE0_INT_STATUS_1_S)
|
||||
#define INTMTX_CORE0_INT_STATUS_1_V 0xFFFFFFFFU
|
||||
#define INTMTX_CORE0_INT_STATUS_1_S 0
|
||||
|
||||
/** INTMTX_CORE0_INT_STATUS_REG_2_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_INT_STATUS_REG_2_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x10c)
|
||||
/** INTMTX_CORE0_INT_STATUS_2 : RO; bitpos: [31:0]; default: 0;
|
||||
* Status register for interrupt sources 64~95 mapping register
|
||||
*/
|
||||
#define INTMTX_CORE0_INT_STATUS_2 0xFFFFFFFFU
|
||||
#define INTMTX_CORE0_INT_STATUS_2_M (INTMTX_CORE0_INT_STATUS_2_V << INTMTX_CORE0_INT_STATUS_2_S)
|
||||
#define INTMTX_CORE0_INT_STATUS_2_V 0xFFFFFFFFU
|
||||
#define INTMTX_CORE0_INT_STATUS_2_S 0
|
||||
|
||||
/** INTMTX_CORE0_CLOCK_GATE_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_CLOCK_GATE_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x110)
|
||||
/** INTMTX_CORE0_REG_CLK_EN : R/W; bitpos: [0]; default: 1;
|
||||
* Clock register
|
||||
*/
|
||||
#define INTMTX_CORE0_REG_CLK_EN (BIT(0))
|
||||
#define INTMTX_CORE0_REG_CLK_EN_M (INTMTX_CORE0_REG_CLK_EN_V << INTMTX_CORE0_REG_CLK_EN_S)
|
||||
#define INTMTX_CORE0_REG_CLK_EN_V 0x00000001U
|
||||
#define INTMTX_CORE0_REG_CLK_EN_S 0
|
||||
|
||||
/** INTMTX_CORE0_INTERRUPT_REG_DATE_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTMTX_CORE0_INTERRUPT_REG_DATE_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x7fc)
|
||||
/** INTMTX_CORE0_INTERRUPT_REG_DATE : R/W; bitpos: [27:0]; default: 35688784;
|
||||
* Version control register
|
||||
*/
|
||||
#define INTMTX_CORE0_INTERRUPT_REG_DATE 0x0FFFFFFFU
|
||||
#define INTMTX_CORE0_INTERRUPT_REG_DATE_M (INTMTX_CORE0_INTERRUPT_REG_DATE_V << INTMTX_CORE0_INTERRUPT_REG_DATE_S)
|
||||
#define INTMTX_CORE0_INTERRUPT_REG_DATE_V 0x0FFFFFFFU
|
||||
#define INTMTX_CORE0_INTERRUPT_REG_DATE_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
1074
components/soc/esp32h2/include/soc/interrupt_matrix_struct.h
Normal file
1074
components/soc/esp32h2/include/soc/interrupt_matrix_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
17
components/soc/esp32h2/include/soc/interrupt_reg.h
Normal file
17
components/soc/esp32h2/include/soc/interrupt_reg.h
Normal file
@ -0,0 +1,17 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "interrupt_matrix_reg.h"
|
||||
#include "plic_reg.h"
|
||||
#include "soc/soc_caps.h"
|
||||
|
||||
// ESP32H2 should use the PLIC controller as the interrupt controller instead of INTC (SOC_INT_PLIC_SUPPORTED = y)
|
||||
#define INTERRUPT_CORE0_CPU_INT_ENABLE_REG PLIC_MXINT_ENABLE_REG
|
||||
#define INTERRUPT_CORE0_CPU_INT_THRESH_REG PLIC_MXINT_THRESH_REG
|
||||
#define INTERRUPT_CORE0_CPU_INT_CLEAR_REG PLIC_MXINT_CLEAR_REG
|
||||
#define INTERRUPT_CORE0_CPU_INT_TYPE_REG PLIC_MXINT_TYPE_REG
|
||||
#define INTC_INT_PRIO_REG(n) (PLIC_MXINT0_PRI_REG + (n)*4)
|
||||
#define DR_REG_INTERRUPT_BASE DR_REG_INTERRUPT_MATRIX_BASE
|
574
components/soc/esp32h2/include/soc/intpri_reg.h
Normal file
574
components/soc/esp32h2/include/soc/intpri_reg.h
Normal file
@ -0,0 +1,574 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_ENABLE_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_ENABLE_REG (DR_REG_INTPRI_BASE + 0x0)
|
||||
/** INTPRI_CORE0_CPU_INT_ENABLE : R/W; bitpos: [31:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_ENABLE 0xFFFFFFFFU
|
||||
#define INTPRI_CORE0_CPU_INT_ENABLE_M (INTPRI_CORE0_CPU_INT_ENABLE_V << INTPRI_CORE0_CPU_INT_ENABLE_S)
|
||||
#define INTPRI_CORE0_CPU_INT_ENABLE_V 0xFFFFFFFFU
|
||||
#define INTPRI_CORE0_CPU_INT_ENABLE_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_TYPE_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_TYPE_REG (DR_REG_INTPRI_BASE + 0x4)
|
||||
/** INTPRI_CORE0_CPU_INT_TYPE : R/W; bitpos: [31:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_TYPE 0xFFFFFFFFU
|
||||
#define INTPRI_CORE0_CPU_INT_TYPE_M (INTPRI_CORE0_CPU_INT_TYPE_V << INTPRI_CORE0_CPU_INT_TYPE_S)
|
||||
#define INTPRI_CORE0_CPU_INT_TYPE_V 0xFFFFFFFFU
|
||||
#define INTPRI_CORE0_CPU_INT_TYPE_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_EIP_STATUS_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_EIP_STATUS_REG (DR_REG_INTPRI_BASE + 0x8)
|
||||
/** INTPRI_CORE0_CPU_INT_EIP_STATUS : RO; bitpos: [31:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_EIP_STATUS 0xFFFFFFFFU
|
||||
#define INTPRI_CORE0_CPU_INT_EIP_STATUS_M (INTPRI_CORE0_CPU_INT_EIP_STATUS_V << INTPRI_CORE0_CPU_INT_EIP_STATUS_S)
|
||||
#define INTPRI_CORE0_CPU_INT_EIP_STATUS_V 0xFFFFFFFFU
|
||||
#define INTPRI_CORE0_CPU_INT_EIP_STATUS_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_0_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_0_REG (DR_REG_INTPRI_BASE + 0xc)
|
||||
/** INTPRI_CORE0_CPU_PRI_0_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_0_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_0_MAP_M (INTPRI_CORE0_CPU_PRI_0_MAP_V << INTPRI_CORE0_CPU_PRI_0_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_0_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_0_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_1_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_1_REG (DR_REG_INTPRI_BASE + 0x10)
|
||||
/** INTPRI_CORE0_CPU_PRI_1_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_1_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_1_MAP_M (INTPRI_CORE0_CPU_PRI_1_MAP_V << INTPRI_CORE0_CPU_PRI_1_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_1_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_1_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_2_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_2_REG (DR_REG_INTPRI_BASE + 0x14)
|
||||
/** INTPRI_CORE0_CPU_PRI_2_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_2_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_2_MAP_M (INTPRI_CORE0_CPU_PRI_2_MAP_V << INTPRI_CORE0_CPU_PRI_2_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_2_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_2_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_3_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_3_REG (DR_REG_INTPRI_BASE + 0x18)
|
||||
/** INTPRI_CORE0_CPU_PRI_3_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_3_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_3_MAP_M (INTPRI_CORE0_CPU_PRI_3_MAP_V << INTPRI_CORE0_CPU_PRI_3_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_3_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_3_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_4_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_4_REG (DR_REG_INTPRI_BASE + 0x1c)
|
||||
/** INTPRI_CORE0_CPU_PRI_4_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_4_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_4_MAP_M (INTPRI_CORE0_CPU_PRI_4_MAP_V << INTPRI_CORE0_CPU_PRI_4_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_4_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_4_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_5_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_5_REG (DR_REG_INTPRI_BASE + 0x20)
|
||||
/** INTPRI_CORE0_CPU_PRI_5_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_5_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_5_MAP_M (INTPRI_CORE0_CPU_PRI_5_MAP_V << INTPRI_CORE0_CPU_PRI_5_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_5_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_5_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_6_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_6_REG (DR_REG_INTPRI_BASE + 0x24)
|
||||
/** INTPRI_CORE0_CPU_PRI_6_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_6_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_6_MAP_M (INTPRI_CORE0_CPU_PRI_6_MAP_V << INTPRI_CORE0_CPU_PRI_6_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_6_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_6_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_7_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_7_REG (DR_REG_INTPRI_BASE + 0x28)
|
||||
/** INTPRI_CORE0_CPU_PRI_7_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_7_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_7_MAP_M (INTPRI_CORE0_CPU_PRI_7_MAP_V << INTPRI_CORE0_CPU_PRI_7_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_7_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_7_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_8_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_8_REG (DR_REG_INTPRI_BASE + 0x2c)
|
||||
/** INTPRI_CORE0_CPU_PRI_8_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_8_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_8_MAP_M (INTPRI_CORE0_CPU_PRI_8_MAP_V << INTPRI_CORE0_CPU_PRI_8_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_8_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_8_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_9_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_9_REG (DR_REG_INTPRI_BASE + 0x30)
|
||||
/** INTPRI_CORE0_CPU_PRI_9_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_9_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_9_MAP_M (INTPRI_CORE0_CPU_PRI_9_MAP_V << INTPRI_CORE0_CPU_PRI_9_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_9_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_9_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_10_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_10_REG (DR_REG_INTPRI_BASE + 0x34)
|
||||
/** INTPRI_CORE0_CPU_PRI_10_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_10_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_10_MAP_M (INTPRI_CORE0_CPU_PRI_10_MAP_V << INTPRI_CORE0_CPU_PRI_10_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_10_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_10_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_11_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_11_REG (DR_REG_INTPRI_BASE + 0x38)
|
||||
/** INTPRI_CORE0_CPU_PRI_11_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_11_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_11_MAP_M (INTPRI_CORE0_CPU_PRI_11_MAP_V << INTPRI_CORE0_CPU_PRI_11_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_11_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_11_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_12_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_12_REG (DR_REG_INTPRI_BASE + 0x3c)
|
||||
/** INTPRI_CORE0_CPU_PRI_12_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_12_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_12_MAP_M (INTPRI_CORE0_CPU_PRI_12_MAP_V << INTPRI_CORE0_CPU_PRI_12_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_12_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_12_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_13_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_13_REG (DR_REG_INTPRI_BASE + 0x40)
|
||||
/** INTPRI_CORE0_CPU_PRI_13_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_13_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_13_MAP_M (INTPRI_CORE0_CPU_PRI_13_MAP_V << INTPRI_CORE0_CPU_PRI_13_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_13_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_13_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_14_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_14_REG (DR_REG_INTPRI_BASE + 0x44)
|
||||
/** INTPRI_CORE0_CPU_PRI_14_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_14_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_14_MAP_M (INTPRI_CORE0_CPU_PRI_14_MAP_V << INTPRI_CORE0_CPU_PRI_14_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_14_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_14_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_15_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_15_REG (DR_REG_INTPRI_BASE + 0x48)
|
||||
/** INTPRI_CORE0_CPU_PRI_15_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_15_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_15_MAP_M (INTPRI_CORE0_CPU_PRI_15_MAP_V << INTPRI_CORE0_CPU_PRI_15_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_15_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_15_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_16_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_16_REG (DR_REG_INTPRI_BASE + 0x4c)
|
||||
/** INTPRI_CORE0_CPU_PRI_16_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_16_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_16_MAP_M (INTPRI_CORE0_CPU_PRI_16_MAP_V << INTPRI_CORE0_CPU_PRI_16_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_16_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_16_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_17_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_17_REG (DR_REG_INTPRI_BASE + 0x50)
|
||||
/** INTPRI_CORE0_CPU_PRI_17_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_17_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_17_MAP_M (INTPRI_CORE0_CPU_PRI_17_MAP_V << INTPRI_CORE0_CPU_PRI_17_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_17_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_17_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_18_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_18_REG (DR_REG_INTPRI_BASE + 0x54)
|
||||
/** INTPRI_CORE0_CPU_PRI_18_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_18_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_18_MAP_M (INTPRI_CORE0_CPU_PRI_18_MAP_V << INTPRI_CORE0_CPU_PRI_18_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_18_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_18_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_19_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_19_REG (DR_REG_INTPRI_BASE + 0x58)
|
||||
/** INTPRI_CORE0_CPU_PRI_19_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_19_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_19_MAP_M (INTPRI_CORE0_CPU_PRI_19_MAP_V << INTPRI_CORE0_CPU_PRI_19_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_19_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_19_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_20_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_20_REG (DR_REG_INTPRI_BASE + 0x5c)
|
||||
/** INTPRI_CORE0_CPU_PRI_20_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_20_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_20_MAP_M (INTPRI_CORE0_CPU_PRI_20_MAP_V << INTPRI_CORE0_CPU_PRI_20_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_20_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_20_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_21_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_21_REG (DR_REG_INTPRI_BASE + 0x60)
|
||||
/** INTPRI_CORE0_CPU_PRI_21_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_21_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_21_MAP_M (INTPRI_CORE0_CPU_PRI_21_MAP_V << INTPRI_CORE0_CPU_PRI_21_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_21_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_21_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_22_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_22_REG (DR_REG_INTPRI_BASE + 0x64)
|
||||
/** INTPRI_CORE0_CPU_PRI_22_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_22_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_22_MAP_M (INTPRI_CORE0_CPU_PRI_22_MAP_V << INTPRI_CORE0_CPU_PRI_22_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_22_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_22_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_23_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_23_REG (DR_REG_INTPRI_BASE + 0x68)
|
||||
/** INTPRI_CORE0_CPU_PRI_23_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_23_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_23_MAP_M (INTPRI_CORE0_CPU_PRI_23_MAP_V << INTPRI_CORE0_CPU_PRI_23_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_23_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_23_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_24_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_24_REG (DR_REG_INTPRI_BASE + 0x6c)
|
||||
/** INTPRI_CORE0_CPU_PRI_24_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_24_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_24_MAP_M (INTPRI_CORE0_CPU_PRI_24_MAP_V << INTPRI_CORE0_CPU_PRI_24_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_24_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_24_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_25_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_25_REG (DR_REG_INTPRI_BASE + 0x70)
|
||||
/** INTPRI_CORE0_CPU_PRI_25_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_25_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_25_MAP_M (INTPRI_CORE0_CPU_PRI_25_MAP_V << INTPRI_CORE0_CPU_PRI_25_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_25_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_25_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_26_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_26_REG (DR_REG_INTPRI_BASE + 0x74)
|
||||
/** INTPRI_CORE0_CPU_PRI_26_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_26_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_26_MAP_M (INTPRI_CORE0_CPU_PRI_26_MAP_V << INTPRI_CORE0_CPU_PRI_26_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_26_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_26_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_27_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_27_REG (DR_REG_INTPRI_BASE + 0x78)
|
||||
/** INTPRI_CORE0_CPU_PRI_27_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_27_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_27_MAP_M (INTPRI_CORE0_CPU_PRI_27_MAP_V << INTPRI_CORE0_CPU_PRI_27_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_27_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_27_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_28_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_28_REG (DR_REG_INTPRI_BASE + 0x7c)
|
||||
/** INTPRI_CORE0_CPU_PRI_28_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_28_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_28_MAP_M (INTPRI_CORE0_CPU_PRI_28_MAP_V << INTPRI_CORE0_CPU_PRI_28_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_28_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_28_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_29_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_29_REG (DR_REG_INTPRI_BASE + 0x80)
|
||||
/** INTPRI_CORE0_CPU_PRI_29_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_29_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_29_MAP_M (INTPRI_CORE0_CPU_PRI_29_MAP_V << INTPRI_CORE0_CPU_PRI_29_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_29_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_29_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_30_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_30_REG (DR_REG_INTPRI_BASE + 0x84)
|
||||
/** INTPRI_CORE0_CPU_PRI_30_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_30_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_30_MAP_M (INTPRI_CORE0_CPU_PRI_30_MAP_V << INTPRI_CORE0_CPU_PRI_30_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_30_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_30_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_PRI_31_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_PRI_31_REG (DR_REG_INTPRI_BASE + 0x88)
|
||||
/** INTPRI_CORE0_CPU_PRI_31_MAP : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_PRI_31_MAP 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_31_MAP_M (INTPRI_CORE0_CPU_PRI_31_MAP_V << INTPRI_CORE0_CPU_PRI_31_MAP_S)
|
||||
#define INTPRI_CORE0_CPU_PRI_31_MAP_V 0x0000000FU
|
||||
#define INTPRI_CORE0_CPU_PRI_31_MAP_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_THRESH_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_THRESH_REG (DR_REG_INTPRI_BASE + 0x8c)
|
||||
/** INTPRI_CORE0_CPU_INT_THRESH : R/W; bitpos: [7:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_THRESH 0x000000FFU
|
||||
#define INTPRI_CORE0_CPU_INT_THRESH_M (INTPRI_CORE0_CPU_INT_THRESH_V << INTPRI_CORE0_CPU_INT_THRESH_S)
|
||||
#define INTPRI_CORE0_CPU_INT_THRESH_V 0x000000FFU
|
||||
#define INTPRI_CORE0_CPU_INT_THRESH_S 0
|
||||
|
||||
/** INTPRI_CPU_INTR_FROM_CPU_0_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_0_REG (DR_REG_INTPRI_BASE + 0x90)
|
||||
/** INTPRI_CPU_INTR_FROM_CPU_0 : R/W; bitpos: [0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_0 (BIT(0))
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_0_M (INTPRI_CPU_INTR_FROM_CPU_0_V << INTPRI_CPU_INTR_FROM_CPU_0_S)
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_0_V 0x00000001U
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_0_S 0
|
||||
|
||||
/** INTPRI_CPU_INTR_FROM_CPU_1_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_1_REG (DR_REG_INTPRI_BASE + 0x94)
|
||||
/** INTPRI_CPU_INTR_FROM_CPU_1 : R/W; bitpos: [0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_1 (BIT(0))
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_1_M (INTPRI_CPU_INTR_FROM_CPU_1_V << INTPRI_CPU_INTR_FROM_CPU_1_S)
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_1_V 0x00000001U
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_1_S 0
|
||||
|
||||
/** INTPRI_CPU_INTR_FROM_CPU_2_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_2_REG (DR_REG_INTPRI_BASE + 0x98)
|
||||
/** INTPRI_CPU_INTR_FROM_CPU_2 : R/W; bitpos: [0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_2 (BIT(0))
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_2_M (INTPRI_CPU_INTR_FROM_CPU_2_V << INTPRI_CPU_INTR_FROM_CPU_2_S)
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_2_V 0x00000001U
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_2_S 0
|
||||
|
||||
/** INTPRI_CPU_INTR_FROM_CPU_3_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_3_REG (DR_REG_INTPRI_BASE + 0x9c)
|
||||
/** INTPRI_CPU_INTR_FROM_CPU_3 : R/W; bitpos: [0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_3 (BIT(0))
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_3_M (INTPRI_CPU_INTR_FROM_CPU_3_V << INTPRI_CPU_INTR_FROM_CPU_3_S)
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_3_V 0x00000001U
|
||||
#define INTPRI_CPU_INTR_FROM_CPU_3_S 0
|
||||
|
||||
/** INTPRI_DATE_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_DATE_REG (DR_REG_INTPRI_BASE + 0xa0)
|
||||
/** INTPRI_DATE : R/W; bitpos: [27:0]; default: 35655824;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_DATE 0x0FFFFFFFU
|
||||
#define INTPRI_DATE_M (INTPRI_DATE_V << INTPRI_DATE_S)
|
||||
#define INTPRI_DATE_V 0x0FFFFFFFU
|
||||
#define INTPRI_DATE_S 0
|
||||
|
||||
/** INTPRI_CLOCK_GATE_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CLOCK_GATE_REG (DR_REG_INTPRI_BASE + 0xa4)
|
||||
/** INTPRI_CLK_EN : R/W; bitpos: [0]; default: 1;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CLK_EN (BIT(0))
|
||||
#define INTPRI_CLK_EN_M (INTPRI_CLK_EN_V << INTPRI_CLK_EN_S)
|
||||
#define INTPRI_CLK_EN_V 0x00000001U
|
||||
#define INTPRI_CLK_EN_S 0
|
||||
|
||||
/** INTPRI_CORE0_CPU_INT_CLEAR_REG register
|
||||
* register description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_CLEAR_REG (DR_REG_INTPRI_BASE + 0xa8)
|
||||
/** INTPRI_CORE0_CPU_INT_CLEAR : R/W; bitpos: [31:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
#define INTPRI_CORE0_CPU_INT_CLEAR 0xFFFFFFFFU
|
||||
#define INTPRI_CORE0_CPU_INT_CLEAR_M (INTPRI_CORE0_CPU_INT_CLEAR_V << INTPRI_CORE0_CPU_INT_CLEAR_S)
|
||||
#define INTPRI_CORE0_CPU_INT_CLEAR_V 0xFFFFFFFFU
|
||||
#define INTPRI_CORE0_CPU_INT_CLEAR_S 0
|
||||
|
||||
/** INTPRI_RND_ECO_REG register
|
||||
* redcy eco register.
|
||||
*/
|
||||
#define INTPRI_RND_ECO_REG (DR_REG_INTPRI_BASE + 0xac)
|
||||
/** INTPRI_REDCY_ENA : W/R; bitpos: [0]; default: 0;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
#define INTPRI_REDCY_ENA (BIT(0))
|
||||
#define INTPRI_REDCY_ENA_M (INTPRI_REDCY_ENA_V << INTPRI_REDCY_ENA_S)
|
||||
#define INTPRI_REDCY_ENA_V 0x00000001U
|
||||
#define INTPRI_REDCY_ENA_S 0
|
||||
/** INTPRI_REDCY_RESULT : RO; bitpos: [1]; default: 0;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
#define INTPRI_REDCY_RESULT (BIT(1))
|
||||
#define INTPRI_REDCY_RESULT_M (INTPRI_REDCY_RESULT_V << INTPRI_REDCY_RESULT_S)
|
||||
#define INTPRI_REDCY_RESULT_V 0x00000001U
|
||||
#define INTPRI_REDCY_RESULT_S 1
|
||||
|
||||
/** INTPRI_RND_ECO_LOW_REG register
|
||||
* redcy eco low register.
|
||||
*/
|
||||
#define INTPRI_RND_ECO_LOW_REG (DR_REG_INTPRI_BASE + 0xb0)
|
||||
/** INTPRI_REDCY_LOW : W/R; bitpos: [31:0]; default: 0;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
#define INTPRI_REDCY_LOW 0xFFFFFFFFU
|
||||
#define INTPRI_REDCY_LOW_M (INTPRI_REDCY_LOW_V << INTPRI_REDCY_LOW_S)
|
||||
#define INTPRI_REDCY_LOW_V 0xFFFFFFFFU
|
||||
#define INTPRI_REDCY_LOW_S 0
|
||||
|
||||
/** INTPRI_RND_ECO_HIGH_REG register
|
||||
* redcy eco high register.
|
||||
*/
|
||||
#define INTPRI_RND_ECO_HIGH_REG (DR_REG_INTPRI_BASE + 0x3fc)
|
||||
/** INTPRI_REDCY_HIGH : W/R; bitpos: [31:0]; default: 4294967295;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
#define INTPRI_REDCY_HIGH 0xFFFFFFFFU
|
||||
#define INTPRI_REDCY_HIGH_M (INTPRI_REDCY_HIGH_V << INTPRI_REDCY_HIGH_S)
|
||||
#define INTPRI_REDCY_HIGH_V 0xFFFFFFFFU
|
||||
#define INTPRI_REDCY_HIGH_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
256
components/soc/esp32h2/include/soc/intpri_struct.h
Normal file
256
components/soc/esp32h2/include/soc/intpri_struct.h
Normal file
@ -0,0 +1,256 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: Configuration Registers */
|
||||
/** Type of core0_cpu_int_enable register
|
||||
* register description
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core0_cpu_int_enable : R/W; bitpos: [31:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
uint32_t core0_cpu_int_enable:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_core0_cpu_int_enable_reg_t;
|
||||
|
||||
/** Type of core0_cpu_int_type register
|
||||
* register description
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core0_cpu_int_type : R/W; bitpos: [31:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
uint32_t core0_cpu_int_type:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_core0_cpu_int_type_reg_t;
|
||||
|
||||
/** Type of core0_cpu_int_eip_status register
|
||||
* register description
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core0_cpu_int_eip_status : RO; bitpos: [31:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
uint32_t core0_cpu_int_eip_status:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_core0_cpu_int_eip_status_reg_t;
|
||||
|
||||
/** Type of core0_cpu_int_pri_0 register
|
||||
* register description
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core0_cpu_pri_0_map : R/W; bitpos: [3:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
uint32_t core0_cpu_pri_0_map:4;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_core0_cpu_int_pri_n_reg_t;
|
||||
|
||||
/** Type of core0_cpu_int_thresh register
|
||||
* register description
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core0_cpu_int_thresh : R/W; bitpos: [7:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
uint32_t core0_cpu_int_thresh:8;
|
||||
uint32_t reserved_8:24;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_core0_cpu_int_thresh_reg_t;
|
||||
|
||||
/** Type of clock_gate register
|
||||
* register description
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_en : R/W; bitpos: [0]; default: 1;
|
||||
* Need add description
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_clock_gate_reg_t;
|
||||
|
||||
/** Type of core0_cpu_int_clear register
|
||||
* register description
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** core0_cpu_int_clear : R/W; bitpos: [31:0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
uint32_t core0_cpu_int_clear:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_core0_cpu_int_clear_reg_t;
|
||||
|
||||
|
||||
/** Group: Interrupt Registers */
|
||||
/** Type of cpu_intr_from_cpu_0 register
|
||||
* register description
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cpu_intr_from_cpu_0 : R/W; bitpos: [0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
uint32_t cpu_intr_from_cpu_0:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_cpu_intr_from_cpu_0_reg_t;
|
||||
|
||||
/** Type of cpu_intr_from_cpu_1 register
|
||||
* register description
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cpu_intr_from_cpu_1 : R/W; bitpos: [0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
uint32_t cpu_intr_from_cpu_1:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_cpu_intr_from_cpu_1_reg_t;
|
||||
|
||||
/** Type of cpu_intr_from_cpu_2 register
|
||||
* register description
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cpu_intr_from_cpu_2 : R/W; bitpos: [0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
uint32_t cpu_intr_from_cpu_2:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_cpu_intr_from_cpu_2_reg_t;
|
||||
|
||||
/** Type of cpu_intr_from_cpu_3 register
|
||||
* register description
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cpu_intr_from_cpu_3 : R/W; bitpos: [0]; default: 0;
|
||||
* Need add description
|
||||
*/
|
||||
uint32_t cpu_intr_from_cpu_3:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_cpu_intr_from_cpu_3_reg_t;
|
||||
|
||||
|
||||
/** Group: Version Registers */
|
||||
/** Type of date register
|
||||
* register description
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [27:0]; default: 35655824;
|
||||
* Need add description
|
||||
*/
|
||||
uint32_t date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_date_reg_t;
|
||||
|
||||
|
||||
/** Group: Redcy ECO Registers */
|
||||
/** Type of rnd_eco register
|
||||
* redcy eco register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** redcy_ena : W/R; bitpos: [0]; default: 0;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
uint32_t redcy_ena:1;
|
||||
/** redcy_result : RO; bitpos: [1]; default: 0;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
uint32_t redcy_result:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_rnd_eco_reg_t;
|
||||
|
||||
/** Type of rnd_eco_low register
|
||||
* redcy eco low register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** redcy_low : W/R; bitpos: [31:0]; default: 0;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
uint32_t redcy_low:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_rnd_eco_low_reg_t;
|
||||
|
||||
/** Type of rnd_eco_high register
|
||||
* redcy eco high register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** redcy_high : W/R; bitpos: [31:0]; default: 4294967295;
|
||||
* Only reserved for ECO.
|
||||
*/
|
||||
uint32_t redcy_high:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} intpri_rnd_eco_high_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile intpri_core0_cpu_int_enable_reg_t core0_cpu_int_enable;
|
||||
volatile intpri_core0_cpu_int_type_reg_t core0_cpu_int_type;
|
||||
volatile intpri_core0_cpu_int_eip_status_reg_t core0_cpu_int_eip_status;
|
||||
volatile intpri_core0_cpu_int_pri_n_reg_t core0_cpu_int_pri[32];
|
||||
volatile intpri_core0_cpu_int_thresh_reg_t core0_cpu_int_thresh;
|
||||
volatile intpri_cpu_intr_from_cpu_0_reg_t cpu_intr_from_cpu_0;
|
||||
volatile intpri_cpu_intr_from_cpu_1_reg_t cpu_intr_from_cpu_1;
|
||||
volatile intpri_cpu_intr_from_cpu_2_reg_t cpu_intr_from_cpu_2;
|
||||
volatile intpri_cpu_intr_from_cpu_3_reg_t cpu_intr_from_cpu_3;
|
||||
volatile intpri_date_reg_t date;
|
||||
volatile intpri_clock_gate_reg_t clock_gate;
|
||||
volatile intpri_core0_cpu_int_clear_reg_t core0_cpu_int_clear;
|
||||
volatile intpri_rnd_eco_reg_t rnd_eco;
|
||||
volatile intpri_rnd_eco_low_reg_t rnd_eco_low;
|
||||
uint32_t reserved_0b4[210];
|
||||
volatile intpri_rnd_eco_high_reg_t rnd_eco_high;
|
||||
} intpri_dev_t;
|
||||
|
||||
extern intpri_dev_t INTPRI;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(intpri_dev_t) == 0x400, "Invalid size of intpri_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
313
components/soc/esp32h2/include/soc/io_mux_reg.h
Normal file
313
components/soc/esp32h2/include/soc/io_mux_reg.h
Normal file
@ -0,0 +1,313 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "soc.h"
|
||||
|
||||
/* The following are the bit fields for PERIPHS_IO_MUX_x_U registers */
|
||||
/* Output enable in sleep mode */
|
||||
#define SLP_OE (BIT(0))
|
||||
#define SLP_OE_M (BIT(0))
|
||||
#define SLP_OE_V 1
|
||||
#define SLP_OE_S 0
|
||||
/* Pin used for wakeup from sleep */
|
||||
#define SLP_SEL (BIT(1))
|
||||
#define SLP_SEL_M (BIT(1))
|
||||
#define SLP_SEL_V 1
|
||||
#define SLP_SEL_S 1
|
||||
/* Pulldown enable in sleep mode */
|
||||
#define SLP_PD (BIT(2))
|
||||
#define SLP_PD_M (BIT(2))
|
||||
#define SLP_PD_V 1
|
||||
#define SLP_PD_S 2
|
||||
/* Pullup enable in sleep mode */
|
||||
#define SLP_PU (BIT(3))
|
||||
#define SLP_PU_M (BIT(3))
|
||||
#define SLP_PU_V 1
|
||||
#define SLP_PU_S 3
|
||||
/* Input enable in sleep mode */
|
||||
#define SLP_IE (BIT(4))
|
||||
#define SLP_IE_M (BIT(4))
|
||||
#define SLP_IE_V 1
|
||||
#define SLP_IE_S 4
|
||||
/* Drive strength in sleep mode */
|
||||
#define SLP_DRV 0x3
|
||||
#define SLP_DRV_M (SLP_DRV_V << SLP_DRV_S)
|
||||
#define SLP_DRV_V 0x3
|
||||
#define SLP_DRV_S 5
|
||||
/* Pulldown enable */
|
||||
#define FUN_PD (BIT(7))
|
||||
#define FUN_PD_M (BIT(7))
|
||||
#define FUN_PD_V 1
|
||||
#define FUN_PD_S 7
|
||||
/* Pullup enable */
|
||||
#define FUN_PU (BIT(8))
|
||||
#define FUN_PU_M (BIT(8))
|
||||
#define FUN_PU_V 1
|
||||
#define FUN_PU_S 8
|
||||
/* Input enable */
|
||||
#define FUN_IE (BIT(9))
|
||||
#define FUN_IE_M (FUN_IE_V << FUN_IE_S)
|
||||
#define FUN_IE_V 1
|
||||
#define FUN_IE_S 9
|
||||
/* Drive strength */
|
||||
#define FUN_DRV 0x3
|
||||
#define FUN_DRV_M (FUN_DRV_V << FUN_DRV_S)
|
||||
#define FUN_DRV_V 0x3
|
||||
#define FUN_DRV_S 10
|
||||
/* Function select (possible values are defined for each pin as FUNC_pinname_function below) */
|
||||
#define MCU_SEL 0x7
|
||||
#define MCU_SEL_M (MCU_SEL_V << MCU_SEL_S)
|
||||
#define MCU_SEL_V 0x7
|
||||
#define MCU_SEL_S 12
|
||||
|
||||
#define PIN_INPUT_ENABLE(PIN_NAME) SET_PERI_REG_MASK(PIN_NAME,FUN_IE)
|
||||
#define PIN_INPUT_DISABLE(PIN_NAME) CLEAR_PERI_REG_MASK(PIN_NAME,FUN_IE)
|
||||
#define PIN_SET_DRV(PIN_NAME, drv) REG_SET_FIELD(PIN_NAME, FUN_DRV, (drv));
|
||||
#define PIN_PULLUP_DIS(PIN_NAME) REG_CLR_BIT(PIN_NAME, FUN_PU)
|
||||
#define PIN_PULLUP_EN(PIN_NAME) REG_SET_BIT(PIN_NAME, FUN_PU)
|
||||
#define PIN_PULLDWN_DIS(PIN_NAME) REG_CLR_BIT(PIN_NAME, FUN_PD)
|
||||
#define PIN_PULLDWN_EN(PIN_NAME) REG_SET_BIT(PIN_NAME, FUN_PD)
|
||||
#define PIN_FUNC_SELECT(PIN_NAME, FUNC) REG_SET_FIELD(PIN_NAME, MCU_SEL, FUNC)
|
||||
|
||||
#define IO_MUX_GPIO0_REG PERIPHS_IO_MUX_GPIO0_U
|
||||
#define IO_MUX_GPIO1_REG PERIPHS_IO_MUX_GPIO1_U
|
||||
#define IO_MUX_GPIO2_REG PERIPHS_IO_MUX_MTMS_U
|
||||
#define IO_MUX_GPIO3_REG PERIPHS_IO_MUX_MTDO_U
|
||||
#define IO_MUX_GPIO4_REG PERIPHS_IO_MUX_MTCK_U
|
||||
#define IO_MUX_GPIO5_REG PERIPHS_IO_MUX_MTDI_U
|
||||
#define IO_MUX_GPIO6_REG PERIPHS_IO_MUX_GPIO6_U
|
||||
#define IO_MUX_GPIO7_REG PERIPHS_IO_MUX_GPIO7_U
|
||||
#define IO_MUX_GPIO8_REG PERIPHS_IO_MUX_GPIO8_U
|
||||
#define IO_MUX_GPIO9_REG PERIPHS_IO_MUX_GPIO9_U
|
||||
#define IO_MUX_GPIO10_REG PERIPHS_IO_MUX_GPIO10_U
|
||||
#define IO_MUX_GPIO11_REG PERIPHS_IO_MUX_GPIO11_U
|
||||
#define IO_MUX_GPIO12_REG PERIPHS_IO_MUX_GPIO12_U
|
||||
#define IO_MUX_GPIO13_REG PERIPHS_IO_MUX_XTAL_32K_P_U
|
||||
#define IO_MUX_GPIO14_REG PERIPHS_IO_MUX_XTAL_32K_N_U
|
||||
#define IO_MUX_GPIO15_REG PERIPHS_IO_MUX_SPICS0_U
|
||||
#define IO_MUX_GPIO16_REG PERIPHS_IO_MUX_SPIQ_U
|
||||
#define IO_MUX_GPIO17_REG PERIPHS_IO_MUX_SPIWP_U
|
||||
#define IO_MUX_GPIO18_REG PERIPHS_IO_MUX_SPIHD_U
|
||||
#define IO_MUX_GPIO19_REG PERIPHS_IO_MUX_SPICLK_U
|
||||
#define IO_MUX_GPIO20_REG PERIPHS_IO_MUX_SPID_U
|
||||
#define IO_MUX_GPIO21_REG PERIPHS_IO_MUX_VDD_SPI_U
|
||||
#define IO_MUX_GPIO22_REG PERIPHS_IO_MUX_GPIO22_U
|
||||
#define IO_MUX_GPIO23_REG PERIPHS_IO_MUX_U0RXD_U
|
||||
#define IO_MUX_GPIO24_REG PERIPHS_IO_MUX_U0TXD_U
|
||||
#define IO_MUX_GPIO25_REG PERIPHS_IO_MUX_GPIO25_U
|
||||
#define IO_MUX_GPIO26_REG PERIPHS_IO_MUX_GPIO26_U
|
||||
#define IO_MUX_GPIO27_REG PERIPHS_IO_MUX_GPIO27_U
|
||||
|
||||
#define FUNC_GPIO_GPIO 1
|
||||
#define PIN_FUNC_GPIO 1
|
||||
|
||||
#define GPIO_PAD_PULLUP(num) do{PIN_PULLDWN_DIS(IOMUX_REG_GPIO##num);PIN_PULLUP_EN(IOMUX_REG_GPIO##num);}while(0)
|
||||
#define GPIO_PAD_PULLDOWN(num) do{PIN_PULLUP_DIS(IOMUX_REG_GPIO##num);PIN_PULLDWN_EN(IOMUX_REG_GPIO##num);}while(0)
|
||||
#define GPIO_PAD_SET_DRV(num, drv) PIN_SET_DRV(IOMUX_REG_GPIO##num, drv)
|
||||
|
||||
#define SPI_HD_GPIO_NUM 18
|
||||
#define SPI_WP_GPIO_NUM 17
|
||||
#define SPI_CS0_GPIO_NUM 15
|
||||
#define SPI_CLK_GPIO_NUM 19
|
||||
#define SPI_D_GPIO_NUM 20
|
||||
#define SPI_Q_GPIO_NUM 16
|
||||
|
||||
#define MAX_RTC_GPIO_NUM 7
|
||||
#define MAX_PAD_GPIO_NUM 27
|
||||
#define MAX_GPIO_NUM 31
|
||||
#define HIGH_IO_HOLD_BIT_SHIFT 32
|
||||
#define GPIO_NUM_IN_FORCE_0 0x3c
|
||||
#define GPIO_NUM_IN_FORCE_1 0x38
|
||||
#define GPIO_NUM_IN_INVALID 0x3a
|
||||
|
||||
#define REG_IO_MUX_BASE DR_REG_IO_MUX_BASE
|
||||
#define PIN_CTRL (REG_IO_MUX_BASE +0x00)
|
||||
#define PAD_POWER_SEL BIT(15)
|
||||
#define PAD_POWER_SEL_V 0x1
|
||||
#define PAD_POWER_SEL_M BIT(15)
|
||||
#define PAD_POWER_SEL_S 15
|
||||
|
||||
#define PAD_POWER_SWITCH_DELAY 0x7
|
||||
#define PAD_POWER_SWITCH_DELAY_V 0x7
|
||||
#define PAD_POWER_SWITCH_DELAY_M (PAD_POWER_SWITCH_DELAY_V << PAD_POWER_SWITCH_DELAY_S)
|
||||
#define PAD_POWER_SWITCH_DELAY_S 12
|
||||
|
||||
#define CLK_OUT3 IO_MUX_CLK_OUT3
|
||||
#define CLK_OUT3_V IO_MUX_CLK_OUT3_V
|
||||
#define CLK_OUT3_S IO_MUX_CLK_OUT3_S
|
||||
#define CLK_OUT3_M IO_MUX_CLK_OUT3_M
|
||||
#define CLK_OUT2 IO_MUX_CLK_OUT2
|
||||
#define CLK_OUT2_V IO_MUX_CLK_OUT2_V
|
||||
#define CLK_OUT2_S IO_MUX_CLK_OUT2_S
|
||||
#define CLK_OUT2_M IO_MUX_CLK_OUT2_M
|
||||
#define CLK_OUT1 IO_MUX_CLK_OUT1
|
||||
#define CLK_OUT1_V IO_MUX_CLK_OUT1_V
|
||||
#define CLK_OUT1_S IO_MUX_CLK_OUT1_S
|
||||
#define CLK_OUT1_M IO_MUX_CLK_OUT1_M
|
||||
// definitions above are inherited from previous version of code, should double check
|
||||
|
||||
// definitions below are generated from pin_txt.csv
|
||||
#define PERIPHS_IO_MUX_GPIO0_U (REG_IO_MUX_BASE + 0x4)
|
||||
#define FUNC_GPIO0_FSPIQ 2
|
||||
#define FUNC_GPIO0_GPIO0 1
|
||||
#define FUNC_GPIO0_GPIO0_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_GPIO1_U (REG_IO_MUX_BASE + 0x8)
|
||||
#define FUNC_GPIO1_FSPICS0 2
|
||||
#define FUNC_GPIO1_GPIO1 1
|
||||
#define FUNC_GPIO1_GPIO1_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_MTMS_U (REG_IO_MUX_BASE + 0xC)
|
||||
#define FUNC_MTMS_FSPIWP 2
|
||||
#define FUNC_MTMS_GPIO2 1
|
||||
#define FUNC_MTMS_MTMS 0
|
||||
|
||||
#define PERIPHS_IO_MUX_MTDO_U (REG_IO_MUX_BASE + 0x10)
|
||||
#define FUNC_MTDO_FSPIHD 2
|
||||
#define FUNC_MTDO_GPIO3 1
|
||||
#define FUNC_MTDO_MTDO 0
|
||||
|
||||
#define PERIPHS_IO_MUX_MTCK_U (REG_IO_MUX_BASE + 0x14)
|
||||
#define FUNC_MTCK_FSPICLK 2
|
||||
#define FUNC_MTCK_GPIO4 1
|
||||
#define FUNC_MTCK_MTCK 0
|
||||
|
||||
#define PERIPHS_IO_MUX_MTDI_U (REG_IO_MUX_BASE + 0x18)
|
||||
#define FUNC_MTDI_FSPID 2
|
||||
#define FUNC_MTDI_GPIO5 1
|
||||
#define FUNC_MTDI_MTDI 0
|
||||
|
||||
#define PERIPHS_IO_MUX_GPIO6_U (REG_IO_MUX_BASE + 0x1C)
|
||||
#define FUNC_GPIO6_GPIO6 1
|
||||
#define FUNC_GPIO6_GPIO6_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_GPIO7_U (REG_IO_MUX_BASE + 0x20)
|
||||
#define FUNC_GPIO7_GPIO7 1
|
||||
#define FUNC_GPIO7_GPIO7_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_GPIO8_U (REG_IO_MUX_BASE + 0x24)
|
||||
#define FUNC_GPIO8_GPIO8 1
|
||||
#define FUNC_GPIO8_GPIO8_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_GPIO9_U (REG_IO_MUX_BASE + 0x28)
|
||||
#define FUNC_GPIO9_GPIO9 1
|
||||
#define FUNC_GPIO9_GPIO9_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_GPIO10_U (REG_IO_MUX_BASE + 0x2C)
|
||||
#define FUNC_GPIO10_GPIO10 1
|
||||
#define FUNC_GPIO10_GPIO10_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_GPIO11_U (REG_IO_MUX_BASE + 0x30)
|
||||
#define FUNC_GPIO11_GPIO11 1
|
||||
#define FUNC_GPIO11_GPIO11_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_GPIO12_U (REG_IO_MUX_BASE + 0x34)
|
||||
#define FUNC_GPIO12_GPIO12 1
|
||||
#define FUNC_GPIO12_GPIO12_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_XTAL_32K_P_U (REG_IO_MUX_BASE + 0x38)
|
||||
#define FUNC_XTAL_32K_P_GPIO13 1
|
||||
#define FUNC_XTAL_32K_P_GPIO13_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_XTAL_32K_N_U (REG_IO_MUX_BASE + 0x3C)
|
||||
#define FUNC_XTAL_32K_N_GPIO14 1
|
||||
#define FUNC_XTAL_32K_N_GPIO14_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_SPICS0_U (REG_IO_MUX_BASE + 0x40)
|
||||
#define FUNC_SPICS0_GPIO15 1
|
||||
#define FUNC_SPICS0_SPICS0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_SPIQ_U (REG_IO_MUX_BASE + 0x44)
|
||||
#define FUNC_SPIQ_GPIO16 1
|
||||
#define FUNC_SPIQ_SPIQ 0
|
||||
|
||||
#define PERIPHS_IO_MUX_SPIWP_U (REG_IO_MUX_BASE + 0x48)
|
||||
#define FUNC_SPIWP_GPIO17 1
|
||||
#define FUNC_SPIWP_SPIWP 0
|
||||
|
||||
#define PERIPHS_IO_MUX_SPIHD_U (REG_IO_MUX_BASE + 0x4C)
|
||||
#define FUNC_SPIHD_GPIO18 1
|
||||
#define FUNC_SPIHD_SPIHD 0
|
||||
|
||||
#define PERIPHS_IO_MUX_SPICLK_U (REG_IO_MUX_BASE + 0x50)
|
||||
#define FUNC_SPICLK_GPIO19 1
|
||||
#define FUNC_SPICLK_SPICLK 0
|
||||
|
||||
#define PERIPHS_IO_MUX_SPID_U (REG_IO_MUX_BASE + 0x54)
|
||||
#define FUNC_SPID_GPIO20 1
|
||||
#define FUNC_SPID_SPID 0
|
||||
|
||||
#define PERIPHS_IO_MUX_VDD_SPI_U (REG_IO_MUX_BASE + 0x58)
|
||||
#define FUNC_VDD_SPI_GPIO21 1
|
||||
#define FUNC_VDD_SPI_GPIO21_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_GPIO22_U (REG_IO_MUX_BASE + 0x5C)
|
||||
#define FUNC_GPIO22_GPIO22 1
|
||||
#define FUNC_GPIO22_GPIO22_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_U0RXD_U (REG_IO_MUX_BASE + 0x60)
|
||||
#define FUNC_U0RXD_FSPICS1 2
|
||||
#define FUNC_U0RXD_GPIO23 1
|
||||
#define FUNC_U0RXD_U0RXD 0
|
||||
|
||||
#define PERIPHS_IO_MUX_U0TXD_U (REG_IO_MUX_BASE + 0x64)
|
||||
#define FUNC_U0TXD_FSPICS2 2
|
||||
#define FUNC_U0TXD_GPIO24 1
|
||||
#define FUNC_U0TXD_U0TXD 0
|
||||
|
||||
#define PERIPHS_IO_MUX_GPIO25_U (REG_IO_MUX_BASE + 0x68)
|
||||
#define FUNC_GPIO25_FSPICS3 2
|
||||
#define FUNC_GPIO25_GPIO25 1
|
||||
#define FUNC_GPIO25_GPIO25_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_GPIO26_U (REG_IO_MUX_BASE + 0x6C)
|
||||
#define FUNC_GPIO26_FSPICS4 2
|
||||
#define FUNC_GPIO26_GPIO26 1
|
||||
#define FUNC_GPIO26_GPIO26_0 0
|
||||
|
||||
#define PERIPHS_IO_MUX_GPIO27_U (REG_IO_MUX_BASE + 0x70)
|
||||
#define FUNC_GPIO27_FSPICS5 2
|
||||
#define FUNC_GPIO27_GPIO27 1
|
||||
#define FUNC_GPIO27_GPIO27_0 0
|
||||
|
||||
#define IO_MUX_PIN_CTRL_REG (REG_IO_MUX_BASE + 0x0)
|
||||
/* IO_MUX_CLK_OUT3 : R/W ;bitpos:[14:10] ;default: 5'h7 ; */
|
||||
/*description: If you want to output clock for I2S to CLK_OUT_out3, set this register to 0x0. C
|
||||
LK_OUT_out3 can be found in peripheral output signals..*/
|
||||
#define IO_MUX_CLK_OUT3 0x0000001F
|
||||
#define IO_MUX_CLK_OUT3_M ((IO_MUX_CLK_OUT3_V)<<(IO_MUX_CLK_OUT3_S))
|
||||
#define IO_MUX_CLK_OUT3_V 0x1F
|
||||
#define IO_MUX_CLK_OUT3_S 10
|
||||
/* IO_MUX_CLK_OUT2 : R/W ;bitpos:[9:5] ;default: 5'hf ; */
|
||||
/*description: If you want to output clock for I2S to CLK_OUT_out2, set this register to 0x0. C
|
||||
LK_OUT_out2 can be found in peripheral output signals..*/
|
||||
#define IO_MUX_CLK_OUT2 0x0000001F
|
||||
#define IO_MUX_CLK_OUT2_M ((IO_MUX_CLK_OUT2_V)<<(IO_MUX_CLK_OUT2_S))
|
||||
#define IO_MUX_CLK_OUT2_V 0x1F
|
||||
#define IO_MUX_CLK_OUT2_S 5
|
||||
/* IO_MUX_CLK_OUT1 : R/W ;bitpos:[4:0] ;default: 5'hf ; */
|
||||
/*description: If you want to output clock for I2S to CLK_OUT_out1, set this register to 0x0. C
|
||||
LK_OUT_out1 can be found in peripheral output signals..*/
|
||||
#define IO_MUX_CLK_OUT1 0x0000001F
|
||||
#define IO_MUX_CLK_OUT1_M ((IO_MUX_CLK_OUT1_V)<<(IO_MUX_CLK_OUT1_S))
|
||||
#define IO_MUX_CLK_OUT1_V 0x1F
|
||||
#define IO_MUX_CLK_OUT1_S 0
|
||||
#define IO_MUX_MODEM_DIAG_EN_REG (REG_IO_MUX_BASE + 0xBC)
|
||||
/* IO_MUX_MODEM_DIAG_EN : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: bit i to enable modem_diag[i] into gpio matrix. 1:enable modem_diag[i] into gpio
|
||||
matrix. 0:enable other signals into gpio matrix.*/
|
||||
#define IO_MUX_MODEM_DIAG_EN 0xFFFFFFFF
|
||||
#define IO_MUX_MODEM_DIAG_EN_M ((IO_MUX_MODEM_DIAG_EN_V)<<(IO_MUX_MODEM_DIAG_EN_S))
|
||||
#define IO_MUX_MODEM_DIAG_EN_V 0xFFFFFFFF
|
||||
#define IO_MUX_MODEM_DIAG_EN_S 0
|
||||
#define IO_MUX_DATE_REG (REG_IO_MUX_BASE + 0xFC)
|
||||
/* IO_MUX_REG_DATE : R/W ;bitpos:[27:0] ;default: 28'h2207270 ; */
|
||||
/*description: Version control register.*/
|
||||
#define IO_MUX_REG_DATE 0x0FFFFFFF
|
||||
#define IO_MUX_REG_DATE_M ((IO_MUX_REG_DATE_V)<<(IO_MUX_REG_DATE_S))
|
||||
#define IO_MUX_REG_DATE_V 0xFFFFFFF
|
||||
#define IO_MUX_REG_DATE_S 0
|
2775
components/soc/esp32h2/include/soc/ledc_reg.h
Normal file
2775
components/soc/esp32h2/include/soc/ledc_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1119
components/soc/esp32h2/include/soc/ledc_struct.h
Normal file
1119
components/soc/esp32h2/include/soc/ledc_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
469
components/soc/esp32h2/include/soc/lp_analog_peri_reg.h
Normal file
469
components/soc/esp32h2/include/soc/lp_analog_peri_reg.h
Normal file
@ -0,0 +1,469 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CNTL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CNTL_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x0)
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CLOSE_FLASH_ENA : R/W; bitpos: [6]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CLOSE_FLASH_ENA (BIT(6))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CLOSE_FLASH_ENA_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CLOSE_FLASH_ENA_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CLOSE_FLASH_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CLOSE_FLASH_ENA_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CLOSE_FLASH_ENA_S 6
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_PD_RF_ENA : R/W; bitpos: [7]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_PD_RF_ENA (BIT(7))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_PD_RF_ENA_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_PD_RF_ENA_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_PD_RF_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_PD_RF_ENA_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_PD_RF_ENA_S 7
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INTR_WAIT : R/W; bitpos: [17:8]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INTR_WAIT 0x000003FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INTR_WAIT_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INTR_WAIT_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INTR_WAIT_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INTR_WAIT_V 0x000003FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INTR_WAIT_S 8
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_WAIT : R/W; bitpos: [27:18]; default: 1023;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_WAIT 0x000003FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_WAIT_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_WAIT_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_WAIT_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_WAIT_V 0x000003FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_WAIT_S 18
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CNT_CLR : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CNT_CLR (BIT(28))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CNT_CLR_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CNT_CLR_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CNT_CLR_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CNT_CLR_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_CNT_CLR_S 28
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INTR_ENA : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INTR_ENA (BIT(29))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INTR_ENA_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INTR_ENA_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INTR_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INTR_ENA_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INTR_ENA_S 29
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_SEL : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_SEL (BIT(30))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_SEL_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_SEL_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_SEL_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_SEL_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_SEL_S 30
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_ENA : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_ENA (BIT(31))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_ENA_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_ENA_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_ENA_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_RESET_ENA_S 31
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE1_CNTL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE1_CNTL_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x4)
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE1_RESET_ENA : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE1_RESET_ENA (BIT(31))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE1_RESET_ENA_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE1_RESET_ENA_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE1_RESET_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE1_RESET_ENA_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE1_RESET_ENA_S 31
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDD_SOURCE_CNTL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDD_SOURCE_CNTL_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x8)
|
||||
/** LP_ANALOG_PERI_LP_ANA_DETMODE_SEL : R/W; bitpos: [7:0]; default: 255;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_DETMODE_SEL 0x000000FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_DETMODE_SEL_M (LP_ANALOG_PERI_LP_ANA_DETMODE_SEL_V << LP_ANALOG_PERI_LP_ANA_DETMODE_SEL_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_DETMODE_SEL_V 0x000000FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_DETMODE_SEL_S 0
|
||||
/** LP_ANALOG_PERI_LP_ANA_VGOOD_EVENT_RECORD : RO; bitpos: [15:8]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VGOOD_EVENT_RECORD 0x000000FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_VGOOD_EVENT_RECORD_M (LP_ANALOG_PERI_LP_ANA_VGOOD_EVENT_RECORD_V << LP_ANALOG_PERI_LP_ANA_VGOOD_EVENT_RECORD_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VGOOD_EVENT_RECORD_V 0x000000FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_VGOOD_EVENT_RECORD_S 8
|
||||
/** LP_ANALOG_PERI_LP_ANA_VBAT_EVENT_RECORD_CLR : WT; bitpos: [23:16]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VBAT_EVENT_RECORD_CLR 0x000000FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_VBAT_EVENT_RECORD_CLR_M (LP_ANALOG_PERI_LP_ANA_VBAT_EVENT_RECORD_CLR_V << LP_ANALOG_PERI_LP_ANA_VBAT_EVENT_RECORD_CLR_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VBAT_EVENT_RECORD_CLR_V 0x000000FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_VBAT_EVENT_RECORD_CLR_S 16
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_SOURCE_ENA : R/W; bitpos: [31:24]; default: 4;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_SOURCE_ENA 0x000000FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_SOURCE_ENA_M (LP_ANALOG_PERI_LP_ANA_BOD_SOURCE_ENA_V << LP_ANALOG_PERI_LP_ANA_BOD_SOURCE_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_SOURCE_ENA_V 0x000000FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_SOURCE_ENA_S 24
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_BOD_CNTL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_BOD_CNTL_REG (DR_REG_LP_ANALOG_PERI_BASE + 0xc)
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_FLAG : RO; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_FLAG (BIT(0))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_FLAG_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_FLAG_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_FLAG_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_FLAG_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_FLAG_S 0
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGER : R/W; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGER (BIT(10))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGER_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGER_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGER_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGER_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGER_S 10
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CNT_CLR : R/W; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CNT_CLR (BIT(11))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CNT_CLR_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CNT_CLR_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CNT_CLR_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CNT_CLR_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CNT_CLR_S 11
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_TARGET : R/W; bitpos: [21:12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_TARGET 0x000003FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_TARGET_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_TARGET_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_TARGET_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_TARGET_V 0x000003FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_TARGET_S 12
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_TARGET : R/W; bitpos: [31:22]; default: 1023;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_TARGET 0x000003FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_TARGET_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_TARGET_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_TARGET_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_TARGET_V 0x000003FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_TARGET_S 22
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CNTL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CNTL_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x10)
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_FLAG : RO; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_FLAG (BIT(0))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_FLAG_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_FLAG_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_FLAG_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_FLAG_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_FLAG_S 0
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CHARGER : R/W; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CHARGER (BIT(10))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CHARGER_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CHARGER_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CHARGER_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CHARGER_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CHARGER_S 10
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CNT_CLR : R/W; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CNT_CLR (BIT(11))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CNT_CLR_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CNT_CLR_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CNT_CLR_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CNT_CLR_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_CNT_CLR_S 11
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_TARGET : R/W; bitpos: [21:12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_TARGET 0x000003FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_TARGET_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_TARGET_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_TARGET_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_TARGET_V 0x000003FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_TARGET_S 12
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_TARGET : R/W; bitpos: [31:22]; default: 1023;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_TARGET 0x000003FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_TARGET_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_TARGET_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_TARGET_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_TARGET_V 0x000003FFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_TARGET_S 22
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_CK_GLITCH_CNTL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_CK_GLITCH_CNTL_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x14)
|
||||
/** LP_ANALOG_PERI_LP_ANA_CK_GLITCH_RESET_ENA : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_CK_GLITCH_RESET_ENA (BIT(31))
|
||||
#define LP_ANALOG_PERI_LP_ANA_CK_GLITCH_RESET_ENA_M (LP_ANALOG_PERI_LP_ANA_CK_GLITCH_RESET_ENA_V << LP_ANALOG_PERI_LP_ANA_CK_GLITCH_RESET_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_CK_GLITCH_RESET_ENA_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_CK_GLITCH_RESET_ENA_S 31
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_PG_GLITCH_CNTL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_PG_GLITCH_CNTL_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x18)
|
||||
/** LP_ANALOG_PERI_LP_ANA_POWER_GLITCH_RESET_ENA : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_POWER_GLITCH_RESET_ENA (BIT(31))
|
||||
#define LP_ANALOG_PERI_LP_ANA_POWER_GLITCH_RESET_ENA_M (LP_ANALOG_PERI_LP_ANA_POWER_GLITCH_RESET_ENA_V << LP_ANALOG_PERI_LP_ANA_POWER_GLITCH_RESET_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_POWER_GLITCH_RESET_ENA_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_POWER_GLITCH_RESET_ENA_S 31
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_FIB_ENABLE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_FIB_ENABLE_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x1c)
|
||||
/** LP_ANALOG_PERI_LP_ANA_ANA_FIB_ENA : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_ANA_FIB_ENA 0xFFFFFFFFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_ANA_FIB_ENA_M (LP_ANALOG_PERI_LP_ANA_ANA_FIB_ENA_V << LP_ANALOG_PERI_LP_ANA_ANA_FIB_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_ANA_FIB_ENA_V 0xFFFFFFFFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_ANA_FIB_ENA_S 0
|
||||
|
||||
#define LP_ANALOG_PERI_LP_ANA_FIB_GLITCH_RST BIT(0)
|
||||
#define LP_ANALOG_PERI_LP_ANA_FIB_BOR_RST BIT(1)
|
||||
#define LP_ANALOG_PERI_LP_ANA_FIB_SUPER_WDT_RST BIT(2)
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_INT_RAW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_INT_RAW_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x20)
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_RAW : R/WTC/SS; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_RAW (BIT(27))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_RAW_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_RAW_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_RAW_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_RAW_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_RAW_S 27
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_RAW : R/WTC/SS; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_RAW (BIT(28))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_RAW_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_RAW_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_RAW_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_RAW_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_RAW_S 28
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_RAW : R/WTC/SS; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_RAW (BIT(29))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_RAW_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_RAW_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_RAW_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_RAW_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_RAW_S 29
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_RAW : R/WTC/SS; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_RAW (BIT(30))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_RAW_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_RAW_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_RAW_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_RAW_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_RAW_S 30
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_RAW : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_RAW (BIT(31))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_RAW_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_RAW_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_RAW_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_RAW_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_RAW_S 31
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_INT_ST_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_INT_ST_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x24)
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_ST : RO; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_ST (BIT(27))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_ST_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_ST_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_ST_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_ST_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_ST_S 27
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_ST : RO; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_ST (BIT(28))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_ST_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_ST_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_ST_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_ST_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_ST_S 28
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_ST : RO; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_ST (BIT(29))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_ST_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_ST_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_ST_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_ST_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_ST_S 29
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_ST : RO; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_ST (BIT(30))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_ST_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_ST_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_ST_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_ST_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_ST_S 30
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_ST : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_ST (BIT(31))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_ST_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_ST_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_ST_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_ST_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_ST_S 31
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_INT_ENA_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_INT_ENA_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x28)
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_ENA : R/W; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_ENA (BIT(27))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_ENA_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_ENA_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_ENA_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_ENA_S 27
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_ENA : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_ENA (BIT(28))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_ENA_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_ENA_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_ENA_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_ENA_S 28
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_ENA : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_ENA (BIT(29))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_ENA_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_ENA_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_ENA_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_ENA_S 29
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_ENA : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_ENA (BIT(30))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_ENA_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_ENA_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_ENA_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_ENA_S 30
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_ENA : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_ENA (BIT(31))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_ENA_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_ENA_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_ENA_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_ENA_S 31
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_INT_CLR_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_INT_CLR_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x2c)
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_CLR : WT; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_CLR (BIT(27))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_CLR_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_CLR_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_CLR_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_CLR_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UPVOLTAGE_INT_CLR_S 27
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_CLR : WT; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_CLR (BIT(28))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_CLR_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_CLR_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_CLR_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_CLR_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_CHARGE_UNDERVOLTAGE_INT_CLR_S 28
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_CLR : WT; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_CLR (BIT(29))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_CLR_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_CLR_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_CLR_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_CLR_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UPVOLTAGE_INT_CLR_S 29
|
||||
/** LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_CLR : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_CLR (BIT(30))
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_CLR_M (LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_CLR_V << LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_CLR_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_CLR_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_VDDBAT_UNDERVOLTAGE_INT_CLR_S 30
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_CLR : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_CLR (BIT(31))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_CLR_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_CLR_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_CLR_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_CLR_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_INT_CLR_S 31
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_LP_INT_RAW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_LP_INT_RAW_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x30)
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_RAW : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_RAW (BIT(31))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_RAW_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_RAW_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_RAW_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_RAW_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_RAW_S 31
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_LP_INT_ST_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_LP_INT_ST_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x34)
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ST : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ST (BIT(31))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ST_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ST_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ST_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ST_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ST_S 31
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_LP_INT_ENA_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_LP_INT_ENA_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x38)
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ENA : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ENA (BIT(31))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ENA_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ENA_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ENA_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ENA_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ENA_S 31
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_LP_INT_CLR_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_LP_INT_CLR_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x3c)
|
||||
/** LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_CLR : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_CLR (BIT(31))
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_CLR_M (LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_CLR_V << LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_CLR_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_CLR_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_CLR_S 31
|
||||
|
||||
/** LP_ANALOG_PERI_LP_ANA_DATE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_DATE_REG (DR_REG_LP_ANALOG_PERI_BASE + 0x3fc)
|
||||
/** LP_ANALOG_PERI_LP_ANA_LP_ANALOG_PERI_LP_ANA_DATE : R/W; bitpos: [30:0]; default: 35684944;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_LP_ANALOG_PERI_LP_ANA_DATE 0x7FFFFFFFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_LP_ANALOG_PERI_LP_ANA_DATE_M (LP_ANALOG_PERI_LP_ANA_LP_ANALOG_PERI_LP_ANA_DATE_V << LP_ANALOG_PERI_LP_ANA_LP_ANALOG_PERI_LP_ANA_DATE_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_LP_ANALOG_PERI_LP_ANA_DATE_V 0x7FFFFFFFU
|
||||
#define LP_ANALOG_PERI_LP_ANA_LP_ANALOG_PERI_LP_ANA_DATE_S 0
|
||||
/** LP_ANALOG_PERI_LP_ANA_CLK_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_ANALOG_PERI_LP_ANA_CLK_EN (BIT(31))
|
||||
#define LP_ANALOG_PERI_LP_ANA_CLK_EN_M (LP_ANALOG_PERI_LP_ANA_CLK_EN_V << LP_ANALOG_PERI_LP_ANA_CLK_EN_S)
|
||||
#define LP_ANALOG_PERI_LP_ANA_CLK_EN_V 0x00000001U
|
||||
#define LP_ANALOG_PERI_LP_ANA_CLK_EN_S 31
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
419
components/soc/esp32h2/include/soc/lp_analog_peri_struct.h
Normal file
419
components/soc/esp32h2/include/soc/lp_analog_peri_struct.h
Normal file
@ -0,0 +1,419 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: configure_register */
|
||||
/** Type of bod_mode0_cntl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:6;
|
||||
/** bod_mode0_close_flash_ena : R/W; bitpos: [6]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_close_flash_ena:1;
|
||||
/** bod_mode0_pd_rf_ena : R/W; bitpos: [7]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_pd_rf_ena:1;
|
||||
/** bod_mode0_intr_wait : R/W; bitpos: [17:8]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_intr_wait:10;
|
||||
/** bod_mode0_reset_wait : R/W; bitpos: [27:18]; default: 1023;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_reset_wait:10;
|
||||
/** bod_mode0_cnt_clr : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_cnt_clr:1;
|
||||
/** bod_mode0_intr_ena : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_intr_ena:1;
|
||||
/** bod_mode0_reset_sel : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_reset_sel:1;
|
||||
/** bod_mode0_reset_ena : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_reset_ena:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_bod_mode0_cntl_reg_t;
|
||||
|
||||
/** Type of bod_mode1_cntl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** bod_mode1_reset_ena : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode1_reset_ena:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_bod_mode1_cntl_reg_t;
|
||||
|
||||
/** Type of vdd_source_cntl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** detmode_sel : R/W; bitpos: [7:0]; default: 255;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t detmode_sel:8;
|
||||
/** vgood_event_record : RO; bitpos: [15:8]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vgood_event_record:8;
|
||||
/** vbat_event_record_clr : WT; bitpos: [23:16]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vbat_event_record_clr:8;
|
||||
/** bod_source_ena : R/W; bitpos: [31:24]; default: 4;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_source_ena:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_vdd_source_cntl_reg_t;
|
||||
|
||||
/** Type of vddbat_bod_cntl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** vddbat_undervoltage_flag : RO; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_undervoltage_flag:1;
|
||||
uint32_t reserved_1:9;
|
||||
/** vddbat_charger : R/W; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_charger:1;
|
||||
/** vddbat_cnt_clr : R/W; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_cnt_clr:1;
|
||||
/** vddbat_upvoltage_target : R/W; bitpos: [21:12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_upvoltage_target:10;
|
||||
/** vddbat_undervoltage_target : R/W; bitpos: [31:22]; default: 1023;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_undervoltage_target:10;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_vddbat_bod_cntl_reg_t;
|
||||
|
||||
/** Type of vddbat_charge_cntl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** vddbat_charge_undervoltage_flag : RO; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_charge_undervoltage_flag:1;
|
||||
uint32_t reserved_1:9;
|
||||
/** vddbat_charge_charger : R/W; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_charge_charger:1;
|
||||
/** vddbat_charge_cnt_clr : R/W; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_charge_cnt_clr:1;
|
||||
/** vddbat_charge_upvoltage_target : R/W; bitpos: [21:12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_charge_upvoltage_target:10;
|
||||
/** vddbat_charge_undervoltage_target : R/W; bitpos: [31:22]; default: 1023;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_charge_undervoltage_target:10;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_vddbat_charge_cntl_reg_t;
|
||||
|
||||
/** Type of ck_glitch_cntl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** ck_glitch_reset_ena : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_glitch_reset_ena:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_ck_glitch_cntl_reg_t;
|
||||
|
||||
/** Type of pg_glitch_cntl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** power_glitch_reset_ena : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t power_glitch_reset_ena:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_pg_glitch_cntl_reg_t;
|
||||
|
||||
/** Type of fib_enable register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** ana_fib_ena : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ana_fib_ena:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_fib_enable_reg_t;
|
||||
|
||||
/** Type of int_raw register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:27;
|
||||
/** vddbat_charge_upvoltage_int_raw : R/WTC/SS; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_charge_upvoltage_int_raw:1;
|
||||
/** vddbat_charge_undervoltage_int_raw : R/WTC/SS; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_charge_undervoltage_int_raw:1;
|
||||
/** vddbat_upvoltage_int_raw : R/WTC/SS; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_upvoltage_int_raw:1;
|
||||
/** vddbat_undervoltage_int_raw : R/WTC/SS; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_undervoltage_int_raw:1;
|
||||
/** bod_mode0_int_raw : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_int_raw:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_int_raw_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:27;
|
||||
/** vddbat_charge_upvoltage_int_st : RO; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_charge_upvoltage_int_st:1;
|
||||
/** vddbat_charge_undervoltage_int_st : RO; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_charge_undervoltage_int_st:1;
|
||||
/** vddbat_upvoltage_int_st : RO; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_upvoltage_int_st:1;
|
||||
/** vddbat_undervoltage_int_st : RO; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_undervoltage_int_st:1;
|
||||
/** bod_mode0_int_st : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_int_st:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_int_st_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:27;
|
||||
/** vddbat_charge_upvoltage_int_ena : R/W; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_charge_upvoltage_int_ena:1;
|
||||
/** vddbat_charge_undervoltage_int_ena : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_charge_undervoltage_int_ena:1;
|
||||
/** vddbat_upvoltage_int_ena : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_upvoltage_int_ena:1;
|
||||
/** vddbat_undervoltage_int_ena : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_undervoltage_int_ena:1;
|
||||
/** bod_mode0_int_ena : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_int_ena:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_int_ena_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:27;
|
||||
/** vddbat_charge_upvoltage_int_clr : WT; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_charge_upvoltage_int_clr:1;
|
||||
/** vddbat_charge_undervoltage_int_clr : WT; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_charge_undervoltage_int_clr:1;
|
||||
/** vddbat_upvoltage_int_clr : WT; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_upvoltage_int_clr:1;
|
||||
/** vddbat_undervoltage_int_clr : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t vddbat_undervoltage_int_clr:1;
|
||||
/** bod_mode0_int_clr : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_int_clr:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_int_clr_reg_t;
|
||||
|
||||
/** Type of lp_int_raw register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** bod_mode0_lp_int_raw : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_lp_int_raw:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_lp_int_raw_reg_t;
|
||||
|
||||
/** Type of lp_int_st register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** bod_mode0_lp_int_st : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_lp_int_st:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_lp_int_st_reg_t;
|
||||
|
||||
/** Type of lp_int_ena register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** bod_mode0_lp_int_ena : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_lp_int_ena:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_lp_int_ena_reg_t;
|
||||
|
||||
/** Type of lp_int_clr register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** bod_mode0_lp_int_clr : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bod_mode0_lp_int_clr:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_lp_int_clr_reg_t;
|
||||
|
||||
/** Type of date register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** lp_ana_date : R/W; bitpos: [30:0]; default: 35684944;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_ana_date:31;
|
||||
/** clk_en : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_ana_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile lp_ana_bod_mode0_cntl_reg_t bod_mode0_cntl;
|
||||
volatile lp_ana_bod_mode1_cntl_reg_t bod_mode1_cntl;
|
||||
volatile lp_ana_vdd_source_cntl_reg_t vdd_source_cntl;
|
||||
volatile lp_ana_vddbat_bod_cntl_reg_t vddbat_bod_cntl;
|
||||
volatile lp_ana_vddbat_charge_cntl_reg_t vddbat_charge_cntl;
|
||||
volatile lp_ana_ck_glitch_cntl_reg_t ck_glitch_cntl;
|
||||
volatile lp_ana_pg_glitch_cntl_reg_t pg_glitch_cntl;
|
||||
volatile lp_ana_fib_enable_reg_t fib_enable;
|
||||
volatile lp_ana_int_raw_reg_t int_raw;
|
||||
volatile lp_ana_int_st_reg_t int_st;
|
||||
volatile lp_ana_int_ena_reg_t int_ena;
|
||||
volatile lp_ana_int_clr_reg_t int_clr;
|
||||
volatile lp_ana_lp_int_raw_reg_t lp_int_raw;
|
||||
volatile lp_ana_lp_int_st_reg_t lp_int_st;
|
||||
volatile lp_ana_lp_int_ena_reg_t lp_int_ena;
|
||||
volatile lp_ana_lp_int_clr_reg_t lp_int_clr;
|
||||
uint32_t reserved_040[239];
|
||||
volatile lp_ana_date_reg_t date;
|
||||
} lp_ana_dev_t;
|
||||
|
||||
extern lp_ana_dev_t LP_ANA_PERI;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(lp_ana_dev_t) == 0x400, "Invalid size of lp_ana_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
471
components/soc/esp32h2/include/soc/lp_aon_reg.h
Normal file
471
components/soc/esp32h2/include/soc/lp_aon_reg.h
Normal file
@ -0,0 +1,471 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** LP_AON_STORE0_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_STORE0_REG (DR_REG_LP_AON_BASE + 0x0)
|
||||
/** LP_AON_LP_AON_STORE0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LP_AON_STORE0 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE0_M (LP_AON_LP_AON_STORE0_V << LP_AON_LP_AON_STORE0_S)
|
||||
#define LP_AON_LP_AON_STORE0_V 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE0_S 0
|
||||
|
||||
/** LP_AON_STORE1_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_STORE1_REG (DR_REG_LP_AON_BASE + 0x4)
|
||||
/** LP_AON_LP_AON_STORE1 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LP_AON_STORE1 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE1_M (LP_AON_LP_AON_STORE1_V << LP_AON_LP_AON_STORE1_S)
|
||||
#define LP_AON_LP_AON_STORE1_V 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE1_S 0
|
||||
|
||||
/** LP_AON_STORE2_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_STORE2_REG (DR_REG_LP_AON_BASE + 0x8)
|
||||
/** LP_AON_LP_AON_STORE2 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LP_AON_STORE2 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE2_M (LP_AON_LP_AON_STORE2_V << LP_AON_LP_AON_STORE2_S)
|
||||
#define LP_AON_LP_AON_STORE2_V 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE2_S 0
|
||||
|
||||
/** LP_AON_STORE3_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_STORE3_REG (DR_REG_LP_AON_BASE + 0xc)
|
||||
/** LP_AON_LP_AON_STORE3 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LP_AON_STORE3 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE3_M (LP_AON_LP_AON_STORE3_V << LP_AON_LP_AON_STORE3_S)
|
||||
#define LP_AON_LP_AON_STORE3_V 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE3_S 0
|
||||
|
||||
/** LP_AON_STORE4_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_STORE4_REG (DR_REG_LP_AON_BASE + 0x10)
|
||||
/** LP_AON_LP_AON_STORE4 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LP_AON_STORE4 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE4_M (LP_AON_LP_AON_STORE4_V << LP_AON_LP_AON_STORE4_S)
|
||||
#define LP_AON_LP_AON_STORE4_V 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE4_S 0
|
||||
|
||||
/** LP_AON_STORE5_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_STORE5_REG (DR_REG_LP_AON_BASE + 0x14)
|
||||
/** LP_AON_LP_AON_STORE5 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LP_AON_STORE5 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE5_M (LP_AON_LP_AON_STORE5_V << LP_AON_LP_AON_STORE5_S)
|
||||
#define LP_AON_LP_AON_STORE5_V 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE5_S 0
|
||||
|
||||
/** LP_AON_STORE6_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_STORE6_REG (DR_REG_LP_AON_BASE + 0x18)
|
||||
/** LP_AON_LP_AON_STORE6 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LP_AON_STORE6 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE6_M (LP_AON_LP_AON_STORE6_V << LP_AON_LP_AON_STORE6_S)
|
||||
#define LP_AON_LP_AON_STORE6_V 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE6_S 0
|
||||
|
||||
/** LP_AON_STORE7_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_STORE7_REG (DR_REG_LP_AON_BASE + 0x1c)
|
||||
/** LP_AON_LP_AON_STORE7 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LP_AON_STORE7 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE7_M (LP_AON_LP_AON_STORE7_V << LP_AON_LP_AON_STORE7_S)
|
||||
#define LP_AON_LP_AON_STORE7_V 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE7_S 0
|
||||
|
||||
/** LP_AON_STORE8_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_STORE8_REG (DR_REG_LP_AON_BASE + 0x20)
|
||||
/** LP_AON_LP_AON_STORE8 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LP_AON_STORE8 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE8_M (LP_AON_LP_AON_STORE8_V << LP_AON_LP_AON_STORE8_S)
|
||||
#define LP_AON_LP_AON_STORE8_V 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE8_S 0
|
||||
|
||||
/** LP_AON_STORE9_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_STORE9_REG (DR_REG_LP_AON_BASE + 0x24)
|
||||
/** LP_AON_LP_AON_STORE9 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LP_AON_STORE9 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE9_M (LP_AON_LP_AON_STORE9_V << LP_AON_LP_AON_STORE9_S)
|
||||
#define LP_AON_LP_AON_STORE9_V 0xFFFFFFFFU
|
||||
#define LP_AON_LP_AON_STORE9_S 0
|
||||
|
||||
/** LP_AON_GPIO_MUX_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_GPIO_MUX_REG (DR_REG_LP_AON_BASE + 0x28)
|
||||
/** LP_AON_GPIO_MUX_SEL : R/W; bitpos: [7:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_GPIO_MUX_SEL 0x000000FFU
|
||||
#define LP_AON_GPIO_MUX_SEL_M (LP_AON_GPIO_MUX_SEL_V << LP_AON_GPIO_MUX_SEL_S)
|
||||
#define LP_AON_GPIO_MUX_SEL_V 0x000000FFU
|
||||
#define LP_AON_GPIO_MUX_SEL_S 0
|
||||
|
||||
/** LP_AON_GPIO_HOLD0_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_GPIO_HOLD0_REG (DR_REG_LP_AON_BASE + 0x2c)
|
||||
/** LP_AON_GPIO_HOLD0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_GPIO_HOLD0 0xFFFFFFFFU
|
||||
#define LP_AON_GPIO_HOLD0_M (LP_AON_GPIO_HOLD0_V << LP_AON_GPIO_HOLD0_S)
|
||||
#define LP_AON_GPIO_HOLD0_V 0xFFFFFFFFU
|
||||
#define LP_AON_GPIO_HOLD0_S 0
|
||||
|
||||
/** LP_AON_GPIO_HOLD1_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_GPIO_HOLD1_REG (DR_REG_LP_AON_BASE + 0x30)
|
||||
/** LP_AON_GPIO_HOLD1 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_GPIO_HOLD1 0xFFFFFFFFU
|
||||
#define LP_AON_GPIO_HOLD1_M (LP_AON_GPIO_HOLD1_V << LP_AON_GPIO_HOLD1_S)
|
||||
#define LP_AON_GPIO_HOLD1_V 0xFFFFFFFFU
|
||||
#define LP_AON_GPIO_HOLD1_S 0
|
||||
|
||||
/** LP_AON_SYS_CFG_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_SYS_CFG_REG (DR_REG_LP_AON_BASE + 0x34)
|
||||
/** LP_AON_ANA_FIB_SWD_ENABLE : RO; bitpos: [0]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_ANA_FIB_SWD_ENABLE (BIT(0))
|
||||
#define LP_AON_ANA_FIB_SWD_ENABLE_M (LP_AON_ANA_FIB_SWD_ENABLE_V << LP_AON_ANA_FIB_SWD_ENABLE_S)
|
||||
#define LP_AON_ANA_FIB_SWD_ENABLE_V 0x00000001U
|
||||
#define LP_AON_ANA_FIB_SWD_ENABLE_S 0
|
||||
/** LP_AON_ANA_FIB_CK_GLITCH_ENABLE : RO; bitpos: [1]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_ANA_FIB_CK_GLITCH_ENABLE (BIT(1))
|
||||
#define LP_AON_ANA_FIB_CK_GLITCH_ENABLE_M (LP_AON_ANA_FIB_CK_GLITCH_ENABLE_V << LP_AON_ANA_FIB_CK_GLITCH_ENABLE_S)
|
||||
#define LP_AON_ANA_FIB_CK_GLITCH_ENABLE_V 0x00000001U
|
||||
#define LP_AON_ANA_FIB_CK_GLITCH_ENABLE_S 1
|
||||
/** LP_AON_ANA_FIB_BOD_ENABLE : RO; bitpos: [2]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_ANA_FIB_BOD_ENABLE (BIT(2))
|
||||
#define LP_AON_ANA_FIB_BOD_ENABLE_M (LP_AON_ANA_FIB_BOD_ENABLE_V << LP_AON_ANA_FIB_BOD_ENABLE_S)
|
||||
#define LP_AON_ANA_FIB_BOD_ENABLE_V 0x00000001U
|
||||
#define LP_AON_ANA_FIB_BOD_ENABLE_S 2
|
||||
/** LP_AON_FORCE_DOWNLOAD_BOOT : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_FORCE_DOWNLOAD_BOOT (BIT(30))
|
||||
#define LP_AON_FORCE_DOWNLOAD_BOOT_M (LP_AON_FORCE_DOWNLOAD_BOOT_V << LP_AON_FORCE_DOWNLOAD_BOOT_S)
|
||||
#define LP_AON_FORCE_DOWNLOAD_BOOT_V 0x00000001U
|
||||
#define LP_AON_FORCE_DOWNLOAD_BOOT_S 30
|
||||
/** LP_AON_HPSYS_SW_RESET : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_HPSYS_SW_RESET (BIT(31))
|
||||
#define LP_AON_HPSYS_SW_RESET_M (LP_AON_HPSYS_SW_RESET_V << LP_AON_HPSYS_SW_RESET_S)
|
||||
#define LP_AON_HPSYS_SW_RESET_V 0x00000001U
|
||||
#define LP_AON_HPSYS_SW_RESET_S 31
|
||||
|
||||
/** LP_AON_CPUCORE0_CFG_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_CPUCORE0_CFG_REG (DR_REG_LP_AON_BASE + 0x38)
|
||||
/** LP_AON_CPU_CORE0_SW_STALL : R/W; bitpos: [7:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_CPU_CORE0_SW_STALL 0x000000FFU
|
||||
#define LP_AON_CPU_CORE0_SW_STALL_M (LP_AON_CPU_CORE0_SW_STALL_V << LP_AON_CPU_CORE0_SW_STALL_S)
|
||||
#define LP_AON_CPU_CORE0_SW_STALL_V 0x000000FFU
|
||||
#define LP_AON_CPU_CORE0_SW_STALL_S 0
|
||||
/** LP_AON_CPU_CORE0_SW_RESET : WT; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_CPU_CORE0_SW_RESET (BIT(28))
|
||||
#define LP_AON_CPU_CORE0_SW_RESET_M (LP_AON_CPU_CORE0_SW_RESET_V << LP_AON_CPU_CORE0_SW_RESET_S)
|
||||
#define LP_AON_CPU_CORE0_SW_RESET_V 0x00000001U
|
||||
#define LP_AON_CPU_CORE0_SW_RESET_S 28
|
||||
/** LP_AON_CPU_CORE0_OCD_HALT_ON_RESET : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_CPU_CORE0_OCD_HALT_ON_RESET (BIT(29))
|
||||
#define LP_AON_CPU_CORE0_OCD_HALT_ON_RESET_M (LP_AON_CPU_CORE0_OCD_HALT_ON_RESET_V << LP_AON_CPU_CORE0_OCD_HALT_ON_RESET_S)
|
||||
#define LP_AON_CPU_CORE0_OCD_HALT_ON_RESET_V 0x00000001U
|
||||
#define LP_AON_CPU_CORE0_OCD_HALT_ON_RESET_S 29
|
||||
/** LP_AON_CPU_CORE0_STAT_VECTOR_SEL : R/W; bitpos: [30]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_CPU_CORE0_STAT_VECTOR_SEL (BIT(30))
|
||||
#define LP_AON_CPU_CORE0_STAT_VECTOR_SEL_M (LP_AON_CPU_CORE0_STAT_VECTOR_SEL_V << LP_AON_CPU_CORE0_STAT_VECTOR_SEL_S)
|
||||
#define LP_AON_CPU_CORE0_STAT_VECTOR_SEL_V 0x00000001U
|
||||
#define LP_AON_CPU_CORE0_STAT_VECTOR_SEL_S 30
|
||||
/** LP_AON_CPU_CORE0_DRESET_MASK : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_CPU_CORE0_DRESET_MASK (BIT(31))
|
||||
#define LP_AON_CPU_CORE0_DRESET_MASK_M (LP_AON_CPU_CORE0_DRESET_MASK_V << LP_AON_CPU_CORE0_DRESET_MASK_S)
|
||||
#define LP_AON_CPU_CORE0_DRESET_MASK_V 0x00000001U
|
||||
#define LP_AON_CPU_CORE0_DRESET_MASK_S 31
|
||||
|
||||
/** LP_AON_IO_MUX_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_IO_MUX_REG (DR_REG_LP_AON_BASE + 0x3c)
|
||||
/** LP_AON_IO_MUX_PULL_LDO : R/W; bitpos: [30:28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_IO_MUX_PULL_LDO 0x00000007U
|
||||
#define LP_AON_IO_MUX_PULL_LDO_M (LP_AON_IO_MUX_PULL_LDO_V << LP_AON_IO_MUX_PULL_LDO_S)
|
||||
#define LP_AON_IO_MUX_PULL_LDO_V 0x00000007U
|
||||
#define LP_AON_IO_MUX_PULL_LDO_S 28
|
||||
/** LP_AON_IO_MUX_RESET_DISABLE : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_IO_MUX_RESET_DISABLE (BIT(31))
|
||||
#define LP_AON_IO_MUX_RESET_DISABLE_M (LP_AON_IO_MUX_RESET_DISABLE_V << LP_AON_IO_MUX_RESET_DISABLE_S)
|
||||
#define LP_AON_IO_MUX_RESET_DISABLE_V 0x00000001U
|
||||
#define LP_AON_IO_MUX_RESET_DISABLE_S 31
|
||||
|
||||
/** LP_AON_EXT_WAKEUP_CNTL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_EXT_WAKEUP_CNTL_REG (DR_REG_LP_AON_BASE + 0x40)
|
||||
/** LP_AON_EXT_WAKEUP_STATUS : RO; bitpos: [7:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_EXT_WAKEUP_STATUS 0x000000FFU
|
||||
#define LP_AON_EXT_WAKEUP_STATUS_M (LP_AON_EXT_WAKEUP_STATUS_V << LP_AON_EXT_WAKEUP_STATUS_S)
|
||||
#define LP_AON_EXT_WAKEUP_STATUS_V 0x000000FFU
|
||||
#define LP_AON_EXT_WAKEUP_STATUS_S 0
|
||||
/** LP_AON_EXT_WAKEUP_STATUS_CLR : WT; bitpos: [14]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_EXT_WAKEUP_STATUS_CLR (BIT(14))
|
||||
#define LP_AON_EXT_WAKEUP_STATUS_CLR_M (LP_AON_EXT_WAKEUP_STATUS_CLR_V << LP_AON_EXT_WAKEUP_STATUS_CLR_S)
|
||||
#define LP_AON_EXT_WAKEUP_STATUS_CLR_V 0x00000001U
|
||||
#define LP_AON_EXT_WAKEUP_STATUS_CLR_S 14
|
||||
/** LP_AON_EXT_WAKEUP_SEL : R/W; bitpos: [22:15]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_EXT_WAKEUP_SEL 0x000000FFU
|
||||
#define LP_AON_EXT_WAKEUP_SEL_M (LP_AON_EXT_WAKEUP_SEL_V << LP_AON_EXT_WAKEUP_SEL_S)
|
||||
#define LP_AON_EXT_WAKEUP_SEL_V 0x000000FFU
|
||||
#define LP_AON_EXT_WAKEUP_SEL_S 15
|
||||
/** LP_AON_EXT_WAKEUP_LV : R/W; bitpos: [30:23]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_EXT_WAKEUP_LV 0x000000FFU
|
||||
#define LP_AON_EXT_WAKEUP_LV_M (LP_AON_EXT_WAKEUP_LV_V << LP_AON_EXT_WAKEUP_LV_S)
|
||||
#define LP_AON_EXT_WAKEUP_LV_V 0x000000FFU
|
||||
#define LP_AON_EXT_WAKEUP_LV_S 23
|
||||
/** LP_AON_EXT_WAKEUP_FILTER : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_EXT_WAKEUP_FILTER (BIT(31))
|
||||
#define LP_AON_EXT_WAKEUP_FILTER_M (LP_AON_EXT_WAKEUP_FILTER_V << LP_AON_EXT_WAKEUP_FILTER_S)
|
||||
#define LP_AON_EXT_WAKEUP_FILTER_V 0x00000001U
|
||||
#define LP_AON_EXT_WAKEUP_FILTER_S 31
|
||||
|
||||
/** LP_AON_USB_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_USB_REG (DR_REG_LP_AON_BASE + 0x44)
|
||||
/** LP_AON_USB_RESET_DISABLE : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_USB_RESET_DISABLE (BIT(31))
|
||||
#define LP_AON_USB_RESET_DISABLE_M (LP_AON_USB_RESET_DISABLE_V << LP_AON_USB_RESET_DISABLE_S)
|
||||
#define LP_AON_USB_RESET_DISABLE_V 0x00000001U
|
||||
#define LP_AON_USB_RESET_DISABLE_S 31
|
||||
|
||||
/** LP_AON_LPBUS_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LPBUS_REG (DR_REG_LP_AON_BASE + 0x48)
|
||||
/** LP_AON_FAST_MEM_WPULSE : R/W; bitpos: [18:16]; default: 0;
|
||||
* This field controls fast memory WPULSE parameter. 0b000 for 1.1V/1.0V/0.9V
|
||||
* operating Voltage.
|
||||
*/
|
||||
#define LP_AON_FAST_MEM_WPULSE 0x00000007U
|
||||
#define LP_AON_FAST_MEM_WPULSE_M (LP_AON_FAST_MEM_WPULSE_V << LP_AON_FAST_MEM_WPULSE_S)
|
||||
#define LP_AON_FAST_MEM_WPULSE_V 0x00000007U
|
||||
#define LP_AON_FAST_MEM_WPULSE_S 16
|
||||
/** LP_AON_FAST_MEM_WA : R/W; bitpos: [21:19]; default: 5;
|
||||
* This field controls fast memory WA parameter. 0b100 for 1.1V operating Voltage,
|
||||
* 0b101 for 1.0V, 0b110 for 0.9V.
|
||||
*/
|
||||
#define LP_AON_FAST_MEM_WA 0x00000007U
|
||||
#define LP_AON_FAST_MEM_WA_M (LP_AON_FAST_MEM_WA_V << LP_AON_FAST_MEM_WA_S)
|
||||
#define LP_AON_FAST_MEM_WA_V 0x00000007U
|
||||
#define LP_AON_FAST_MEM_WA_S 19
|
||||
/** LP_AON_FAST_MEM_RA : R/W; bitpos: [23:22]; default: 0;
|
||||
* This field controls fast memory RA parameter. 0b00 for 1.1V/1.0V operating Voltage,
|
||||
* 0b01 for 0.9V.
|
||||
*/
|
||||
#define LP_AON_FAST_MEM_RA 0x00000003U
|
||||
#define LP_AON_FAST_MEM_RA_M (LP_AON_FAST_MEM_RA_V << LP_AON_FAST_MEM_RA_S)
|
||||
#define LP_AON_FAST_MEM_RA_V 0x00000003U
|
||||
#define LP_AON_FAST_MEM_RA_S 22
|
||||
/** LP_AON_FAST_MEM_RM : R/W; bitpos: [27:24]; default: 2;
|
||||
* This field controls fast memory RM parameter. 0b0011 for 1.1V operating Voltage,
|
||||
* 0b0010 for 1.0V, 0b0000 for 0.9V.
|
||||
*/
|
||||
#define LP_AON_FAST_MEM_RM 0x0000000FU
|
||||
#define LP_AON_FAST_MEM_RM_M (LP_AON_FAST_MEM_RM_V << LP_AON_FAST_MEM_RM_S)
|
||||
#define LP_AON_FAST_MEM_RM_V 0x0000000FU
|
||||
#define LP_AON_FAST_MEM_RM_S 24
|
||||
/** LP_AON_FAST_MEM_MUX_FSM_IDLE : HRO; bitpos: [28]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
#define LP_AON_FAST_MEM_MUX_FSM_IDLE (BIT(28))
|
||||
#define LP_AON_FAST_MEM_MUX_FSM_IDLE_M (LP_AON_FAST_MEM_MUX_FSM_IDLE_V << LP_AON_FAST_MEM_MUX_FSM_IDLE_S)
|
||||
#define LP_AON_FAST_MEM_MUX_FSM_IDLE_V 0x00000001U
|
||||
#define LP_AON_FAST_MEM_MUX_FSM_IDLE_S 28
|
||||
/** LP_AON_FAST_MEM_MUX_SEL_STATUS : HRO; bitpos: [29]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
#define LP_AON_FAST_MEM_MUX_SEL_STATUS (BIT(29))
|
||||
#define LP_AON_FAST_MEM_MUX_SEL_STATUS_M (LP_AON_FAST_MEM_MUX_SEL_STATUS_V << LP_AON_FAST_MEM_MUX_SEL_STATUS_S)
|
||||
#define LP_AON_FAST_MEM_MUX_SEL_STATUS_V 0x00000001U
|
||||
#define LP_AON_FAST_MEM_MUX_SEL_STATUS_S 29
|
||||
/** LP_AON_FAST_MEM_MUX_SEL_UPDATE : HRO; bitpos: [30]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
#define LP_AON_FAST_MEM_MUX_SEL_UPDATE (BIT(30))
|
||||
#define LP_AON_FAST_MEM_MUX_SEL_UPDATE_M (LP_AON_FAST_MEM_MUX_SEL_UPDATE_V << LP_AON_FAST_MEM_MUX_SEL_UPDATE_S)
|
||||
#define LP_AON_FAST_MEM_MUX_SEL_UPDATE_V 0x00000001U
|
||||
#define LP_AON_FAST_MEM_MUX_SEL_UPDATE_S 30
|
||||
/** LP_AON_FAST_MEM_MUX_SEL : HRO; bitpos: [31]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
#define LP_AON_FAST_MEM_MUX_SEL (BIT(31))
|
||||
#define LP_AON_FAST_MEM_MUX_SEL_M (LP_AON_FAST_MEM_MUX_SEL_V << LP_AON_FAST_MEM_MUX_SEL_S)
|
||||
#define LP_AON_FAST_MEM_MUX_SEL_V 0x00000001U
|
||||
#define LP_AON_FAST_MEM_MUX_SEL_S 31
|
||||
|
||||
/** LP_AON_SDIO_ACTIVE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_SDIO_ACTIVE_REG (DR_REG_LP_AON_BASE + 0x4c)
|
||||
/** LP_AON_SDIO_ACT_DNUM : R/W; bitpos: [31:22]; default: 10;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_SDIO_ACT_DNUM 0x000003FFU
|
||||
#define LP_AON_SDIO_ACT_DNUM_M (LP_AON_SDIO_ACT_DNUM_V << LP_AON_SDIO_ACT_DNUM_S)
|
||||
#define LP_AON_SDIO_ACT_DNUM_V 0x000003FFU
|
||||
#define LP_AON_SDIO_ACT_DNUM_S 22
|
||||
|
||||
/** LP_AON_LPCORE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LPCORE_REG (DR_REG_LP_AON_BASE + 0x50)
|
||||
/** LP_AON_LPCORE_ETM_WAKEUP_FLAG_CLR : WT; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LPCORE_ETM_WAKEUP_FLAG_CLR (BIT(0))
|
||||
#define LP_AON_LPCORE_ETM_WAKEUP_FLAG_CLR_M (LP_AON_LPCORE_ETM_WAKEUP_FLAG_CLR_V << LP_AON_LPCORE_ETM_WAKEUP_FLAG_CLR_S)
|
||||
#define LP_AON_LPCORE_ETM_WAKEUP_FLAG_CLR_V 0x00000001U
|
||||
#define LP_AON_LPCORE_ETM_WAKEUP_FLAG_CLR_S 0
|
||||
/** LP_AON_LPCORE_ETM_WAKEUP_FLAG : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LPCORE_ETM_WAKEUP_FLAG (BIT(1))
|
||||
#define LP_AON_LPCORE_ETM_WAKEUP_FLAG_M (LP_AON_LPCORE_ETM_WAKEUP_FLAG_V << LP_AON_LPCORE_ETM_WAKEUP_FLAG_S)
|
||||
#define LP_AON_LPCORE_ETM_WAKEUP_FLAG_V 0x00000001U
|
||||
#define LP_AON_LPCORE_ETM_WAKEUP_FLAG_S 1
|
||||
/** LP_AON_LPCORE_DISABLE : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_LPCORE_DISABLE (BIT(31))
|
||||
#define LP_AON_LPCORE_DISABLE_M (LP_AON_LPCORE_DISABLE_V << LP_AON_LPCORE_DISABLE_S)
|
||||
#define LP_AON_LPCORE_DISABLE_V 0x00000001U
|
||||
#define LP_AON_LPCORE_DISABLE_S 31
|
||||
|
||||
/** LP_AON_SAR_CCT_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_SAR_CCT_REG (DR_REG_LP_AON_BASE + 0x54)
|
||||
/** LP_AON_SAR2_PWDET_CCT : R/W; bitpos: [31:29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_SAR2_PWDET_CCT 0x00000007U
|
||||
#define LP_AON_SAR2_PWDET_CCT_M (LP_AON_SAR2_PWDET_CCT_V << LP_AON_SAR2_PWDET_CCT_S)
|
||||
#define LP_AON_SAR2_PWDET_CCT_V 0x00000007U
|
||||
#define LP_AON_SAR2_PWDET_CCT_S 29
|
||||
|
||||
/** LP_AON_JTAG_SEL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_JTAG_SEL_REG (DR_REG_LP_AON_BASE + 0x58)
|
||||
/** LP_AON_JTAG_SEL_SOFT : R/W; bitpos: [31]; default: 1;
|
||||
* If strapping_sel_jtag feature is disabled by efuse, and if neither pad_jtag or
|
||||
* usb_jtag is disabled by efuse, this field determines which one jtag between
|
||||
* usb_jtag and pad_jtag will be used. 1'b1(default): usb_jtag, 1'b0: pad_jtag.
|
||||
*/
|
||||
#define LP_AON_JTAG_SEL_SOFT (BIT(31))
|
||||
#define LP_AON_JTAG_SEL_SOFT_M (LP_AON_JTAG_SEL_SOFT_V << LP_AON_JTAG_SEL_SOFT_S)
|
||||
#define LP_AON_JTAG_SEL_SOFT_V 0x00000001U
|
||||
#define LP_AON_JTAG_SEL_SOFT_S 31
|
||||
|
||||
/** LP_AON_DATE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_DATE_REG (DR_REG_LP_AON_BASE + 0x3fc)
|
||||
/** LP_AON_DATE : R/W; bitpos: [30:0]; default: 35717264;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_DATE 0x7FFFFFFFU
|
||||
#define LP_AON_DATE_M (LP_AON_DATE_V << LP_AON_DATE_S)
|
||||
#define LP_AON_DATE_V 0x7FFFFFFFU
|
||||
#define LP_AON_DATE_S 0
|
||||
/** LP_AON_CLK_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_AON_CLK_EN (BIT(31))
|
||||
#define LP_AON_CLK_EN_M (LP_AON_CLK_EN_V << LP_AON_CLK_EN_S)
|
||||
#define LP_AON_CLK_EN_V 0x00000001U
|
||||
#define LP_AON_CLK_EN_S 31
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
346
components/soc/esp32h2/include/soc/lp_aon_struct.h
Normal file
346
components/soc/esp32h2/include/soc/lp_aon_struct.h
Normal file
@ -0,0 +1,346 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: configure_register */
|
||||
/** Type of store register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** store : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t store:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_store_reg_t;
|
||||
|
||||
/** Type of gpio_mux register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** gpio_mux_sel : R/W; bitpos: [7:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t gpio_mux_sel:8;
|
||||
uint32_t reserved_8:24;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_gpio_mux_reg_t;
|
||||
|
||||
/** Type of gpio_hold0 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** gpio_hold0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t gpio_hold0:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_gpio_hold0_reg_t;
|
||||
|
||||
/** Type of gpio_hold1 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** gpio_hold1 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t gpio_hold1:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_gpio_hold1_reg_t;
|
||||
|
||||
/** Type of sys_cfg register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** ana_fib_swd_enable : RO; bitpos: [0]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ana_fib_swd_enable:1;
|
||||
/** ana_fib_ck_glitch_enable : RO; bitpos: [1]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ana_fib_ck_glitch_enable:1;
|
||||
/** ana_fib_bod_enable : RO; bitpos: [2]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ana_fib_bod_enable:1;
|
||||
uint32_t reserved_3:27;
|
||||
/** force_download_boot : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t force_download_boot:1;
|
||||
/** hpsys_sw_reset : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpsys_sw_reset:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_sys_cfg_reg_t;
|
||||
|
||||
/** Type of cpucore0_cfg register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cpu_core0_sw_stall : R/W; bitpos: [7:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t cpu_core0_sw_stall:8;
|
||||
uint32_t reserved_8:20;
|
||||
/** cpu_core0_sw_reset : WT; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t cpu_core0_sw_reset:1;
|
||||
/** cpu_core0_ocd_halt_on_reset : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t cpu_core0_ocd_halt_on_reset:1;
|
||||
/** cpu_core0_stat_vector_sel : R/W; bitpos: [30]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t cpu_core0_stat_vector_sel:1;
|
||||
/** cpu_core0_dreset_mask : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t cpu_core0_dreset_mask:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_cpucore0_cfg_reg_t;
|
||||
|
||||
/** Type of io_mux register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:28;
|
||||
/** io_mux_pull_ldo : R/W; bitpos: [30:28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t io_mux_pull_ldo:3;
|
||||
/** io_mux_reset_disable : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t io_mux_reset_disable:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_io_mux_reg_t;
|
||||
|
||||
/** Type of ext_wakeup_cntl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** ext_wakeup_status : RO; bitpos: [7:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ext_wakeup_status:8;
|
||||
uint32_t reserved_8:6;
|
||||
/** ext_wakeup_status_clr : WT; bitpos: [14]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ext_wakeup_status_clr:1;
|
||||
/** ext_wakeup_sel : R/W; bitpos: [22:15]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ext_wakeup_sel:8;
|
||||
/** ext_wakeup_lv : R/W; bitpos: [30:23]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ext_wakeup_lv:8;
|
||||
/** ext_wakeup_filter : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ext_wakeup_filter:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_ext_wakeup_cntl_reg_t;
|
||||
|
||||
/** Type of usb register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** usb_reset_disable : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t usb_reset_disable:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_usb_reg_t;
|
||||
|
||||
/** Type of lpbus register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:16;
|
||||
/** fast_mem_wpulse : R/W; bitpos: [18:16]; default: 0;
|
||||
* This field controls fast memory WPULSE parameter. 0b000 for 1.1V/1.0V/0.9V
|
||||
* operating Voltage.
|
||||
*/
|
||||
uint32_t fast_mem_wpulse:3;
|
||||
/** fast_mem_wa : R/W; bitpos: [21:19]; default: 5;
|
||||
* This field controls fast memory WA parameter. 0b100 for 1.1V operating Voltage,
|
||||
* 0b101 for 1.0V, 0b110 for 0.9V.
|
||||
*/
|
||||
uint32_t fast_mem_wa:3;
|
||||
/** fast_mem_ra : R/W; bitpos: [23:22]; default: 0;
|
||||
* This field controls fast memory RA parameter. 0b00 for 1.1V/1.0V operating Voltage,
|
||||
* 0b01 for 0.9V.
|
||||
*/
|
||||
uint32_t fast_mem_ra:2;
|
||||
/** fast_mem_rm : R/W; bitpos: [27:24]; default: 2;
|
||||
* This field controls fast memory RM parameter. 0b0011 for 1.1V operating Voltage,
|
||||
* 0b0010 for 1.0V, 0b0000 for 0.9V.
|
||||
*/
|
||||
uint32_t fast_mem_rm:4;
|
||||
/** fast_mem_mux_fsm_idle : HRO; bitpos: [28]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t fast_mem_mux_fsm_idle:1;
|
||||
/** fast_mem_mux_sel_status : HRO; bitpos: [29]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t fast_mem_mux_sel_status:1;
|
||||
/** fast_mem_mux_sel_update : HRO; bitpos: [30]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t fast_mem_mux_sel_update:1;
|
||||
/** fast_mem_mux_sel : HRO; bitpos: [31]; default: 0;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t fast_mem_mux_sel:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_lpbus_reg_t;
|
||||
|
||||
/** Type of sdio_active register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:22;
|
||||
/** sdio_act_dnum : R/W; bitpos: [31:22]; default: 10;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t sdio_act_dnum:10;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_sdio_active_reg_t;
|
||||
|
||||
/** Type of lpcore register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** lpcore_etm_wakeup_flag_clr : WT; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lpcore_etm_wakeup_flag_clr:1;
|
||||
/** lpcore_etm_wakeup_flag : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lpcore_etm_wakeup_flag:1;
|
||||
uint32_t reserved_2:29;
|
||||
/** lpcore_disable : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lpcore_disable:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_lpcore_reg_t;
|
||||
|
||||
/** Type of sar_cct register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:29;
|
||||
/** sar2_pwdet_cct : R/W; bitpos: [31:29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t sar2_pwdet_cct:3;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_sar_cct_reg_t;
|
||||
|
||||
/** Type of jtag_sel register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** jtag_sel_soft : R/W; bitpos: [31]; default: 1;
|
||||
* If strapping_sel_jtag feature is disabled by efuse, and if neither pad_jtag or
|
||||
* usb_jtag is disabled by efuse, this field determines which one jtag between
|
||||
* usb_jtag and pad_jtag will be used. 1'b1(default): usb_jtag, 1'b0: pad_jtag.
|
||||
*/
|
||||
uint32_t jtag_sel_soft:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_jtag_sel_reg_t;
|
||||
|
||||
/** Type of date register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [30:0]; default: 35717264;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t date:31;
|
||||
/** clk_en : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aon_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile lp_aon_store_reg_t store[10];
|
||||
volatile lp_aon_gpio_mux_reg_t gpio_mux;
|
||||
volatile lp_aon_gpio_hold0_reg_t gpio_hold0;
|
||||
volatile lp_aon_gpio_hold1_reg_t gpio_hold1;
|
||||
volatile lp_aon_sys_cfg_reg_t sys_cfg;
|
||||
volatile lp_aon_cpucore0_cfg_reg_t cpucore0_cfg;
|
||||
volatile lp_aon_io_mux_reg_t io_mux;
|
||||
volatile lp_aon_ext_wakeup_cntl_reg_t ext_wakeup_cntl;
|
||||
volatile lp_aon_usb_reg_t usb;
|
||||
volatile lp_aon_lpbus_reg_t lpbus;
|
||||
volatile lp_aon_sdio_active_reg_t sdio_active;
|
||||
volatile lp_aon_lpcore_reg_t lpcore;
|
||||
volatile lp_aon_sar_cct_reg_t sar_cct;
|
||||
volatile lp_aon_jtag_sel_reg_t jtag_sel;
|
||||
uint32_t reserved_05c[232];
|
||||
volatile lp_aon_date_reg_t date;
|
||||
} lp_aon_dev_t;
|
||||
|
||||
extern lp_aon_dev_t LP_AON;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(lp_aon_dev_t) == 0x400, "Invalid size of lp_aon_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
506
components/soc/esp32h2/include/soc/lp_apm0_reg.h
Normal file
506
components/soc/esp32h2/include/soc/lp_apm0_reg.h
Normal file
@ -0,0 +1,506 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** LP_APM0_REGION_FILTER_EN_REG register
|
||||
* Region filter enable register
|
||||
*/
|
||||
#define LP_APM0_REGION_FILTER_EN_REG (DR_REG_LP_APM0_BASE + 0x0)
|
||||
/** LP_APM0_REGION_FILTER_EN : R/W; bitpos: [3:0]; default: 1;
|
||||
* Region filter enable
|
||||
*/
|
||||
#define LP_APM0_REGION_FILTER_EN 0x0000000FU
|
||||
#define LP_APM0_REGION_FILTER_EN_M (LP_APM0_REGION_FILTER_EN_V << LP_APM0_REGION_FILTER_EN_S)
|
||||
#define LP_APM0_REGION_FILTER_EN_V 0x0000000FU
|
||||
#define LP_APM0_REGION_FILTER_EN_S 0
|
||||
|
||||
/** LP_APM0_REGION0_ADDR_START_REG register
|
||||
* Region address register
|
||||
*/
|
||||
#define LP_APM0_REGION0_ADDR_START_REG (DR_REG_LP_APM0_BASE + 0x4)
|
||||
/** LP_APM0_REGION0_ADDR_START : R/W; bitpos: [31:0]; default: 0;
|
||||
* Start address of region0
|
||||
*/
|
||||
#define LP_APM0_REGION0_ADDR_START 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION0_ADDR_START_M (LP_APM0_REGION0_ADDR_START_V << LP_APM0_REGION0_ADDR_START_S)
|
||||
#define LP_APM0_REGION0_ADDR_START_V 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION0_ADDR_START_S 0
|
||||
|
||||
/** LP_APM0_REGION0_ADDR_END_REG register
|
||||
* Region address register
|
||||
*/
|
||||
#define LP_APM0_REGION0_ADDR_END_REG (DR_REG_LP_APM0_BASE + 0x8)
|
||||
/** LP_APM0_REGION0_ADDR_END : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* End address of region0
|
||||
*/
|
||||
#define LP_APM0_REGION0_ADDR_END 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION0_ADDR_END_M (LP_APM0_REGION0_ADDR_END_V << LP_APM0_REGION0_ADDR_END_S)
|
||||
#define LP_APM0_REGION0_ADDR_END_V 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION0_ADDR_END_S 0
|
||||
|
||||
/** LP_APM0_REGION0_PMS_ATTR_REG register
|
||||
* Region access authority attribute register
|
||||
*/
|
||||
#define LP_APM0_REGION0_PMS_ATTR_REG (DR_REG_LP_APM0_BASE + 0xc)
|
||||
/** LP_APM0_REGION0_R0_PMS_X : R/W; bitpos: [0]; default: 0;
|
||||
* Region execute authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM0_REGION0_R0_PMS_X (BIT(0))
|
||||
#define LP_APM0_REGION0_R0_PMS_X_M (LP_APM0_REGION0_R0_PMS_X_V << LP_APM0_REGION0_R0_PMS_X_S)
|
||||
#define LP_APM0_REGION0_R0_PMS_X_V 0x00000001U
|
||||
#define LP_APM0_REGION0_R0_PMS_X_S 0
|
||||
/** LP_APM0_REGION0_R0_PMS_W : R/W; bitpos: [1]; default: 0;
|
||||
* Region write authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM0_REGION0_R0_PMS_W (BIT(1))
|
||||
#define LP_APM0_REGION0_R0_PMS_W_M (LP_APM0_REGION0_R0_PMS_W_V << LP_APM0_REGION0_R0_PMS_W_S)
|
||||
#define LP_APM0_REGION0_R0_PMS_W_V 0x00000001U
|
||||
#define LP_APM0_REGION0_R0_PMS_W_S 1
|
||||
/** LP_APM0_REGION0_R0_PMS_R : R/W; bitpos: [2]; default: 0;
|
||||
* Region read authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM0_REGION0_R0_PMS_R (BIT(2))
|
||||
#define LP_APM0_REGION0_R0_PMS_R_M (LP_APM0_REGION0_R0_PMS_R_V << LP_APM0_REGION0_R0_PMS_R_S)
|
||||
#define LP_APM0_REGION0_R0_PMS_R_V 0x00000001U
|
||||
#define LP_APM0_REGION0_R0_PMS_R_S 2
|
||||
/** LP_APM0_REGION0_R1_PMS_X : R/W; bitpos: [4]; default: 0;
|
||||
* Region execute authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM0_REGION0_R1_PMS_X (BIT(4))
|
||||
#define LP_APM0_REGION0_R1_PMS_X_M (LP_APM0_REGION0_R1_PMS_X_V << LP_APM0_REGION0_R1_PMS_X_S)
|
||||
#define LP_APM0_REGION0_R1_PMS_X_V 0x00000001U
|
||||
#define LP_APM0_REGION0_R1_PMS_X_S 4
|
||||
/** LP_APM0_REGION0_R1_PMS_W : R/W; bitpos: [5]; default: 0;
|
||||
* Region write authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM0_REGION0_R1_PMS_W (BIT(5))
|
||||
#define LP_APM0_REGION0_R1_PMS_W_M (LP_APM0_REGION0_R1_PMS_W_V << LP_APM0_REGION0_R1_PMS_W_S)
|
||||
#define LP_APM0_REGION0_R1_PMS_W_V 0x00000001U
|
||||
#define LP_APM0_REGION0_R1_PMS_W_S 5
|
||||
/** LP_APM0_REGION0_R1_PMS_R : R/W; bitpos: [6]; default: 0;
|
||||
* Region read authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM0_REGION0_R1_PMS_R (BIT(6))
|
||||
#define LP_APM0_REGION0_R1_PMS_R_M (LP_APM0_REGION0_R1_PMS_R_V << LP_APM0_REGION0_R1_PMS_R_S)
|
||||
#define LP_APM0_REGION0_R1_PMS_R_V 0x00000001U
|
||||
#define LP_APM0_REGION0_R1_PMS_R_S 6
|
||||
/** LP_APM0_REGION0_R2_PMS_X : R/W; bitpos: [8]; default: 0;
|
||||
* Region execute authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM0_REGION0_R2_PMS_X (BIT(8))
|
||||
#define LP_APM0_REGION0_R2_PMS_X_M (LP_APM0_REGION0_R2_PMS_X_V << LP_APM0_REGION0_R2_PMS_X_S)
|
||||
#define LP_APM0_REGION0_R2_PMS_X_V 0x00000001U
|
||||
#define LP_APM0_REGION0_R2_PMS_X_S 8
|
||||
/** LP_APM0_REGION0_R2_PMS_W : R/W; bitpos: [9]; default: 0;
|
||||
* Region write authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM0_REGION0_R2_PMS_W (BIT(9))
|
||||
#define LP_APM0_REGION0_R2_PMS_W_M (LP_APM0_REGION0_R2_PMS_W_V << LP_APM0_REGION0_R2_PMS_W_S)
|
||||
#define LP_APM0_REGION0_R2_PMS_W_V 0x00000001U
|
||||
#define LP_APM0_REGION0_R2_PMS_W_S 9
|
||||
/** LP_APM0_REGION0_R2_PMS_R : R/W; bitpos: [10]; default: 0;
|
||||
* Region read authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM0_REGION0_R2_PMS_R (BIT(10))
|
||||
#define LP_APM0_REGION0_R2_PMS_R_M (LP_APM0_REGION0_R2_PMS_R_V << LP_APM0_REGION0_R2_PMS_R_S)
|
||||
#define LP_APM0_REGION0_R2_PMS_R_V 0x00000001U
|
||||
#define LP_APM0_REGION0_R2_PMS_R_S 10
|
||||
|
||||
/** LP_APM0_REGION1_ADDR_START_REG register
|
||||
* Region address register
|
||||
*/
|
||||
#define LP_APM0_REGION1_ADDR_START_REG (DR_REG_LP_APM0_BASE + 0x10)
|
||||
/** LP_APM0_REGION1_ADDR_START : R/W; bitpos: [31:0]; default: 0;
|
||||
* Start address of region1
|
||||
*/
|
||||
#define LP_APM0_REGION1_ADDR_START 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION1_ADDR_START_M (LP_APM0_REGION1_ADDR_START_V << LP_APM0_REGION1_ADDR_START_S)
|
||||
#define LP_APM0_REGION1_ADDR_START_V 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION1_ADDR_START_S 0
|
||||
|
||||
/** LP_APM0_REGION1_ADDR_END_REG register
|
||||
* Region address register
|
||||
*/
|
||||
#define LP_APM0_REGION1_ADDR_END_REG (DR_REG_LP_APM0_BASE + 0x14)
|
||||
/** LP_APM0_REGION1_ADDR_END : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* End address of region1
|
||||
*/
|
||||
#define LP_APM0_REGION1_ADDR_END 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION1_ADDR_END_M (LP_APM0_REGION1_ADDR_END_V << LP_APM0_REGION1_ADDR_END_S)
|
||||
#define LP_APM0_REGION1_ADDR_END_V 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION1_ADDR_END_S 0
|
||||
|
||||
/** LP_APM0_REGION1_PMS_ATTR_REG register
|
||||
* Region access authority attribute register
|
||||
*/
|
||||
#define LP_APM0_REGION1_PMS_ATTR_REG (DR_REG_LP_APM0_BASE + 0x18)
|
||||
/** LP_APM0_REGION1_R0_PMS_X : R/W; bitpos: [0]; default: 0;
|
||||
* Region execute authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM0_REGION1_R0_PMS_X (BIT(0))
|
||||
#define LP_APM0_REGION1_R0_PMS_X_M (LP_APM0_REGION1_R0_PMS_X_V << LP_APM0_REGION1_R0_PMS_X_S)
|
||||
#define LP_APM0_REGION1_R0_PMS_X_V 0x00000001U
|
||||
#define LP_APM0_REGION1_R0_PMS_X_S 0
|
||||
/** LP_APM0_REGION1_R0_PMS_W : R/W; bitpos: [1]; default: 0;
|
||||
* Region write authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM0_REGION1_R0_PMS_W (BIT(1))
|
||||
#define LP_APM0_REGION1_R0_PMS_W_M (LP_APM0_REGION1_R0_PMS_W_V << LP_APM0_REGION1_R0_PMS_W_S)
|
||||
#define LP_APM0_REGION1_R0_PMS_W_V 0x00000001U
|
||||
#define LP_APM0_REGION1_R0_PMS_W_S 1
|
||||
/** LP_APM0_REGION1_R0_PMS_R : R/W; bitpos: [2]; default: 0;
|
||||
* Region read authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM0_REGION1_R0_PMS_R (BIT(2))
|
||||
#define LP_APM0_REGION1_R0_PMS_R_M (LP_APM0_REGION1_R0_PMS_R_V << LP_APM0_REGION1_R0_PMS_R_S)
|
||||
#define LP_APM0_REGION1_R0_PMS_R_V 0x00000001U
|
||||
#define LP_APM0_REGION1_R0_PMS_R_S 2
|
||||
/** LP_APM0_REGION1_R1_PMS_X : R/W; bitpos: [4]; default: 0;
|
||||
* Region execute authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM0_REGION1_R1_PMS_X (BIT(4))
|
||||
#define LP_APM0_REGION1_R1_PMS_X_M (LP_APM0_REGION1_R1_PMS_X_V << LP_APM0_REGION1_R1_PMS_X_S)
|
||||
#define LP_APM0_REGION1_R1_PMS_X_V 0x00000001U
|
||||
#define LP_APM0_REGION1_R1_PMS_X_S 4
|
||||
/** LP_APM0_REGION1_R1_PMS_W : R/W; bitpos: [5]; default: 0;
|
||||
* Region write authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM0_REGION1_R1_PMS_W (BIT(5))
|
||||
#define LP_APM0_REGION1_R1_PMS_W_M (LP_APM0_REGION1_R1_PMS_W_V << LP_APM0_REGION1_R1_PMS_W_S)
|
||||
#define LP_APM0_REGION1_R1_PMS_W_V 0x00000001U
|
||||
#define LP_APM0_REGION1_R1_PMS_W_S 5
|
||||
/** LP_APM0_REGION1_R1_PMS_R : R/W; bitpos: [6]; default: 0;
|
||||
* Region read authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM0_REGION1_R1_PMS_R (BIT(6))
|
||||
#define LP_APM0_REGION1_R1_PMS_R_M (LP_APM0_REGION1_R1_PMS_R_V << LP_APM0_REGION1_R1_PMS_R_S)
|
||||
#define LP_APM0_REGION1_R1_PMS_R_V 0x00000001U
|
||||
#define LP_APM0_REGION1_R1_PMS_R_S 6
|
||||
/** LP_APM0_REGION1_R2_PMS_X : R/W; bitpos: [8]; default: 0;
|
||||
* Region execute authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM0_REGION1_R2_PMS_X (BIT(8))
|
||||
#define LP_APM0_REGION1_R2_PMS_X_M (LP_APM0_REGION1_R2_PMS_X_V << LP_APM0_REGION1_R2_PMS_X_S)
|
||||
#define LP_APM0_REGION1_R2_PMS_X_V 0x00000001U
|
||||
#define LP_APM0_REGION1_R2_PMS_X_S 8
|
||||
/** LP_APM0_REGION1_R2_PMS_W : R/W; bitpos: [9]; default: 0;
|
||||
* Region write authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM0_REGION1_R2_PMS_W (BIT(9))
|
||||
#define LP_APM0_REGION1_R2_PMS_W_M (LP_APM0_REGION1_R2_PMS_W_V << LP_APM0_REGION1_R2_PMS_W_S)
|
||||
#define LP_APM0_REGION1_R2_PMS_W_V 0x00000001U
|
||||
#define LP_APM0_REGION1_R2_PMS_W_S 9
|
||||
/** LP_APM0_REGION1_R2_PMS_R : R/W; bitpos: [10]; default: 0;
|
||||
* Region read authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM0_REGION1_R2_PMS_R (BIT(10))
|
||||
#define LP_APM0_REGION1_R2_PMS_R_M (LP_APM0_REGION1_R2_PMS_R_V << LP_APM0_REGION1_R2_PMS_R_S)
|
||||
#define LP_APM0_REGION1_R2_PMS_R_V 0x00000001U
|
||||
#define LP_APM0_REGION1_R2_PMS_R_S 10
|
||||
|
||||
/** LP_APM0_REGION2_ADDR_START_REG register
|
||||
* Region address register
|
||||
*/
|
||||
#define LP_APM0_REGION2_ADDR_START_REG (DR_REG_LP_APM0_BASE + 0x1c)
|
||||
/** LP_APM0_REGION2_ADDR_START : R/W; bitpos: [31:0]; default: 0;
|
||||
* Start address of region2
|
||||
*/
|
||||
#define LP_APM0_REGION2_ADDR_START 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION2_ADDR_START_M (LP_APM0_REGION2_ADDR_START_V << LP_APM0_REGION2_ADDR_START_S)
|
||||
#define LP_APM0_REGION2_ADDR_START_V 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION2_ADDR_START_S 0
|
||||
|
||||
/** LP_APM0_REGION2_ADDR_END_REG register
|
||||
* Region address register
|
||||
*/
|
||||
#define LP_APM0_REGION2_ADDR_END_REG (DR_REG_LP_APM0_BASE + 0x20)
|
||||
/** LP_APM0_REGION2_ADDR_END : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* End address of region2
|
||||
*/
|
||||
#define LP_APM0_REGION2_ADDR_END 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION2_ADDR_END_M (LP_APM0_REGION2_ADDR_END_V << LP_APM0_REGION2_ADDR_END_S)
|
||||
#define LP_APM0_REGION2_ADDR_END_V 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION2_ADDR_END_S 0
|
||||
|
||||
/** LP_APM0_REGION2_PMS_ATTR_REG register
|
||||
* Region access authority attribute register
|
||||
*/
|
||||
#define LP_APM0_REGION2_PMS_ATTR_REG (DR_REG_LP_APM0_BASE + 0x24)
|
||||
/** LP_APM0_REGION2_R0_PMS_X : R/W; bitpos: [0]; default: 0;
|
||||
* Region execute authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM0_REGION2_R0_PMS_X (BIT(0))
|
||||
#define LP_APM0_REGION2_R0_PMS_X_M (LP_APM0_REGION2_R0_PMS_X_V << LP_APM0_REGION2_R0_PMS_X_S)
|
||||
#define LP_APM0_REGION2_R0_PMS_X_V 0x00000001U
|
||||
#define LP_APM0_REGION2_R0_PMS_X_S 0
|
||||
/** LP_APM0_REGION2_R0_PMS_W : R/W; bitpos: [1]; default: 0;
|
||||
* Region write authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM0_REGION2_R0_PMS_W (BIT(1))
|
||||
#define LP_APM0_REGION2_R0_PMS_W_M (LP_APM0_REGION2_R0_PMS_W_V << LP_APM0_REGION2_R0_PMS_W_S)
|
||||
#define LP_APM0_REGION2_R0_PMS_W_V 0x00000001U
|
||||
#define LP_APM0_REGION2_R0_PMS_W_S 1
|
||||
/** LP_APM0_REGION2_R0_PMS_R : R/W; bitpos: [2]; default: 0;
|
||||
* Region read authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM0_REGION2_R0_PMS_R (BIT(2))
|
||||
#define LP_APM0_REGION2_R0_PMS_R_M (LP_APM0_REGION2_R0_PMS_R_V << LP_APM0_REGION2_R0_PMS_R_S)
|
||||
#define LP_APM0_REGION2_R0_PMS_R_V 0x00000001U
|
||||
#define LP_APM0_REGION2_R0_PMS_R_S 2
|
||||
/** LP_APM0_REGION2_R1_PMS_X : R/W; bitpos: [4]; default: 0;
|
||||
* Region execute authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM0_REGION2_R1_PMS_X (BIT(4))
|
||||
#define LP_APM0_REGION2_R1_PMS_X_M (LP_APM0_REGION2_R1_PMS_X_V << LP_APM0_REGION2_R1_PMS_X_S)
|
||||
#define LP_APM0_REGION2_R1_PMS_X_V 0x00000001U
|
||||
#define LP_APM0_REGION2_R1_PMS_X_S 4
|
||||
/** LP_APM0_REGION2_R1_PMS_W : R/W; bitpos: [5]; default: 0;
|
||||
* Region write authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM0_REGION2_R1_PMS_W (BIT(5))
|
||||
#define LP_APM0_REGION2_R1_PMS_W_M (LP_APM0_REGION2_R1_PMS_W_V << LP_APM0_REGION2_R1_PMS_W_S)
|
||||
#define LP_APM0_REGION2_R1_PMS_W_V 0x00000001U
|
||||
#define LP_APM0_REGION2_R1_PMS_W_S 5
|
||||
/** LP_APM0_REGION2_R1_PMS_R : R/W; bitpos: [6]; default: 0;
|
||||
* Region read authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM0_REGION2_R1_PMS_R (BIT(6))
|
||||
#define LP_APM0_REGION2_R1_PMS_R_M (LP_APM0_REGION2_R1_PMS_R_V << LP_APM0_REGION2_R1_PMS_R_S)
|
||||
#define LP_APM0_REGION2_R1_PMS_R_V 0x00000001U
|
||||
#define LP_APM0_REGION2_R1_PMS_R_S 6
|
||||
/** LP_APM0_REGION2_R2_PMS_X : R/W; bitpos: [8]; default: 0;
|
||||
* Region execute authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM0_REGION2_R2_PMS_X (BIT(8))
|
||||
#define LP_APM0_REGION2_R2_PMS_X_M (LP_APM0_REGION2_R2_PMS_X_V << LP_APM0_REGION2_R2_PMS_X_S)
|
||||
#define LP_APM0_REGION2_R2_PMS_X_V 0x00000001U
|
||||
#define LP_APM0_REGION2_R2_PMS_X_S 8
|
||||
/** LP_APM0_REGION2_R2_PMS_W : R/W; bitpos: [9]; default: 0;
|
||||
* Region write authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM0_REGION2_R2_PMS_W (BIT(9))
|
||||
#define LP_APM0_REGION2_R2_PMS_W_M (LP_APM0_REGION2_R2_PMS_W_V << LP_APM0_REGION2_R2_PMS_W_S)
|
||||
#define LP_APM0_REGION2_R2_PMS_W_V 0x00000001U
|
||||
#define LP_APM0_REGION2_R2_PMS_W_S 9
|
||||
/** LP_APM0_REGION2_R2_PMS_R : R/W; bitpos: [10]; default: 0;
|
||||
* Region read authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM0_REGION2_R2_PMS_R (BIT(10))
|
||||
#define LP_APM0_REGION2_R2_PMS_R_M (LP_APM0_REGION2_R2_PMS_R_V << LP_APM0_REGION2_R2_PMS_R_S)
|
||||
#define LP_APM0_REGION2_R2_PMS_R_V 0x00000001U
|
||||
#define LP_APM0_REGION2_R2_PMS_R_S 10
|
||||
|
||||
/** LP_APM0_REGION3_ADDR_START_REG register
|
||||
* Region address register
|
||||
*/
|
||||
#define LP_APM0_REGION3_ADDR_START_REG (DR_REG_LP_APM0_BASE + 0x28)
|
||||
/** LP_APM0_REGION3_ADDR_START : R/W; bitpos: [31:0]; default: 0;
|
||||
* Start address of region3
|
||||
*/
|
||||
#define LP_APM0_REGION3_ADDR_START 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION3_ADDR_START_M (LP_APM0_REGION3_ADDR_START_V << LP_APM0_REGION3_ADDR_START_S)
|
||||
#define LP_APM0_REGION3_ADDR_START_V 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION3_ADDR_START_S 0
|
||||
|
||||
/** LP_APM0_REGION3_ADDR_END_REG register
|
||||
* Region address register
|
||||
*/
|
||||
#define LP_APM0_REGION3_ADDR_END_REG (DR_REG_LP_APM0_BASE + 0x2c)
|
||||
/** LP_APM0_REGION3_ADDR_END : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* End address of region3
|
||||
*/
|
||||
#define LP_APM0_REGION3_ADDR_END 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION3_ADDR_END_M (LP_APM0_REGION3_ADDR_END_V << LP_APM0_REGION3_ADDR_END_S)
|
||||
#define LP_APM0_REGION3_ADDR_END_V 0xFFFFFFFFU
|
||||
#define LP_APM0_REGION3_ADDR_END_S 0
|
||||
|
||||
/** LP_APM0_REGION3_PMS_ATTR_REG register
|
||||
* Region access authority attribute register
|
||||
*/
|
||||
#define LP_APM0_REGION3_PMS_ATTR_REG (DR_REG_LP_APM0_BASE + 0x30)
|
||||
/** LP_APM0_REGION3_R0_PMS_X : R/W; bitpos: [0]; default: 0;
|
||||
* Region execute authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM0_REGION3_R0_PMS_X (BIT(0))
|
||||
#define LP_APM0_REGION3_R0_PMS_X_M (LP_APM0_REGION3_R0_PMS_X_V << LP_APM0_REGION3_R0_PMS_X_S)
|
||||
#define LP_APM0_REGION3_R0_PMS_X_V 0x00000001U
|
||||
#define LP_APM0_REGION3_R0_PMS_X_S 0
|
||||
/** LP_APM0_REGION3_R0_PMS_W : R/W; bitpos: [1]; default: 0;
|
||||
* Region write authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM0_REGION3_R0_PMS_W (BIT(1))
|
||||
#define LP_APM0_REGION3_R0_PMS_W_M (LP_APM0_REGION3_R0_PMS_W_V << LP_APM0_REGION3_R0_PMS_W_S)
|
||||
#define LP_APM0_REGION3_R0_PMS_W_V 0x00000001U
|
||||
#define LP_APM0_REGION3_R0_PMS_W_S 1
|
||||
/** LP_APM0_REGION3_R0_PMS_R : R/W; bitpos: [2]; default: 0;
|
||||
* Region read authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM0_REGION3_R0_PMS_R (BIT(2))
|
||||
#define LP_APM0_REGION3_R0_PMS_R_M (LP_APM0_REGION3_R0_PMS_R_V << LP_APM0_REGION3_R0_PMS_R_S)
|
||||
#define LP_APM0_REGION3_R0_PMS_R_V 0x00000001U
|
||||
#define LP_APM0_REGION3_R0_PMS_R_S 2
|
||||
/** LP_APM0_REGION3_R1_PMS_X : R/W; bitpos: [4]; default: 0;
|
||||
* Region execute authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM0_REGION3_R1_PMS_X (BIT(4))
|
||||
#define LP_APM0_REGION3_R1_PMS_X_M (LP_APM0_REGION3_R1_PMS_X_V << LP_APM0_REGION3_R1_PMS_X_S)
|
||||
#define LP_APM0_REGION3_R1_PMS_X_V 0x00000001U
|
||||
#define LP_APM0_REGION3_R1_PMS_X_S 4
|
||||
/** LP_APM0_REGION3_R1_PMS_W : R/W; bitpos: [5]; default: 0;
|
||||
* Region write authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM0_REGION3_R1_PMS_W (BIT(5))
|
||||
#define LP_APM0_REGION3_R1_PMS_W_M (LP_APM0_REGION3_R1_PMS_W_V << LP_APM0_REGION3_R1_PMS_W_S)
|
||||
#define LP_APM0_REGION3_R1_PMS_W_V 0x00000001U
|
||||
#define LP_APM0_REGION3_R1_PMS_W_S 5
|
||||
/** LP_APM0_REGION3_R1_PMS_R : R/W; bitpos: [6]; default: 0;
|
||||
* Region read authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM0_REGION3_R1_PMS_R (BIT(6))
|
||||
#define LP_APM0_REGION3_R1_PMS_R_M (LP_APM0_REGION3_R1_PMS_R_V << LP_APM0_REGION3_R1_PMS_R_S)
|
||||
#define LP_APM0_REGION3_R1_PMS_R_V 0x00000001U
|
||||
#define LP_APM0_REGION3_R1_PMS_R_S 6
|
||||
/** LP_APM0_REGION3_R2_PMS_X : R/W; bitpos: [8]; default: 0;
|
||||
* Region execute authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM0_REGION3_R2_PMS_X (BIT(8))
|
||||
#define LP_APM0_REGION3_R2_PMS_X_M (LP_APM0_REGION3_R2_PMS_X_V << LP_APM0_REGION3_R2_PMS_X_S)
|
||||
#define LP_APM0_REGION3_R2_PMS_X_V 0x00000001U
|
||||
#define LP_APM0_REGION3_R2_PMS_X_S 8
|
||||
/** LP_APM0_REGION3_R2_PMS_W : R/W; bitpos: [9]; default: 0;
|
||||
* Region write authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM0_REGION3_R2_PMS_W (BIT(9))
|
||||
#define LP_APM0_REGION3_R2_PMS_W_M (LP_APM0_REGION3_R2_PMS_W_V << LP_APM0_REGION3_R2_PMS_W_S)
|
||||
#define LP_APM0_REGION3_R2_PMS_W_V 0x00000001U
|
||||
#define LP_APM0_REGION3_R2_PMS_W_S 9
|
||||
/** LP_APM0_REGION3_R2_PMS_R : R/W; bitpos: [10]; default: 0;
|
||||
* Region read authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM0_REGION3_R2_PMS_R (BIT(10))
|
||||
#define LP_APM0_REGION3_R2_PMS_R_M (LP_APM0_REGION3_R2_PMS_R_V << LP_APM0_REGION3_R2_PMS_R_S)
|
||||
#define LP_APM0_REGION3_R2_PMS_R_V 0x00000001U
|
||||
#define LP_APM0_REGION3_R2_PMS_R_S 10
|
||||
|
||||
/** LP_APM0_FUNC_CTRL_REG register
|
||||
* PMS function control register
|
||||
*/
|
||||
#define LP_APM0_FUNC_CTRL_REG (DR_REG_LP_APM0_BASE + 0xc4)
|
||||
/** LP_APM0_M0_PMS_FUNC_EN : R/W; bitpos: [0]; default: 1;
|
||||
* PMS M0 function enable
|
||||
*/
|
||||
#define LP_APM0_M0_PMS_FUNC_EN (BIT(0))
|
||||
#define LP_APM0_M0_PMS_FUNC_EN_M (LP_APM0_M0_PMS_FUNC_EN_V << LP_APM0_M0_PMS_FUNC_EN_S)
|
||||
#define LP_APM0_M0_PMS_FUNC_EN_V 0x00000001U
|
||||
#define LP_APM0_M0_PMS_FUNC_EN_S 0
|
||||
|
||||
/** LP_APM0_M0_STATUS_REG register
|
||||
* M0 status register
|
||||
*/
|
||||
#define LP_APM0_M0_STATUS_REG (DR_REG_LP_APM0_BASE + 0xc8)
|
||||
/** LP_APM0_M0_EXCEPTION_STATUS : RO; bitpos: [1:0]; default: 0;
|
||||
* Exception status
|
||||
*/
|
||||
#define LP_APM0_M0_EXCEPTION_STATUS 0x00000003U
|
||||
#define LP_APM0_M0_EXCEPTION_STATUS_M (LP_APM0_M0_EXCEPTION_STATUS_V << LP_APM0_M0_EXCEPTION_STATUS_S)
|
||||
#define LP_APM0_M0_EXCEPTION_STATUS_V 0x00000003U
|
||||
#define LP_APM0_M0_EXCEPTION_STATUS_S 0
|
||||
|
||||
/** LP_APM0_M0_STATUS_CLR_REG register
|
||||
* M0 status clear register
|
||||
*/
|
||||
#define LP_APM0_M0_STATUS_CLR_REG (DR_REG_LP_APM0_BASE + 0xcc)
|
||||
/** LP_APM0_M0_REGION_STATUS_CLR : WT; bitpos: [0]; default: 0;
|
||||
* Clear exception status
|
||||
*/
|
||||
#define LP_APM0_M0_REGION_STATUS_CLR (BIT(0))
|
||||
#define LP_APM0_M0_REGION_STATUS_CLR_M (LP_APM0_M0_REGION_STATUS_CLR_V << LP_APM0_M0_REGION_STATUS_CLR_S)
|
||||
#define LP_APM0_M0_REGION_STATUS_CLR_V 0x00000001U
|
||||
#define LP_APM0_M0_REGION_STATUS_CLR_S 0
|
||||
|
||||
/** LP_APM0_M0_EXCEPTION_INFO0_REG register
|
||||
* M0 exception_info0 register
|
||||
*/
|
||||
#define LP_APM0_M0_EXCEPTION_INFO0_REG (DR_REG_LP_APM0_BASE + 0xd0)
|
||||
/** LP_APM0_M0_EXCEPTION_REGION : RO; bitpos: [3:0]; default: 0;
|
||||
* Exception region
|
||||
*/
|
||||
#define LP_APM0_M0_EXCEPTION_REGION 0x0000000FU
|
||||
#define LP_APM0_M0_EXCEPTION_REGION_M (LP_APM0_M0_EXCEPTION_REGION_V << LP_APM0_M0_EXCEPTION_REGION_S)
|
||||
#define LP_APM0_M0_EXCEPTION_REGION_V 0x0000000FU
|
||||
#define LP_APM0_M0_EXCEPTION_REGION_S 0
|
||||
/** LP_APM0_M0_EXCEPTION_MODE : RO; bitpos: [17:16]; default: 0;
|
||||
* Exception mode
|
||||
*/
|
||||
#define LP_APM0_M0_EXCEPTION_MODE 0x00000003U
|
||||
#define LP_APM0_M0_EXCEPTION_MODE_M (LP_APM0_M0_EXCEPTION_MODE_V << LP_APM0_M0_EXCEPTION_MODE_S)
|
||||
#define LP_APM0_M0_EXCEPTION_MODE_V 0x00000003U
|
||||
#define LP_APM0_M0_EXCEPTION_MODE_S 16
|
||||
/** LP_APM0_M0_EXCEPTION_ID : RO; bitpos: [22:18]; default: 0;
|
||||
* Exception id information
|
||||
*/
|
||||
#define LP_APM0_M0_EXCEPTION_ID 0x0000001FU
|
||||
#define LP_APM0_M0_EXCEPTION_ID_M (LP_APM0_M0_EXCEPTION_ID_V << LP_APM0_M0_EXCEPTION_ID_S)
|
||||
#define LP_APM0_M0_EXCEPTION_ID_V 0x0000001FU
|
||||
#define LP_APM0_M0_EXCEPTION_ID_S 18
|
||||
|
||||
/** LP_APM0_M0_EXCEPTION_INFO1_REG register
|
||||
* M0 exception_info1 register
|
||||
*/
|
||||
#define LP_APM0_M0_EXCEPTION_INFO1_REG (DR_REG_LP_APM0_BASE + 0xd4)
|
||||
/** LP_APM0_M0_EXCEPTION_ADDR : RO; bitpos: [31:0]; default: 0;
|
||||
* Exception addr
|
||||
*/
|
||||
#define LP_APM0_M0_EXCEPTION_ADDR 0xFFFFFFFFU
|
||||
#define LP_APM0_M0_EXCEPTION_ADDR_M (LP_APM0_M0_EXCEPTION_ADDR_V << LP_APM0_M0_EXCEPTION_ADDR_S)
|
||||
#define LP_APM0_M0_EXCEPTION_ADDR_V 0xFFFFFFFFU
|
||||
#define LP_APM0_M0_EXCEPTION_ADDR_S 0
|
||||
|
||||
/** LP_APM0_INT_EN_REG register
|
||||
* APM interrupt enable register
|
||||
*/
|
||||
#define LP_APM0_INT_EN_REG (DR_REG_LP_APM0_BASE + 0xd8)
|
||||
/** LP_APM0_M0_APM_INT_EN : R/W; bitpos: [0]; default: 0;
|
||||
* APM M0 interrupt enable
|
||||
*/
|
||||
#define LP_APM0_M0_APM_INT_EN (BIT(0))
|
||||
#define LP_APM0_M0_APM_INT_EN_M (LP_APM0_M0_APM_INT_EN_V << LP_APM0_M0_APM_INT_EN_S)
|
||||
#define LP_APM0_M0_APM_INT_EN_V 0x00000001U
|
||||
#define LP_APM0_M0_APM_INT_EN_S 0
|
||||
|
||||
/** LP_APM0_CLOCK_GATE_REG register
|
||||
* clock gating register
|
||||
*/
|
||||
#define LP_APM0_CLOCK_GATE_REG (DR_REG_LP_APM0_BASE + 0xdc)
|
||||
/** LP_APM0_CLK_EN : R/W; bitpos: [0]; default: 1;
|
||||
* reg_clk_en
|
||||
*/
|
||||
#define LP_APM0_CLK_EN (BIT(0))
|
||||
#define LP_APM0_CLK_EN_M (LP_APM0_CLK_EN_V << LP_APM0_CLK_EN_S)
|
||||
#define LP_APM0_CLK_EN_V 0x00000001U
|
||||
#define LP_APM0_CLK_EN_S 0
|
||||
|
||||
/** LP_APM0_DATE_REG register
|
||||
* Version register
|
||||
*/
|
||||
#define LP_APM0_DATE_REG (DR_REG_LP_APM0_BASE + 0x7fc)
|
||||
/** LP_APM0_DATE : R/W; bitpos: [27:0]; default: 35672640;
|
||||
* reg_date
|
||||
*/
|
||||
#define LP_APM0_DATE 0x0FFFFFFFU
|
||||
#define LP_APM0_DATE_M (LP_APM0_DATE_V << LP_APM0_DATE_S)
|
||||
#define LP_APM0_DATE_V 0x0FFFFFFFU
|
||||
#define LP_APM0_DATE_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
499
components/soc/esp32h2/include/soc/lp_apm0_struct.h
Normal file
499
components/soc/esp32h2/include/soc/lp_apm0_struct.h
Normal file
@ -0,0 +1,499 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: Region filter enable register */
|
||||
/** Type of region_filter_en register
|
||||
* Region filter enable register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region_filter_en : R/W; bitpos: [3:0]; default: 1;
|
||||
* Region filter enable
|
||||
*/
|
||||
uint32_t region_filter_en:4;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_region_filter_en_reg_t;
|
||||
|
||||
|
||||
/** Group: Region address register */
|
||||
/** Type of region0_addr_start register
|
||||
* Region address register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region0_addr_start : R/W; bitpos: [31:0]; default: 0;
|
||||
* Start address of region0
|
||||
*/
|
||||
uint32_t region0_addr_start:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_region0_addr_start_reg_t;
|
||||
|
||||
/** Type of region0_addr_end register
|
||||
* Region address register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region0_addr_end : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* End address of region0
|
||||
*/
|
||||
uint32_t region0_addr_end:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_region0_addr_end_reg_t;
|
||||
|
||||
/** Type of region1_addr_start register
|
||||
* Region address register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region1_addr_start : R/W; bitpos: [31:0]; default: 0;
|
||||
* Start address of region1
|
||||
*/
|
||||
uint32_t region1_addr_start:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_region1_addr_start_reg_t;
|
||||
|
||||
/** Type of region1_addr_end register
|
||||
* Region address register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region1_addr_end : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* End address of region1
|
||||
*/
|
||||
uint32_t region1_addr_end:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_region1_addr_end_reg_t;
|
||||
|
||||
/** Type of region2_addr_start register
|
||||
* Region address register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region2_addr_start : R/W; bitpos: [31:0]; default: 0;
|
||||
* Start address of region2
|
||||
*/
|
||||
uint32_t region2_addr_start:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_region2_addr_start_reg_t;
|
||||
|
||||
/** Type of region2_addr_end register
|
||||
* Region address register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region2_addr_end : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* End address of region2
|
||||
*/
|
||||
uint32_t region2_addr_end:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_region2_addr_end_reg_t;
|
||||
|
||||
/** Type of region3_addr_start register
|
||||
* Region address register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region3_addr_start : R/W; bitpos: [31:0]; default: 0;
|
||||
* Start address of region3
|
||||
*/
|
||||
uint32_t region3_addr_start:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_region3_addr_start_reg_t;
|
||||
|
||||
/** Type of region3_addr_end register
|
||||
* Region address register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region3_addr_end : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* End address of region3
|
||||
*/
|
||||
uint32_t region3_addr_end:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_region3_addr_end_reg_t;
|
||||
|
||||
|
||||
/** Group: Region access authority attribute register */
|
||||
/** Type of region0_pms_attr register
|
||||
* Region access authority attribute register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region0_r0_pms_x : R/W; bitpos: [0]; default: 0;
|
||||
* Region execute authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region0_r0_pms_x:1;
|
||||
/** region0_r0_pms_w : R/W; bitpos: [1]; default: 0;
|
||||
* Region write authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region0_r0_pms_w:1;
|
||||
/** region0_r0_pms_r : R/W; bitpos: [2]; default: 0;
|
||||
* Region read authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region0_r0_pms_r:1;
|
||||
uint32_t reserved_3:1;
|
||||
/** region0_r1_pms_x : R/W; bitpos: [4]; default: 0;
|
||||
* Region execute authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region0_r1_pms_x:1;
|
||||
/** region0_r1_pms_w : R/W; bitpos: [5]; default: 0;
|
||||
* Region write authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region0_r1_pms_w:1;
|
||||
/** region0_r1_pms_r : R/W; bitpos: [6]; default: 0;
|
||||
* Region read authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region0_r1_pms_r:1;
|
||||
uint32_t reserved_7:1;
|
||||
/** region0_r2_pms_x : R/W; bitpos: [8]; default: 0;
|
||||
* Region execute authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region0_r2_pms_x:1;
|
||||
/** region0_r2_pms_w : R/W; bitpos: [9]; default: 0;
|
||||
* Region write authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region0_r2_pms_w:1;
|
||||
/** region0_r2_pms_r : R/W; bitpos: [10]; default: 0;
|
||||
* Region read authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region0_r2_pms_r:1;
|
||||
uint32_t reserved_11:21;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_region0_pms_attr_reg_t;
|
||||
|
||||
/** Type of region1_pms_attr register
|
||||
* Region access authority attribute register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region1_r0_pms_x : R/W; bitpos: [0]; default: 0;
|
||||
* Region execute authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region1_r0_pms_x:1;
|
||||
/** region1_r0_pms_w : R/W; bitpos: [1]; default: 0;
|
||||
* Region write authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region1_r0_pms_w:1;
|
||||
/** region1_r0_pms_r : R/W; bitpos: [2]; default: 0;
|
||||
* Region read authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region1_r0_pms_r:1;
|
||||
uint32_t reserved_3:1;
|
||||
/** region1_r1_pms_x : R/W; bitpos: [4]; default: 0;
|
||||
* Region execute authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region1_r1_pms_x:1;
|
||||
/** region1_r1_pms_w : R/W; bitpos: [5]; default: 0;
|
||||
* Region write authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region1_r1_pms_w:1;
|
||||
/** region1_r1_pms_r : R/W; bitpos: [6]; default: 0;
|
||||
* Region read authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region1_r1_pms_r:1;
|
||||
uint32_t reserved_7:1;
|
||||
/** region1_r2_pms_x : R/W; bitpos: [8]; default: 0;
|
||||
* Region execute authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region1_r2_pms_x:1;
|
||||
/** region1_r2_pms_w : R/W; bitpos: [9]; default: 0;
|
||||
* Region write authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region1_r2_pms_w:1;
|
||||
/** region1_r2_pms_r : R/W; bitpos: [10]; default: 0;
|
||||
* Region read authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region1_r2_pms_r:1;
|
||||
uint32_t reserved_11:21;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_region1_pms_attr_reg_t;
|
||||
|
||||
/** Type of region2_pms_attr register
|
||||
* Region access authority attribute register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region2_r0_pms_x : R/W; bitpos: [0]; default: 0;
|
||||
* Region execute authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region2_r0_pms_x:1;
|
||||
/** region2_r0_pms_w : R/W; bitpos: [1]; default: 0;
|
||||
* Region write authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region2_r0_pms_w:1;
|
||||
/** region2_r0_pms_r : R/W; bitpos: [2]; default: 0;
|
||||
* Region read authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region2_r0_pms_r:1;
|
||||
uint32_t reserved_3:1;
|
||||
/** region2_r1_pms_x : R/W; bitpos: [4]; default: 0;
|
||||
* Region execute authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region2_r1_pms_x:1;
|
||||
/** region2_r1_pms_w : R/W; bitpos: [5]; default: 0;
|
||||
* Region write authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region2_r1_pms_w:1;
|
||||
/** region2_r1_pms_r : R/W; bitpos: [6]; default: 0;
|
||||
* Region read authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region2_r1_pms_r:1;
|
||||
uint32_t reserved_7:1;
|
||||
/** region2_r2_pms_x : R/W; bitpos: [8]; default: 0;
|
||||
* Region execute authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region2_r2_pms_x:1;
|
||||
/** region2_r2_pms_w : R/W; bitpos: [9]; default: 0;
|
||||
* Region write authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region2_r2_pms_w:1;
|
||||
/** region2_r2_pms_r : R/W; bitpos: [10]; default: 0;
|
||||
* Region read authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region2_r2_pms_r:1;
|
||||
uint32_t reserved_11:21;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_region2_pms_attr_reg_t;
|
||||
|
||||
/** Type of region3_pms_attr register
|
||||
* Region access authority attribute register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region3_r0_pms_x : R/W; bitpos: [0]; default: 0;
|
||||
* Region execute authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region3_r0_pms_x:1;
|
||||
/** region3_r0_pms_w : R/W; bitpos: [1]; default: 0;
|
||||
* Region write authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region3_r0_pms_w:1;
|
||||
/** region3_r0_pms_r : R/W; bitpos: [2]; default: 0;
|
||||
* Region read authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region3_r0_pms_r:1;
|
||||
uint32_t reserved_3:1;
|
||||
/** region3_r1_pms_x : R/W; bitpos: [4]; default: 0;
|
||||
* Region execute authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region3_r1_pms_x:1;
|
||||
/** region3_r1_pms_w : R/W; bitpos: [5]; default: 0;
|
||||
* Region write authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region3_r1_pms_w:1;
|
||||
/** region3_r1_pms_r : R/W; bitpos: [6]; default: 0;
|
||||
* Region read authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region3_r1_pms_r:1;
|
||||
uint32_t reserved_7:1;
|
||||
/** region3_r2_pms_x : R/W; bitpos: [8]; default: 0;
|
||||
* Region execute authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region3_r2_pms_x:1;
|
||||
/** region3_r2_pms_w : R/W; bitpos: [9]; default: 0;
|
||||
* Region write authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region3_r2_pms_w:1;
|
||||
/** region3_r2_pms_r : R/W; bitpos: [10]; default: 0;
|
||||
* Region read authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region3_r2_pms_r:1;
|
||||
uint32_t reserved_11:21;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_region3_pms_attr_reg_t;
|
||||
|
||||
|
||||
/** Group: PMS function control register */
|
||||
/** Type of func_ctrl register
|
||||
* PMS function control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** m0_pms_func_en : R/W; bitpos: [0]; default: 1;
|
||||
* PMS M0 function enable
|
||||
*/
|
||||
uint32_t m0_pms_func_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_func_ctrl_reg_t;
|
||||
|
||||
|
||||
/** Group: M0 status register */
|
||||
/** Type of m0_status register
|
||||
* M0 status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** m0_exception_status : RO; bitpos: [1:0]; default: 0;
|
||||
* Exception status
|
||||
*/
|
||||
uint32_t m0_exception_status:2;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_m0_status_reg_t;
|
||||
|
||||
|
||||
/** Group: M0 status clear register */
|
||||
/** Type of m0_status_clr register
|
||||
* M0 status clear register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** m0_region_status_clr : WT; bitpos: [0]; default: 0;
|
||||
* Clear exception status
|
||||
*/
|
||||
uint32_t m0_region_status_clr:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_m0_status_clr_reg_t;
|
||||
|
||||
|
||||
/** Group: M0 exception_info0 register */
|
||||
/** Type of m0_exception_info0 register
|
||||
* M0 exception_info0 register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** m0_exception_region : RO; bitpos: [3:0]; default: 0;
|
||||
* Exception region
|
||||
*/
|
||||
uint32_t m0_exception_region:4;
|
||||
uint32_t reserved_4:12;
|
||||
/** m0_exception_mode : RO; bitpos: [17:16]; default: 0;
|
||||
* Exception mode
|
||||
*/
|
||||
uint32_t m0_exception_mode:2;
|
||||
/** m0_exception_id : RO; bitpos: [22:18]; default: 0;
|
||||
* Exception id information
|
||||
*/
|
||||
uint32_t m0_exception_id:5;
|
||||
uint32_t reserved_23:9;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_m0_exception_info0_reg_t;
|
||||
|
||||
|
||||
/** Group: M0 exception_info1 register */
|
||||
/** Type of m0_exception_info1 register
|
||||
* M0 exception_info1 register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** m0_exception_addr : RO; bitpos: [31:0]; default: 0;
|
||||
* Exception addr
|
||||
*/
|
||||
uint32_t m0_exception_addr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_m0_exception_info1_reg_t;
|
||||
|
||||
|
||||
/** Group: APM interrupt enable register */
|
||||
/** Type of int_en register
|
||||
* APM interrupt enable register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** m0_apm_int_en : R/W; bitpos: [0]; default: 0;
|
||||
* APM M0 interrupt enable
|
||||
*/
|
||||
uint32_t m0_apm_int_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_int_en_reg_t;
|
||||
|
||||
|
||||
/** Group: clock gating register */
|
||||
/** Type of clock_gate register
|
||||
* clock gating register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_en : R/W; bitpos: [0]; default: 1;
|
||||
* reg_clk_en
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_clock_gate_reg_t;
|
||||
|
||||
|
||||
/** Group: Version register */
|
||||
/** Type of date register
|
||||
* Version register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [27:0]; default: 35672640;
|
||||
* reg_date
|
||||
*/
|
||||
uint32_t date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm0_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile lp_apm0_region_filter_en_reg_t region_filter_en;
|
||||
volatile lp_apm0_region0_addr_start_reg_t region0_addr_start;
|
||||
volatile lp_apm0_region0_addr_end_reg_t region0_addr_end;
|
||||
volatile lp_apm0_region0_pms_attr_reg_t region0_pms_attr;
|
||||
volatile lp_apm0_region1_addr_start_reg_t region1_addr_start;
|
||||
volatile lp_apm0_region1_addr_end_reg_t region1_addr_end;
|
||||
volatile lp_apm0_region1_pms_attr_reg_t region1_pms_attr;
|
||||
volatile lp_apm0_region2_addr_start_reg_t region2_addr_start;
|
||||
volatile lp_apm0_region2_addr_end_reg_t region2_addr_end;
|
||||
volatile lp_apm0_region2_pms_attr_reg_t region2_pms_attr;
|
||||
volatile lp_apm0_region3_addr_start_reg_t region3_addr_start;
|
||||
volatile lp_apm0_region3_addr_end_reg_t region3_addr_end;
|
||||
volatile lp_apm0_region3_pms_attr_reg_t region3_pms_attr;
|
||||
uint32_t reserved_034[36];
|
||||
volatile lp_apm0_func_ctrl_reg_t func_ctrl;
|
||||
volatile lp_apm0_m0_status_reg_t m0_status;
|
||||
volatile lp_apm0_m0_status_clr_reg_t m0_status_clr;
|
||||
volatile lp_apm0_m0_exception_info0_reg_t m0_exception_info0;
|
||||
volatile lp_apm0_m0_exception_info1_reg_t m0_exception_info1;
|
||||
volatile lp_apm0_int_en_reg_t int_en;
|
||||
volatile lp_apm0_clock_gate_reg_t clock_gate;
|
||||
uint32_t reserved_0e0[455];
|
||||
volatile lp_apm0_date_reg_t date;
|
||||
} lp_apm0_dev_t;
|
||||
|
||||
extern lp_apm0_dev_t LP_APM0;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(lp_apm0_dev_t) == 0x800, "Invalid size of lp_apm0_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
322
components/soc/esp32h2/include/soc/lp_apm_reg.h
Normal file
322
components/soc/esp32h2/include/soc/lp_apm_reg.h
Normal file
@ -0,0 +1,322 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** LP_APM_REGION_FILTER_EN_REG register
|
||||
* Region filter enable register
|
||||
*/
|
||||
#define LP_APM_REGION_FILTER_EN_REG (DR_REG_LP_APM_BASE + 0x0)
|
||||
/** LP_APM_REGION_FILTER_EN : R/W; bitpos: [1:0]; default: 1;
|
||||
* Region filter enable
|
||||
*/
|
||||
#define LP_APM_REGION_FILTER_EN 0x00000003U
|
||||
#define LP_APM_REGION_FILTER_EN_M (LP_APM_REGION_FILTER_EN_V << LP_APM_REGION_FILTER_EN_S)
|
||||
#define LP_APM_REGION_FILTER_EN_V 0x00000003U
|
||||
#define LP_APM_REGION_FILTER_EN_S 0
|
||||
|
||||
/** LP_APM_REGION0_ADDR_START_REG register
|
||||
* Region address register
|
||||
*/
|
||||
#define LP_APM_REGION0_ADDR_START_REG (DR_REG_LP_APM_BASE + 0x4)
|
||||
/** LP_APM_REGION0_ADDR_START : R/W; bitpos: [31:0]; default: 0;
|
||||
* Start address of region0
|
||||
*/
|
||||
#define LP_APM_REGION0_ADDR_START 0xFFFFFFFFU
|
||||
#define LP_APM_REGION0_ADDR_START_M (LP_APM_REGION0_ADDR_START_V << LP_APM_REGION0_ADDR_START_S)
|
||||
#define LP_APM_REGION0_ADDR_START_V 0xFFFFFFFFU
|
||||
#define LP_APM_REGION0_ADDR_START_S 0
|
||||
|
||||
/** LP_APM_REGION0_ADDR_END_REG register
|
||||
* Region address register
|
||||
*/
|
||||
#define LP_APM_REGION0_ADDR_END_REG (DR_REG_LP_APM_BASE + 0x8)
|
||||
/** LP_APM_REGION0_ADDR_END : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* End address of region0
|
||||
*/
|
||||
#define LP_APM_REGION0_ADDR_END 0xFFFFFFFFU
|
||||
#define LP_APM_REGION0_ADDR_END_M (LP_APM_REGION0_ADDR_END_V << LP_APM_REGION0_ADDR_END_S)
|
||||
#define LP_APM_REGION0_ADDR_END_V 0xFFFFFFFFU
|
||||
#define LP_APM_REGION0_ADDR_END_S 0
|
||||
|
||||
/** LP_APM_REGION0_PMS_ATTR_REG register
|
||||
* Region access authority attribute register
|
||||
*/
|
||||
#define LP_APM_REGION0_PMS_ATTR_REG (DR_REG_LP_APM_BASE + 0xc)
|
||||
/** LP_APM_REGION0_R0_PMS_X : R/W; bitpos: [0]; default: 0;
|
||||
* Region execute authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM_REGION0_R0_PMS_X (BIT(0))
|
||||
#define LP_APM_REGION0_R0_PMS_X_M (LP_APM_REGION0_R0_PMS_X_V << LP_APM_REGION0_R0_PMS_X_S)
|
||||
#define LP_APM_REGION0_R0_PMS_X_V 0x00000001U
|
||||
#define LP_APM_REGION0_R0_PMS_X_S 0
|
||||
/** LP_APM_REGION0_R0_PMS_W : R/W; bitpos: [1]; default: 0;
|
||||
* Region write authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM_REGION0_R0_PMS_W (BIT(1))
|
||||
#define LP_APM_REGION0_R0_PMS_W_M (LP_APM_REGION0_R0_PMS_W_V << LP_APM_REGION0_R0_PMS_W_S)
|
||||
#define LP_APM_REGION0_R0_PMS_W_V 0x00000001U
|
||||
#define LP_APM_REGION0_R0_PMS_W_S 1
|
||||
/** LP_APM_REGION0_R0_PMS_R : R/W; bitpos: [2]; default: 0;
|
||||
* Region read authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM_REGION0_R0_PMS_R (BIT(2))
|
||||
#define LP_APM_REGION0_R0_PMS_R_M (LP_APM_REGION0_R0_PMS_R_V << LP_APM_REGION0_R0_PMS_R_S)
|
||||
#define LP_APM_REGION0_R0_PMS_R_V 0x00000001U
|
||||
#define LP_APM_REGION0_R0_PMS_R_S 2
|
||||
/** LP_APM_REGION0_R1_PMS_X : R/W; bitpos: [4]; default: 0;
|
||||
* Region execute authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM_REGION0_R1_PMS_X (BIT(4))
|
||||
#define LP_APM_REGION0_R1_PMS_X_M (LP_APM_REGION0_R1_PMS_X_V << LP_APM_REGION0_R1_PMS_X_S)
|
||||
#define LP_APM_REGION0_R1_PMS_X_V 0x00000001U
|
||||
#define LP_APM_REGION0_R1_PMS_X_S 4
|
||||
/** LP_APM_REGION0_R1_PMS_W : R/W; bitpos: [5]; default: 0;
|
||||
* Region write authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM_REGION0_R1_PMS_W (BIT(5))
|
||||
#define LP_APM_REGION0_R1_PMS_W_M (LP_APM_REGION0_R1_PMS_W_V << LP_APM_REGION0_R1_PMS_W_S)
|
||||
#define LP_APM_REGION0_R1_PMS_W_V 0x00000001U
|
||||
#define LP_APM_REGION0_R1_PMS_W_S 5
|
||||
/** LP_APM_REGION0_R1_PMS_R : R/W; bitpos: [6]; default: 0;
|
||||
* Region read authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM_REGION0_R1_PMS_R (BIT(6))
|
||||
#define LP_APM_REGION0_R1_PMS_R_M (LP_APM_REGION0_R1_PMS_R_V << LP_APM_REGION0_R1_PMS_R_S)
|
||||
#define LP_APM_REGION0_R1_PMS_R_V 0x00000001U
|
||||
#define LP_APM_REGION0_R1_PMS_R_S 6
|
||||
/** LP_APM_REGION0_R2_PMS_X : R/W; bitpos: [8]; default: 0;
|
||||
* Region execute authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM_REGION0_R2_PMS_X (BIT(8))
|
||||
#define LP_APM_REGION0_R2_PMS_X_M (LP_APM_REGION0_R2_PMS_X_V << LP_APM_REGION0_R2_PMS_X_S)
|
||||
#define LP_APM_REGION0_R2_PMS_X_V 0x00000001U
|
||||
#define LP_APM_REGION0_R2_PMS_X_S 8
|
||||
/** LP_APM_REGION0_R2_PMS_W : R/W; bitpos: [9]; default: 0;
|
||||
* Region write authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM_REGION0_R2_PMS_W (BIT(9))
|
||||
#define LP_APM_REGION0_R2_PMS_W_M (LP_APM_REGION0_R2_PMS_W_V << LP_APM_REGION0_R2_PMS_W_S)
|
||||
#define LP_APM_REGION0_R2_PMS_W_V 0x00000001U
|
||||
#define LP_APM_REGION0_R2_PMS_W_S 9
|
||||
/** LP_APM_REGION0_R2_PMS_R : R/W; bitpos: [10]; default: 0;
|
||||
* Region read authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM_REGION0_R2_PMS_R (BIT(10))
|
||||
#define LP_APM_REGION0_R2_PMS_R_M (LP_APM_REGION0_R2_PMS_R_V << LP_APM_REGION0_R2_PMS_R_S)
|
||||
#define LP_APM_REGION0_R2_PMS_R_V 0x00000001U
|
||||
#define LP_APM_REGION0_R2_PMS_R_S 10
|
||||
|
||||
/** LP_APM_REGION1_ADDR_START_REG register
|
||||
* Region address register
|
||||
*/
|
||||
#define LP_APM_REGION1_ADDR_START_REG (DR_REG_LP_APM_BASE + 0x10)
|
||||
/** LP_APM_REGION1_ADDR_START : R/W; bitpos: [31:0]; default: 0;
|
||||
* Start address of region1
|
||||
*/
|
||||
#define LP_APM_REGION1_ADDR_START 0xFFFFFFFFU
|
||||
#define LP_APM_REGION1_ADDR_START_M (LP_APM_REGION1_ADDR_START_V << LP_APM_REGION1_ADDR_START_S)
|
||||
#define LP_APM_REGION1_ADDR_START_V 0xFFFFFFFFU
|
||||
#define LP_APM_REGION1_ADDR_START_S 0
|
||||
|
||||
/** LP_APM_REGION1_ADDR_END_REG register
|
||||
* Region address register
|
||||
*/
|
||||
#define LP_APM_REGION1_ADDR_END_REG (DR_REG_LP_APM_BASE + 0x14)
|
||||
/** LP_APM_REGION1_ADDR_END : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* End address of region1
|
||||
*/
|
||||
#define LP_APM_REGION1_ADDR_END 0xFFFFFFFFU
|
||||
#define LP_APM_REGION1_ADDR_END_M (LP_APM_REGION1_ADDR_END_V << LP_APM_REGION1_ADDR_END_S)
|
||||
#define LP_APM_REGION1_ADDR_END_V 0xFFFFFFFFU
|
||||
#define LP_APM_REGION1_ADDR_END_S 0
|
||||
|
||||
/** LP_APM_REGION1_PMS_ATTR_REG register
|
||||
* Region access authority attribute register
|
||||
*/
|
||||
#define LP_APM_REGION1_PMS_ATTR_REG (DR_REG_LP_APM_BASE + 0x18)
|
||||
/** LP_APM_REGION1_R0_PMS_X : R/W; bitpos: [0]; default: 0;
|
||||
* Region execute authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM_REGION1_R0_PMS_X (BIT(0))
|
||||
#define LP_APM_REGION1_R0_PMS_X_M (LP_APM_REGION1_R0_PMS_X_V << LP_APM_REGION1_R0_PMS_X_S)
|
||||
#define LP_APM_REGION1_R0_PMS_X_V 0x00000001U
|
||||
#define LP_APM_REGION1_R0_PMS_X_S 0
|
||||
/** LP_APM_REGION1_R0_PMS_W : R/W; bitpos: [1]; default: 0;
|
||||
* Region write authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM_REGION1_R0_PMS_W (BIT(1))
|
||||
#define LP_APM_REGION1_R0_PMS_W_M (LP_APM_REGION1_R0_PMS_W_V << LP_APM_REGION1_R0_PMS_W_S)
|
||||
#define LP_APM_REGION1_R0_PMS_W_V 0x00000001U
|
||||
#define LP_APM_REGION1_R0_PMS_W_S 1
|
||||
/** LP_APM_REGION1_R0_PMS_R : R/W; bitpos: [2]; default: 0;
|
||||
* Region read authority in REE_MODE0
|
||||
*/
|
||||
#define LP_APM_REGION1_R0_PMS_R (BIT(2))
|
||||
#define LP_APM_REGION1_R0_PMS_R_M (LP_APM_REGION1_R0_PMS_R_V << LP_APM_REGION1_R0_PMS_R_S)
|
||||
#define LP_APM_REGION1_R0_PMS_R_V 0x00000001U
|
||||
#define LP_APM_REGION1_R0_PMS_R_S 2
|
||||
/** LP_APM_REGION1_R1_PMS_X : R/W; bitpos: [4]; default: 0;
|
||||
* Region execute authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM_REGION1_R1_PMS_X (BIT(4))
|
||||
#define LP_APM_REGION1_R1_PMS_X_M (LP_APM_REGION1_R1_PMS_X_V << LP_APM_REGION1_R1_PMS_X_S)
|
||||
#define LP_APM_REGION1_R1_PMS_X_V 0x00000001U
|
||||
#define LP_APM_REGION1_R1_PMS_X_S 4
|
||||
/** LP_APM_REGION1_R1_PMS_W : R/W; bitpos: [5]; default: 0;
|
||||
* Region write authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM_REGION1_R1_PMS_W (BIT(5))
|
||||
#define LP_APM_REGION1_R1_PMS_W_M (LP_APM_REGION1_R1_PMS_W_V << LP_APM_REGION1_R1_PMS_W_S)
|
||||
#define LP_APM_REGION1_R1_PMS_W_V 0x00000001U
|
||||
#define LP_APM_REGION1_R1_PMS_W_S 5
|
||||
/** LP_APM_REGION1_R1_PMS_R : R/W; bitpos: [6]; default: 0;
|
||||
* Region read authority in REE_MODE1
|
||||
*/
|
||||
#define LP_APM_REGION1_R1_PMS_R (BIT(6))
|
||||
#define LP_APM_REGION1_R1_PMS_R_M (LP_APM_REGION1_R1_PMS_R_V << LP_APM_REGION1_R1_PMS_R_S)
|
||||
#define LP_APM_REGION1_R1_PMS_R_V 0x00000001U
|
||||
#define LP_APM_REGION1_R1_PMS_R_S 6
|
||||
/** LP_APM_REGION1_R2_PMS_X : R/W; bitpos: [8]; default: 0;
|
||||
* Region execute authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM_REGION1_R2_PMS_X (BIT(8))
|
||||
#define LP_APM_REGION1_R2_PMS_X_M (LP_APM_REGION1_R2_PMS_X_V << LP_APM_REGION1_R2_PMS_X_S)
|
||||
#define LP_APM_REGION1_R2_PMS_X_V 0x00000001U
|
||||
#define LP_APM_REGION1_R2_PMS_X_S 8
|
||||
/** LP_APM_REGION1_R2_PMS_W : R/W; bitpos: [9]; default: 0;
|
||||
* Region write authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM_REGION1_R2_PMS_W (BIT(9))
|
||||
#define LP_APM_REGION1_R2_PMS_W_M (LP_APM_REGION1_R2_PMS_W_V << LP_APM_REGION1_R2_PMS_W_S)
|
||||
#define LP_APM_REGION1_R2_PMS_W_V 0x00000001U
|
||||
#define LP_APM_REGION1_R2_PMS_W_S 9
|
||||
/** LP_APM_REGION1_R2_PMS_R : R/W; bitpos: [10]; default: 0;
|
||||
* Region read authority in REE_MODE2
|
||||
*/
|
||||
#define LP_APM_REGION1_R2_PMS_R (BIT(10))
|
||||
#define LP_APM_REGION1_R2_PMS_R_M (LP_APM_REGION1_R2_PMS_R_V << LP_APM_REGION1_R2_PMS_R_S)
|
||||
#define LP_APM_REGION1_R2_PMS_R_V 0x00000001U
|
||||
#define LP_APM_REGION1_R2_PMS_R_S 10
|
||||
|
||||
/** LP_APM_FUNC_CTRL_REG register
|
||||
* PMS function control register
|
||||
*/
|
||||
#define LP_APM_FUNC_CTRL_REG (DR_REG_LP_APM_BASE + 0xc4)
|
||||
/** LP_APM_M0_PMS_FUNC_EN : R/W; bitpos: [0]; default: 1;
|
||||
* PMS M0 function enable
|
||||
*/
|
||||
#define LP_APM_M0_PMS_FUNC_EN (BIT(0))
|
||||
#define LP_APM_M0_PMS_FUNC_EN_M (LP_APM_M0_PMS_FUNC_EN_V << LP_APM_M0_PMS_FUNC_EN_S)
|
||||
#define LP_APM_M0_PMS_FUNC_EN_V 0x00000001U
|
||||
#define LP_APM_M0_PMS_FUNC_EN_S 0
|
||||
|
||||
/** LP_APM_M0_STATUS_REG register
|
||||
* M0 status register
|
||||
*/
|
||||
#define LP_APM_M0_STATUS_REG (DR_REG_LP_APM_BASE + 0xc8)
|
||||
/** LP_APM_M0_EXCEPTION_STATUS : RO; bitpos: [1:0]; default: 0;
|
||||
* Exception status
|
||||
*/
|
||||
#define LP_APM_M0_EXCEPTION_STATUS 0x00000003U
|
||||
#define LP_APM_M0_EXCEPTION_STATUS_M (LP_APM_M0_EXCEPTION_STATUS_V << LP_APM_M0_EXCEPTION_STATUS_S)
|
||||
#define LP_APM_M0_EXCEPTION_STATUS_V 0x00000003U
|
||||
#define LP_APM_M0_EXCEPTION_STATUS_S 0
|
||||
|
||||
/** LP_APM_M0_STATUS_CLR_REG register
|
||||
* M0 status clear register
|
||||
*/
|
||||
#define LP_APM_M0_STATUS_CLR_REG (DR_REG_LP_APM_BASE + 0xcc)
|
||||
/** LP_APM_M0_REGION_STATUS_CLR : WT; bitpos: [0]; default: 0;
|
||||
* Clear exception status
|
||||
*/
|
||||
#define LP_APM_M0_REGION_STATUS_CLR (BIT(0))
|
||||
#define LP_APM_M0_REGION_STATUS_CLR_M (LP_APM_M0_REGION_STATUS_CLR_V << LP_APM_M0_REGION_STATUS_CLR_S)
|
||||
#define LP_APM_M0_REGION_STATUS_CLR_V 0x00000001U
|
||||
#define LP_APM_M0_REGION_STATUS_CLR_S 0
|
||||
|
||||
/** LP_APM_M0_EXCEPTION_INFO0_REG register
|
||||
* M0 exception_info0 register
|
||||
*/
|
||||
#define LP_APM_M0_EXCEPTION_INFO0_REG (DR_REG_LP_APM_BASE + 0xd0)
|
||||
/** LP_APM_M0_EXCEPTION_REGION : RO; bitpos: [1:0]; default: 0;
|
||||
* Exception region
|
||||
*/
|
||||
#define LP_APM_M0_EXCEPTION_REGION 0x00000003U
|
||||
#define LP_APM_M0_EXCEPTION_REGION_M (LP_APM_M0_EXCEPTION_REGION_V << LP_APM_M0_EXCEPTION_REGION_S)
|
||||
#define LP_APM_M0_EXCEPTION_REGION_V 0x00000003U
|
||||
#define LP_APM_M0_EXCEPTION_REGION_S 0
|
||||
/** LP_APM_M0_EXCEPTION_MODE : RO; bitpos: [17:16]; default: 0;
|
||||
* Exception mode
|
||||
*/
|
||||
#define LP_APM_M0_EXCEPTION_MODE 0x00000003U
|
||||
#define LP_APM_M0_EXCEPTION_MODE_M (LP_APM_M0_EXCEPTION_MODE_V << LP_APM_M0_EXCEPTION_MODE_S)
|
||||
#define LP_APM_M0_EXCEPTION_MODE_V 0x00000003U
|
||||
#define LP_APM_M0_EXCEPTION_MODE_S 16
|
||||
/** LP_APM_M0_EXCEPTION_ID : RO; bitpos: [22:18]; default: 0;
|
||||
* Exception id information
|
||||
*/
|
||||
#define LP_APM_M0_EXCEPTION_ID 0x0000001FU
|
||||
#define LP_APM_M0_EXCEPTION_ID_M (LP_APM_M0_EXCEPTION_ID_V << LP_APM_M0_EXCEPTION_ID_S)
|
||||
#define LP_APM_M0_EXCEPTION_ID_V 0x0000001FU
|
||||
#define LP_APM_M0_EXCEPTION_ID_S 18
|
||||
|
||||
/** LP_APM_M0_EXCEPTION_INFO1_REG register
|
||||
* M0 exception_info1 register
|
||||
*/
|
||||
#define LP_APM_M0_EXCEPTION_INFO1_REG (DR_REG_LP_APM_BASE + 0xd4)
|
||||
/** LP_APM_M0_EXCEPTION_ADDR : RO; bitpos: [31:0]; default: 0;
|
||||
* Exception addr
|
||||
*/
|
||||
#define LP_APM_M0_EXCEPTION_ADDR 0xFFFFFFFFU
|
||||
#define LP_APM_M0_EXCEPTION_ADDR_M (LP_APM_M0_EXCEPTION_ADDR_V << LP_APM_M0_EXCEPTION_ADDR_S)
|
||||
#define LP_APM_M0_EXCEPTION_ADDR_V 0xFFFFFFFFU
|
||||
#define LP_APM_M0_EXCEPTION_ADDR_S 0
|
||||
|
||||
/** LP_APM_INT_EN_REG register
|
||||
* APM interrupt enable register
|
||||
*/
|
||||
#define LP_APM_INT_EN_REG (DR_REG_LP_APM_BASE + 0xe8)
|
||||
/** LP_APM_M0_APM_INT_EN : R/W; bitpos: [0]; default: 0;
|
||||
* APM M0 interrupt enable
|
||||
*/
|
||||
#define LP_APM_M0_APM_INT_EN (BIT(0))
|
||||
#define LP_APM_M0_APM_INT_EN_M (LP_APM_M0_APM_INT_EN_V << LP_APM_M0_APM_INT_EN_S)
|
||||
#define LP_APM_M0_APM_INT_EN_V 0x00000001U
|
||||
#define LP_APM_M0_APM_INT_EN_S 0
|
||||
|
||||
/** LP_APM_CLOCK_GATE_REG register
|
||||
* clock gating register
|
||||
*/
|
||||
#define LP_APM_CLOCK_GATE_REG (DR_REG_LP_APM_BASE + 0xec)
|
||||
/** LP_APM_CLK_EN : R/W; bitpos: [0]; default: 1;
|
||||
* reg_clk_en
|
||||
*/
|
||||
#define LP_APM_CLK_EN (BIT(0))
|
||||
#define LP_APM_CLK_EN_M (LP_APM_CLK_EN_V << LP_APM_CLK_EN_S)
|
||||
#define LP_APM_CLK_EN_V 0x00000001U
|
||||
#define LP_APM_CLK_EN_S 0
|
||||
|
||||
/** LP_APM_DATE_REG register
|
||||
* Version register
|
||||
*/
|
||||
#define LP_APM_DATE_REG (DR_REG_LP_APM_BASE + 0xfc)
|
||||
/** LP_APM_DATE : R/W; bitpos: [27:0]; default: 35680864;
|
||||
* reg_date
|
||||
*/
|
||||
#define LP_APM_DATE 0x0FFFFFFFU
|
||||
#define LP_APM_DATE_M (LP_APM_DATE_V << LP_APM_DATE_S)
|
||||
#define LP_APM_DATE_V 0x0FFFFFFFU
|
||||
#define LP_APM_DATE_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
346
components/soc/esp32h2/include/soc/lp_apm_struct.h
Normal file
346
components/soc/esp32h2/include/soc/lp_apm_struct.h
Normal file
@ -0,0 +1,346 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: Region filter enable register */
|
||||
/** Type of region_filter_en register
|
||||
* Region filter enable register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region_filter_en : R/W; bitpos: [1:0]; default: 1;
|
||||
* Region filter enable
|
||||
*/
|
||||
uint32_t region_filter_en:2;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_region_filter_en_reg_t;
|
||||
|
||||
|
||||
/** Group: Region address register */
|
||||
/** Type of region0_addr_start register
|
||||
* Region address register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region0_addr_start : R/W; bitpos: [31:0]; default: 0;
|
||||
* Start address of region0
|
||||
*/
|
||||
uint32_t region0_addr_start:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_region0_addr_start_reg_t;
|
||||
|
||||
/** Type of region0_addr_end register
|
||||
* Region address register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region0_addr_end : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* End address of region0
|
||||
*/
|
||||
uint32_t region0_addr_end:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_region0_addr_end_reg_t;
|
||||
|
||||
/** Type of region1_addr_start register
|
||||
* Region address register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region1_addr_start : R/W; bitpos: [31:0]; default: 0;
|
||||
* Start address of region1
|
||||
*/
|
||||
uint32_t region1_addr_start:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_region1_addr_start_reg_t;
|
||||
|
||||
/** Type of region1_addr_end register
|
||||
* Region address register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region1_addr_end : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* End address of region1
|
||||
*/
|
||||
uint32_t region1_addr_end:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_region1_addr_end_reg_t;
|
||||
|
||||
|
||||
/** Group: Region access authority attribute register */
|
||||
/** Type of region0_pms_attr register
|
||||
* Region access authority attribute register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region0_r0_pms_x : R/W; bitpos: [0]; default: 0;
|
||||
* Region execute authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region0_r0_pms_x:1;
|
||||
/** region0_r0_pms_w : R/W; bitpos: [1]; default: 0;
|
||||
* Region write authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region0_r0_pms_w:1;
|
||||
/** region0_r0_pms_r : R/W; bitpos: [2]; default: 0;
|
||||
* Region read authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region0_r0_pms_r:1;
|
||||
uint32_t reserved_3:1;
|
||||
/** region0_r1_pms_x : R/W; bitpos: [4]; default: 0;
|
||||
* Region execute authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region0_r1_pms_x:1;
|
||||
/** region0_r1_pms_w : R/W; bitpos: [5]; default: 0;
|
||||
* Region write authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region0_r1_pms_w:1;
|
||||
/** region0_r1_pms_r : R/W; bitpos: [6]; default: 0;
|
||||
* Region read authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region0_r1_pms_r:1;
|
||||
uint32_t reserved_7:1;
|
||||
/** region0_r2_pms_x : R/W; bitpos: [8]; default: 0;
|
||||
* Region execute authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region0_r2_pms_x:1;
|
||||
/** region0_r2_pms_w : R/W; bitpos: [9]; default: 0;
|
||||
* Region write authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region0_r2_pms_w:1;
|
||||
/** region0_r2_pms_r : R/W; bitpos: [10]; default: 0;
|
||||
* Region read authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region0_r2_pms_r:1;
|
||||
uint32_t reserved_11:21;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_region0_pms_attr_reg_t;
|
||||
|
||||
/** Type of region1_pms_attr register
|
||||
* Region access authority attribute register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** region1_r0_pms_x : R/W; bitpos: [0]; default: 0;
|
||||
* Region execute authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region1_r0_pms_x:1;
|
||||
/** region1_r0_pms_w : R/W; bitpos: [1]; default: 0;
|
||||
* Region write authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region1_r0_pms_w:1;
|
||||
/** region1_r0_pms_r : R/W; bitpos: [2]; default: 0;
|
||||
* Region read authority in REE_MODE0
|
||||
*/
|
||||
uint32_t region1_r0_pms_r:1;
|
||||
uint32_t reserved_3:1;
|
||||
/** region1_r1_pms_x : R/W; bitpos: [4]; default: 0;
|
||||
* Region execute authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region1_r1_pms_x:1;
|
||||
/** region1_r1_pms_w : R/W; bitpos: [5]; default: 0;
|
||||
* Region write authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region1_r1_pms_w:1;
|
||||
/** region1_r1_pms_r : R/W; bitpos: [6]; default: 0;
|
||||
* Region read authority in REE_MODE1
|
||||
*/
|
||||
uint32_t region1_r1_pms_r:1;
|
||||
uint32_t reserved_7:1;
|
||||
/** region1_r2_pms_x : R/W; bitpos: [8]; default: 0;
|
||||
* Region execute authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region1_r2_pms_x:1;
|
||||
/** region1_r2_pms_w : R/W; bitpos: [9]; default: 0;
|
||||
* Region write authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region1_r2_pms_w:1;
|
||||
/** region1_r2_pms_r : R/W; bitpos: [10]; default: 0;
|
||||
* Region read authority in REE_MODE2
|
||||
*/
|
||||
uint32_t region1_r2_pms_r:1;
|
||||
uint32_t reserved_11:21;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_region1_pms_attr_reg_t;
|
||||
|
||||
|
||||
/** Group: PMS function control register */
|
||||
/** Type of func_ctrl register
|
||||
* PMS function control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** m0_pms_func_en : R/W; bitpos: [0]; default: 1;
|
||||
* PMS M0 function enable
|
||||
*/
|
||||
uint32_t m0_pms_func_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_func_ctrl_reg_t;
|
||||
|
||||
|
||||
/** Group: M0 status register */
|
||||
/** Type of m0_status register
|
||||
* M0 status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** m0_exception_status : RO; bitpos: [1:0]; default: 0;
|
||||
* Exception status
|
||||
*/
|
||||
uint32_t m0_exception_status:2;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_m0_status_reg_t;
|
||||
|
||||
|
||||
/** Group: M0 status clear register */
|
||||
/** Type of m0_status_clr register
|
||||
* M0 status clear register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** m0_region_status_clr : WT; bitpos: [0]; default: 0;
|
||||
* Clear exception status
|
||||
*/
|
||||
uint32_t m0_region_status_clr:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_m0_status_clr_reg_t;
|
||||
|
||||
|
||||
/** Group: M0 exception_info0 register */
|
||||
/** Type of m0_exception_info0 register
|
||||
* M0 exception_info0 register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** m0_exception_region : RO; bitpos: [1:0]; default: 0;
|
||||
* Exception region
|
||||
*/
|
||||
uint32_t m0_exception_region:2;
|
||||
uint32_t reserved_2:14;
|
||||
/** m0_exception_mode : RO; bitpos: [17:16]; default: 0;
|
||||
* Exception mode
|
||||
*/
|
||||
uint32_t m0_exception_mode:2;
|
||||
/** m0_exception_id : RO; bitpos: [22:18]; default: 0;
|
||||
* Exception id information
|
||||
*/
|
||||
uint32_t m0_exception_id:5;
|
||||
uint32_t reserved_23:9;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_m0_exception_info0_reg_t;
|
||||
|
||||
|
||||
/** Group: M0 exception_info1 register */
|
||||
/** Type of m0_exception_info1 register
|
||||
* M0 exception_info1 register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** m0_exception_addr : RO; bitpos: [31:0]; default: 0;
|
||||
* Exception addr
|
||||
*/
|
||||
uint32_t m0_exception_addr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_m0_exception_info1_reg_t;
|
||||
|
||||
|
||||
/** Group: APM interrupt enable register */
|
||||
/** Type of int_en register
|
||||
* APM interrupt enable register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** m0_apm_int_en : R/W; bitpos: [0]; default: 0;
|
||||
* APM M0 interrupt enable
|
||||
*/
|
||||
uint32_t m0_apm_int_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_int_en_reg_t;
|
||||
|
||||
|
||||
/** Group: clock gating register */
|
||||
/** Type of clock_gate register
|
||||
* clock gating register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_en : R/W; bitpos: [0]; default: 1;
|
||||
* reg_clk_en
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_clock_gate_reg_t;
|
||||
|
||||
|
||||
/** Group: Version register */
|
||||
/** Type of date register
|
||||
* Version register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [27:0]; default: 35680864;
|
||||
* reg_date
|
||||
*/
|
||||
uint32_t date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_apm_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile lp_apm_region_filter_en_reg_t region_filter_en;
|
||||
volatile lp_apm_region0_addr_start_reg_t region0_addr_start;
|
||||
volatile lp_apm_region0_addr_end_reg_t region0_addr_end;
|
||||
volatile lp_apm_region0_pms_attr_reg_t region0_pms_attr;
|
||||
volatile lp_apm_region1_addr_start_reg_t region1_addr_start;
|
||||
volatile lp_apm_region1_addr_end_reg_t region1_addr_end;
|
||||
volatile lp_apm_region1_pms_attr_reg_t region1_pms_attr;
|
||||
uint32_t reserved_01c[42];
|
||||
volatile lp_apm_func_ctrl_reg_t func_ctrl;
|
||||
volatile lp_apm_m0_status_reg_t m0_status;
|
||||
volatile lp_apm_m0_status_clr_reg_t m0_status_clr;
|
||||
volatile lp_apm_m0_exception_info0_reg_t m0_exception_info0;
|
||||
volatile lp_apm_m0_exception_info1_reg_t m0_exception_info1;
|
||||
uint32_t reserved_0d8[4];
|
||||
volatile lp_apm_int_en_reg_t int_en;
|
||||
volatile lp_apm_clock_gate_reg_t clock_gate;
|
||||
uint32_t reserved_0f0[3];
|
||||
volatile lp_apm_date_reg_t date;
|
||||
} lp_apm_dev_t;
|
||||
|
||||
extern lp_apm_dev_t LP_APM;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(lp_apm_dev_t) == 0x100, "Invalid size of lp_apm_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
424
components/soc/esp32h2/include/soc/lp_clkrst_reg.h
Normal file
424
components/soc/esp32h2/include/soc/lp_clkrst_reg.h
Normal file
@ -0,0 +1,424 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** LP_CLKRST_LP_CLK_CONF_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LP_CLK_CONF_REG (DR_REG_LP_CLKRST_BASE + 0x0)
|
||||
/** LP_CLKRST_SLOW_CLK_SEL : R/W; bitpos: [1:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_SLOW_CLK_SEL 0x00000003U
|
||||
#define LP_CLKRST_SLOW_CLK_SEL_M (LP_CLKRST_SLOW_CLK_SEL_V << LP_CLKRST_SLOW_CLK_SEL_S)
|
||||
#define LP_CLKRST_SLOW_CLK_SEL_V 0x00000003U
|
||||
#define LP_CLKRST_SLOW_CLK_SEL_S 0
|
||||
/** LP_CLKRST_FAST_CLK_SEL : R/W; bitpos: [3:2]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_FAST_CLK_SEL 0x00000003U
|
||||
#define LP_CLKRST_FAST_CLK_SEL_M (LP_CLKRST_FAST_CLK_SEL_V << LP_CLKRST_FAST_CLK_SEL_S)
|
||||
#define LP_CLKRST_FAST_CLK_SEL_V 0x00000003U
|
||||
#define LP_CLKRST_FAST_CLK_SEL_S 2
|
||||
/** LP_CLKRST_LP_PERI_DIV_NUM : R/W; bitpos: [11:4]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LP_PERI_DIV_NUM 0x000000FFU
|
||||
#define LP_CLKRST_LP_PERI_DIV_NUM_M (LP_CLKRST_LP_PERI_DIV_NUM_V << LP_CLKRST_LP_PERI_DIV_NUM_S)
|
||||
#define LP_CLKRST_LP_PERI_DIV_NUM_V 0x000000FFU
|
||||
#define LP_CLKRST_LP_PERI_DIV_NUM_S 4
|
||||
|
||||
/** LP_CLKRST_LP_CLK_PO_EN_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LP_CLK_PO_EN_REG (DR_REG_LP_CLKRST_BASE + 0x4)
|
||||
/** LP_CLKRST_AON_SLOW_OEN : R/W; bitpos: [0]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_AON_SLOW_OEN (BIT(0))
|
||||
#define LP_CLKRST_AON_SLOW_OEN_M (LP_CLKRST_AON_SLOW_OEN_V << LP_CLKRST_AON_SLOW_OEN_S)
|
||||
#define LP_CLKRST_AON_SLOW_OEN_V 0x00000001U
|
||||
#define LP_CLKRST_AON_SLOW_OEN_S 0
|
||||
/** LP_CLKRST_AON_FAST_OEN : R/W; bitpos: [1]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_AON_FAST_OEN (BIT(1))
|
||||
#define LP_CLKRST_AON_FAST_OEN_M (LP_CLKRST_AON_FAST_OEN_V << LP_CLKRST_AON_FAST_OEN_S)
|
||||
#define LP_CLKRST_AON_FAST_OEN_V 0x00000001U
|
||||
#define LP_CLKRST_AON_FAST_OEN_S 1
|
||||
/** LP_CLKRST_SOSC_OEN : R/W; bitpos: [2]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_SOSC_OEN (BIT(2))
|
||||
#define LP_CLKRST_SOSC_OEN_M (LP_CLKRST_SOSC_OEN_V << LP_CLKRST_SOSC_OEN_S)
|
||||
#define LP_CLKRST_SOSC_OEN_V 0x00000001U
|
||||
#define LP_CLKRST_SOSC_OEN_S 2
|
||||
/** LP_CLKRST_FOSC_OEN : R/W; bitpos: [3]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_FOSC_OEN (BIT(3))
|
||||
#define LP_CLKRST_FOSC_OEN_M (LP_CLKRST_FOSC_OEN_V << LP_CLKRST_FOSC_OEN_S)
|
||||
#define LP_CLKRST_FOSC_OEN_V 0x00000001U
|
||||
#define LP_CLKRST_FOSC_OEN_S 3
|
||||
/** LP_CLKRST_OSC32K_OEN : R/W; bitpos: [4]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_OSC32K_OEN (BIT(4))
|
||||
#define LP_CLKRST_OSC32K_OEN_M (LP_CLKRST_OSC32K_OEN_V << LP_CLKRST_OSC32K_OEN_S)
|
||||
#define LP_CLKRST_OSC32K_OEN_V 0x00000001U
|
||||
#define LP_CLKRST_OSC32K_OEN_S 4
|
||||
/** LP_CLKRST_XTAL32K_OEN : R/W; bitpos: [5]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_XTAL32K_OEN (BIT(5))
|
||||
#define LP_CLKRST_XTAL32K_OEN_M (LP_CLKRST_XTAL32K_OEN_V << LP_CLKRST_XTAL32K_OEN_S)
|
||||
#define LP_CLKRST_XTAL32K_OEN_V 0x00000001U
|
||||
#define LP_CLKRST_XTAL32K_OEN_S 5
|
||||
/** LP_CLKRST_CORE_EFUSE_OEN : R/W; bitpos: [6]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_CORE_EFUSE_OEN (BIT(6))
|
||||
#define LP_CLKRST_CORE_EFUSE_OEN_M (LP_CLKRST_CORE_EFUSE_OEN_V << LP_CLKRST_CORE_EFUSE_OEN_S)
|
||||
#define LP_CLKRST_CORE_EFUSE_OEN_V 0x00000001U
|
||||
#define LP_CLKRST_CORE_EFUSE_OEN_S 6
|
||||
/** LP_CLKRST_SLOW_OEN : R/W; bitpos: [7]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_SLOW_OEN (BIT(7))
|
||||
#define LP_CLKRST_SLOW_OEN_M (LP_CLKRST_SLOW_OEN_V << LP_CLKRST_SLOW_OEN_S)
|
||||
#define LP_CLKRST_SLOW_OEN_V 0x00000001U
|
||||
#define LP_CLKRST_SLOW_OEN_S 7
|
||||
/** LP_CLKRST_FAST_OEN : R/W; bitpos: [8]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_FAST_OEN (BIT(8))
|
||||
#define LP_CLKRST_FAST_OEN_M (LP_CLKRST_FAST_OEN_V << LP_CLKRST_FAST_OEN_S)
|
||||
#define LP_CLKRST_FAST_OEN_V 0x00000001U
|
||||
#define LP_CLKRST_FAST_OEN_S 8
|
||||
/** LP_CLKRST_RNG_OEN : R/W; bitpos: [9]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_RNG_OEN (BIT(9))
|
||||
#define LP_CLKRST_RNG_OEN_M (LP_CLKRST_RNG_OEN_V << LP_CLKRST_RNG_OEN_S)
|
||||
#define LP_CLKRST_RNG_OEN_V 0x00000001U
|
||||
#define LP_CLKRST_RNG_OEN_S 9
|
||||
/** LP_CLKRST_LPBUS_OEN : R/W; bitpos: [10]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LPBUS_OEN (BIT(10))
|
||||
#define LP_CLKRST_LPBUS_OEN_M (LP_CLKRST_LPBUS_OEN_V << LP_CLKRST_LPBUS_OEN_S)
|
||||
#define LP_CLKRST_LPBUS_OEN_V 0x00000001U
|
||||
#define LP_CLKRST_LPBUS_OEN_S 10
|
||||
|
||||
/** LP_CLKRST_LP_CLK_EN_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LP_CLK_EN_REG (DR_REG_LP_CLKRST_BASE + 0x8)
|
||||
/** LP_CLKRST_FAST_ORI_GATE : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_FAST_ORI_GATE (BIT(31))
|
||||
#define LP_CLKRST_FAST_ORI_GATE_M (LP_CLKRST_FAST_ORI_GATE_V << LP_CLKRST_FAST_ORI_GATE_S)
|
||||
#define LP_CLKRST_FAST_ORI_GATE_V 0x00000001U
|
||||
#define LP_CLKRST_FAST_ORI_GATE_S 31
|
||||
|
||||
/** LP_CLKRST_LP_RST_EN_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LP_RST_EN_REG (DR_REG_LP_CLKRST_BASE + 0xc)
|
||||
/** LP_CLKRST_AON_EFUSE_CORE_RESET_EN : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_AON_EFUSE_CORE_RESET_EN (BIT(28))
|
||||
#define LP_CLKRST_AON_EFUSE_CORE_RESET_EN_M (LP_CLKRST_AON_EFUSE_CORE_RESET_EN_V << LP_CLKRST_AON_EFUSE_CORE_RESET_EN_S)
|
||||
#define LP_CLKRST_AON_EFUSE_CORE_RESET_EN_V 0x00000001U
|
||||
#define LP_CLKRST_AON_EFUSE_CORE_RESET_EN_S 28
|
||||
/** LP_CLKRST_LP_TIMER_RESET_EN : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LP_TIMER_RESET_EN (BIT(29))
|
||||
#define LP_CLKRST_LP_TIMER_RESET_EN_M (LP_CLKRST_LP_TIMER_RESET_EN_V << LP_CLKRST_LP_TIMER_RESET_EN_S)
|
||||
#define LP_CLKRST_LP_TIMER_RESET_EN_V 0x00000001U
|
||||
#define LP_CLKRST_LP_TIMER_RESET_EN_S 29
|
||||
/** LP_CLKRST_WDT_RESET_EN : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_WDT_RESET_EN (BIT(30))
|
||||
#define LP_CLKRST_WDT_RESET_EN_M (LP_CLKRST_WDT_RESET_EN_V << LP_CLKRST_WDT_RESET_EN_S)
|
||||
#define LP_CLKRST_WDT_RESET_EN_V 0x00000001U
|
||||
#define LP_CLKRST_WDT_RESET_EN_S 30
|
||||
/** LP_CLKRST_ANA_PERI_RESET_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_ANA_PERI_RESET_EN (BIT(31))
|
||||
#define LP_CLKRST_ANA_PERI_RESET_EN_M (LP_CLKRST_ANA_PERI_RESET_EN_V << LP_CLKRST_ANA_PERI_RESET_EN_S)
|
||||
#define LP_CLKRST_ANA_PERI_RESET_EN_V 0x00000001U
|
||||
#define LP_CLKRST_ANA_PERI_RESET_EN_S 31
|
||||
|
||||
/** LP_CLKRST_RESET_CAUSE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_RESET_CAUSE_REG (DR_REG_LP_CLKRST_BASE + 0x10)
|
||||
/** LP_CLKRST_RESET_CAUSE : RO; bitpos: [4:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_RESET_CAUSE 0x0000001FU
|
||||
#define LP_CLKRST_RESET_CAUSE_M (LP_CLKRST_RESET_CAUSE_V << LP_CLKRST_RESET_CAUSE_S)
|
||||
#define LP_CLKRST_RESET_CAUSE_V 0x0000001FU
|
||||
#define LP_CLKRST_RESET_CAUSE_S 0
|
||||
/** LP_CLKRST_CORE0_RESET_FLAG : RO; bitpos: [5]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_CORE0_RESET_FLAG (BIT(5))
|
||||
#define LP_CLKRST_CORE0_RESET_FLAG_M (LP_CLKRST_CORE0_RESET_FLAG_V << LP_CLKRST_CORE0_RESET_FLAG_S)
|
||||
#define LP_CLKRST_CORE0_RESET_FLAG_V 0x00000001U
|
||||
#define LP_CLKRST_CORE0_RESET_FLAG_S 5
|
||||
/** LP_CLKRST_CORE0_RESET_CAUSE_CLR : WT; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_CORE0_RESET_CAUSE_CLR (BIT(29))
|
||||
#define LP_CLKRST_CORE0_RESET_CAUSE_CLR_M (LP_CLKRST_CORE0_RESET_CAUSE_CLR_V << LP_CLKRST_CORE0_RESET_CAUSE_CLR_S)
|
||||
#define LP_CLKRST_CORE0_RESET_CAUSE_CLR_V 0x00000001U
|
||||
#define LP_CLKRST_CORE0_RESET_CAUSE_CLR_S 29
|
||||
/** LP_CLKRST_CORE0_RESET_FLAG_SET : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_CORE0_RESET_FLAG_SET (BIT(30))
|
||||
#define LP_CLKRST_CORE0_RESET_FLAG_SET_M (LP_CLKRST_CORE0_RESET_FLAG_SET_V << LP_CLKRST_CORE0_RESET_FLAG_SET_S)
|
||||
#define LP_CLKRST_CORE0_RESET_FLAG_SET_V 0x00000001U
|
||||
#define LP_CLKRST_CORE0_RESET_FLAG_SET_S 30
|
||||
/** LP_CLKRST_CORE0_RESET_FLAG_CLR : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_CORE0_RESET_FLAG_CLR (BIT(31))
|
||||
#define LP_CLKRST_CORE0_RESET_FLAG_CLR_M (LP_CLKRST_CORE0_RESET_FLAG_CLR_V << LP_CLKRST_CORE0_RESET_FLAG_CLR_S)
|
||||
#define LP_CLKRST_CORE0_RESET_FLAG_CLR_V 0x00000001U
|
||||
#define LP_CLKRST_CORE0_RESET_FLAG_CLR_S 31
|
||||
|
||||
/** LP_CLKRST_CPU_RESET_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_CPU_RESET_REG (DR_REG_LP_CLKRST_BASE + 0x14)
|
||||
/** LP_CLKRST_RTC_WDT_CPU_RESET_LENGTH : R/W; bitpos: [24:22]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_RTC_WDT_CPU_RESET_LENGTH 0x00000007U
|
||||
#define LP_CLKRST_RTC_WDT_CPU_RESET_LENGTH_M (LP_CLKRST_RTC_WDT_CPU_RESET_LENGTH_V << LP_CLKRST_RTC_WDT_CPU_RESET_LENGTH_S)
|
||||
#define LP_CLKRST_RTC_WDT_CPU_RESET_LENGTH_V 0x00000007U
|
||||
#define LP_CLKRST_RTC_WDT_CPU_RESET_LENGTH_S 22
|
||||
/** LP_CLKRST_RTC_WDT_CPU_RESET_EN : R/W; bitpos: [25]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_RTC_WDT_CPU_RESET_EN (BIT(25))
|
||||
#define LP_CLKRST_RTC_WDT_CPU_RESET_EN_M (LP_CLKRST_RTC_WDT_CPU_RESET_EN_V << LP_CLKRST_RTC_WDT_CPU_RESET_EN_S)
|
||||
#define LP_CLKRST_RTC_WDT_CPU_RESET_EN_V 0x00000001U
|
||||
#define LP_CLKRST_RTC_WDT_CPU_RESET_EN_S 25
|
||||
/** LP_CLKRST_CPU_STALL_WAIT : R/W; bitpos: [30:26]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_CPU_STALL_WAIT 0x0000001FU
|
||||
#define LP_CLKRST_CPU_STALL_WAIT_M (LP_CLKRST_CPU_STALL_WAIT_V << LP_CLKRST_CPU_STALL_WAIT_S)
|
||||
#define LP_CLKRST_CPU_STALL_WAIT_V 0x0000001FU
|
||||
#define LP_CLKRST_CPU_STALL_WAIT_S 26
|
||||
/** LP_CLKRST_CPU_STALL_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_CPU_STALL_EN (BIT(31))
|
||||
#define LP_CLKRST_CPU_STALL_EN_M (LP_CLKRST_CPU_STALL_EN_V << LP_CLKRST_CPU_STALL_EN_S)
|
||||
#define LP_CLKRST_CPU_STALL_EN_V 0x00000001U
|
||||
#define LP_CLKRST_CPU_STALL_EN_S 31
|
||||
|
||||
/** LP_CLKRST_FOSC_CNTL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_FOSC_CNTL_REG (DR_REG_LP_CLKRST_BASE + 0x18)
|
||||
/** LP_CLKRST_FOSC_DFREQ : R/W; bitpos: [31:22]; default: 600;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_FOSC_DFREQ 0x000003FFU
|
||||
#define LP_CLKRST_FOSC_DFREQ_M (LP_CLKRST_FOSC_DFREQ_V << LP_CLKRST_FOSC_DFREQ_S)
|
||||
#define LP_CLKRST_FOSC_DFREQ_V 0x000003FFU
|
||||
#define LP_CLKRST_FOSC_DFREQ_S 22
|
||||
|
||||
/** LP_CLKRST_RC32K_CNTL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_RC32K_CNTL_REG (DR_REG_LP_CLKRST_BASE + 0x1c)
|
||||
/** LP_CLKRST_RC32K_DFREQ : R/W; bitpos: [31:22]; default: 650;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_RC32K_DFREQ 0x000003FFU
|
||||
#define LP_CLKRST_RC32K_DFREQ_M (LP_CLKRST_RC32K_DFREQ_V << LP_CLKRST_RC32K_DFREQ_S)
|
||||
#define LP_CLKRST_RC32K_DFREQ_V 0x000003FFU
|
||||
#define LP_CLKRST_RC32K_DFREQ_S 22
|
||||
|
||||
/** LP_CLKRST_CLK_TO_HP_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_CLK_TO_HP_REG (DR_REG_LP_CLKRST_BASE + 0x20)
|
||||
/** LP_CLKRST_ICG_HP_XTAL32K : R/W; bitpos: [28]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_ICG_HP_XTAL32K (BIT(28))
|
||||
#define LP_CLKRST_ICG_HP_XTAL32K_M (LP_CLKRST_ICG_HP_XTAL32K_V << LP_CLKRST_ICG_HP_XTAL32K_S)
|
||||
#define LP_CLKRST_ICG_HP_XTAL32K_V 0x00000001U
|
||||
#define LP_CLKRST_ICG_HP_XTAL32K_S 28
|
||||
/** LP_CLKRST_ICG_HP_SOSC : R/W; bitpos: [29]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_ICG_HP_SOSC (BIT(29))
|
||||
#define LP_CLKRST_ICG_HP_SOSC_M (LP_CLKRST_ICG_HP_SOSC_V << LP_CLKRST_ICG_HP_SOSC_S)
|
||||
#define LP_CLKRST_ICG_HP_SOSC_V 0x00000001U
|
||||
#define LP_CLKRST_ICG_HP_SOSC_S 29
|
||||
/** LP_CLKRST_ICG_HP_OSC32K : R/W; bitpos: [30]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_ICG_HP_OSC32K (BIT(30))
|
||||
#define LP_CLKRST_ICG_HP_OSC32K_M (LP_CLKRST_ICG_HP_OSC32K_V << LP_CLKRST_ICG_HP_OSC32K_S)
|
||||
#define LP_CLKRST_ICG_HP_OSC32K_V 0x00000001U
|
||||
#define LP_CLKRST_ICG_HP_OSC32K_S 30
|
||||
/** LP_CLKRST_ICG_HP_FOSC : R/W; bitpos: [31]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_ICG_HP_FOSC (BIT(31))
|
||||
#define LP_CLKRST_ICG_HP_FOSC_M (LP_CLKRST_ICG_HP_FOSC_V << LP_CLKRST_ICG_HP_FOSC_S)
|
||||
#define LP_CLKRST_ICG_HP_FOSC_V 0x00000001U
|
||||
#define LP_CLKRST_ICG_HP_FOSC_S 31
|
||||
|
||||
/** LP_CLKRST_LPMEM_FORCE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LPMEM_FORCE_REG (DR_REG_LP_CLKRST_BASE + 0x24)
|
||||
/** LP_CLKRST_LPMEM_CLK_FORCE_ON : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LPMEM_CLK_FORCE_ON (BIT(31))
|
||||
#define LP_CLKRST_LPMEM_CLK_FORCE_ON_M (LP_CLKRST_LPMEM_CLK_FORCE_ON_V << LP_CLKRST_LPMEM_CLK_FORCE_ON_S)
|
||||
#define LP_CLKRST_LPMEM_CLK_FORCE_ON_V 0x00000001U
|
||||
#define LP_CLKRST_LPMEM_CLK_FORCE_ON_S 31
|
||||
|
||||
/** LP_CLKRST_LPPERI_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LPPERI_REG (DR_REG_LP_CLKRST_BASE + 0x28)
|
||||
/** LP_CLKRST_LP_BLETIMER_DIV_NUM : R/W; bitpos: [23:12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LP_BLETIMER_DIV_NUM 0x00000FFFU
|
||||
#define LP_CLKRST_LP_BLETIMER_DIV_NUM_M (LP_CLKRST_LP_BLETIMER_DIV_NUM_V << LP_CLKRST_LP_BLETIMER_DIV_NUM_S)
|
||||
#define LP_CLKRST_LP_BLETIMER_DIV_NUM_V 0x00000FFFU
|
||||
#define LP_CLKRST_LP_BLETIMER_DIV_NUM_S 12
|
||||
/** LP_CLKRST_LP_BLETIMER_32K_SEL : R/W; bitpos: [25:24]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LP_BLETIMER_32K_SEL 0x00000003U
|
||||
#define LP_CLKRST_LP_BLETIMER_32K_SEL_M (LP_CLKRST_LP_BLETIMER_32K_SEL_V << LP_CLKRST_LP_BLETIMER_32K_SEL_S)
|
||||
#define LP_CLKRST_LP_BLETIMER_32K_SEL_V 0x00000003U
|
||||
#define LP_CLKRST_LP_BLETIMER_32K_SEL_S 24
|
||||
/** LP_CLKRST_LP_SEL_OSC_SLOW : R/W; bitpos: [26]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LP_SEL_OSC_SLOW (BIT(26))
|
||||
#define LP_CLKRST_LP_SEL_OSC_SLOW_M (LP_CLKRST_LP_SEL_OSC_SLOW_V << LP_CLKRST_LP_SEL_OSC_SLOW_S)
|
||||
#define LP_CLKRST_LP_SEL_OSC_SLOW_V 0x00000001U
|
||||
#define LP_CLKRST_LP_SEL_OSC_SLOW_S 26
|
||||
/** LP_CLKRST_LP_SEL_OSC_FAST : R/W; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LP_SEL_OSC_FAST (BIT(27))
|
||||
#define LP_CLKRST_LP_SEL_OSC_FAST_M (LP_CLKRST_LP_SEL_OSC_FAST_V << LP_CLKRST_LP_SEL_OSC_FAST_S)
|
||||
#define LP_CLKRST_LP_SEL_OSC_FAST_V 0x00000001U
|
||||
#define LP_CLKRST_LP_SEL_OSC_FAST_S 27
|
||||
/** LP_CLKRST_LP_SEL_XTAL : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LP_SEL_XTAL (BIT(28))
|
||||
#define LP_CLKRST_LP_SEL_XTAL_M (LP_CLKRST_LP_SEL_XTAL_V << LP_CLKRST_LP_SEL_XTAL_S)
|
||||
#define LP_CLKRST_LP_SEL_XTAL_V 0x00000001U
|
||||
#define LP_CLKRST_LP_SEL_XTAL_S 28
|
||||
/** LP_CLKRST_LP_SEL_XTAL32K : R/W; bitpos: [29]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LP_SEL_XTAL32K (BIT(29))
|
||||
#define LP_CLKRST_LP_SEL_XTAL32K_M (LP_CLKRST_LP_SEL_XTAL32K_V << LP_CLKRST_LP_SEL_XTAL32K_S)
|
||||
#define LP_CLKRST_LP_SEL_XTAL32K_V 0x00000001U
|
||||
#define LP_CLKRST_LP_SEL_XTAL32K_S 29
|
||||
/** LP_CLKRST_LP_I2C_CLK_SEL : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LP_I2C_CLK_SEL (BIT(30))
|
||||
#define LP_CLKRST_LP_I2C_CLK_SEL_M (LP_CLKRST_LP_I2C_CLK_SEL_V << LP_CLKRST_LP_I2C_CLK_SEL_S)
|
||||
#define LP_CLKRST_LP_I2C_CLK_SEL_V 0x00000001U
|
||||
#define LP_CLKRST_LP_I2C_CLK_SEL_S 30
|
||||
/** LP_CLKRST_LP_UART_CLK_SEL : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_LP_UART_CLK_SEL (BIT(31))
|
||||
#define LP_CLKRST_LP_UART_CLK_SEL_M (LP_CLKRST_LP_UART_CLK_SEL_V << LP_CLKRST_LP_UART_CLK_SEL_S)
|
||||
#define LP_CLKRST_LP_UART_CLK_SEL_V 0x00000001U
|
||||
#define LP_CLKRST_LP_UART_CLK_SEL_S 31
|
||||
|
||||
/** LP_CLKRST_XTAL32K_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_XTAL32K_REG (DR_REG_LP_CLKRST_BASE + 0x2c)
|
||||
/** LP_CLKRST_DRES_XTAL32K : R/W; bitpos: [24:22]; default: 3;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_DRES_XTAL32K 0x00000007U
|
||||
#define LP_CLKRST_DRES_XTAL32K_M (LP_CLKRST_DRES_XTAL32K_V << LP_CLKRST_DRES_XTAL32K_S)
|
||||
#define LP_CLKRST_DRES_XTAL32K_V 0x00000007U
|
||||
#define LP_CLKRST_DRES_XTAL32K_S 22
|
||||
/** LP_CLKRST_DGM_XTAL32K : R/W; bitpos: [27:25]; default: 3;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_DGM_XTAL32K 0x00000007U
|
||||
#define LP_CLKRST_DGM_XTAL32K_M (LP_CLKRST_DGM_XTAL32K_V << LP_CLKRST_DGM_XTAL32K_S)
|
||||
#define LP_CLKRST_DGM_XTAL32K_V 0x00000007U
|
||||
#define LP_CLKRST_DGM_XTAL32K_S 25
|
||||
/** LP_CLKRST_DBUF_XTAL32K : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_DBUF_XTAL32K (BIT(28))
|
||||
#define LP_CLKRST_DBUF_XTAL32K_M (LP_CLKRST_DBUF_XTAL32K_V << LP_CLKRST_DBUF_XTAL32K_S)
|
||||
#define LP_CLKRST_DBUF_XTAL32K_V 0x00000001U
|
||||
#define LP_CLKRST_DBUF_XTAL32K_S 28
|
||||
/** LP_CLKRST_DAC_XTAL32K : R/W; bitpos: [31:29]; default: 3;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_DAC_XTAL32K 0x00000007U
|
||||
#define LP_CLKRST_DAC_XTAL32K_M (LP_CLKRST_DAC_XTAL32K_V << LP_CLKRST_DAC_XTAL32K_S)
|
||||
#define LP_CLKRST_DAC_XTAL32K_V 0x00000007U
|
||||
#define LP_CLKRST_DAC_XTAL32K_S 29
|
||||
|
||||
/** LP_CLKRST_DATE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_DATE_REG (DR_REG_LP_CLKRST_BASE + 0x3fc)
|
||||
/** LP_CLKRST_CLKRST_DATE : R/W; bitpos: [30:0]; default: 35680896;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_CLKRST_DATE 0x7FFFFFFFU
|
||||
#define LP_CLKRST_CLKRST_DATE_M (LP_CLKRST_CLKRST_DATE_V << LP_CLKRST_CLKRST_DATE_S)
|
||||
#define LP_CLKRST_CLKRST_DATE_V 0x7FFFFFFFU
|
||||
#define LP_CLKRST_CLKRST_DATE_S 0
|
||||
/** LP_CLKRST_CLK_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_CLKRST_CLK_EN (BIT(31))
|
||||
#define LP_CLKRST_CLK_EN_M (LP_CLKRST_CLK_EN_V << LP_CLKRST_CLK_EN_S)
|
||||
#define LP_CLKRST_CLK_EN_V 0x00000001U
|
||||
#define LP_CLKRST_CLK_EN_S 31
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
365
components/soc/esp32h2/include/soc/lp_clkrst_struct.h
Normal file
365
components/soc/esp32h2/include/soc/lp_clkrst_struct.h
Normal file
@ -0,0 +1,365 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: configure_register */
|
||||
/** Type of lp_clk_conf register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** slow_clk_sel : R/W; bitpos: [1:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t slow_clk_sel:2;
|
||||
/** fast_clk_sel : R/W; bitpos: [3:2]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t fast_clk_sel:2;
|
||||
/** lp_peri_div_num : R/W; bitpos: [11:4]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_peri_div_num:8;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_clkrst_lp_clk_conf_reg_t;
|
||||
|
||||
/** Type of lp_clk_po_en register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** aon_slow_oen : R/W; bitpos: [0]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t aon_slow_oen:1;
|
||||
/** aon_fast_oen : R/W; bitpos: [1]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t aon_fast_oen:1;
|
||||
/** sosc_oen : R/W; bitpos: [2]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t sosc_oen:1;
|
||||
/** fosc_oen : R/W; bitpos: [3]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t fosc_oen:1;
|
||||
/** osc32k_oen : R/W; bitpos: [4]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t osc32k_oen:1;
|
||||
/** xtal32k_oen : R/W; bitpos: [5]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t xtal32k_oen:1;
|
||||
/** core_efuse_oen : R/W; bitpos: [6]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t core_efuse_oen:1;
|
||||
/** slow_oen : R/W; bitpos: [7]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t slow_oen:1;
|
||||
/** fast_oen : R/W; bitpos: [8]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t fast_oen:1;
|
||||
/** rng_oen : R/W; bitpos: [9]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rng_oen:1;
|
||||
/** lpbus_oen : R/W; bitpos: [10]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lpbus_oen:1;
|
||||
uint32_t reserved_11:21;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_clkrst_lp_clk_po_en_reg_t;
|
||||
|
||||
/** Type of lp_clk_en register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** fast_ori_gate : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t fast_ori_gate:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_clkrst_lp_clk_en_reg_t;
|
||||
|
||||
/** Type of lp_rst_en register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:28;
|
||||
/** aon_efuse_core_reset_en : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t aon_efuse_core_reset_en:1;
|
||||
/** lp_timer_reset_en : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_timer_reset_en:1;
|
||||
/** wdt_reset_en : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_reset_en:1;
|
||||
/** ana_peri_reset_en : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ana_peri_reset_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_clkrst_lp_rst_en_reg_t;
|
||||
|
||||
/** Type of reset_cause register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reset_cause : RO; bitpos: [4:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t reset_cause:5;
|
||||
/** core0_reset_flag : RO; bitpos: [5]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t core0_reset_flag:1;
|
||||
uint32_t reserved_6:23;
|
||||
/** core0_reset_cause_clr : WT; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t core0_reset_cause_clr:1;
|
||||
/** core0_reset_flag_set : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t core0_reset_flag_set:1;
|
||||
/** core0_reset_flag_clr : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t core0_reset_flag_clr:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_clkrst_reset_cause_reg_t;
|
||||
|
||||
/** Type of cpu_reset register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:22;
|
||||
/** rtc_wdt_cpu_reset_length : R/W; bitpos: [24:22]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rtc_wdt_cpu_reset_length:3;
|
||||
/** rtc_wdt_cpu_reset_en : R/W; bitpos: [25]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rtc_wdt_cpu_reset_en:1;
|
||||
/** cpu_stall_wait : R/W; bitpos: [30:26]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t cpu_stall_wait:5;
|
||||
/** cpu_stall_en : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t cpu_stall_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_clkrst_cpu_reset_reg_t;
|
||||
|
||||
/** Type of fosc_cntl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:22;
|
||||
/** fosc_dfreq : R/W; bitpos: [31:22]; default: 600;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t fosc_dfreq:10;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_clkrst_fosc_cntl_reg_t;
|
||||
|
||||
/** Type of rc32k_cntl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:22;
|
||||
/** rc32k_dfreq : R/W; bitpos: [31:22]; default: 650;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rc32k_dfreq:10;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_clkrst_rc32k_cntl_reg_t;
|
||||
|
||||
/** Type of clk_to_hp register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:28;
|
||||
/** icg_hp_xtal32k : R/W; bitpos: [28]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t icg_hp_xtal32k:1;
|
||||
/** icg_hp_sosc : R/W; bitpos: [29]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t icg_hp_sosc:1;
|
||||
/** icg_hp_osc32k : R/W; bitpos: [30]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t icg_hp_osc32k:1;
|
||||
/** icg_hp_fosc : R/W; bitpos: [31]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t icg_hp_fosc:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_clkrst_clk_to_hp_reg_t;
|
||||
|
||||
/** Type of lpmem_force register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** lpmem_clk_force_on : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lpmem_clk_force_on:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_clkrst_lpmem_force_reg_t;
|
||||
|
||||
/** Type of lpperi register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:12;
|
||||
/** lp_bletimer_div_num : R/W; bitpos: [23:12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_bletimer_div_num:12;
|
||||
/** lp_bletimer_32k_sel : R/W; bitpos: [25:24]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_bletimer_32k_sel:2;
|
||||
/** lp_sel_osc_slow : R/W; bitpos: [26]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_sel_osc_slow:1;
|
||||
/** lp_sel_osc_fast : R/W; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_sel_osc_fast:1;
|
||||
/** lp_sel_xtal : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_sel_xtal:1;
|
||||
/** lp_sel_xtal32k : R/W; bitpos: [29]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_sel_xtal32k:1;
|
||||
/** lp_i2c_clk_sel : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2c_clk_sel:1;
|
||||
/** lp_uart_clk_sel : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_uart_clk_sel:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_clkrst_lpperi_reg_t;
|
||||
|
||||
/** Type of xtal32k register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:22;
|
||||
/** dres_xtal32k : R/W; bitpos: [24:22]; default: 3;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t dres_xtal32k:3;
|
||||
/** dgm_xtal32k : R/W; bitpos: [27:25]; default: 3;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t dgm_xtal32k:3;
|
||||
/** dbuf_xtal32k : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t dbuf_xtal32k:1;
|
||||
/** dac_xtal32k : R/W; bitpos: [31:29]; default: 3;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t dac_xtal32k:3;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_clkrst_xtal32k_reg_t;
|
||||
|
||||
/** Type of date register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clkrst_date : R/W; bitpos: [30:0]; default: 35680896;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clkrst_date:31;
|
||||
/** clk_en : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_clkrst_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile lp_clkrst_lp_clk_conf_reg_t lp_clk_conf;
|
||||
volatile lp_clkrst_lp_clk_po_en_reg_t lp_clk_po_en;
|
||||
volatile lp_clkrst_lp_clk_en_reg_t lp_clk_en;
|
||||
volatile lp_clkrst_lp_rst_en_reg_t lp_rst_en;
|
||||
volatile lp_clkrst_reset_cause_reg_t reset_cause;
|
||||
volatile lp_clkrst_cpu_reset_reg_t cpu_reset;
|
||||
volatile lp_clkrst_fosc_cntl_reg_t fosc_cntl;
|
||||
volatile lp_clkrst_rc32k_cntl_reg_t rc32k_cntl;
|
||||
volatile lp_clkrst_clk_to_hp_reg_t clk_to_hp;
|
||||
volatile lp_clkrst_lpmem_force_reg_t lpmem_force;
|
||||
volatile lp_clkrst_lpperi_reg_t lpperi;
|
||||
volatile lp_clkrst_xtal32k_reg_t xtal32k;
|
||||
uint32_t reserved_030[243];
|
||||
volatile lp_clkrst_date_reg_t date;
|
||||
} lp_clkrst_dev_t;
|
||||
|
||||
extern lp_clkrst_dev_t LP_CLKRST;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(lp_clkrst_dev_t) == 0x400, "Invalid size of lp_clkrst_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
235
components/soc/esp32h2/include/soc/lp_timer_reg.h
Normal file
235
components/soc/esp32h2/include/soc/lp_timer_reg.h
Normal file
@ -0,0 +1,235 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** LP_TIMER_TAR0_LOW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_TAR0_LOW_REG (DR_REG_LP_TIMER_BASE + 0x0)
|
||||
/** LP_TIMER_MAIN_TIMER_TAR_LOW0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_TIMER_TAR_LOW0 0xFFFFFFFFU
|
||||
#define LP_TIMER_MAIN_TIMER_TAR_LOW0_M (LP_TIMER_MAIN_TIMER_TAR_LOW0_V << LP_TIMER_MAIN_TIMER_TAR_LOW0_S)
|
||||
#define LP_TIMER_MAIN_TIMER_TAR_LOW0_V 0xFFFFFFFFU
|
||||
#define LP_TIMER_MAIN_TIMER_TAR_LOW0_S 0
|
||||
|
||||
/** LP_TIMER_TAR0_HIGH_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_TAR0_HIGH_REG (DR_REG_LP_TIMER_BASE + 0x4)
|
||||
/** LP_TIMER_MAIN_TIMER_TAR_HIGH0 : R/W; bitpos: [15:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_TIMER_TAR_HIGH0 0x0000FFFFU
|
||||
#define LP_TIMER_MAIN_TIMER_TAR_HIGH0_M (LP_TIMER_MAIN_TIMER_TAR_HIGH0_V << LP_TIMER_MAIN_TIMER_TAR_HIGH0_S)
|
||||
#define LP_TIMER_MAIN_TIMER_TAR_HIGH0_V 0x0000FFFFU
|
||||
#define LP_TIMER_MAIN_TIMER_TAR_HIGH0_S 0
|
||||
/** LP_TIMER_MAIN_TIMER_TAR_EN0 : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_TIMER_TAR_EN0 (BIT(31))
|
||||
#define LP_TIMER_MAIN_TIMER_TAR_EN0_M (LP_TIMER_MAIN_TIMER_TAR_EN0_V << LP_TIMER_MAIN_TIMER_TAR_EN0_S)
|
||||
#define LP_TIMER_MAIN_TIMER_TAR_EN0_V 0x00000001U
|
||||
#define LP_TIMER_MAIN_TIMER_TAR_EN0_S 31
|
||||
|
||||
/** LP_TIMER_UPDATE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_UPDATE_REG (DR_REG_LP_TIMER_BASE + 0x10)
|
||||
/** LP_TIMER_MAIN_TIMER_UPDATE : WT; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_TIMER_UPDATE (BIT(28))
|
||||
#define LP_TIMER_MAIN_TIMER_UPDATE_M (LP_TIMER_MAIN_TIMER_UPDATE_V << LP_TIMER_MAIN_TIMER_UPDATE_S)
|
||||
#define LP_TIMER_MAIN_TIMER_UPDATE_V 0x00000001U
|
||||
#define LP_TIMER_MAIN_TIMER_UPDATE_S 28
|
||||
/** LP_TIMER_MAIN_TIMER_XTAL_OFF : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_TIMER_XTAL_OFF (BIT(29))
|
||||
#define LP_TIMER_MAIN_TIMER_XTAL_OFF_M (LP_TIMER_MAIN_TIMER_XTAL_OFF_V << LP_TIMER_MAIN_TIMER_XTAL_OFF_S)
|
||||
#define LP_TIMER_MAIN_TIMER_XTAL_OFF_V 0x00000001U
|
||||
#define LP_TIMER_MAIN_TIMER_XTAL_OFF_S 29
|
||||
/** LP_TIMER_MAIN_TIMER_SYS_STALL : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_TIMER_SYS_STALL (BIT(30))
|
||||
#define LP_TIMER_MAIN_TIMER_SYS_STALL_M (LP_TIMER_MAIN_TIMER_SYS_STALL_V << LP_TIMER_MAIN_TIMER_SYS_STALL_S)
|
||||
#define LP_TIMER_MAIN_TIMER_SYS_STALL_V 0x00000001U
|
||||
#define LP_TIMER_MAIN_TIMER_SYS_STALL_S 30
|
||||
/** LP_TIMER_MAIN_TIMER_SYS_RST : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_TIMER_SYS_RST (BIT(31))
|
||||
#define LP_TIMER_MAIN_TIMER_SYS_RST_M (LP_TIMER_MAIN_TIMER_SYS_RST_V << LP_TIMER_MAIN_TIMER_SYS_RST_S)
|
||||
#define LP_TIMER_MAIN_TIMER_SYS_RST_V 0x00000001U
|
||||
#define LP_TIMER_MAIN_TIMER_SYS_RST_S 31
|
||||
|
||||
/** LP_TIMER_MAIN_BUF0_LOW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_BUF0_LOW_REG (DR_REG_LP_TIMER_BASE + 0x14)
|
||||
/** LP_TIMER_MAIN_TIMER_BUF0_LOW : RO; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_TIMER_BUF0_LOW 0xFFFFFFFFU
|
||||
#define LP_TIMER_MAIN_TIMER_BUF0_LOW_M (LP_TIMER_MAIN_TIMER_BUF0_LOW_V << LP_TIMER_MAIN_TIMER_BUF0_LOW_S)
|
||||
#define LP_TIMER_MAIN_TIMER_BUF0_LOW_V 0xFFFFFFFFU
|
||||
#define LP_TIMER_MAIN_TIMER_BUF0_LOW_S 0
|
||||
|
||||
/** LP_TIMER_MAIN_BUF0_HIGH_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_BUF0_HIGH_REG (DR_REG_LP_TIMER_BASE + 0x18)
|
||||
/** LP_TIMER_MAIN_TIMER_BUF0_HIGH : RO; bitpos: [15:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_TIMER_BUF0_HIGH 0x0000FFFFU
|
||||
#define LP_TIMER_MAIN_TIMER_BUF0_HIGH_M (LP_TIMER_MAIN_TIMER_BUF0_HIGH_V << LP_TIMER_MAIN_TIMER_BUF0_HIGH_S)
|
||||
#define LP_TIMER_MAIN_TIMER_BUF0_HIGH_V 0x0000FFFFU
|
||||
#define LP_TIMER_MAIN_TIMER_BUF0_HIGH_S 0
|
||||
|
||||
/** LP_TIMER_MAIN_BUF1_LOW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_BUF1_LOW_REG (DR_REG_LP_TIMER_BASE + 0x1c)
|
||||
/** LP_TIMER_MAIN_TIMER_BUF1_LOW : RO; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_TIMER_BUF1_LOW 0xFFFFFFFFU
|
||||
#define LP_TIMER_MAIN_TIMER_BUF1_LOW_M (LP_TIMER_MAIN_TIMER_BUF1_LOW_V << LP_TIMER_MAIN_TIMER_BUF1_LOW_S)
|
||||
#define LP_TIMER_MAIN_TIMER_BUF1_LOW_V 0xFFFFFFFFU
|
||||
#define LP_TIMER_MAIN_TIMER_BUF1_LOW_S 0
|
||||
|
||||
/** LP_TIMER_MAIN_BUF1_HIGH_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_BUF1_HIGH_REG (DR_REG_LP_TIMER_BASE + 0x20)
|
||||
/** LP_TIMER_MAIN_TIMER_BUF1_HIGH : RO; bitpos: [15:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_TIMER_BUF1_HIGH 0x0000FFFFU
|
||||
#define LP_TIMER_MAIN_TIMER_BUF1_HIGH_M (LP_TIMER_MAIN_TIMER_BUF1_HIGH_V << LP_TIMER_MAIN_TIMER_BUF1_HIGH_S)
|
||||
#define LP_TIMER_MAIN_TIMER_BUF1_HIGH_V 0x0000FFFFU
|
||||
#define LP_TIMER_MAIN_TIMER_BUF1_HIGH_S 0
|
||||
|
||||
/** LP_TIMER_MAIN_OVERFLOW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_OVERFLOW_REG (DR_REG_LP_TIMER_BASE + 0x24)
|
||||
/** LP_TIMER_MAIN_TIMER_ALARM_LOAD : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_MAIN_TIMER_ALARM_LOAD (BIT(31))
|
||||
#define LP_TIMER_MAIN_TIMER_ALARM_LOAD_M (LP_TIMER_MAIN_TIMER_ALARM_LOAD_V << LP_TIMER_MAIN_TIMER_ALARM_LOAD_S)
|
||||
#define LP_TIMER_MAIN_TIMER_ALARM_LOAD_V 0x00000001U
|
||||
#define LP_TIMER_MAIN_TIMER_ALARM_LOAD_S 31
|
||||
|
||||
/** LP_TIMER_INT_RAW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_INT_RAW_REG (DR_REG_LP_TIMER_BASE + 0x28)
|
||||
/** LP_TIMER_OVERFLOW_RAW : R/WTC/SS; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_OVERFLOW_RAW (BIT(30))
|
||||
#define LP_TIMER_OVERFLOW_RAW_M (LP_TIMER_OVERFLOW_RAW_V << LP_TIMER_OVERFLOW_RAW_S)
|
||||
#define LP_TIMER_OVERFLOW_RAW_V 0x00000001U
|
||||
#define LP_TIMER_OVERFLOW_RAW_S 30
|
||||
/** LP_TIMER_SOC_WAKEUP_INT_RAW : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_RAW (BIT(31))
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_RAW_M (LP_TIMER_SOC_WAKEUP_INT_RAW_V << LP_TIMER_SOC_WAKEUP_INT_RAW_S)
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_RAW_V 0x00000001U
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_RAW_S 31
|
||||
|
||||
/** LP_TIMER_INT_ST_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_INT_ST_REG (DR_REG_LP_TIMER_BASE + 0x2c)
|
||||
/** LP_TIMER_OVERFLOW_ST : RO; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_OVERFLOW_ST (BIT(30))
|
||||
#define LP_TIMER_OVERFLOW_ST_M (LP_TIMER_OVERFLOW_ST_V << LP_TIMER_OVERFLOW_ST_S)
|
||||
#define LP_TIMER_OVERFLOW_ST_V 0x00000001U
|
||||
#define LP_TIMER_OVERFLOW_ST_S 30
|
||||
/** LP_TIMER_SOC_WAKEUP_INT_ST : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_ST (BIT(31))
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_ST_M (LP_TIMER_SOC_WAKEUP_INT_ST_V << LP_TIMER_SOC_WAKEUP_INT_ST_S)
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_ST_V 0x00000001U
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_ST_S 31
|
||||
|
||||
/** LP_TIMER_INT_ENA_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_INT_ENA_REG (DR_REG_LP_TIMER_BASE + 0x30)
|
||||
/** LP_TIMER_OVERFLOW_ENA : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_OVERFLOW_ENA (BIT(30))
|
||||
#define LP_TIMER_OVERFLOW_ENA_M (LP_TIMER_OVERFLOW_ENA_V << LP_TIMER_OVERFLOW_ENA_S)
|
||||
#define LP_TIMER_OVERFLOW_ENA_V 0x00000001U
|
||||
#define LP_TIMER_OVERFLOW_ENA_S 30
|
||||
/** LP_TIMER_SOC_WAKEUP_INT_ENA : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_ENA (BIT(31))
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_ENA_M (LP_TIMER_SOC_WAKEUP_INT_ENA_V << LP_TIMER_SOC_WAKEUP_INT_ENA_S)
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_ENA_V 0x00000001U
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_ENA_S 31
|
||||
|
||||
/** LP_TIMER_INT_CLR_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_INT_CLR_REG (DR_REG_LP_TIMER_BASE + 0x34)
|
||||
/** LP_TIMER_OVERFLOW_CLR : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_OVERFLOW_CLR (BIT(30))
|
||||
#define LP_TIMER_OVERFLOW_CLR_M (LP_TIMER_OVERFLOW_CLR_V << LP_TIMER_OVERFLOW_CLR_S)
|
||||
#define LP_TIMER_OVERFLOW_CLR_V 0x00000001U
|
||||
#define LP_TIMER_OVERFLOW_CLR_S 30
|
||||
/** LP_TIMER_SOC_WAKEUP_INT_CLR : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_CLR (BIT(31))
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_CLR_M (LP_TIMER_SOC_WAKEUP_INT_CLR_V << LP_TIMER_SOC_WAKEUP_INT_CLR_S)
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_CLR_V 0x00000001U
|
||||
#define LP_TIMER_SOC_WAKEUP_INT_CLR_S 31
|
||||
|
||||
/** LP_TIMER_DATE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_DATE_REG (DR_REG_LP_TIMER_BASE + 0x3fc)
|
||||
/** LP_TIMER_DATE : R/W; bitpos: [30:0]; default: 34672976;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_DATE 0x7FFFFFFFU
|
||||
#define LP_TIMER_DATE_M (LP_TIMER_DATE_V << LP_TIMER_DATE_S)
|
||||
#define LP_TIMER_DATE_V 0x7FFFFFFFU
|
||||
#define LP_TIMER_DATE_S 0
|
||||
/** LP_TIMER_CLK_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_TIMER_CLK_EN (BIT(31))
|
||||
#define LP_TIMER_CLK_EN_M (LP_TIMER_CLK_EN_V << LP_TIMER_CLK_EN_S)
|
||||
#define LP_TIMER_CLK_EN_V 0x00000001U
|
||||
#define LP_TIMER_CLK_EN_S 31
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
255
components/soc/esp32h2/include/soc/lp_timer_struct.h
Normal file
255
components/soc/esp32h2/include/soc/lp_timer_struct.h
Normal file
@ -0,0 +1,255 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: configure_register */
|
||||
/** Type of tar0_low register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** main_timer_tar_low0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_tar_low0:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_timer_tar0_low_reg_t;
|
||||
|
||||
/** Type of tar0_high register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** main_timer_tar_high0 : R/W; bitpos: [15:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_tar_high0:16;
|
||||
uint32_t reserved_16:15;
|
||||
/** main_timer_tar_en0 : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_tar_en0:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_timer_tar0_high_reg_t;
|
||||
|
||||
/** Type of update register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:28;
|
||||
/** main_timer_update : WT; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_update:1;
|
||||
/** main_timer_xtal_off : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_xtal_off:1;
|
||||
/** main_timer_sys_stall : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_sys_stall:1;
|
||||
/** main_timer_sys_rst : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_sys_rst:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_timer_update_reg_t;
|
||||
|
||||
/** Type of main_buf0_low register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** main_timer_buf0_low : RO; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_buf0_low:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_timer_main_buf0_low_reg_t;
|
||||
|
||||
/** Type of main_buf0_high register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** main_timer_buf0_high : RO; bitpos: [15:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_buf0_high:16;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_timer_main_buf0_high_reg_t;
|
||||
|
||||
/** Type of main_buf1_low register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** main_timer_buf1_low : RO; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_buf1_low:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_timer_main_buf1_low_reg_t;
|
||||
|
||||
/** Type of main_buf1_high register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** main_timer_buf1_high : RO; bitpos: [15:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_buf1_high:16;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_timer_main_buf1_high_reg_t;
|
||||
|
||||
/** Type of main_overflow register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** main_timer_alarm_load : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_alarm_load:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_timer_main_overflow_reg_t;
|
||||
|
||||
/** Type of int_raw register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** overflow_raw : R/WTC/SS; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t overflow_raw:1;
|
||||
/** soc_wakeup_int_raw : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t soc_wakeup_int_raw:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_timer_int_raw_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** overflow_st : RO; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t overflow_st:1;
|
||||
/** soc_wakeup_int_st : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t soc_wakeup_int_st:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_timer_int_st_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** overflow_ena : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t overflow_ena:1;
|
||||
/** soc_wakeup_int_ena : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t soc_wakeup_int_ena:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_timer_int_ena_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** overflow_clr : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t overflow_clr:1;
|
||||
/** soc_wakeup_int_clr : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t soc_wakeup_int_clr:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_timer_int_clr_reg_t;
|
||||
|
||||
/** Type of date register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [30:0]; default: 34672976;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t date:31;
|
||||
/** clk_en : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_timer_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile lp_timer_tar0_low_reg_t tar0_low;
|
||||
volatile lp_timer_tar0_high_reg_t tar0_high;
|
||||
uint32_t reserved_008[2];
|
||||
volatile lp_timer_update_reg_t update;
|
||||
volatile lp_timer_main_buf0_low_reg_t main_buf0_low;
|
||||
volatile lp_timer_main_buf0_high_reg_t main_buf0_high;
|
||||
volatile lp_timer_main_buf1_low_reg_t main_buf1_low;
|
||||
volatile lp_timer_main_buf1_high_reg_t main_buf1_high;
|
||||
volatile lp_timer_main_overflow_reg_t main_overflow;
|
||||
volatile lp_timer_int_raw_reg_t int_raw;
|
||||
volatile lp_timer_int_st_reg_t int_st;
|
||||
volatile lp_timer_int_ena_reg_t int_ena;
|
||||
volatile lp_timer_int_clr_reg_t int_clr;
|
||||
uint32_t reserved_038[241];
|
||||
volatile lp_timer_date_reg_t date;
|
||||
} lp_timer_dev_t;
|
||||
|
||||
extern lp_timer_dev_t LP_TIMER;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(lp_timer_dev_t) == 0x400, "Invalid size of lp_timer_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
366
components/soc/esp32h2/include/soc/lp_wdt_reg.h
Normal file
366
components/soc/esp32h2/include/soc/lp_wdt_reg.h
Normal file
@ -0,0 +1,366 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// ESP32H2-TODO: IDF-5730 better to move to wdt_types.h
|
||||
/* The value that needs to be written to RTC_CNTL_WDT_WKEY to write-enable the wdt registers */
|
||||
#define RTC_CNTL_WDT_WKEY_VALUE 0x50D83AA1
|
||||
/* The value that needs to be written to LP_WDT_SWD_WPROTECT_REG to write-enable the swd registers */
|
||||
#define LP_WDT_SWD_WKEY_VALUE 0x50D83AA1
|
||||
|
||||
/* Possible values for RTC_CNTL_WDT_CPU_RESET_LENGTH and RTC_CNTL_WDT_SYS_RESET_LENGTH */
|
||||
#define RTC_WDT_RESET_LENGTH_100_NS 0
|
||||
#define RTC_WDT_RESET_LENGTH_200_NS 1
|
||||
#define RTC_WDT_RESET_LENGTH_300_NS 2
|
||||
#define RTC_WDT_RESET_LENGTH_400_NS 3
|
||||
#define RTC_WDT_RESET_LENGTH_500_NS 4
|
||||
#define RTC_WDT_RESET_LENGTH_800_NS 5
|
||||
#define RTC_WDT_RESET_LENGTH_1600_NS 6
|
||||
#define RTC_WDT_RESET_LENGTH_3200_NS 7
|
||||
|
||||
/** LP_WDT_CONFIG0_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_CONFIG0_REG (DR_REG_LP_WDT_BASE + 0x0)
|
||||
/** LP_WDT_WDT_PAUSE_IN_SLP : R/W; bitpos: [9]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_PAUSE_IN_SLP (BIT(9))
|
||||
#define LP_WDT_WDT_PAUSE_IN_SLP_M (LP_WDT_WDT_PAUSE_IN_SLP_V << LP_WDT_WDT_PAUSE_IN_SLP_S)
|
||||
#define LP_WDT_WDT_PAUSE_IN_SLP_V 0x00000001U
|
||||
#define LP_WDT_WDT_PAUSE_IN_SLP_S 9
|
||||
/** LP_WDT_WDT_APPCPU_RESET_EN : R/W; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_APPCPU_RESET_EN (BIT(10))
|
||||
#define LP_WDT_WDT_APPCPU_RESET_EN_M (LP_WDT_WDT_APPCPU_RESET_EN_V << LP_WDT_WDT_APPCPU_RESET_EN_S)
|
||||
#define LP_WDT_WDT_APPCPU_RESET_EN_V 0x00000001U
|
||||
#define LP_WDT_WDT_APPCPU_RESET_EN_S 10
|
||||
/** LP_WDT_WDT_PROCPU_RESET_EN : R/W; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_PROCPU_RESET_EN (BIT(11))
|
||||
#define LP_WDT_WDT_PROCPU_RESET_EN_M (LP_WDT_WDT_PROCPU_RESET_EN_V << LP_WDT_WDT_PROCPU_RESET_EN_S)
|
||||
#define LP_WDT_WDT_PROCPU_RESET_EN_V 0x00000001U
|
||||
#define LP_WDT_WDT_PROCPU_RESET_EN_S 11
|
||||
/** LP_WDT_WDT_FLASHBOOT_MOD_EN : R/W; bitpos: [12]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_FLASHBOOT_MOD_EN (BIT(12))
|
||||
#define LP_WDT_WDT_FLASHBOOT_MOD_EN_M (LP_WDT_WDT_FLASHBOOT_MOD_EN_V << LP_WDT_WDT_FLASHBOOT_MOD_EN_S)
|
||||
#define LP_WDT_WDT_FLASHBOOT_MOD_EN_V 0x00000001U
|
||||
#define LP_WDT_WDT_FLASHBOOT_MOD_EN_S 12
|
||||
/** LP_WDT_WDT_SYS_RESET_LENGTH : R/W; bitpos: [15:13]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_SYS_RESET_LENGTH 0x00000007U
|
||||
#define LP_WDT_WDT_SYS_RESET_LENGTH_M (LP_WDT_WDT_SYS_RESET_LENGTH_V << LP_WDT_WDT_SYS_RESET_LENGTH_S)
|
||||
#define LP_WDT_WDT_SYS_RESET_LENGTH_V 0x00000007U
|
||||
#define LP_WDT_WDT_SYS_RESET_LENGTH_S 13
|
||||
/** LP_WDT_WDT_CPU_RESET_LENGTH : R/W; bitpos: [18:16]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_CPU_RESET_LENGTH 0x00000007U
|
||||
#define LP_WDT_WDT_CPU_RESET_LENGTH_M (LP_WDT_WDT_CPU_RESET_LENGTH_V << LP_WDT_WDT_CPU_RESET_LENGTH_S)
|
||||
#define LP_WDT_WDT_CPU_RESET_LENGTH_V 0x00000007U
|
||||
#define LP_WDT_WDT_CPU_RESET_LENGTH_S 16
|
||||
/** LP_WDT_WDT_STG3 : R/W; bitpos: [21:19]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_STG3 0x00000007U
|
||||
#define LP_WDT_WDT_STG3_M (LP_WDT_WDT_STG3_V << LP_WDT_WDT_STG3_S)
|
||||
#define LP_WDT_WDT_STG3_V 0x00000007U
|
||||
#define LP_WDT_WDT_STG3_S 19
|
||||
/** LP_WDT_WDT_STG2 : R/W; bitpos: [24:22]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_STG2 0x00000007U
|
||||
#define LP_WDT_WDT_STG2_M (LP_WDT_WDT_STG2_V << LP_WDT_WDT_STG2_S)
|
||||
#define LP_WDT_WDT_STG2_V 0x00000007U
|
||||
#define LP_WDT_WDT_STG2_S 22
|
||||
/** LP_WDT_WDT_STG1 : R/W; bitpos: [27:25]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_STG1 0x00000007U
|
||||
#define LP_WDT_WDT_STG1_M (LP_WDT_WDT_STG1_V << LP_WDT_WDT_STG1_S)
|
||||
#define LP_WDT_WDT_STG1_V 0x00000007U
|
||||
#define LP_WDT_WDT_STG1_S 25
|
||||
/** LP_WDT_WDT_STG0 : R/W; bitpos: [30:28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_STG0 0x00000007U
|
||||
#define LP_WDT_WDT_STG0_M (LP_WDT_WDT_STG0_V << LP_WDT_WDT_STG0_S)
|
||||
#define LP_WDT_WDT_STG0_V 0x00000007U
|
||||
#define LP_WDT_WDT_STG0_S 28
|
||||
/** LP_WDT_WDT_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_EN (BIT(31))
|
||||
#define LP_WDT_WDT_EN_M (LP_WDT_WDT_EN_V << LP_WDT_WDT_EN_S)
|
||||
#define LP_WDT_WDT_EN_V 0x00000001U
|
||||
#define LP_WDT_WDT_EN_S 31
|
||||
|
||||
/** LP_WDT_CONFIG1_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_CONFIG1_REG (DR_REG_LP_WDT_BASE + 0x4)
|
||||
/** LP_WDT_WDT_STG0_HOLD : R/W; bitpos: [31:0]; default: 200000;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_STG0_HOLD 0xFFFFFFFFU
|
||||
#define LP_WDT_WDT_STG0_HOLD_M (LP_WDT_WDT_STG0_HOLD_V << LP_WDT_WDT_STG0_HOLD_S)
|
||||
#define LP_WDT_WDT_STG0_HOLD_V 0xFFFFFFFFU
|
||||
#define LP_WDT_WDT_STG0_HOLD_S 0
|
||||
|
||||
/** LP_WDT_CONFIG2_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_CONFIG2_REG (DR_REG_LP_WDT_BASE + 0x8)
|
||||
/** LP_WDT_WDT_STG1_HOLD : R/W; bitpos: [31:0]; default: 80000;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_STG1_HOLD 0xFFFFFFFFU
|
||||
#define LP_WDT_WDT_STG1_HOLD_M (LP_WDT_WDT_STG1_HOLD_V << LP_WDT_WDT_STG1_HOLD_S)
|
||||
#define LP_WDT_WDT_STG1_HOLD_V 0xFFFFFFFFU
|
||||
#define LP_WDT_WDT_STG1_HOLD_S 0
|
||||
|
||||
/** LP_WDT_CONFIG3_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_CONFIG3_REG (DR_REG_LP_WDT_BASE + 0xc)
|
||||
/** LP_WDT_WDT_STG2_HOLD : R/W; bitpos: [31:0]; default: 4095;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_STG2_HOLD 0xFFFFFFFFU
|
||||
#define LP_WDT_WDT_STG2_HOLD_M (LP_WDT_WDT_STG2_HOLD_V << LP_WDT_WDT_STG2_HOLD_S)
|
||||
#define LP_WDT_WDT_STG2_HOLD_V 0xFFFFFFFFU
|
||||
#define LP_WDT_WDT_STG2_HOLD_S 0
|
||||
|
||||
/** LP_WDT_CONFIG4_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_CONFIG4_REG (DR_REG_LP_WDT_BASE + 0x10)
|
||||
/** LP_WDT_WDT_STG3_HOLD : R/W; bitpos: [31:0]; default: 4095;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_STG3_HOLD 0xFFFFFFFFU
|
||||
#define LP_WDT_WDT_STG3_HOLD_M (LP_WDT_WDT_STG3_HOLD_V << LP_WDT_WDT_STG3_HOLD_S)
|
||||
#define LP_WDT_WDT_STG3_HOLD_V 0xFFFFFFFFU
|
||||
#define LP_WDT_WDT_STG3_HOLD_S 0
|
||||
|
||||
/** LP_WDT_CONFIG5_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_CONFIG5_REG (DR_REG_LP_WDT_BASE + 0x14)
|
||||
/** LP_WDT_CHIP_RESET_TARGET : R/W; bitpos: [7:0]; default: 255;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_CHIP_RESET_TARGET 0x000000FFU
|
||||
#define LP_WDT_CHIP_RESET_TARGET_M (LP_WDT_CHIP_RESET_TARGET_V << LP_WDT_CHIP_RESET_TARGET_S)
|
||||
#define LP_WDT_CHIP_RESET_TARGET_V 0x000000FFU
|
||||
#define LP_WDT_CHIP_RESET_TARGET_S 0
|
||||
/** LP_WDT_CHIP_RESET_EN : R/W; bitpos: [8]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_CHIP_RESET_EN (BIT(8))
|
||||
#define LP_WDT_CHIP_RESET_EN_M (LP_WDT_CHIP_RESET_EN_V << LP_WDT_CHIP_RESET_EN_S)
|
||||
#define LP_WDT_CHIP_RESET_EN_V 0x00000001U
|
||||
#define LP_WDT_CHIP_RESET_EN_S 8
|
||||
/** LP_WDT_CHIP_RESET_KEY : R/W; bitpos: [16:9]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_CHIP_RESET_KEY 0x000000FFU
|
||||
#define LP_WDT_CHIP_RESET_KEY_M (LP_WDT_CHIP_RESET_KEY_V << LP_WDT_CHIP_RESET_KEY_S)
|
||||
#define LP_WDT_CHIP_RESET_KEY_V 0x000000FFU
|
||||
#define LP_WDT_CHIP_RESET_KEY_S 9
|
||||
|
||||
/** LP_WDT_FEED_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_FEED_REG (DR_REG_LP_WDT_BASE + 0x18)
|
||||
/** LP_WDT_RTC_WDT_FEED : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_RTC_WDT_FEED (BIT(31))
|
||||
#define LP_WDT_RTC_WDT_FEED_M (LP_WDT_RTC_WDT_FEED_V << LP_WDT_RTC_WDT_FEED_S)
|
||||
#define LP_WDT_RTC_WDT_FEED_V 0x00000001U
|
||||
#define LP_WDT_RTC_WDT_FEED_S 31
|
||||
|
||||
/** LP_WDT_WPROTECT_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WPROTECT_REG (DR_REG_LP_WDT_BASE + 0x1c)
|
||||
/** LP_WDT_WDT_WKEY : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_WDT_WKEY 0xFFFFFFFFU
|
||||
#define LP_WDT_WDT_WKEY_M (LP_WDT_WDT_WKEY_V << LP_WDT_WDT_WKEY_S)
|
||||
#define LP_WDT_WDT_WKEY_V 0xFFFFFFFFU
|
||||
#define LP_WDT_WDT_WKEY_S 0
|
||||
|
||||
/** LP_WDT_SWD_CONFIG_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_SWD_CONFIG_REG (DR_REG_LP_WDT_BASE + 0x20)
|
||||
/** LP_WDT_SWD_RESET_FLAG : RO; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_SWD_RESET_FLAG (BIT(0))
|
||||
#define LP_WDT_SWD_RESET_FLAG_M (LP_WDT_SWD_RESET_FLAG_V << LP_WDT_SWD_RESET_FLAG_S)
|
||||
#define LP_WDT_SWD_RESET_FLAG_V 0x00000001U
|
||||
#define LP_WDT_SWD_RESET_FLAG_S 0
|
||||
/** LP_WDT_SWD_AUTO_FEED_EN : R/W; bitpos: [18]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_SWD_AUTO_FEED_EN (BIT(18))
|
||||
#define LP_WDT_SWD_AUTO_FEED_EN_M (LP_WDT_SWD_AUTO_FEED_EN_V << LP_WDT_SWD_AUTO_FEED_EN_S)
|
||||
#define LP_WDT_SWD_AUTO_FEED_EN_V 0x00000001U
|
||||
#define LP_WDT_SWD_AUTO_FEED_EN_S 18
|
||||
/** LP_WDT_SWD_RST_FLAG_CLR : WT; bitpos: [19]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_SWD_RST_FLAG_CLR (BIT(19))
|
||||
#define LP_WDT_SWD_RST_FLAG_CLR_M (LP_WDT_SWD_RST_FLAG_CLR_V << LP_WDT_SWD_RST_FLAG_CLR_S)
|
||||
#define LP_WDT_SWD_RST_FLAG_CLR_V 0x00000001U
|
||||
#define LP_WDT_SWD_RST_FLAG_CLR_S 19
|
||||
/** LP_WDT_SWD_SIGNAL_WIDTH : R/W; bitpos: [29:20]; default: 300;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_SWD_SIGNAL_WIDTH 0x000003FFU
|
||||
#define LP_WDT_SWD_SIGNAL_WIDTH_M (LP_WDT_SWD_SIGNAL_WIDTH_V << LP_WDT_SWD_SIGNAL_WIDTH_S)
|
||||
#define LP_WDT_SWD_SIGNAL_WIDTH_V 0x000003FFU
|
||||
#define LP_WDT_SWD_SIGNAL_WIDTH_S 20
|
||||
/** LP_WDT_SWD_DISABLE : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_SWD_DISABLE (BIT(30))
|
||||
#define LP_WDT_SWD_DISABLE_M (LP_WDT_SWD_DISABLE_V << LP_WDT_SWD_DISABLE_S)
|
||||
#define LP_WDT_SWD_DISABLE_V 0x00000001U
|
||||
#define LP_WDT_SWD_DISABLE_S 30
|
||||
/** LP_WDT_SWD_FEED : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_SWD_FEED (BIT(31))
|
||||
#define LP_WDT_SWD_FEED_M (LP_WDT_SWD_FEED_V << LP_WDT_SWD_FEED_S)
|
||||
#define LP_WDT_SWD_FEED_V 0x00000001U
|
||||
#define LP_WDT_SWD_FEED_S 31
|
||||
|
||||
/** LP_WDT_SWD_WPROTECT_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_SWD_WPROTECT_REG (DR_REG_LP_WDT_BASE + 0x24)
|
||||
/** LP_WDT_SWD_WKEY : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_SWD_WKEY 0xFFFFFFFFU
|
||||
#define LP_WDT_SWD_WKEY_M (LP_WDT_SWD_WKEY_V << LP_WDT_SWD_WKEY_S)
|
||||
#define LP_WDT_SWD_WKEY_V 0xFFFFFFFFU
|
||||
#define LP_WDT_SWD_WKEY_S 0
|
||||
|
||||
/** LP_WDT_INT_RAW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_INT_RAW_REG (DR_REG_LP_WDT_BASE + 0x28)
|
||||
/** LP_WDT_SUPER_WDT_INT_RAW : R/WTC/SS; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_SUPER_WDT_INT_RAW (BIT(30))
|
||||
#define LP_WDT_SUPER_WDT_INT_RAW_M (LP_WDT_SUPER_WDT_INT_RAW_V << LP_WDT_SUPER_WDT_INT_RAW_S)
|
||||
#define LP_WDT_SUPER_WDT_INT_RAW_V 0x00000001U
|
||||
#define LP_WDT_SUPER_WDT_INT_RAW_S 30
|
||||
/** LP_WDT_LP_WDT_INT_RAW : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_LP_WDT_INT_RAW (BIT(31))
|
||||
#define LP_WDT_LP_WDT_INT_RAW_M (LP_WDT_LP_WDT_INT_RAW_V << LP_WDT_LP_WDT_INT_RAW_S)
|
||||
#define LP_WDT_LP_WDT_INT_RAW_V 0x00000001U
|
||||
#define LP_WDT_LP_WDT_INT_RAW_S 31
|
||||
|
||||
/** LP_WDT_INT_ST_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_INT_ST_REG (DR_REG_LP_WDT_BASE + 0x2c)
|
||||
/** LP_WDT_SUPER_WDT_INT_ST : RO; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_SUPER_WDT_INT_ST (BIT(30))
|
||||
#define LP_WDT_SUPER_WDT_INT_ST_M (LP_WDT_SUPER_WDT_INT_ST_V << LP_WDT_SUPER_WDT_INT_ST_S)
|
||||
#define LP_WDT_SUPER_WDT_INT_ST_V 0x00000001U
|
||||
#define LP_WDT_SUPER_WDT_INT_ST_S 30
|
||||
/** LP_WDT_LP_WDT_INT_ST : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_LP_WDT_INT_ST (BIT(31))
|
||||
#define LP_WDT_LP_WDT_INT_ST_M (LP_WDT_LP_WDT_INT_ST_V << LP_WDT_LP_WDT_INT_ST_S)
|
||||
#define LP_WDT_LP_WDT_INT_ST_V 0x00000001U
|
||||
#define LP_WDT_LP_WDT_INT_ST_S 31
|
||||
|
||||
/** LP_WDT_INT_ENA_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_INT_ENA_REG (DR_REG_LP_WDT_BASE + 0x30)
|
||||
/** LP_WDT_SUPER_WDT_INT_ENA : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_SUPER_WDT_INT_ENA (BIT(30))
|
||||
#define LP_WDT_SUPER_WDT_INT_ENA_M (LP_WDT_SUPER_WDT_INT_ENA_V << LP_WDT_SUPER_WDT_INT_ENA_S)
|
||||
#define LP_WDT_SUPER_WDT_INT_ENA_V 0x00000001U
|
||||
#define LP_WDT_SUPER_WDT_INT_ENA_S 30
|
||||
/** LP_WDT_LP_WDT_INT_ENA : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_LP_WDT_INT_ENA (BIT(31))
|
||||
#define LP_WDT_LP_WDT_INT_ENA_M (LP_WDT_LP_WDT_INT_ENA_V << LP_WDT_LP_WDT_INT_ENA_S)
|
||||
#define LP_WDT_LP_WDT_INT_ENA_V 0x00000001U
|
||||
#define LP_WDT_LP_WDT_INT_ENA_S 31
|
||||
|
||||
/** LP_WDT_INT_CLR_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_INT_CLR_REG (DR_REG_LP_WDT_BASE + 0x34)
|
||||
/** LP_WDT_SUPER_WDT_INT_CLR : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_SUPER_WDT_INT_CLR (BIT(30))
|
||||
#define LP_WDT_SUPER_WDT_INT_CLR_M (LP_WDT_SUPER_WDT_INT_CLR_V << LP_WDT_SUPER_WDT_INT_CLR_S)
|
||||
#define LP_WDT_SUPER_WDT_INT_CLR_V 0x00000001U
|
||||
#define LP_WDT_SUPER_WDT_INT_CLR_S 30
|
||||
/** LP_WDT_LP_WDT_INT_CLR : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_LP_WDT_INT_CLR (BIT(31))
|
||||
#define LP_WDT_LP_WDT_INT_CLR_M (LP_WDT_LP_WDT_INT_CLR_V << LP_WDT_LP_WDT_INT_CLR_S)
|
||||
#define LP_WDT_LP_WDT_INT_CLR_V 0x00000001U
|
||||
#define LP_WDT_LP_WDT_INT_CLR_S 31
|
||||
|
||||
/** LP_WDT_DATE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_DATE_REG (DR_REG_LP_WDT_BASE + 0x3fc)
|
||||
/** LP_WDT_LP_WDT_DATE : R/W; bitpos: [30:0]; default: 34676864;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_LP_WDT_DATE 0x7FFFFFFFU
|
||||
#define LP_WDT_LP_WDT_DATE_M (LP_WDT_LP_WDT_DATE_V << LP_WDT_LP_WDT_DATE_S)
|
||||
#define LP_WDT_LP_WDT_DATE_V 0x7FFFFFFFU
|
||||
#define LP_WDT_LP_WDT_DATE_S 0
|
||||
/** LP_WDT_CLK_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LP_WDT_CLK_EN (BIT(31))
|
||||
#define LP_WDT_CLK_EN_M (LP_WDT_CLK_EN_V << LP_WDT_CLK_EN_S)
|
||||
#define LP_WDT_CLK_EN_V 0x00000001U
|
||||
#define LP_WDT_CLK_EN_S 31
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
333
components/soc/esp32h2/include/soc/lp_wdt_struct.h
Normal file
333
components/soc/esp32h2/include/soc/lp_wdt_struct.h
Normal file
@ -0,0 +1,333 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: configure_register */
|
||||
/** Type of config0 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:9;
|
||||
/** wdt_pause_in_slp : R/W; bitpos: [9]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_pause_in_slp:1;
|
||||
/** wdt_appcpu_reset_en : R/W; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_appcpu_reset_en:1;
|
||||
/** wdt_procpu_reset_en : R/W; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_procpu_reset_en:1;
|
||||
/** wdt_flashboot_mod_en : R/W; bitpos: [12]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_flashboot_mod_en:1;
|
||||
/** wdt_sys_reset_length : R/W; bitpos: [15:13]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_sys_reset_length:3;
|
||||
/** wdt_cpu_reset_length : R/W; bitpos: [18:16]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_cpu_reset_length:3;
|
||||
/** wdt_stg3 : R/W; bitpos: [21:19]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_stg3:3;
|
||||
/** wdt_stg2 : R/W; bitpos: [24:22]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_stg2:3;
|
||||
/** wdt_stg1 : R/W; bitpos: [27:25]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_stg1:3;
|
||||
/** wdt_stg0 : R/W; bitpos: [30:28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_stg0:3;
|
||||
/** wdt_en : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_config0_reg_t;
|
||||
|
||||
/** Type of config1 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** wdt_stg0_hold : R/W; bitpos: [31:0]; default: 200000;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_stg0_hold:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_config1_reg_t;
|
||||
|
||||
/** Type of config2 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** wdt_stg1_hold : R/W; bitpos: [31:0]; default: 80000;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_stg1_hold:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_config2_reg_t;
|
||||
|
||||
/** Type of config3 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** wdt_stg2_hold : R/W; bitpos: [31:0]; default: 4095;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_stg2_hold:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_config3_reg_t;
|
||||
|
||||
/** Type of config4 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** wdt_stg3_hold : R/W; bitpos: [31:0]; default: 4095;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_stg3_hold:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_config4_reg_t;
|
||||
|
||||
/** Type of config5 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** chip_reset_target : R/W; bitpos: [7:0]; default: 255;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t chip_reset_target:8;
|
||||
/** chip_reset_en : R/W; bitpos: [8]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t chip_reset_en:1;
|
||||
/** chip_reset_key : R/W; bitpos: [16:9]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t chip_reset_key:8;
|
||||
uint32_t reserved_17:15;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_config5_reg_t;
|
||||
|
||||
/** Type of feed register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** rtc_wdt_feed : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rtc_wdt_feed:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_feed_reg_t;
|
||||
|
||||
/** Type of wprotect register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** wdt_wkey : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t wdt_wkey:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_wprotect_reg_t;
|
||||
|
||||
/** Type of swd_config register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** swd_reset_flag : RO; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t swd_reset_flag:1;
|
||||
uint32_t reserved_1:17;
|
||||
/** swd_auto_feed_en : R/W; bitpos: [18]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t swd_auto_feed_en:1;
|
||||
/** swd_rst_flag_clr : WT; bitpos: [19]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t swd_rst_flag_clr:1;
|
||||
/** swd_signal_width : R/W; bitpos: [29:20]; default: 300;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t swd_signal_width:10;
|
||||
/** swd_disable : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t swd_disable:1;
|
||||
/** swd_feed : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t swd_feed:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_swd_config_reg_t;
|
||||
|
||||
/** Type of swd_wprotect register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** swd_wkey : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t swd_wkey:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_swd_wprotect_reg_t;
|
||||
|
||||
/** Type of int_raw register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** super_wdt_int_raw : R/WTC/SS; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t super_wdt_int_raw:1;
|
||||
/** lp_wdt_int_raw : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_wdt_int_raw:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_int_raw_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** super_wdt_int_st : RO; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t super_wdt_int_st:1;
|
||||
/** lp_wdt_int_st : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_wdt_int_st:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_int_st_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** super_wdt_int_ena : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t super_wdt_int_ena:1;
|
||||
/** lp_wdt_int_ena : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_wdt_int_ena:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_int_ena_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** super_wdt_int_clr : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t super_wdt_int_clr:1;
|
||||
/** lp_wdt_int_clr : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_wdt_int_clr:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_int_clr_reg_t;
|
||||
|
||||
/** Type of date register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** lp_wdt_date : R/W; bitpos: [30:0]; default: 34676864;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_wdt_date:31;
|
||||
/** clk_en : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_wdt_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile lp_wdt_config0_reg_t config0;
|
||||
volatile lp_wdt_config1_reg_t config1;
|
||||
volatile lp_wdt_config2_reg_t config2;
|
||||
volatile lp_wdt_config3_reg_t config3;
|
||||
volatile lp_wdt_config4_reg_t config4;
|
||||
volatile lp_wdt_config5_reg_t config5;
|
||||
volatile lp_wdt_feed_reg_t feed;
|
||||
volatile lp_wdt_wprotect_reg_t wprotect;
|
||||
volatile lp_wdt_swd_config_reg_t swd_config;
|
||||
volatile lp_wdt_swd_wprotect_reg_t swd_wprotect;
|
||||
volatile lp_wdt_int_raw_reg_t int_raw;
|
||||
volatile lp_wdt_int_st_reg_t int_st;
|
||||
volatile lp_wdt_int_ena_reg_t int_ena;
|
||||
volatile lp_wdt_int_clr_reg_t int_clr;
|
||||
uint32_t reserved_038[241];
|
||||
volatile lp_wdt_date_reg_t date;
|
||||
} lp_wdt_dev_t;
|
||||
|
||||
extern lp_wdt_dev_t LP_WDT;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(lp_wdt_dev_t) == 0x400, "Invalid size of lp_wdt_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
336
components/soc/esp32h2/include/soc/lpperi_reg.h
Normal file
336
components/soc/esp32h2/include/soc/lpperi_reg.h
Normal file
@ -0,0 +1,336 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** LPPERI_CLK_EN_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CLK_EN_REG (DR_REG_LPPERI_BASE + 0x0)
|
||||
/** LPPERI_RNG_CK_EN : R/W; bitpos: [24]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RNG_CK_EN (BIT(24))
|
||||
#define LPPERI_RNG_CK_EN_M (LPPERI_RNG_CK_EN_V << LPPERI_RNG_CK_EN_S)
|
||||
#define LPPERI_RNG_CK_EN_V 0x00000001U
|
||||
#define LPPERI_RNG_CK_EN_S 24
|
||||
/** LPPERI_OTP_DBG_CK_EN : R/W; bitpos: [25]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_OTP_DBG_CK_EN (BIT(25))
|
||||
#define LPPERI_OTP_DBG_CK_EN_M (LPPERI_OTP_DBG_CK_EN_V << LPPERI_OTP_DBG_CK_EN_S)
|
||||
#define LPPERI_OTP_DBG_CK_EN_V 0x00000001U
|
||||
#define LPPERI_OTP_DBG_CK_EN_S 25
|
||||
/** LPPERI_LP_UART_CK_EN : R/W; bitpos: [26]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_UART_CK_EN (BIT(26))
|
||||
#define LPPERI_LP_UART_CK_EN_M (LPPERI_LP_UART_CK_EN_V << LPPERI_LP_UART_CK_EN_S)
|
||||
#define LPPERI_LP_UART_CK_EN_V 0x00000001U
|
||||
#define LPPERI_LP_UART_CK_EN_S 26
|
||||
/** LPPERI_LP_IO_CK_EN : R/W; bitpos: [27]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_IO_CK_EN (BIT(27))
|
||||
#define LPPERI_LP_IO_CK_EN_M (LPPERI_LP_IO_CK_EN_V << LPPERI_LP_IO_CK_EN_S)
|
||||
#define LPPERI_LP_IO_CK_EN_V 0x00000001U
|
||||
#define LPPERI_LP_IO_CK_EN_S 27
|
||||
/** LPPERI_LP_EXT_I2C_CK_EN : R/W; bitpos: [28]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_EXT_I2C_CK_EN (BIT(28))
|
||||
#define LPPERI_LP_EXT_I2C_CK_EN_M (LPPERI_LP_EXT_I2C_CK_EN_V << LPPERI_LP_EXT_I2C_CK_EN_S)
|
||||
#define LPPERI_LP_EXT_I2C_CK_EN_V 0x00000001U
|
||||
#define LPPERI_LP_EXT_I2C_CK_EN_S 28
|
||||
/** LPPERI_LP_ANA_I2C_CK_EN : R/W; bitpos: [29]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_ANA_I2C_CK_EN (BIT(29))
|
||||
#define LPPERI_LP_ANA_I2C_CK_EN_M (LPPERI_LP_ANA_I2C_CK_EN_V << LPPERI_LP_ANA_I2C_CK_EN_S)
|
||||
#define LPPERI_LP_ANA_I2C_CK_EN_V 0x00000001U
|
||||
#define LPPERI_LP_ANA_I2C_CK_EN_S 29
|
||||
/** LPPERI_EFUSE_CK_EN : R/W; bitpos: [30]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_EFUSE_CK_EN (BIT(30))
|
||||
#define LPPERI_EFUSE_CK_EN_M (LPPERI_EFUSE_CK_EN_V << LPPERI_EFUSE_CK_EN_S)
|
||||
#define LPPERI_EFUSE_CK_EN_V 0x00000001U
|
||||
#define LPPERI_EFUSE_CK_EN_S 30
|
||||
/** LPPERI_LP_CPU_CK_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_CPU_CK_EN (BIT(31))
|
||||
#define LPPERI_LP_CPU_CK_EN_M (LPPERI_LP_CPU_CK_EN_V << LPPERI_LP_CPU_CK_EN_S)
|
||||
#define LPPERI_LP_CPU_CK_EN_V 0x00000001U
|
||||
#define LPPERI_LP_CPU_CK_EN_S 31
|
||||
|
||||
/** LPPERI_RESET_EN_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RESET_EN_REG (DR_REG_LPPERI_BASE + 0x4)
|
||||
/** LPPERI_BUS_RESET_EN : WT; bitpos: [23]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_BUS_RESET_EN (BIT(23))
|
||||
#define LPPERI_BUS_RESET_EN_M (LPPERI_BUS_RESET_EN_V << LPPERI_BUS_RESET_EN_S)
|
||||
#define LPPERI_BUS_RESET_EN_V 0x00000001U
|
||||
#define LPPERI_BUS_RESET_EN_S 23
|
||||
/** LPPERI_LP_BLE_TIMER_RESET_EN : R/W; bitpos: [24]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_BLE_TIMER_RESET_EN (BIT(24))
|
||||
#define LPPERI_LP_BLE_TIMER_RESET_EN_M (LPPERI_LP_BLE_TIMER_RESET_EN_V << LPPERI_LP_BLE_TIMER_RESET_EN_S)
|
||||
#define LPPERI_LP_BLE_TIMER_RESET_EN_V 0x00000001U
|
||||
#define LPPERI_LP_BLE_TIMER_RESET_EN_S 24
|
||||
/** LPPERI_OTP_DBG_RESET_EN : R/W; bitpos: [25]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_OTP_DBG_RESET_EN (BIT(25))
|
||||
#define LPPERI_OTP_DBG_RESET_EN_M (LPPERI_OTP_DBG_RESET_EN_V << LPPERI_OTP_DBG_RESET_EN_S)
|
||||
#define LPPERI_OTP_DBG_RESET_EN_V 0x00000001U
|
||||
#define LPPERI_OTP_DBG_RESET_EN_S 25
|
||||
/** LPPERI_LP_UART_RESET_EN : R/W; bitpos: [26]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_UART_RESET_EN (BIT(26))
|
||||
#define LPPERI_LP_UART_RESET_EN_M (LPPERI_LP_UART_RESET_EN_V << LPPERI_LP_UART_RESET_EN_S)
|
||||
#define LPPERI_LP_UART_RESET_EN_V 0x00000001U
|
||||
#define LPPERI_LP_UART_RESET_EN_S 26
|
||||
/** LPPERI_LP_IO_RESET_EN : R/W; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_IO_RESET_EN (BIT(27))
|
||||
#define LPPERI_LP_IO_RESET_EN_M (LPPERI_LP_IO_RESET_EN_V << LPPERI_LP_IO_RESET_EN_S)
|
||||
#define LPPERI_LP_IO_RESET_EN_V 0x00000001U
|
||||
#define LPPERI_LP_IO_RESET_EN_S 27
|
||||
/** LPPERI_LP_EXT_I2C_RESET_EN : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_EXT_I2C_RESET_EN (BIT(28))
|
||||
#define LPPERI_LP_EXT_I2C_RESET_EN_M (LPPERI_LP_EXT_I2C_RESET_EN_V << LPPERI_LP_EXT_I2C_RESET_EN_S)
|
||||
#define LPPERI_LP_EXT_I2C_RESET_EN_V 0x00000001U
|
||||
#define LPPERI_LP_EXT_I2C_RESET_EN_S 28
|
||||
/** LPPERI_LP_ANA_I2C_RESET_EN : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_ANA_I2C_RESET_EN (BIT(29))
|
||||
#define LPPERI_LP_ANA_I2C_RESET_EN_M (LPPERI_LP_ANA_I2C_RESET_EN_V << LPPERI_LP_ANA_I2C_RESET_EN_S)
|
||||
#define LPPERI_LP_ANA_I2C_RESET_EN_V 0x00000001U
|
||||
#define LPPERI_LP_ANA_I2C_RESET_EN_S 29
|
||||
/** LPPERI_EFUSE_RESET_EN : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_EFUSE_RESET_EN (BIT(30))
|
||||
#define LPPERI_EFUSE_RESET_EN_M (LPPERI_EFUSE_RESET_EN_V << LPPERI_EFUSE_RESET_EN_S)
|
||||
#define LPPERI_EFUSE_RESET_EN_V 0x00000001U
|
||||
#define LPPERI_EFUSE_RESET_EN_S 30
|
||||
/** LPPERI_LP_CPU_RESET_EN : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_CPU_RESET_EN (BIT(31))
|
||||
#define LPPERI_LP_CPU_RESET_EN_M (LPPERI_LP_CPU_RESET_EN_V << LPPERI_LP_CPU_RESET_EN_S)
|
||||
#define LPPERI_LP_CPU_RESET_EN_V 0x00000001U
|
||||
#define LPPERI_LP_CPU_RESET_EN_S 31
|
||||
|
||||
/** LPPERI_RNG_DATA_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RNG_DATA_REG (DR_REG_LPPERI_BASE + 0x8)
|
||||
/** LPPERI_RND_DATA : RO; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RND_DATA 0xFFFFFFFFU
|
||||
#define LPPERI_RND_DATA_M (LPPERI_RND_DATA_V << LPPERI_RND_DATA_S)
|
||||
#define LPPERI_RND_DATA_V 0xFFFFFFFFU
|
||||
#define LPPERI_RND_DATA_S 0
|
||||
|
||||
/** LPPERI_CPU_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CPU_REG (DR_REG_LPPERI_BASE + 0xc)
|
||||
/** LPPERI_LPCORE_DBGM_UNAVALIABLE : R/W; bitpos: [31]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LPCORE_DBGM_UNAVALIABLE (BIT(31))
|
||||
#define LPPERI_LPCORE_DBGM_UNAVALIABLE_M (LPPERI_LPCORE_DBGM_UNAVALIABLE_V << LPPERI_LPCORE_DBGM_UNAVALIABLE_S)
|
||||
#define LPPERI_LPCORE_DBGM_UNAVALIABLE_V 0x00000001U
|
||||
#define LPPERI_LPCORE_DBGM_UNAVALIABLE_S 31
|
||||
|
||||
/** LPPERI_BUS_TIMEOUT_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_BUS_TIMEOUT_REG (DR_REG_LPPERI_BASE + 0x10)
|
||||
/** LPPERI_LP_PERI_TIMEOUT_THRES : R/W; bitpos: [29:14]; default: 65535;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_PERI_TIMEOUT_THRES 0x0000FFFFU
|
||||
#define LPPERI_LP_PERI_TIMEOUT_THRES_M (LPPERI_LP_PERI_TIMEOUT_THRES_V << LPPERI_LP_PERI_TIMEOUT_THRES_S)
|
||||
#define LPPERI_LP_PERI_TIMEOUT_THRES_V 0x0000FFFFU
|
||||
#define LPPERI_LP_PERI_TIMEOUT_THRES_S 14
|
||||
/** LPPERI_LP_PERI_TIMEOUT_INT_CLEAR : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_PERI_TIMEOUT_INT_CLEAR (BIT(30))
|
||||
#define LPPERI_LP_PERI_TIMEOUT_INT_CLEAR_M (LPPERI_LP_PERI_TIMEOUT_INT_CLEAR_V << LPPERI_LP_PERI_TIMEOUT_INT_CLEAR_S)
|
||||
#define LPPERI_LP_PERI_TIMEOUT_INT_CLEAR_V 0x00000001U
|
||||
#define LPPERI_LP_PERI_TIMEOUT_INT_CLEAR_S 30
|
||||
/** LPPERI_LP_PERI_TIMEOUT_PROTECT_EN : R/W; bitpos: [31]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_PERI_TIMEOUT_PROTECT_EN (BIT(31))
|
||||
#define LPPERI_LP_PERI_TIMEOUT_PROTECT_EN_M (LPPERI_LP_PERI_TIMEOUT_PROTECT_EN_V << LPPERI_LP_PERI_TIMEOUT_PROTECT_EN_S)
|
||||
#define LPPERI_LP_PERI_TIMEOUT_PROTECT_EN_V 0x00000001U
|
||||
#define LPPERI_LP_PERI_TIMEOUT_PROTECT_EN_S 31
|
||||
|
||||
/** LPPERI_BUS_TIMEOUT_ADDR_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_BUS_TIMEOUT_ADDR_REG (DR_REG_LPPERI_BASE + 0x14)
|
||||
/** LPPERI_LP_PERI_TIMEOUT_ADDR : RO; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_PERI_TIMEOUT_ADDR 0xFFFFFFFFU
|
||||
#define LPPERI_LP_PERI_TIMEOUT_ADDR_M (LPPERI_LP_PERI_TIMEOUT_ADDR_V << LPPERI_LP_PERI_TIMEOUT_ADDR_S)
|
||||
#define LPPERI_LP_PERI_TIMEOUT_ADDR_V 0xFFFFFFFFU
|
||||
#define LPPERI_LP_PERI_TIMEOUT_ADDR_S 0
|
||||
|
||||
/** LPPERI_BUS_TIMEOUT_UID_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_BUS_TIMEOUT_UID_REG (DR_REG_LPPERI_BASE + 0x18)
|
||||
/** LPPERI_LP_PERI_TIMEOUT_UID : RO; bitpos: [6:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_PERI_TIMEOUT_UID 0x0000007FU
|
||||
#define LPPERI_LP_PERI_TIMEOUT_UID_M (LPPERI_LP_PERI_TIMEOUT_UID_V << LPPERI_LP_PERI_TIMEOUT_UID_S)
|
||||
#define LPPERI_LP_PERI_TIMEOUT_UID_V 0x0000007FU
|
||||
#define LPPERI_LP_PERI_TIMEOUT_UID_S 0
|
||||
|
||||
/** LPPERI_MEM_CTRL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_MEM_CTRL_REG (DR_REG_LPPERI_BASE + 0x1c)
|
||||
/** LPPERI_UART_WAKEUP_FLAG_CLR : WT; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_UART_WAKEUP_FLAG_CLR (BIT(0))
|
||||
#define LPPERI_UART_WAKEUP_FLAG_CLR_M (LPPERI_UART_WAKEUP_FLAG_CLR_V << LPPERI_UART_WAKEUP_FLAG_CLR_S)
|
||||
#define LPPERI_UART_WAKEUP_FLAG_CLR_V 0x00000001U
|
||||
#define LPPERI_UART_WAKEUP_FLAG_CLR_S 0
|
||||
/** LPPERI_UART_WAKEUP_FLAG : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_UART_WAKEUP_FLAG (BIT(1))
|
||||
#define LPPERI_UART_WAKEUP_FLAG_M (LPPERI_UART_WAKEUP_FLAG_V << LPPERI_UART_WAKEUP_FLAG_S)
|
||||
#define LPPERI_UART_WAKEUP_FLAG_V 0x00000001U
|
||||
#define LPPERI_UART_WAKEUP_FLAG_S 1
|
||||
/** LPPERI_UART_WAKEUP_EN : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_UART_WAKEUP_EN (BIT(29))
|
||||
#define LPPERI_UART_WAKEUP_EN_M (LPPERI_UART_WAKEUP_EN_V << LPPERI_UART_WAKEUP_EN_S)
|
||||
#define LPPERI_UART_WAKEUP_EN_V 0x00000001U
|
||||
#define LPPERI_UART_WAKEUP_EN_S 29
|
||||
/** LPPERI_UART_MEM_FORCE_PD : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_UART_MEM_FORCE_PD (BIT(30))
|
||||
#define LPPERI_UART_MEM_FORCE_PD_M (LPPERI_UART_MEM_FORCE_PD_V << LPPERI_UART_MEM_FORCE_PD_S)
|
||||
#define LPPERI_UART_MEM_FORCE_PD_V 0x00000001U
|
||||
#define LPPERI_UART_MEM_FORCE_PD_S 30
|
||||
/** LPPERI_UART_MEM_FORCE_PU : R/W; bitpos: [31]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_UART_MEM_FORCE_PU (BIT(31))
|
||||
#define LPPERI_UART_MEM_FORCE_PU_M (LPPERI_UART_MEM_FORCE_PU_V << LPPERI_UART_MEM_FORCE_PU_S)
|
||||
#define LPPERI_UART_MEM_FORCE_PU_V 0x00000001U
|
||||
#define LPPERI_UART_MEM_FORCE_PU_S 31
|
||||
|
||||
/** LPPERI_INTERRUPT_SOURCE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_INTERRUPT_SOURCE_REG (DR_REG_LPPERI_BASE + 0x20)
|
||||
/** LPPERI_LP_INTERRUPT_SOURCE : RO; bitpos: [5:0]; default: 0;
|
||||
* BIT5~BIT0: pmu_lp_int, modem_lp_int, lp_timer_lp_int, lp_uart_int, lp_i2c_int,
|
||||
* lp_io_int
|
||||
*/
|
||||
#define LPPERI_LP_INTERRUPT_SOURCE 0x0000003FU
|
||||
#define LPPERI_LP_INTERRUPT_SOURCE_M (LPPERI_LP_INTERRUPT_SOURCE_V << LPPERI_LP_INTERRUPT_SOURCE_S)
|
||||
#define LPPERI_LP_INTERRUPT_SOURCE_V 0x0000003FU
|
||||
#define LPPERI_LP_INTERRUPT_SOURCE_S 0
|
||||
|
||||
/** LPPERI_DEBUG_SEL0_REG register
|
||||
* need des
|
||||
*/
|
||||
#define LPPERI_DEBUG_SEL0_REG (DR_REG_LPPERI_BASE + 0x24)
|
||||
/** LPPERI_DEBUG_SEL0 : R/W; bitpos: [6:0]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
#define LPPERI_DEBUG_SEL0 0x0000007FU
|
||||
#define LPPERI_DEBUG_SEL0_M (LPPERI_DEBUG_SEL0_V << LPPERI_DEBUG_SEL0_S)
|
||||
#define LPPERI_DEBUG_SEL0_V 0x0000007FU
|
||||
#define LPPERI_DEBUG_SEL0_S 0
|
||||
/** LPPERI_DEBUG_SEL1 : R/W; bitpos: [13:7]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
#define LPPERI_DEBUG_SEL1 0x0000007FU
|
||||
#define LPPERI_DEBUG_SEL1_M (LPPERI_DEBUG_SEL1_V << LPPERI_DEBUG_SEL1_S)
|
||||
#define LPPERI_DEBUG_SEL1_V 0x0000007FU
|
||||
#define LPPERI_DEBUG_SEL1_S 7
|
||||
/** LPPERI_DEBUG_SEL2 : R/W; bitpos: [20:14]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
#define LPPERI_DEBUG_SEL2 0x0000007FU
|
||||
#define LPPERI_DEBUG_SEL2_M (LPPERI_DEBUG_SEL2_V << LPPERI_DEBUG_SEL2_S)
|
||||
#define LPPERI_DEBUG_SEL2_V 0x0000007FU
|
||||
#define LPPERI_DEBUG_SEL2_S 14
|
||||
/** LPPERI_DEBUG_SEL3 : R/W; bitpos: [27:21]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
#define LPPERI_DEBUG_SEL3 0x0000007FU
|
||||
#define LPPERI_DEBUG_SEL3_M (LPPERI_DEBUG_SEL3_V << LPPERI_DEBUG_SEL3_S)
|
||||
#define LPPERI_DEBUG_SEL3_V 0x0000007FU
|
||||
#define LPPERI_DEBUG_SEL3_S 21
|
||||
|
||||
/** LPPERI_DEBUG_SEL1_REG register
|
||||
* need des
|
||||
*/
|
||||
#define LPPERI_DEBUG_SEL1_REG (DR_REG_LPPERI_BASE + 0x28)
|
||||
/** LPPERI_DEBUG_SEL4 : R/W; bitpos: [6:0]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
#define LPPERI_DEBUG_SEL4 0x0000007FU
|
||||
#define LPPERI_DEBUG_SEL4_M (LPPERI_DEBUG_SEL4_V << LPPERI_DEBUG_SEL4_S)
|
||||
#define LPPERI_DEBUG_SEL4_V 0x0000007FU
|
||||
#define LPPERI_DEBUG_SEL4_S 0
|
||||
|
||||
/** LPPERI_DATE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_DATE_REG (DR_REG_LPPERI_BASE + 0x3fc)
|
||||
/** LPPERI_LPPERI_DATE : R/W; bitpos: [30:0]; default: 35676464;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LPPERI_DATE 0x7FFFFFFFU
|
||||
#define LPPERI_LPPERI_DATE_M (LPPERI_LPPERI_DATE_V << LPPERI_LPPERI_DATE_S)
|
||||
#define LPPERI_LPPERI_DATE_V 0x7FFFFFFFU
|
||||
#define LPPERI_LPPERI_DATE_S 0
|
||||
/** LPPERI_CLK_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CLK_EN (BIT(31))
|
||||
#define LPPERI_CLK_EN_M (LPPERI_CLK_EN_V << LPPERI_CLK_EN_S)
|
||||
#define LPPERI_CLK_EN_V 0x00000001U
|
||||
#define LPPERI_CLK_EN_S 31
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
307
components/soc/esp32h2/include/soc/lpperi_struct.h
Normal file
307
components/soc/esp32h2/include/soc/lpperi_struct.h
Normal file
@ -0,0 +1,307 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: configure_register */
|
||||
/** Type of clk_en register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:24;
|
||||
/** rng_ck_en : R/W; bitpos: [24]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rng_ck_en:1;
|
||||
/** otp_dbg_ck_en : R/W; bitpos: [25]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t otp_dbg_ck_en:1;
|
||||
/** lp_uart_ck_en : R/W; bitpos: [26]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_uart_ck_en:1;
|
||||
/** lp_io_ck_en : R/W; bitpos: [27]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_io_ck_en:1;
|
||||
/** lp_ext_i2c_ck_en : R/W; bitpos: [28]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_ext_i2c_ck_en:1;
|
||||
/** lp_ana_i2c_ck_en : R/W; bitpos: [29]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_ana_i2c_ck_en:1;
|
||||
/** efuse_ck_en : R/W; bitpos: [30]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t efuse_ck_en:1;
|
||||
/** lp_cpu_ck_en : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_cpu_ck_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_clk_en_reg_t;
|
||||
|
||||
/** Type of reset_en register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:23;
|
||||
/** bus_reset_en : WT; bitpos: [23]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t bus_reset_en:1;
|
||||
/** lp_ble_timer_reset_en : R/W; bitpos: [24]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_ble_timer_reset_en:1;
|
||||
/** otp_dbg_reset_en : R/W; bitpos: [25]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t otp_dbg_reset_en:1;
|
||||
/** lp_uart_reset_en : R/W; bitpos: [26]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_uart_reset_en:1;
|
||||
/** lp_io_reset_en : R/W; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_io_reset_en:1;
|
||||
/** lp_ext_i2c_reset_en : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_ext_i2c_reset_en:1;
|
||||
/** lp_ana_i2c_reset_en : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_ana_i2c_reset_en:1;
|
||||
/** efuse_reset_en : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t efuse_reset_en:1;
|
||||
/** lp_cpu_reset_en : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_cpu_reset_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_reset_en_reg_t;
|
||||
|
||||
/** Type of rng_data register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rnd_data : RO; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rnd_data:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_rng_data_reg_t;
|
||||
|
||||
/** Type of cpu register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** lpcore_dbgm_unavaliable : R/W; bitpos: [31]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lpcore_dbgm_unavaliable:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_cpu_reg_t;
|
||||
|
||||
/** Type of bus_timeout register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:14;
|
||||
/** lp_peri_timeout_thres : R/W; bitpos: [29:14]; default: 65535;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_peri_timeout_thres:16;
|
||||
/** lp_peri_timeout_int_clear : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_peri_timeout_int_clear:1;
|
||||
/** lp_peri_timeout_protect_en : R/W; bitpos: [31]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_peri_timeout_protect_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_bus_timeout_reg_t;
|
||||
|
||||
/** Type of bus_timeout_addr register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** lp_peri_timeout_addr : RO; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_peri_timeout_addr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_bus_timeout_addr_reg_t;
|
||||
|
||||
/** Type of bus_timeout_uid register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** lp_peri_timeout_uid : RO; bitpos: [6:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_peri_timeout_uid:7;
|
||||
uint32_t reserved_7:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_bus_timeout_uid_reg_t;
|
||||
|
||||
/** Type of mem_ctrl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** uart_wakeup_flag_clr : WT; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t uart_wakeup_flag_clr:1;
|
||||
/** uart_wakeup_flag : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t uart_wakeup_flag:1;
|
||||
uint32_t reserved_2:27;
|
||||
/** uart_wakeup_en : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t uart_wakeup_en:1;
|
||||
/** uart_mem_force_pd : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t uart_mem_force_pd:1;
|
||||
/** uart_mem_force_pu : R/W; bitpos: [31]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t uart_mem_force_pu:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_mem_ctrl_reg_t;
|
||||
|
||||
/** Type of interrupt_source register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** lp_interrupt_source : RO; bitpos: [5:0]; default: 0;
|
||||
* BIT5~BIT0: pmu_lp_int, modem_lp_int, lp_timer_lp_int, lp_uart_int, lp_i2c_int,
|
||||
* lp_io_int
|
||||
*/
|
||||
uint32_t lp_interrupt_source:6;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_interrupt_source_reg_t;
|
||||
|
||||
/** Type of debug_sel0 register
|
||||
* need des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** debug_sel0 : R/W; bitpos: [6:0]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t debug_sel0:7;
|
||||
/** debug_sel1 : R/W; bitpos: [13:7]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t debug_sel1:7;
|
||||
/** debug_sel2 : R/W; bitpos: [20:14]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t debug_sel2:7;
|
||||
/** debug_sel3 : R/W; bitpos: [27:21]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t debug_sel3:7;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_debug_sel0_reg_t;
|
||||
|
||||
/** Type of debug_sel1 register
|
||||
* need des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** debug_sel4 : R/W; bitpos: [6:0]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t debug_sel4:7;
|
||||
uint32_t reserved_7:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_debug_sel1_reg_t;
|
||||
|
||||
|
||||
/** Group: Version register */
|
||||
/** Type of date register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** lpperi_date : R/W; bitpos: [30:0]; default: 35676464;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lpperi_date:31;
|
||||
/** clk_en : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile lpperi_clk_en_reg_t clk_en;
|
||||
volatile lpperi_reset_en_reg_t reset_en;
|
||||
volatile lpperi_rng_data_reg_t rng_data;
|
||||
volatile lpperi_cpu_reg_t cpu;
|
||||
volatile lpperi_bus_timeout_reg_t bus_timeout;
|
||||
volatile lpperi_bus_timeout_addr_reg_t bus_timeout_addr;
|
||||
volatile lpperi_bus_timeout_uid_reg_t bus_timeout_uid;
|
||||
volatile lpperi_mem_ctrl_reg_t mem_ctrl;
|
||||
volatile lpperi_interrupt_source_reg_t interrupt_source;
|
||||
volatile lpperi_debug_sel0_reg_t debug_sel0;
|
||||
volatile lpperi_debug_sel1_reg_t debug_sel1;
|
||||
uint32_t reserved_02c[244];
|
||||
volatile lpperi_date_reg_t date;
|
||||
} lpperi_dev_t;
|
||||
|
||||
extern lpperi_dev_t LPPERI;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(lpperi_dev_t) == 0x400, "Invalid size of lpperi_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
4137
components/soc/esp32h2/include/soc/mcpwm_reg.h
Normal file
4137
components/soc/esp32h2/include/soc/mcpwm_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1694
components/soc/esp32h2/include/soc/mcpwm_struct.h
Normal file
1694
components/soc/esp32h2/include/soc/mcpwm_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
184
components/soc/esp32h2/include/soc/mem_monitor_reg.h
Normal file
184
components/soc/esp32h2/include/soc/mem_monitor_reg.h
Normal file
@ -0,0 +1,184 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** MEM_MONITOR_LOG_SETTING_REG register
|
||||
* log config regsiter
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_SETTING_REG (DR_REG_MEM_MONITOR_BASE + 0x0)
|
||||
/** MEM_MONITOR_LOG_ENA : R/W; bitpos: [2:0]; default: 0;
|
||||
* enable bus log. BIT0: hp-cpu, BIT1: lp-cpu, BIT2: DMA.823 don't support lp-cpu
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_ENA 0x00000007U
|
||||
#define MEM_MONITOR_LOG_ENA_M (MEM_MONITOR_LOG_ENA_V << MEM_MONITOR_LOG_ENA_S)
|
||||
#define MEM_MONITOR_LOG_ENA_V 0x00000007U
|
||||
#define MEM_MONITOR_LOG_ENA_S 0
|
||||
/** MEM_MONITOR_LOG_MODE : R/W; bitpos: [6:3]; default: 0;
|
||||
* This field must be onehot. 4'b0001 : WR monitor, 4'b0010: WORD monitor, 4'b0100:
|
||||
* HALFWORD monitor, 4'b1000: BYTE monitor.
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MODE 0x0000000FU
|
||||
#define MEM_MONITOR_LOG_MODE_M (MEM_MONITOR_LOG_MODE_V << MEM_MONITOR_LOG_MODE_S)
|
||||
#define MEM_MONITOR_LOG_MODE_V 0x0000000FU
|
||||
#define MEM_MONITOR_LOG_MODE_S 3
|
||||
/** MEM_MONITOR_LOG_MEM_LOOP_ENABLE : R/W; bitpos: [7]; default: 1;
|
||||
* Set 1 enable mem_loop, it will loop write at the range of MEM_START and MEM_END
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MEM_LOOP_ENABLE (BIT(7))
|
||||
#define MEM_MONITOR_LOG_MEM_LOOP_ENABLE_M (MEM_MONITOR_LOG_MEM_LOOP_ENABLE_V << MEM_MONITOR_LOG_MEM_LOOP_ENABLE_S)
|
||||
#define MEM_MONITOR_LOG_MEM_LOOP_ENABLE_V 0x00000001U
|
||||
#define MEM_MONITOR_LOG_MEM_LOOP_ENABLE_S 7
|
||||
|
||||
/** MEM_MONITOR_LOG_CHECK_DATA_REG register
|
||||
* check data regsiter
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_CHECK_DATA_REG (DR_REG_MEM_MONITOR_BASE + 0x4)
|
||||
/** MEM_MONITOR_LOG_CHECK_DATA : R/W; bitpos: [31:0]; default: 0;
|
||||
* The special check data, when write this special data, it will trigger logging.
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_CHECK_DATA 0xFFFFFFFFU
|
||||
#define MEM_MONITOR_LOG_CHECK_DATA_M (MEM_MONITOR_LOG_CHECK_DATA_V << MEM_MONITOR_LOG_CHECK_DATA_S)
|
||||
#define MEM_MONITOR_LOG_CHECK_DATA_V 0xFFFFFFFFU
|
||||
#define MEM_MONITOR_LOG_CHECK_DATA_S 0
|
||||
|
||||
/** MEM_MONITOR_LOG_DATA_MASK_REG register
|
||||
* check data mask register
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_DATA_MASK_REG (DR_REG_MEM_MONITOR_BASE + 0x8)
|
||||
/** MEM_MONITOR_LOG_DATA_MASK : R/W; bitpos: [3:0]; default: 0;
|
||||
* byte mask enable, BIT0 mask the first byte of MEM_MONITOR_LOG_CHECK_DATA, and BIT1
|
||||
* mask second byte, and so on.
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_DATA_MASK 0x0000000FU
|
||||
#define MEM_MONITOR_LOG_DATA_MASK_M (MEM_MONITOR_LOG_DATA_MASK_V << MEM_MONITOR_LOG_DATA_MASK_S)
|
||||
#define MEM_MONITOR_LOG_DATA_MASK_V 0x0000000FU
|
||||
#define MEM_MONITOR_LOG_DATA_MASK_S 0
|
||||
|
||||
/** MEM_MONITOR_LOG_MIN_REG register
|
||||
* log boundary regsiter
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MIN_REG (DR_REG_MEM_MONITOR_BASE + 0xc)
|
||||
/** MEM_MONITOR_LOG_MIN : R/W; bitpos: [31:0]; default: 0;
|
||||
* the min address of log range
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MIN 0xFFFFFFFFU
|
||||
#define MEM_MONITOR_LOG_MIN_M (MEM_MONITOR_LOG_MIN_V << MEM_MONITOR_LOG_MIN_S)
|
||||
#define MEM_MONITOR_LOG_MIN_V 0xFFFFFFFFU
|
||||
#define MEM_MONITOR_LOG_MIN_S 0
|
||||
|
||||
/** MEM_MONITOR_LOG_MAX_REG register
|
||||
* log boundary regsiter
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MAX_REG (DR_REG_MEM_MONITOR_BASE + 0x10)
|
||||
/** MEM_MONITOR_LOG_MAX : R/W; bitpos: [31:0]; default: 0;
|
||||
* the max address of log range
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MAX 0xFFFFFFFFU
|
||||
#define MEM_MONITOR_LOG_MAX_M (MEM_MONITOR_LOG_MAX_V << MEM_MONITOR_LOG_MAX_S)
|
||||
#define MEM_MONITOR_LOG_MAX_V 0xFFFFFFFFU
|
||||
#define MEM_MONITOR_LOG_MAX_S 0
|
||||
|
||||
/** MEM_MONITOR_LOG_MEM_START_REG register
|
||||
* log message store range register
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MEM_START_REG (DR_REG_MEM_MONITOR_BASE + 0x14)
|
||||
/** MEM_MONITOR_LOG_MEM_START : R/W; bitpos: [31:0]; default: 0;
|
||||
* the start address of writing logging message
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MEM_START 0xFFFFFFFFU
|
||||
#define MEM_MONITOR_LOG_MEM_START_M (MEM_MONITOR_LOG_MEM_START_V << MEM_MONITOR_LOG_MEM_START_S)
|
||||
#define MEM_MONITOR_LOG_MEM_START_V 0xFFFFFFFFU
|
||||
#define MEM_MONITOR_LOG_MEM_START_S 0
|
||||
|
||||
/** MEM_MONITOR_LOG_MEM_END_REG register
|
||||
* log message store range register
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MEM_END_REG (DR_REG_MEM_MONITOR_BASE + 0x18)
|
||||
/** MEM_MONITOR_LOG_MEM_END : R/W; bitpos: [31:0]; default: 0;
|
||||
* the end address of writing logging message
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MEM_END 0xFFFFFFFFU
|
||||
#define MEM_MONITOR_LOG_MEM_END_M (MEM_MONITOR_LOG_MEM_END_V << MEM_MONITOR_LOG_MEM_END_S)
|
||||
#define MEM_MONITOR_LOG_MEM_END_V 0xFFFFFFFFU
|
||||
#define MEM_MONITOR_LOG_MEM_END_S 0
|
||||
|
||||
/** MEM_MONITOR_LOG_MEM_CURRENT_ADDR_REG register
|
||||
* current writing address.
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MEM_CURRENT_ADDR_REG (DR_REG_MEM_MONITOR_BASE + 0x1c)
|
||||
/** MEM_MONITOR_LOG_MEM_CURRENT_ADDR : RO; bitpos: [31:0]; default: 0;
|
||||
* means next writing address
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MEM_CURRENT_ADDR 0xFFFFFFFFU
|
||||
#define MEM_MONITOR_LOG_MEM_CURRENT_ADDR_M (MEM_MONITOR_LOG_MEM_CURRENT_ADDR_V << MEM_MONITOR_LOG_MEM_CURRENT_ADDR_S)
|
||||
#define MEM_MONITOR_LOG_MEM_CURRENT_ADDR_V 0xFFFFFFFFU
|
||||
#define MEM_MONITOR_LOG_MEM_CURRENT_ADDR_S 0
|
||||
|
||||
/** MEM_MONITOR_LOG_MEM_ADDR_UPDATE_REG register
|
||||
* writing address update
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MEM_ADDR_UPDATE_REG (DR_REG_MEM_MONITOR_BASE + 0x20)
|
||||
/** MEM_MONITOR_LOG_MEM_ADDR_UPDATE : WT; bitpos: [0]; default: 0;
|
||||
* Set 1 to updata MEM_MONITOR_LOG_MEM_CURRENT_ADDR, when set 1,
|
||||
* MEM_MONITOR_LOG_MEM_CURRENT_ADDR will update to MEM_MONITOR_LOG_MEM_START
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MEM_ADDR_UPDATE (BIT(0))
|
||||
#define MEM_MONITOR_LOG_MEM_ADDR_UPDATE_M (MEM_MONITOR_LOG_MEM_ADDR_UPDATE_V << MEM_MONITOR_LOG_MEM_ADDR_UPDATE_S)
|
||||
#define MEM_MONITOR_LOG_MEM_ADDR_UPDATE_V 0x00000001U
|
||||
#define MEM_MONITOR_LOG_MEM_ADDR_UPDATE_S 0
|
||||
|
||||
/** MEM_MONITOR_LOG_MEM_FULL_FLAG_REG register
|
||||
* full flag status register
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MEM_FULL_FLAG_REG (DR_REG_MEM_MONITOR_BASE + 0x24)
|
||||
/** MEM_MONITOR_LOG_MEM_FULL_FLAG : RO; bitpos: [0]; default: 0;
|
||||
* 1 means memory write loop at least one time at the range of MEM_START and MEM_END
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_MEM_FULL_FLAG (BIT(0))
|
||||
#define MEM_MONITOR_LOG_MEM_FULL_FLAG_M (MEM_MONITOR_LOG_MEM_FULL_FLAG_V << MEM_MONITOR_LOG_MEM_FULL_FLAG_S)
|
||||
#define MEM_MONITOR_LOG_MEM_FULL_FLAG_V 0x00000001U
|
||||
#define MEM_MONITOR_LOG_MEM_FULL_FLAG_S 0
|
||||
/** MEM_MONITOR_CLR_LOG_MEM_FULL_FLAG : WT; bitpos: [1]; default: 0;
|
||||
* Set 1 to clr MEM_MONITOR_LOG_MEM_FULL_FLAG
|
||||
*/
|
||||
#define MEM_MONITOR_CLR_LOG_MEM_FULL_FLAG (BIT(1))
|
||||
#define MEM_MONITOR_CLR_LOG_MEM_FULL_FLAG_M (MEM_MONITOR_CLR_LOG_MEM_FULL_FLAG_V << MEM_MONITOR_CLR_LOG_MEM_FULL_FLAG_S)
|
||||
#define MEM_MONITOR_CLR_LOG_MEM_FULL_FLAG_V 0x00000001U
|
||||
#define MEM_MONITOR_CLR_LOG_MEM_FULL_FLAG_S 1
|
||||
|
||||
/** MEM_MONITOR_CLOCK_GATE_REG register
|
||||
* clock gate force on register
|
||||
*/
|
||||
#define MEM_MONITOR_CLOCK_GATE_REG (DR_REG_MEM_MONITOR_BASE + 0x28)
|
||||
/** MEM_MONITOR_CLK_EN : R/W; bitpos: [0]; default: 0;
|
||||
* Set 1 to force on the clk of mem_monitor register
|
||||
*/
|
||||
#define MEM_MONITOR_CLK_EN (BIT(0))
|
||||
#define MEM_MONITOR_CLK_EN_M (MEM_MONITOR_CLK_EN_V << MEM_MONITOR_CLK_EN_S)
|
||||
#define MEM_MONITOR_CLK_EN_V 0x00000001U
|
||||
#define MEM_MONITOR_CLK_EN_S 0
|
||||
|
||||
/** MEM_MONITOR_DATE_REG register
|
||||
* version register
|
||||
*/
|
||||
#define MEM_MONITOR_DATE_REG (DR_REG_MEM_MONITOR_BASE + 0x3fc)
|
||||
/** MEM_MONITOR_DATE : R/W; bitpos: [27:0]; default: 35660096;
|
||||
* version register
|
||||
*/
|
||||
#define MEM_MONITOR_DATE 0x0FFFFFFFU
|
||||
#define MEM_MONITOR_DATE_M (MEM_MONITOR_DATE_V << MEM_MONITOR_DATE_S)
|
||||
#define MEM_MONITOR_DATE_V 0x0FFFFFFFU
|
||||
#define MEM_MONITOR_DATE_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
220
components/soc/esp32h2/include/soc/mem_monitor_struct.h
Normal file
220
components/soc/esp32h2/include/soc/mem_monitor_struct.h
Normal file
@ -0,0 +1,220 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: configuration registers */
|
||||
/** Type of log_setting register
|
||||
* log config regsiter
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** log_ena : R/W; bitpos: [2:0]; default: 0;
|
||||
* enable bus log. BIT0: hp-cpu, BIT1: lp-cpu, BIT2: DMA.823 don't support lp-cpu
|
||||
*/
|
||||
uint32_t log_ena:3;
|
||||
/** log_mode : R/W; bitpos: [6:3]; default: 0;
|
||||
* This field must be onehot. 4'b0001 : WR monitor, 4'b0010: WORD monitor, 4'b0100:
|
||||
* HALFWORD monitor, 4'b1000: BYTE monitor.
|
||||
*/
|
||||
uint32_t log_mode:4;
|
||||
/** log_mem_loop_enable : R/W; bitpos: [7]; default: 1;
|
||||
* Set 1 enable mem_loop, it will loop write at the range of MEM_START and MEM_END
|
||||
*/
|
||||
uint32_t log_mem_loop_enable:1;
|
||||
uint32_t reserved_8:24;
|
||||
};
|
||||
uint32_t val;
|
||||
} mem_monitor_log_setting_reg_t;
|
||||
|
||||
/** Type of log_check_data register
|
||||
* check data regsiter
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** log_check_data : R/W; bitpos: [31:0]; default: 0;
|
||||
* The special check data, when write this special data, it will trigger logging.
|
||||
*/
|
||||
uint32_t log_check_data:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mem_monitor_log_check_data_reg_t;
|
||||
|
||||
/** Type of log_data_mask register
|
||||
* check data mask register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** log_data_mask : R/W; bitpos: [3:0]; default: 0;
|
||||
* byte mask enable, BIT0 mask the first byte of MEM_MONITOR_LOG_CHECK_DATA, and BIT1
|
||||
* mask second byte, and so on.
|
||||
*/
|
||||
uint32_t log_data_mask:4;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} mem_monitor_log_data_mask_reg_t;
|
||||
|
||||
/** Type of log_min register
|
||||
* log boundary regsiter
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** log_min : R/W; bitpos: [31:0]; default: 0;
|
||||
* the min address of log range
|
||||
*/
|
||||
uint32_t log_min:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mem_monitor_log_min_reg_t;
|
||||
|
||||
/** Type of log_max register
|
||||
* log boundary regsiter
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** log_max : R/W; bitpos: [31:0]; default: 0;
|
||||
* the max address of log range
|
||||
*/
|
||||
uint32_t log_max:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mem_monitor_log_max_reg_t;
|
||||
|
||||
/** Type of log_mem_start register
|
||||
* log message store range register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** log_mem_start : R/W; bitpos: [31:0]; default: 0;
|
||||
* the start address of writing logging message
|
||||
*/
|
||||
uint32_t log_mem_start:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mem_monitor_log_mem_start_reg_t;
|
||||
|
||||
/** Type of log_mem_end register
|
||||
* log message store range register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** log_mem_end : R/W; bitpos: [31:0]; default: 0;
|
||||
* the end address of writing logging message
|
||||
*/
|
||||
uint32_t log_mem_end:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mem_monitor_log_mem_end_reg_t;
|
||||
|
||||
/** Type of log_mem_current_addr register
|
||||
* current writing address.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** log_mem_current_addr : RO; bitpos: [31:0]; default: 0;
|
||||
* means next writing address
|
||||
*/
|
||||
uint32_t log_mem_current_addr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mem_monitor_log_mem_current_addr_reg_t;
|
||||
|
||||
/** Type of log_mem_addr_update register
|
||||
* writing address update
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** log_mem_addr_update : WT; bitpos: [0]; default: 0;
|
||||
* Set 1 to updata MEM_MONITOR_LOG_MEM_CURRENT_ADDR, when set 1,
|
||||
* MEM_MONITOR_LOG_MEM_CURRENT_ADDR will update to MEM_MONITOR_LOG_MEM_START
|
||||
*/
|
||||
uint32_t log_mem_addr_update:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} mem_monitor_log_mem_addr_update_reg_t;
|
||||
|
||||
/** Type of log_mem_full_flag register
|
||||
* full flag status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** log_mem_full_flag : RO; bitpos: [0]; default: 0;
|
||||
* 1 means memory write loop at least one time at the range of MEM_START and MEM_END
|
||||
*/
|
||||
uint32_t log_mem_full_flag:1;
|
||||
/** clr_log_mem_full_flag : WT; bitpos: [1]; default: 0;
|
||||
* Set 1 to clr MEM_MONITOR_LOG_MEM_FULL_FLAG
|
||||
*/
|
||||
uint32_t clr_log_mem_full_flag:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} mem_monitor_log_mem_full_flag_reg_t;
|
||||
|
||||
|
||||
/** Group: clk register */
|
||||
/** Type of clock_gate register
|
||||
* clock gate force on register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_en : R/W; bitpos: [0]; default: 0;
|
||||
* Set 1 to force on the clk of mem_monitor register
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} mem_monitor_clock_gate_reg_t;
|
||||
|
||||
|
||||
/** Group: version register */
|
||||
/** Type of date register
|
||||
* version register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [27:0]; default: 35660096;
|
||||
* version register
|
||||
*/
|
||||
uint32_t date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} mem_monitor_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile mem_monitor_log_setting_reg_t log_setting;
|
||||
volatile mem_monitor_log_check_data_reg_t log_check_data;
|
||||
volatile mem_monitor_log_data_mask_reg_t log_data_mask;
|
||||
volatile mem_monitor_log_min_reg_t log_min;
|
||||
volatile mem_monitor_log_max_reg_t log_max;
|
||||
volatile mem_monitor_log_mem_start_reg_t log_mem_start;
|
||||
volatile mem_monitor_log_mem_end_reg_t log_mem_end;
|
||||
volatile mem_monitor_log_mem_current_addr_reg_t log_mem_current_addr;
|
||||
volatile mem_monitor_log_mem_addr_update_reg_t log_mem_addr_update;
|
||||
volatile mem_monitor_log_mem_full_flag_reg_t log_mem_full_flag;
|
||||
volatile mem_monitor_clock_gate_reg_t clock_gate;
|
||||
uint32_t reserved_02c[244];
|
||||
volatile mem_monitor_date_reg_t date;
|
||||
} mem_monitor_dev_t;
|
||||
|
||||
extern mem_monitor_dev_t MEM_MONITOR;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(mem_monitor_dev_t) == 0x400, "Invalid size of mem_monitor_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
91
components/soc/esp32h2/include/soc/memprot_defs.h
Normal file
91
components/soc/esp32h2/include/soc/memprot_defs.h
Normal file
@ -0,0 +1,91 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "soc/soc.h"
|
||||
#include "esp32h2/rom/cache.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t cat0 : 2;
|
||||
uint32_t cat1 : 2;
|
||||
uint32_t cat2 : 2;
|
||||
uint32_t res0 : 8;
|
||||
uint32_t splitaddr : 8;
|
||||
uint32_t res1 : 10;
|
||||
};
|
||||
uint32_t val;
|
||||
} constrain_reg_fields_t;
|
||||
|
||||
#ifndef I_D_SRAM_SEGMENT_SIZE
|
||||
#define I_D_SRAM_SEGMENT_SIZE 0x20000
|
||||
#endif
|
||||
|
||||
#define I_D_SPLIT_LINE_SHIFT 0x9
|
||||
#define I_D_FAULT_ADDR_SHIFT 0x2
|
||||
|
||||
#define DRAM_SRAM_START 0x3FC7C000
|
||||
|
||||
//IRAM0
|
||||
|
||||
//16kB (ICACHE)
|
||||
#define IRAM0_SRAM_LEVEL_0_LOW SOC_IRAM_LOW //0x40370000
|
||||
#define IRAM0_SRAM_LEVEL_0_HIGH (IRAM0_SRAM_LEVEL_0_LOW + CACHE_MEMORY_IBANK_SIZE - 0x1) //0x4037FFFF
|
||||
|
||||
//128kB (LEVEL 1)
|
||||
#define IRAM0_SRAM_LEVEL_1_LOW (IRAM0_SRAM_LEVEL_0_HIGH + 0x1) //0x40380000
|
||||
#define IRAM0_SRAM_LEVEL_1_HIGH (IRAM0_SRAM_LEVEL_1_LOW + I_D_SRAM_SEGMENT_SIZE - 0x1) //0x4039FFFF
|
||||
|
||||
//128kB (LEVEL 2)
|
||||
#define IRAM0_SRAM_LEVEL_2_LOW (IRAM0_SRAM_LEVEL_1_HIGH + 0x1) //0x403A0000
|
||||
#define IRAM0_SRAM_LEVEL_2_HIGH (IRAM0_SRAM_LEVEL_2_LOW + I_D_SRAM_SEGMENT_SIZE - 0x1) //0x403BFFFF
|
||||
|
||||
//128kB (LEVEL 3)
|
||||
#define IRAM0_SRAM_LEVEL_3_LOW (IRAM0_SRAM_LEVEL_2_HIGH + 0x1) //0x403C0000
|
||||
#define IRAM0_SRAM_LEVEL_3_HIGH (IRAM0_SRAM_LEVEL_3_LOW + I_D_SRAM_SEGMENT_SIZE - 0x1) //0x403DFFFF
|
||||
|
||||
//permission bits
|
||||
#define SENSITIVE_CORE_X_IRAM0_PMS_CONSTRAIN_SRAM_WORLD_X_R 0x1
|
||||
#define SENSITIVE_CORE_X_IRAM0_PMS_CONSTRAIN_SRAM_WORLD_X_W 0x2
|
||||
#define SENSITIVE_CORE_X_IRAM0_PMS_CONSTRAIN_SRAM_WORLD_X_F 0x4
|
||||
|
||||
//DRAM0
|
||||
|
||||
//16kB ICACHE not available from DRAM0
|
||||
|
||||
//128kB (LEVEL 1)
|
||||
#define DRAM0_SRAM_LEVEL_1_LOW SOC_DRAM_LOW //0x3FC80000
|
||||
#define DRAM0_SRAM_LEVEL_1_HIGH (DRAM0_SRAM_LEVEL_1_LOW + I_D_SRAM_SEGMENT_SIZE - 0x1) //0x3FC9FFFF
|
||||
|
||||
//128kB (LEVEL 2)
|
||||
#define DRAM0_SRAM_LEVEL_2_LOW (DRAM0_SRAM_LEVEL_1_HIGH + 0x1) //0x3FCA0000
|
||||
#define DRAM0_SRAM_LEVEL_2_HIGH (DRAM0_SRAM_LEVEL_2_LOW + I_D_SRAM_SEGMENT_SIZE - 0x1) //0x3FCBFFFF
|
||||
|
||||
//128kB (LEVEL 3)
|
||||
#define DRAM0_SRAM_LEVEL_3_LOW (DRAM0_SRAM_LEVEL_2_HIGH + 0x1) //0x3FCC0000
|
||||
#define DRAM0_SRAM_LEVEL_3_HIGH (DRAM0_SRAM_LEVEL_3_LOW + I_D_SRAM_SEGMENT_SIZE - 0x1) //0x3FCDFFFF
|
||||
|
||||
#define SENSITIVE_CORE_X_DRAM0_PMS_CONSTRAIN_SRAM_WORLD_X_R 0x1
|
||||
#define SENSITIVE_CORE_X_DRAM0_PMS_CONSTRAIN_SRAM_WORLD_X_W 0x2
|
||||
|
||||
//RTC FAST
|
||||
|
||||
//permission bits
|
||||
#define SENSITIVE_CORE_0_PIF_PMS_CONSTRAIN_RTCFAST_WORLD_X_W 0x1
|
||||
#define SENSITIVE_CORE_0_PIF_PMS_CONSTRAIN_RTCFAST_WORLD_X_R 0x2
|
||||
#define SENSITIVE_CORE_0_PIF_PMS_CONSTRAIN_RTCFAST_WORLD_X_F 0x4
|
||||
|
||||
#define AREA_LOW 0
|
||||
#define AREA_HIGH 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
34
components/soc/esp32h2/include/soc/mmu.h
Normal file
34
components/soc/esp32h2/include/soc/mmu.h
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/ext_mem_defs.h"
|
||||
#include "soc/soc.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Defined for flash mmap */
|
||||
#define SOC_MMU_REGIONS_COUNT 1
|
||||
#define SOC_MMU_PAGES_PER_REGION 256
|
||||
#define SOC_MMU_IROM0_PAGES_START (CACHE_IROM_MMU_START / sizeof(uint32_t))
|
||||
#define SOC_MMU_IROM0_PAGES_END (CACHE_IROM_MMU_END / sizeof(uint32_t))
|
||||
#define SOC_MMU_DROM0_PAGES_START (CACHE_DROM_MMU_START / sizeof(uint32_t))
|
||||
#define SOC_MMU_DROM0_PAGES_END (CACHE_DROM_MMU_END / sizeof(uint32_t))
|
||||
#define SOC_MMU_INVALID_ENTRY_VAL MMU_TABLE_INVALID_VAL
|
||||
#define SOC_MMU_ADDR_MASK (MMU_VALID - 1)
|
||||
#define SOC_MMU_PAGE_IN_FLASH(page) (page) //Always in Flash
|
||||
#define SOC_MMU_DPORT_PRO_FLASH_MMU_TABLE FLASH_MMU_TABLE
|
||||
#define SOC_MMU_VADDR1_START_ADDR IRAM0_CACHE_ADDRESS_LOW
|
||||
#define SOC_MMU_PRO_IRAM0_FIRST_USABLE_PAGE SOC_MMU_IROM0_PAGES_START
|
||||
#define SOC_MMU_VADDR0_START_ADDR (SOC_IROM_LOW + (SOC_MMU_DROM0_PAGES_START * SPI_FLASH_MMU_PAGE_SIZE))
|
||||
#define SOC_MMU_VADDR1_FIRST_USABLE_ADDR SOC_IROM_LOW
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
472
components/soc/esp32h2/include/soc/parl_io_reg.h
Normal file
472
components/soc/esp32h2/include/soc/parl_io_reg.h
Normal file
@ -0,0 +1,472 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** PARL_IO_RX_MODE_CFG_REG register
|
||||
* Parallel RX Sampling mode configuration register.
|
||||
*/
|
||||
#define PARL_IO_RX_MODE_CFG_REG (DR_REG_PARL_IO_BASE + 0x0)
|
||||
/** PARL_IO_RX_EXT_EN_SEL : R/W; bitpos: [24:21]; default: 7;
|
||||
* Configures rx external enable signal selection from IO PAD.
|
||||
*/
|
||||
#define PARL_IO_RX_EXT_EN_SEL 0x0000000FU
|
||||
#define PARL_IO_RX_EXT_EN_SEL_M (PARL_IO_RX_EXT_EN_SEL_V << PARL_IO_RX_EXT_EN_SEL_S)
|
||||
#define PARL_IO_RX_EXT_EN_SEL_V 0x0000000FU
|
||||
#define PARL_IO_RX_EXT_EN_SEL_S 21
|
||||
/** PARL_IO_RX_SW_EN : R/W; bitpos: [25]; default: 0;
|
||||
* Set this bit to enable data sampling by software.
|
||||
*/
|
||||
#define PARL_IO_RX_SW_EN (BIT(25))
|
||||
#define PARL_IO_RX_SW_EN_M (PARL_IO_RX_SW_EN_V << PARL_IO_RX_SW_EN_S)
|
||||
#define PARL_IO_RX_SW_EN_V 0x00000001U
|
||||
#define PARL_IO_RX_SW_EN_S 25
|
||||
/** PARL_IO_RX_EXT_EN_INV : R/W; bitpos: [26]; default: 0;
|
||||
* Set this bit to invert the external enable signal.
|
||||
*/
|
||||
#define PARL_IO_RX_EXT_EN_INV (BIT(26))
|
||||
#define PARL_IO_RX_EXT_EN_INV_M (PARL_IO_RX_EXT_EN_INV_V << PARL_IO_RX_EXT_EN_INV_S)
|
||||
#define PARL_IO_RX_EXT_EN_INV_V 0x00000001U
|
||||
#define PARL_IO_RX_EXT_EN_INV_S 26
|
||||
/** PARL_IO_RX_PULSE_SUBMODE_SEL : R/W; bitpos: [29:27]; default: 0;
|
||||
* Configures the rxd pulse sampling submode.
|
||||
* 4'd0: positive pulse start(data bit included) && positive pulse end(data bit
|
||||
* included)
|
||||
* 4'd1: positive pulse start(data bit included) && positive pulse end (data bit
|
||||
* excluded)
|
||||
* 4'd2: positive pulse start(data bit excluded) && positive pulse end (data bit
|
||||
* included)
|
||||
* 4'd3: positive pulse start(data bit excluded) && positive pulse end (data bit
|
||||
* excluded)
|
||||
* 4'd4: positive pulse start(data bit included) && length end
|
||||
* 4'd5: positive pulse start(data bit excluded) && length end
|
||||
*/
|
||||
#define PARL_IO_RX_PULSE_SUBMODE_SEL 0x00000007U
|
||||
#define PARL_IO_RX_PULSE_SUBMODE_SEL_M (PARL_IO_RX_PULSE_SUBMODE_SEL_V << PARL_IO_RX_PULSE_SUBMODE_SEL_S)
|
||||
#define PARL_IO_RX_PULSE_SUBMODE_SEL_V 0x00000007U
|
||||
#define PARL_IO_RX_PULSE_SUBMODE_SEL_S 27
|
||||
/** PARL_IO_RX_SMP_MODE_SEL : R/W; bitpos: [31:30]; default: 0;
|
||||
* Configures the rxd sampling mode.
|
||||
* 2'b00: external level enable mode
|
||||
* 2'b01: external pulse enable mode
|
||||
* 2'b10: internal software enable mode
|
||||
*/
|
||||
#define PARL_IO_RX_SMP_MODE_SEL 0x00000003U
|
||||
#define PARL_IO_RX_SMP_MODE_SEL_M (PARL_IO_RX_SMP_MODE_SEL_V << PARL_IO_RX_SMP_MODE_SEL_S)
|
||||
#define PARL_IO_RX_SMP_MODE_SEL_V 0x00000003U
|
||||
#define PARL_IO_RX_SMP_MODE_SEL_S 30
|
||||
|
||||
/** PARL_IO_RX_DATA_CFG_REG register
|
||||
* Parallel RX data configuration register.
|
||||
*/
|
||||
#define PARL_IO_RX_DATA_CFG_REG (DR_REG_PARL_IO_BASE + 0x4)
|
||||
/** PARL_IO_RX_BITLEN : R/W; bitpos: [27:9]; default: 0;
|
||||
* Configures expected byte number of received data.
|
||||
*/
|
||||
#define PARL_IO_RX_BITLEN 0x0007FFFFU
|
||||
#define PARL_IO_RX_BITLEN_M (PARL_IO_RX_BITLEN_V << PARL_IO_RX_BITLEN_S)
|
||||
#define PARL_IO_RX_BITLEN_V 0x0007FFFFU
|
||||
#define PARL_IO_RX_BITLEN_S 9
|
||||
/** PARL_IO_RX_DATA_ORDER_INV : R/W; bitpos: [28]; default: 0;
|
||||
* Set this bit to invert bit order of one byte sent from RX_FIFO to DMA.
|
||||
*/
|
||||
#define PARL_IO_RX_DATA_ORDER_INV (BIT(28))
|
||||
#define PARL_IO_RX_DATA_ORDER_INV_M (PARL_IO_RX_DATA_ORDER_INV_V << PARL_IO_RX_DATA_ORDER_INV_S)
|
||||
#define PARL_IO_RX_DATA_ORDER_INV_V 0x00000001U
|
||||
#define PARL_IO_RX_DATA_ORDER_INV_S 28
|
||||
/** PARL_IO_RX_BUS_WID_SEL : R/W; bitpos: [31:29]; default: 3;
|
||||
* Configures the rxd bus width.
|
||||
* 3'd0: bus width is 1.
|
||||
* 3'd1: bus width is 2.
|
||||
* 3'd2: bus width is 4.
|
||||
* 3'd3: bus width is 8.
|
||||
*/
|
||||
#define PARL_IO_RX_BUS_WID_SEL 0x00000007U
|
||||
#define PARL_IO_RX_BUS_WID_SEL_M (PARL_IO_RX_BUS_WID_SEL_V << PARL_IO_RX_BUS_WID_SEL_S)
|
||||
#define PARL_IO_RX_BUS_WID_SEL_V 0x00000007U
|
||||
#define PARL_IO_RX_BUS_WID_SEL_S 29
|
||||
|
||||
/** PARL_IO_RX_GENRL_CFG_REG register
|
||||
* Parallel RX general configuration register.
|
||||
*/
|
||||
#define PARL_IO_RX_GENRL_CFG_REG (DR_REG_PARL_IO_BASE + 0x8)
|
||||
/** PARL_IO_RX_GATING_EN : R/W; bitpos: [12]; default: 0;
|
||||
* Set this bit to enable the clock gating of output rx clock.
|
||||
*/
|
||||
#define PARL_IO_RX_GATING_EN (BIT(12))
|
||||
#define PARL_IO_RX_GATING_EN_M (PARL_IO_RX_GATING_EN_V << PARL_IO_RX_GATING_EN_S)
|
||||
#define PARL_IO_RX_GATING_EN_V 0x00000001U
|
||||
#define PARL_IO_RX_GATING_EN_S 12
|
||||
/** PARL_IO_RX_TIMEOUT_THRES : R/W; bitpos: [28:13]; default: 4095;
|
||||
* Configures threshold of timeout counter.
|
||||
*/
|
||||
#define PARL_IO_RX_TIMEOUT_THRES 0x0000FFFFU
|
||||
#define PARL_IO_RX_TIMEOUT_THRES_M (PARL_IO_RX_TIMEOUT_THRES_V << PARL_IO_RX_TIMEOUT_THRES_S)
|
||||
#define PARL_IO_RX_TIMEOUT_THRES_V 0x0000FFFFU
|
||||
#define PARL_IO_RX_TIMEOUT_THRES_S 13
|
||||
/** PARL_IO_RX_TIMEOUT_EN : R/W; bitpos: [29]; default: 1;
|
||||
* Set this bit to enable timeout function to generate error eof.
|
||||
*/
|
||||
#define PARL_IO_RX_TIMEOUT_EN (BIT(29))
|
||||
#define PARL_IO_RX_TIMEOUT_EN_M (PARL_IO_RX_TIMEOUT_EN_V << PARL_IO_RX_TIMEOUT_EN_S)
|
||||
#define PARL_IO_RX_TIMEOUT_EN_V 0x00000001U
|
||||
#define PARL_IO_RX_TIMEOUT_EN_S 29
|
||||
/** PARL_IO_RX_EOF_GEN_SEL : R/W; bitpos: [30]; default: 0;
|
||||
* Configures the DMA eof generated mechanism. 1'b0: eof generated by data byte
|
||||
* length. 1'b1: eof generated by external enable signal.
|
||||
*/
|
||||
#define PARL_IO_RX_EOF_GEN_SEL (BIT(30))
|
||||
#define PARL_IO_RX_EOF_GEN_SEL_M (PARL_IO_RX_EOF_GEN_SEL_V << PARL_IO_RX_EOF_GEN_SEL_S)
|
||||
#define PARL_IO_RX_EOF_GEN_SEL_V 0x00000001U
|
||||
#define PARL_IO_RX_EOF_GEN_SEL_S 30
|
||||
|
||||
/** PARL_IO_RX_START_CFG_REG register
|
||||
* Parallel RX Start configuration register.
|
||||
*/
|
||||
#define PARL_IO_RX_START_CFG_REG (DR_REG_PARL_IO_BASE + 0xc)
|
||||
/** PARL_IO_RX_START : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to start rx data sampling.
|
||||
*/
|
||||
#define PARL_IO_RX_START (BIT(31))
|
||||
#define PARL_IO_RX_START_M (PARL_IO_RX_START_V << PARL_IO_RX_START_S)
|
||||
#define PARL_IO_RX_START_V 0x00000001U
|
||||
#define PARL_IO_RX_START_S 31
|
||||
|
||||
/** PARL_IO_TX_DATA_CFG_REG register
|
||||
* Parallel TX data configuration register.
|
||||
*/
|
||||
#define PARL_IO_TX_DATA_CFG_REG (DR_REG_PARL_IO_BASE + 0x10)
|
||||
/** PARL_IO_TX_BITLEN : R/W; bitpos: [27:9]; default: 0;
|
||||
* Configures expected byte number of sent data.
|
||||
*/
|
||||
#define PARL_IO_TX_BITLEN 0x0007FFFFU
|
||||
#define PARL_IO_TX_BITLEN_M (PARL_IO_TX_BITLEN_V << PARL_IO_TX_BITLEN_S)
|
||||
#define PARL_IO_TX_BITLEN_V 0x0007FFFFU
|
||||
#define PARL_IO_TX_BITLEN_S 9
|
||||
/** PARL_IO_TX_DATA_ORDER_INV : R/W; bitpos: [28]; default: 0;
|
||||
* Set this bit to invert bit order of one byte sent from TX_FIFO to IO data.
|
||||
*/
|
||||
#define PARL_IO_TX_DATA_ORDER_INV (BIT(28))
|
||||
#define PARL_IO_TX_DATA_ORDER_INV_M (PARL_IO_TX_DATA_ORDER_INV_V << PARL_IO_TX_DATA_ORDER_INV_S)
|
||||
#define PARL_IO_TX_DATA_ORDER_INV_V 0x00000001U
|
||||
#define PARL_IO_TX_DATA_ORDER_INV_S 28
|
||||
/** PARL_IO_TX_BUS_WID_SEL : R/W; bitpos: [31:29]; default: 3;
|
||||
* Configures the txd bus width.
|
||||
* 3'd0: bus width is 1.
|
||||
* 3'd1: bus width is 2.
|
||||
* 3'd2: bus width is 4.
|
||||
* 3'd3: bus width is 8.
|
||||
*/
|
||||
#define PARL_IO_TX_BUS_WID_SEL 0x00000007U
|
||||
#define PARL_IO_TX_BUS_WID_SEL_M (PARL_IO_TX_BUS_WID_SEL_V << PARL_IO_TX_BUS_WID_SEL_S)
|
||||
#define PARL_IO_TX_BUS_WID_SEL_V 0x00000007U
|
||||
#define PARL_IO_TX_BUS_WID_SEL_S 29
|
||||
|
||||
/** PARL_IO_TX_START_CFG_REG register
|
||||
* Parallel TX Start configuration register.
|
||||
*/
|
||||
#define PARL_IO_TX_START_CFG_REG (DR_REG_PARL_IO_BASE + 0x14)
|
||||
/** PARL_IO_TX_START : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to start tx data transmit.
|
||||
*/
|
||||
#define PARL_IO_TX_START (BIT(31))
|
||||
#define PARL_IO_TX_START_M (PARL_IO_TX_START_V << PARL_IO_TX_START_S)
|
||||
#define PARL_IO_TX_START_V 0x00000001U
|
||||
#define PARL_IO_TX_START_S 31
|
||||
|
||||
/** PARL_IO_TX_GENRL_CFG_REG register
|
||||
* Parallel TX general configuration register.
|
||||
*/
|
||||
#define PARL_IO_TX_GENRL_CFG_REG (DR_REG_PARL_IO_BASE + 0x18)
|
||||
/** PARL_IO_TX_IDLE_VALUE : R/W; bitpos: [29:14]; default: 0;
|
||||
* Configures bus value of transmitter in IDLE state.
|
||||
*/
|
||||
#define PARL_IO_TX_IDLE_VALUE 0x0000FFFFU
|
||||
#define PARL_IO_TX_IDLE_VALUE_M (PARL_IO_TX_IDLE_VALUE_V << PARL_IO_TX_IDLE_VALUE_S)
|
||||
#define PARL_IO_TX_IDLE_VALUE_V 0x0000FFFFU
|
||||
#define PARL_IO_TX_IDLE_VALUE_S 14
|
||||
/** PARL_IO_TX_GATING_EN : R/W; bitpos: [30]; default: 0;
|
||||
* Set this bit to enable the clock gating of output tx clock.
|
||||
*/
|
||||
#define PARL_IO_TX_GATING_EN (BIT(30))
|
||||
#define PARL_IO_TX_GATING_EN_M (PARL_IO_TX_GATING_EN_V << PARL_IO_TX_GATING_EN_S)
|
||||
#define PARL_IO_TX_GATING_EN_V 0x00000001U
|
||||
#define PARL_IO_TX_GATING_EN_S 30
|
||||
/** PARL_IO_TX_VALID_OUTPUT_EN : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to enable the output of tx data valid signal.
|
||||
*/
|
||||
#define PARL_IO_TX_VALID_OUTPUT_EN (BIT(31))
|
||||
#define PARL_IO_TX_VALID_OUTPUT_EN_M (PARL_IO_TX_VALID_OUTPUT_EN_V << PARL_IO_TX_VALID_OUTPUT_EN_S)
|
||||
#define PARL_IO_TX_VALID_OUTPUT_EN_V 0x00000001U
|
||||
#define PARL_IO_TX_VALID_OUTPUT_EN_S 31
|
||||
|
||||
/** PARL_IO_FIFO_CFG_REG register
|
||||
* Parallel IO FIFO configuration register.
|
||||
*/
|
||||
#define PARL_IO_FIFO_CFG_REG (DR_REG_PARL_IO_BASE + 0x1c)
|
||||
/** PARL_IO_TX_FIFO_SRST : R/W; bitpos: [30]; default: 0;
|
||||
* Set this bit to reset async fifo in tx module.
|
||||
*/
|
||||
#define PARL_IO_TX_FIFO_SRST (BIT(30))
|
||||
#define PARL_IO_TX_FIFO_SRST_M (PARL_IO_TX_FIFO_SRST_V << PARL_IO_TX_FIFO_SRST_S)
|
||||
#define PARL_IO_TX_FIFO_SRST_V 0x00000001U
|
||||
#define PARL_IO_TX_FIFO_SRST_S 30
|
||||
/** PARL_IO_RX_FIFO_SRST : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to reset async fifo in rx module.
|
||||
*/
|
||||
#define PARL_IO_RX_FIFO_SRST (BIT(31))
|
||||
#define PARL_IO_RX_FIFO_SRST_M (PARL_IO_RX_FIFO_SRST_V << PARL_IO_RX_FIFO_SRST_S)
|
||||
#define PARL_IO_RX_FIFO_SRST_V 0x00000001U
|
||||
#define PARL_IO_RX_FIFO_SRST_S 31
|
||||
|
||||
/** PARL_IO_REG_UPDATE_REG register
|
||||
* Parallel IO FIFO configuration register.
|
||||
*/
|
||||
#define PARL_IO_REG_UPDATE_REG (DR_REG_PARL_IO_BASE + 0x20)
|
||||
/** PARL_IO_RX_REG_UPDATE : WT; bitpos: [31]; default: 0;
|
||||
* Set this bit to update rx register configuration.
|
||||
*/
|
||||
#define PARL_IO_RX_REG_UPDATE (BIT(31))
|
||||
#define PARL_IO_RX_REG_UPDATE_M (PARL_IO_RX_REG_UPDATE_V << PARL_IO_RX_REG_UPDATE_S)
|
||||
#define PARL_IO_RX_REG_UPDATE_V 0x00000001U
|
||||
#define PARL_IO_RX_REG_UPDATE_S 31
|
||||
|
||||
/** PARL_IO_ST_REG register
|
||||
* Parallel IO module status register0.
|
||||
*/
|
||||
#define PARL_IO_ST_REG (DR_REG_PARL_IO_BASE + 0x24)
|
||||
/** PARL_IO_TX_READY : RO; bitpos: [31]; default: 0;
|
||||
* Represents the status that tx is ready to transmit.
|
||||
*/
|
||||
#define PARL_IO_TX_READY (BIT(31))
|
||||
#define PARL_IO_TX_READY_M (PARL_IO_TX_READY_V << PARL_IO_TX_READY_S)
|
||||
#define PARL_IO_TX_READY_V 0x00000001U
|
||||
#define PARL_IO_TX_READY_S 31
|
||||
|
||||
/** PARL_IO_INT_ENA_REG register
|
||||
* Parallel IO interrupt enable singal configuration register.
|
||||
*/
|
||||
#define PARL_IO_INT_ENA_REG (DR_REG_PARL_IO_BASE + 0x28)
|
||||
/** PARL_IO_TX_FIFO_REMPTY_INT_ENA : R/W; bitpos: [0]; default: 0;
|
||||
* Set this bit to enable TX_FIFO_REMPTY_INT.
|
||||
*/
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_ENA (BIT(0))
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_ENA_M (PARL_IO_TX_FIFO_REMPTY_INT_ENA_V << PARL_IO_TX_FIFO_REMPTY_INT_ENA_S)
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_ENA_V 0x00000001U
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_ENA_S 0
|
||||
/** PARL_IO_RX_FIFO_WOVF_INT_ENA : R/W; bitpos: [1]; default: 0;
|
||||
* Set this bit to enable RX_FIFO_WOVF_INT.
|
||||
*/
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_ENA (BIT(1))
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_ENA_M (PARL_IO_RX_FIFO_WOVF_INT_ENA_V << PARL_IO_RX_FIFO_WOVF_INT_ENA_S)
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_ENA_V 0x00000001U
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_ENA_S 1
|
||||
/** PARL_IO_TX_EOF_INT_ENA : R/W; bitpos: [2]; default: 0;
|
||||
* Set this bit to enable TX_EOF_INT.
|
||||
*/
|
||||
#define PARL_IO_TX_EOF_INT_ENA (BIT(2))
|
||||
#define PARL_IO_TX_EOF_INT_ENA_M (PARL_IO_TX_EOF_INT_ENA_V << PARL_IO_TX_EOF_INT_ENA_S)
|
||||
#define PARL_IO_TX_EOF_INT_ENA_V 0x00000001U
|
||||
#define PARL_IO_TX_EOF_INT_ENA_S 2
|
||||
|
||||
/** PARL_IO_INT_RAW_REG register
|
||||
* Parallel IO interrupt raw singal status register.
|
||||
*/
|
||||
#define PARL_IO_INT_RAW_REG (DR_REG_PARL_IO_BASE + 0x2c)
|
||||
/** PARL_IO_TX_FIFO_REMPTY_INT_RAW : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* The raw interrupt status of TX_FIFO_REMPTY_INT.
|
||||
*/
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_RAW (BIT(0))
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_RAW_M (PARL_IO_TX_FIFO_REMPTY_INT_RAW_V << PARL_IO_TX_FIFO_REMPTY_INT_RAW_S)
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_RAW_V 0x00000001U
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_RAW_S 0
|
||||
/** PARL_IO_RX_FIFO_WOVF_INT_RAW : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* The raw interrupt status of RX_FIFO_WOVF_INT.
|
||||
*/
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_RAW (BIT(1))
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_RAW_M (PARL_IO_RX_FIFO_WOVF_INT_RAW_V << PARL_IO_RX_FIFO_WOVF_INT_RAW_S)
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_RAW_V 0x00000001U
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_RAW_S 1
|
||||
/** PARL_IO_TX_EOF_INT_RAW : R/WTC/SS; bitpos: [2]; default: 0;
|
||||
* The raw interrupt status of TX_EOF_INT.
|
||||
*/
|
||||
#define PARL_IO_TX_EOF_INT_RAW (BIT(2))
|
||||
#define PARL_IO_TX_EOF_INT_RAW_M (PARL_IO_TX_EOF_INT_RAW_V << PARL_IO_TX_EOF_INT_RAW_S)
|
||||
#define PARL_IO_TX_EOF_INT_RAW_V 0x00000001U
|
||||
#define PARL_IO_TX_EOF_INT_RAW_S 2
|
||||
|
||||
/** PARL_IO_INT_ST_REG register
|
||||
* Parallel IO interrupt singal status register.
|
||||
*/
|
||||
#define PARL_IO_INT_ST_REG (DR_REG_PARL_IO_BASE + 0x30)
|
||||
/** PARL_IO_TX_FIFO_REMPTY_INT_ST : RO; bitpos: [0]; default: 0;
|
||||
* The masked interrupt status of TX_FIFO_REMPTY_INT.
|
||||
*/
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_ST (BIT(0))
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_ST_M (PARL_IO_TX_FIFO_REMPTY_INT_ST_V << PARL_IO_TX_FIFO_REMPTY_INT_ST_S)
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_ST_V 0x00000001U
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_ST_S 0
|
||||
/** PARL_IO_RX_FIFO_WOVF_INT_ST : RO; bitpos: [1]; default: 0;
|
||||
* The masked interrupt status of RX_FIFO_WOVF_INT.
|
||||
*/
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_ST (BIT(1))
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_ST_M (PARL_IO_RX_FIFO_WOVF_INT_ST_V << PARL_IO_RX_FIFO_WOVF_INT_ST_S)
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_ST_V 0x00000001U
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_ST_S 1
|
||||
/** PARL_IO_TX_EOF_INT_ST : RO; bitpos: [2]; default: 0;
|
||||
* The masked interrupt status of TX_EOF_INT.
|
||||
*/
|
||||
#define PARL_IO_TX_EOF_INT_ST (BIT(2))
|
||||
#define PARL_IO_TX_EOF_INT_ST_M (PARL_IO_TX_EOF_INT_ST_V << PARL_IO_TX_EOF_INT_ST_S)
|
||||
#define PARL_IO_TX_EOF_INT_ST_V 0x00000001U
|
||||
#define PARL_IO_TX_EOF_INT_ST_S 2
|
||||
|
||||
/** PARL_IO_INT_CLR_REG register
|
||||
* Parallel IO interrupt clear singal configuration register.
|
||||
*/
|
||||
#define PARL_IO_INT_CLR_REG (DR_REG_PARL_IO_BASE + 0x34)
|
||||
/** PARL_IO_TX_FIFO_REMPTY_INT_CLR : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear TX_FIFO_REMPTY_INT.
|
||||
*/
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_CLR (BIT(0))
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_CLR_M (PARL_IO_TX_FIFO_REMPTY_INT_CLR_V << PARL_IO_TX_FIFO_REMPTY_INT_CLR_S)
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_CLR_V 0x00000001U
|
||||
#define PARL_IO_TX_FIFO_REMPTY_INT_CLR_S 0
|
||||
/** PARL_IO_RX_FIFO_WOVF_INT_CLR : WT; bitpos: [1]; default: 0;
|
||||
* Set this bit to clear RX_FIFO_WOVF_INT.
|
||||
*/
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_CLR (BIT(1))
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_CLR_M (PARL_IO_RX_FIFO_WOVF_INT_CLR_V << PARL_IO_RX_FIFO_WOVF_INT_CLR_S)
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_CLR_V 0x00000001U
|
||||
#define PARL_IO_RX_FIFO_WOVF_INT_CLR_S 1
|
||||
/** PARL_IO_TX_EOF_INT_CLR : WT; bitpos: [2]; default: 0;
|
||||
* Set this bit to clear TX_EOF_INT.
|
||||
*/
|
||||
#define PARL_IO_TX_EOF_INT_CLR (BIT(2))
|
||||
#define PARL_IO_TX_EOF_INT_CLR_M (PARL_IO_TX_EOF_INT_CLR_V << PARL_IO_TX_EOF_INT_CLR_S)
|
||||
#define PARL_IO_TX_EOF_INT_CLR_V 0x00000001U
|
||||
#define PARL_IO_TX_EOF_INT_CLR_S 2
|
||||
|
||||
/** PARL_IO_RX_ST0_REG register
|
||||
* Parallel IO RX status register0
|
||||
*/
|
||||
#define PARL_IO_RX_ST0_REG (DR_REG_PARL_IO_BASE + 0x38)
|
||||
/** PARL_IO_RX_CNT : RO; bitpos: [12:9]; default: 0;
|
||||
* Indicates the cycle number of reading Rx FIFO.
|
||||
*/
|
||||
#define PARL_IO_RX_CNT 0x0000000FU
|
||||
#define PARL_IO_RX_CNT_M (PARL_IO_RX_CNT_V << PARL_IO_RX_CNT_S)
|
||||
#define PARL_IO_RX_CNT_V 0x0000000FU
|
||||
#define PARL_IO_RX_CNT_S 9
|
||||
/** PARL_IO_RX_FIFO_WR_BIT_CNT : RO; bitpos: [31:13]; default: 0;
|
||||
* Indicates the current written bit number into Rx FIFO.
|
||||
*/
|
||||
#define PARL_IO_RX_FIFO_WR_BIT_CNT 0x0007FFFFU
|
||||
#define PARL_IO_RX_FIFO_WR_BIT_CNT_M (PARL_IO_RX_FIFO_WR_BIT_CNT_V << PARL_IO_RX_FIFO_WR_BIT_CNT_S)
|
||||
#define PARL_IO_RX_FIFO_WR_BIT_CNT_V 0x0007FFFFU
|
||||
#define PARL_IO_RX_FIFO_WR_BIT_CNT_S 13
|
||||
|
||||
/** PARL_IO_RX_ST1_REG register
|
||||
* Parallel IO RX status register1
|
||||
*/
|
||||
#define PARL_IO_RX_ST1_REG (DR_REG_PARL_IO_BASE + 0x3c)
|
||||
/** PARL_IO_RX_FIFO_RD_BIT_CNT : RO; bitpos: [31:13]; default: 0;
|
||||
* Indicates the current read bit number from Rx FIFO.
|
||||
*/
|
||||
#define PARL_IO_RX_FIFO_RD_BIT_CNT 0x0007FFFFU
|
||||
#define PARL_IO_RX_FIFO_RD_BIT_CNT_M (PARL_IO_RX_FIFO_RD_BIT_CNT_V << PARL_IO_RX_FIFO_RD_BIT_CNT_S)
|
||||
#define PARL_IO_RX_FIFO_RD_BIT_CNT_V 0x0007FFFFU
|
||||
#define PARL_IO_RX_FIFO_RD_BIT_CNT_S 13
|
||||
|
||||
/** PARL_IO_TX_ST0_REG register
|
||||
* Parallel IO TX status register0
|
||||
*/
|
||||
#define PARL_IO_TX_ST0_REG (DR_REG_PARL_IO_BASE + 0x40)
|
||||
/** PARL_IO_TX_CNT : RO; bitpos: [12:6]; default: 0;
|
||||
* Indicates the cycle number of reading Tx FIFO.
|
||||
*/
|
||||
#define PARL_IO_TX_CNT 0x0000007FU
|
||||
#define PARL_IO_TX_CNT_M (PARL_IO_TX_CNT_V << PARL_IO_TX_CNT_S)
|
||||
#define PARL_IO_TX_CNT_V 0x0000007FU
|
||||
#define PARL_IO_TX_CNT_S 6
|
||||
/** PARL_IO_TX_FIFO_RD_BIT_CNT : RO; bitpos: [31:13]; default: 0;
|
||||
* Indicates the current read bit number from Tx FIFO.
|
||||
*/
|
||||
#define PARL_IO_TX_FIFO_RD_BIT_CNT 0x0007FFFFU
|
||||
#define PARL_IO_TX_FIFO_RD_BIT_CNT_M (PARL_IO_TX_FIFO_RD_BIT_CNT_V << PARL_IO_TX_FIFO_RD_BIT_CNT_S)
|
||||
#define PARL_IO_TX_FIFO_RD_BIT_CNT_V 0x0007FFFFU
|
||||
#define PARL_IO_TX_FIFO_RD_BIT_CNT_S 13
|
||||
|
||||
/** PARL_IO_RX_CLK_CFG_REG register
|
||||
* Parallel IO RX clk configuration register
|
||||
*/
|
||||
#define PARL_IO_RX_CLK_CFG_REG (DR_REG_PARL_IO_BASE + 0x44)
|
||||
/** PARL_IO_RX_CLK_I_INV : R/W; bitpos: [30]; default: 0;
|
||||
* Set this bit to invert the input Rx core clock.
|
||||
*/
|
||||
#define PARL_IO_RX_CLK_I_INV (BIT(30))
|
||||
#define PARL_IO_RX_CLK_I_INV_M (PARL_IO_RX_CLK_I_INV_V << PARL_IO_RX_CLK_I_INV_S)
|
||||
#define PARL_IO_RX_CLK_I_INV_V 0x00000001U
|
||||
#define PARL_IO_RX_CLK_I_INV_S 30
|
||||
/** PARL_IO_RX_CLK_O_INV : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to invert the output Rx core clock.
|
||||
*/
|
||||
#define PARL_IO_RX_CLK_O_INV (BIT(31))
|
||||
#define PARL_IO_RX_CLK_O_INV_M (PARL_IO_RX_CLK_O_INV_V << PARL_IO_RX_CLK_O_INV_S)
|
||||
#define PARL_IO_RX_CLK_O_INV_V 0x00000001U
|
||||
#define PARL_IO_RX_CLK_O_INV_S 31
|
||||
|
||||
/** PARL_IO_TX_CLK_CFG_REG register
|
||||
* Parallel IO TX clk configuration register
|
||||
*/
|
||||
#define PARL_IO_TX_CLK_CFG_REG (DR_REG_PARL_IO_BASE + 0x48)
|
||||
/** PARL_IO_TX_CLK_I_INV : R/W; bitpos: [30]; default: 0;
|
||||
* Set this bit to invert the input Tx core clock.
|
||||
*/
|
||||
#define PARL_IO_TX_CLK_I_INV (BIT(30))
|
||||
#define PARL_IO_TX_CLK_I_INV_M (PARL_IO_TX_CLK_I_INV_V << PARL_IO_TX_CLK_I_INV_S)
|
||||
#define PARL_IO_TX_CLK_I_INV_V 0x00000001U
|
||||
#define PARL_IO_TX_CLK_I_INV_S 30
|
||||
/** PARL_IO_TX_CLK_O_INV : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to invert the output Tx core clock.
|
||||
*/
|
||||
#define PARL_IO_TX_CLK_O_INV (BIT(31))
|
||||
#define PARL_IO_TX_CLK_O_INV_M (PARL_IO_TX_CLK_O_INV_V << PARL_IO_TX_CLK_O_INV_S)
|
||||
#define PARL_IO_TX_CLK_O_INV_V 0x00000001U
|
||||
#define PARL_IO_TX_CLK_O_INV_S 31
|
||||
|
||||
/** PARL_IO_CLK_REG register
|
||||
* Parallel IO clk configuration register
|
||||
*/
|
||||
#define PARL_IO_CLK_REG (DR_REG_PARL_IO_BASE + 0x120)
|
||||
/** PARL_IO_CLK_EN : R/W; bitpos: [31]; default: 0;
|
||||
* Force clock on for this register file
|
||||
*/
|
||||
#define PARL_IO_CLK_EN (BIT(31))
|
||||
#define PARL_IO_CLK_EN_M (PARL_IO_CLK_EN_V << PARL_IO_CLK_EN_S)
|
||||
#define PARL_IO_CLK_EN_V 0x00000001U
|
||||
#define PARL_IO_CLK_EN_S 31
|
||||
|
||||
/** PARL_IO_VERSION_REG register
|
||||
* Version register.
|
||||
*/
|
||||
#define PARL_IO_VERSION_REG (DR_REG_PARL_IO_BASE + 0x3fc)
|
||||
/** PARL_IO_DATE : R/W; bitpos: [27:0]; default: 35684928;
|
||||
* Version of this register file
|
||||
*/
|
||||
#define PARL_IO_DATE 0x0FFFFFFFU
|
||||
#define PARL_IO_DATE_M (PARL_IO_DATE_V << PARL_IO_DATE_S)
|
||||
#define PARL_IO_DATE_V 0x0FFFFFFFU
|
||||
#define PARL_IO_DATE_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
504
components/soc/esp32h2/include/soc/parl_io_struct.h
Normal file
504
components/soc/esp32h2/include/soc/parl_io_struct.h
Normal file
@ -0,0 +1,504 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: PARL_IO RX Mode Configuration */
|
||||
/** Type of rx_mode_cfg register
|
||||
* Parallel RX Sampling mode configuration register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:21;
|
||||
/** rx_ext_en_sel : R/W; bitpos: [24:21]; default: 7;
|
||||
* Configures rx external enable signal selection from IO PAD.
|
||||
*/
|
||||
uint32_t rx_ext_en_sel:4;
|
||||
/** rx_sw_en : R/W; bitpos: [25]; default: 0;
|
||||
* Set this bit to enable data sampling by software.
|
||||
*/
|
||||
uint32_t rx_sw_en:1;
|
||||
/** rx_ext_en_inv : R/W; bitpos: [26]; default: 0;
|
||||
* Set this bit to invert the external enable signal.
|
||||
*/
|
||||
uint32_t rx_ext_en_inv:1;
|
||||
/** rx_pulse_submode_sel : R/W; bitpos: [29:27]; default: 0;
|
||||
* Configures the rxd pulse sampling submode.
|
||||
* 4'd0: positive pulse start(data bit included) && positive pulse end(data bit
|
||||
* included)
|
||||
* 4'd1: positive pulse start(data bit included) && positive pulse end (data bit
|
||||
* excluded)
|
||||
* 4'd2: positive pulse start(data bit excluded) && positive pulse end (data bit
|
||||
* included)
|
||||
* 4'd3: positive pulse start(data bit excluded) && positive pulse end (data bit
|
||||
* excluded)
|
||||
* 4'd4: positive pulse start(data bit included) && length end
|
||||
* 4'd5: positive pulse start(data bit excluded) && length end
|
||||
*/
|
||||
uint32_t rx_pulse_submode_sel:3;
|
||||
/** rx_smp_mode_sel : R/W; bitpos: [31:30]; default: 0;
|
||||
* Configures the rxd sampling mode.
|
||||
* 2'b00: external level enable mode
|
||||
* 2'b01: external pulse enable mode
|
||||
* 2'b10: internal software enable mode
|
||||
*/
|
||||
uint32_t rx_smp_mode_sel:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_rx_mode_cfg_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO RX Data Configuration */
|
||||
/** Type of rx_data_cfg register
|
||||
* Parallel RX data configuration register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:9;
|
||||
/** rx_bitlen : R/W; bitpos: [27:9]; default: 0;
|
||||
* Configures expected byte number of received data.
|
||||
*/
|
||||
uint32_t rx_bitlen:19;
|
||||
/** rx_data_order_inv : R/W; bitpos: [28]; default: 0;
|
||||
* Set this bit to invert bit order of one byte sent from RX_FIFO to DMA.
|
||||
*/
|
||||
uint32_t rx_data_order_inv:1;
|
||||
/** rx_bus_wid_sel : R/W; bitpos: [31:29]; default: 3;
|
||||
* Configures the rxd bus width.
|
||||
* 3'd0: bus width is 1.
|
||||
* 3'd1: bus width is 2.
|
||||
* 3'd2: bus width is 4.
|
||||
* 3'd3: bus width is 8.
|
||||
*/
|
||||
uint32_t rx_bus_wid_sel:3;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_rx_data_cfg_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO RX General Configuration */
|
||||
/** Type of rx_genrl_cfg register
|
||||
* Parallel RX general configuration register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:12;
|
||||
/** rx_gating_en : R/W; bitpos: [12]; default: 0;
|
||||
* Set this bit to enable the clock gating of output rx clock.
|
||||
*/
|
||||
uint32_t rx_gating_en:1;
|
||||
/** rx_timeout_thres : R/W; bitpos: [28:13]; default: 4095;
|
||||
* Configures threshold of timeout counter.
|
||||
*/
|
||||
uint32_t rx_timeout_thres:16;
|
||||
/** rx_timeout_en : R/W; bitpos: [29]; default: 1;
|
||||
* Set this bit to enable timeout function to generate error eof.
|
||||
*/
|
||||
uint32_t rx_timeout_en:1;
|
||||
/** rx_eof_gen_sel : R/W; bitpos: [30]; default: 0;
|
||||
* Configures the DMA eof generated mechanism. 1'b0: eof generated by data byte
|
||||
* length. 1'b1: eof generated by external enable signal.
|
||||
*/
|
||||
uint32_t rx_eof_gen_sel:1;
|
||||
uint32_t reserved_31:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_rx_genrl_cfg_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO RX Start Configuration */
|
||||
/** Type of rx_start_cfg register
|
||||
* Parallel RX Start configuration register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** rx_start : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to start rx data sampling.
|
||||
*/
|
||||
uint32_t rx_start:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_rx_start_cfg_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO TX Data Configuration */
|
||||
/** Type of tx_data_cfg register
|
||||
* Parallel TX data configuration register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:9;
|
||||
/** tx_bitlen : R/W; bitpos: [27:9]; default: 0;
|
||||
* Configures expected byte number of sent data.
|
||||
*/
|
||||
uint32_t tx_bitlen:19;
|
||||
/** tx_data_order_inv : R/W; bitpos: [28]; default: 0;
|
||||
* Set this bit to invert bit order of one byte sent from TX_FIFO to IO data.
|
||||
*/
|
||||
uint32_t tx_data_order_inv:1;
|
||||
/** tx_bus_wid_sel : R/W; bitpos: [31:29]; default: 3;
|
||||
* Configures the txd bus width.
|
||||
* 3'd0: bus width is 1.
|
||||
* 3'd1: bus width is 2.
|
||||
* 3'd2: bus width is 4.
|
||||
* 3'd3: bus width is 8.
|
||||
*/
|
||||
uint32_t tx_bus_wid_sel:3;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_tx_data_cfg_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO TX Start Configuration */
|
||||
/** Type of tx_start_cfg register
|
||||
* Parallel TX Start configuration register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** tx_start : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to start tx data transmit.
|
||||
*/
|
||||
uint32_t tx_start:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_tx_start_cfg_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO TX General Configuration */
|
||||
/** Type of tx_genrl_cfg register
|
||||
* Parallel TX general configuration register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:14;
|
||||
/** tx_idle_value : R/W; bitpos: [29:14]; default: 0;
|
||||
* Configures bus value of transmitter in IDLE state.
|
||||
*/
|
||||
uint32_t tx_idle_value:16;
|
||||
/** tx_gating_en : R/W; bitpos: [30]; default: 0;
|
||||
* Set this bit to enable the clock gating of output tx clock.
|
||||
*/
|
||||
uint32_t tx_gating_en:1;
|
||||
/** tx_valid_output_en : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to enable the output of tx data valid signal.
|
||||
*/
|
||||
uint32_t tx_valid_output_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_tx_genrl_cfg_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO FIFO Configuration */
|
||||
/** Type of fifo_cfg register
|
||||
* Parallel IO FIFO configuration register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** tx_fifo_srst : R/W; bitpos: [30]; default: 0;
|
||||
* Set this bit to reset async fifo in tx module.
|
||||
*/
|
||||
uint32_t tx_fifo_srst:1;
|
||||
/** rx_fifo_srst : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to reset async fifo in rx module.
|
||||
*/
|
||||
uint32_t rx_fifo_srst:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_fifo_cfg_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO Register Update Configuration */
|
||||
/** Type of reg_update register
|
||||
* Parallel IO FIFO configuration register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** rx_reg_update : WT; bitpos: [31]; default: 0;
|
||||
* Set this bit to update rx register configuration.
|
||||
*/
|
||||
uint32_t rx_reg_update:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_reg_update_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO Status */
|
||||
/** Type of st register
|
||||
* Parallel IO module status register0.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** tx_ready : RO; bitpos: [31]; default: 0;
|
||||
* Represents the status that tx is ready to transmit.
|
||||
*/
|
||||
uint32_t tx_ready:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_st_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO Interrupt Configuration and Status */
|
||||
/** Type of int_ena register
|
||||
* Parallel IO interrupt enable singal configuration register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tx_fifo_rempty_int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* Set this bit to enable TX_FIFO_REMPTY_INT.
|
||||
*/
|
||||
uint32_t tx_fifo_rempty_int_ena:1;
|
||||
/** rx_fifo_wovf_int_ena : R/W; bitpos: [1]; default: 0;
|
||||
* Set this bit to enable RX_FIFO_WOVF_INT.
|
||||
*/
|
||||
uint32_t rx_fifo_wovf_int_ena:1;
|
||||
/** tx_eof_int_ena : R/W; bitpos: [2]; default: 0;
|
||||
* Set this bit to enable TX_EOF_INT.
|
||||
*/
|
||||
uint32_t tx_eof_int_ena:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_int_ena_reg_t;
|
||||
|
||||
/** Type of int_raw register
|
||||
* Parallel IO interrupt raw singal status register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tx_fifo_rempty_int_raw : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* The raw interrupt status of TX_FIFO_REMPTY_INT.
|
||||
*/
|
||||
uint32_t tx_fifo_rempty_int_raw:1;
|
||||
/** rx_fifo_wovf_int_raw : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* The raw interrupt status of RX_FIFO_WOVF_INT.
|
||||
*/
|
||||
uint32_t rx_fifo_wovf_int_raw:1;
|
||||
/** tx_eof_int_raw : R/WTC/SS; bitpos: [2]; default: 0;
|
||||
* The raw interrupt status of TX_EOF_INT.
|
||||
*/
|
||||
uint32_t tx_eof_int_raw:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_int_raw_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* Parallel IO interrupt singal status register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tx_fifo_rempty_int_st : RO; bitpos: [0]; default: 0;
|
||||
* The masked interrupt status of TX_FIFO_REMPTY_INT.
|
||||
*/
|
||||
uint32_t tx_fifo_rempty_int_st:1;
|
||||
/** rx_fifo_wovf_int_st : RO; bitpos: [1]; default: 0;
|
||||
* The masked interrupt status of RX_FIFO_WOVF_INT.
|
||||
*/
|
||||
uint32_t rx_fifo_wovf_int_st:1;
|
||||
/** tx_eof_int_st : RO; bitpos: [2]; default: 0;
|
||||
* The masked interrupt status of TX_EOF_INT.
|
||||
*/
|
||||
uint32_t tx_eof_int_st:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_int_st_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* Parallel IO interrupt clear singal configuration register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tx_fifo_rempty_int_clr : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear TX_FIFO_REMPTY_INT.
|
||||
*/
|
||||
uint32_t tx_fifo_rempty_int_clr:1;
|
||||
/** rx_fifo_wovf_int_clr : WT; bitpos: [1]; default: 0;
|
||||
* Set this bit to clear RX_FIFO_WOVF_INT.
|
||||
*/
|
||||
uint32_t rx_fifo_wovf_int_clr:1;
|
||||
/** tx_eof_int_clr : WT; bitpos: [2]; default: 0;
|
||||
* Set this bit to clear TX_EOF_INT.
|
||||
*/
|
||||
uint32_t tx_eof_int_clr:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_int_clr_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO Rx Status0 */
|
||||
/** Type of rx_st0 register
|
||||
* Parallel IO RX status register0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:9;
|
||||
/** rx_cnt : RO; bitpos: [12:9]; default: 0;
|
||||
* Indicates the cycle number of reading Rx FIFO.
|
||||
*/
|
||||
uint32_t rx_cnt:4;
|
||||
/** rx_fifo_wr_bit_cnt : RO; bitpos: [31:13]; default: 0;
|
||||
* Indicates the current written bit number into Rx FIFO.
|
||||
*/
|
||||
uint32_t rx_fifo_wr_bit_cnt:19;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_rx_st0_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO Rx Status1 */
|
||||
/** Type of rx_st1 register
|
||||
* Parallel IO RX status register1
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:13;
|
||||
/** rx_fifo_rd_bit_cnt : RO; bitpos: [31:13]; default: 0;
|
||||
* Indicates the current read bit number from Rx FIFO.
|
||||
*/
|
||||
uint32_t rx_fifo_rd_bit_cnt:19;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_rx_st1_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO Tx Status0 */
|
||||
/** Type of tx_st0 register
|
||||
* Parallel IO TX status register0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:6;
|
||||
/** tx_cnt : RO; bitpos: [12:6]; default: 0;
|
||||
* Indicates the cycle number of reading Tx FIFO.
|
||||
*/
|
||||
uint32_t tx_cnt:7;
|
||||
/** tx_fifo_rd_bit_cnt : RO; bitpos: [31:13]; default: 0;
|
||||
* Indicates the current read bit number from Tx FIFO.
|
||||
*/
|
||||
uint32_t tx_fifo_rd_bit_cnt:19;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_tx_st0_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO Rx Clock Configuration */
|
||||
/** Type of rx_clk_cfg register
|
||||
* Parallel IO RX clk configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** rx_clk_i_inv : R/W; bitpos: [30]; default: 0;
|
||||
* Set this bit to invert the input Rx core clock.
|
||||
*/
|
||||
uint32_t rx_clk_i_inv:1;
|
||||
/** rx_clk_o_inv : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to invert the output Rx core clock.
|
||||
*/
|
||||
uint32_t rx_clk_o_inv:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_rx_clk_cfg_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO Tx Clock Configuration */
|
||||
/** Type of tx_clk_cfg register
|
||||
* Parallel IO TX clk configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** tx_clk_i_inv : R/W; bitpos: [30]; default: 0;
|
||||
* Set this bit to invert the input Tx core clock.
|
||||
*/
|
||||
uint32_t tx_clk_i_inv:1;
|
||||
/** tx_clk_o_inv : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to invert the output Tx core clock.
|
||||
*/
|
||||
uint32_t tx_clk_o_inv:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_tx_clk_cfg_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO Clock Configuration */
|
||||
/** Type of clk register
|
||||
* Parallel IO clk configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** clk_en : R/W; bitpos: [31]; default: 0;
|
||||
* Force clock on for this register file
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_clk_reg_t;
|
||||
|
||||
|
||||
/** Group: PARL_IO Version Register */
|
||||
/** Type of version register
|
||||
* Version register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [27:0]; default: 35684928;
|
||||
* Version of this register file
|
||||
*/
|
||||
uint32_t date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} parl_io_version_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile parl_io_rx_mode_cfg_reg_t rx_mode_cfg;
|
||||
volatile parl_io_rx_data_cfg_reg_t rx_data_cfg;
|
||||
volatile parl_io_rx_genrl_cfg_reg_t rx_genrl_cfg;
|
||||
volatile parl_io_rx_start_cfg_reg_t rx_start_cfg;
|
||||
volatile parl_io_tx_data_cfg_reg_t tx_data_cfg;
|
||||
volatile parl_io_tx_start_cfg_reg_t tx_start_cfg;
|
||||
volatile parl_io_tx_genrl_cfg_reg_t tx_genrl_cfg;
|
||||
volatile parl_io_fifo_cfg_reg_t fifo_cfg;
|
||||
volatile parl_io_reg_update_reg_t reg_update;
|
||||
volatile parl_io_st_reg_t st;
|
||||
volatile parl_io_int_ena_reg_t int_ena;
|
||||
volatile parl_io_int_raw_reg_t int_raw;
|
||||
volatile parl_io_int_st_reg_t int_st;
|
||||
volatile parl_io_int_clr_reg_t int_clr;
|
||||
volatile parl_io_rx_st0_reg_t rx_st0;
|
||||
volatile parl_io_rx_st1_reg_t rx_st1;
|
||||
volatile parl_io_tx_st0_reg_t tx_st0;
|
||||
volatile parl_io_rx_clk_cfg_reg_t rx_clk_cfg;
|
||||
volatile parl_io_tx_clk_cfg_reg_t tx_clk_cfg;
|
||||
uint32_t reserved_04c[53];
|
||||
volatile parl_io_clk_reg_t clk;
|
||||
uint32_t reserved_124[182];
|
||||
volatile parl_io_version_reg_t version;
|
||||
} parl_io_dev_t;
|
||||
|
||||
extern parl_io_dev_t PARL_IO;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(parl_io_dev_t) == 0x400, "Invalid size of parl_io_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
356
components/soc/esp32h2/include/soc/pau_reg.h
Normal file
356
components/soc/esp32h2/include/soc/pau_reg.h
Normal file
@ -0,0 +1,356 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "soc/soc.h"
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** PAU_REGDMA_CONF_REG register
|
||||
* Peri backup control register
|
||||
*/
|
||||
#define PAU_REGDMA_CONF_REG (DR_REG_PAU_BASE + 0x0)
|
||||
/** PAU_FLOW_ERR : RO; bitpos: [2:0]; default: 0;
|
||||
* backup error type
|
||||
*/
|
||||
#define PAU_FLOW_ERR 0x00000007U
|
||||
#define PAU_FLOW_ERR_M (PAU_FLOW_ERR_V << PAU_FLOW_ERR_S)
|
||||
#define PAU_FLOW_ERR_V 0x00000007U
|
||||
#define PAU_FLOW_ERR_S 0
|
||||
/** PAU_START : WT; bitpos: [3]; default: 0;
|
||||
* backup start signal
|
||||
*/
|
||||
#define PAU_START (BIT(3))
|
||||
#define PAU_START_M (PAU_START_V << PAU_START_S)
|
||||
#define PAU_START_V 0x00000001U
|
||||
#define PAU_START_S 3
|
||||
/** PAU_TO_MEM : R/W; bitpos: [4]; default: 0;
|
||||
* backup direction(reg to mem / mem to reg)
|
||||
*/
|
||||
#define PAU_TO_MEM (BIT(4))
|
||||
#define PAU_TO_MEM_M (PAU_TO_MEM_V << PAU_TO_MEM_S)
|
||||
#define PAU_TO_MEM_V 0x00000001U
|
||||
#define PAU_TO_MEM_S 4
|
||||
/** PAU_LINK_SEL : R/W; bitpos: [6:5]; default: 0;
|
||||
* Link select
|
||||
*/
|
||||
#define PAU_LINK_SEL 0x00000003U
|
||||
#define PAU_LINK_SEL_M (PAU_LINK_SEL_V << PAU_LINK_SEL_S)
|
||||
#define PAU_LINK_SEL_V 0x00000003U
|
||||
#define PAU_LINK_SEL_S 5
|
||||
/** PAU_START_MAC : WT; bitpos: [7]; default: 0;
|
||||
* mac sw backup start signal
|
||||
*/
|
||||
#define PAU_START_MAC (BIT(7))
|
||||
#define PAU_START_MAC_M (PAU_START_MAC_V << PAU_START_MAC_S)
|
||||
#define PAU_START_MAC_V 0x00000001U
|
||||
#define PAU_START_MAC_S 7
|
||||
/** PAU_TO_MEM_MAC : R/W; bitpos: [8]; default: 0;
|
||||
* mac sw backup direction(reg to mem / mem to reg)
|
||||
*/
|
||||
#define PAU_TO_MEM_MAC (BIT(8))
|
||||
#define PAU_TO_MEM_MAC_M (PAU_TO_MEM_MAC_V << PAU_TO_MEM_MAC_S)
|
||||
#define PAU_TO_MEM_MAC_V 0x00000001U
|
||||
#define PAU_TO_MEM_MAC_S 8
|
||||
/** PAU_SEL_MAC : R/W; bitpos: [9]; default: 0;
|
||||
* mac hw/sw select
|
||||
*/
|
||||
#define PAU_SEL_MAC (BIT(9))
|
||||
#define PAU_SEL_MAC_M (PAU_SEL_MAC_V << PAU_SEL_MAC_S)
|
||||
#define PAU_SEL_MAC_V 0x00000001U
|
||||
#define PAU_SEL_MAC_S 9
|
||||
|
||||
/** PAU_REGDMA_CLK_CONF_REG register
|
||||
* Clock control register
|
||||
*/
|
||||
#define PAU_REGDMA_CLK_CONF_REG (DR_REG_PAU_BASE + 0x4)
|
||||
/** PAU_CLK_EN : R/W; bitpos: [0]; default: 0;
|
||||
* clock enable
|
||||
*/
|
||||
#define PAU_CLK_EN (BIT(0))
|
||||
#define PAU_CLK_EN_M (PAU_CLK_EN_V << PAU_CLK_EN_S)
|
||||
#define PAU_CLK_EN_V 0x00000001U
|
||||
#define PAU_CLK_EN_S 0
|
||||
|
||||
/** PAU_REGDMA_ETM_CTRL_REG register
|
||||
* ETM start ctrl reg
|
||||
*/
|
||||
#define PAU_REGDMA_ETM_CTRL_REG (DR_REG_PAU_BASE + 0x8)
|
||||
/** PAU_ETM_START_0 : WT; bitpos: [0]; default: 0;
|
||||
* etm_start_0 reg
|
||||
*/
|
||||
#define PAU_ETM_START_0 (BIT(0))
|
||||
#define PAU_ETM_START_0_M (PAU_ETM_START_0_V << PAU_ETM_START_0_S)
|
||||
#define PAU_ETM_START_0_V 0x00000001U
|
||||
#define PAU_ETM_START_0_S 0
|
||||
/** PAU_ETM_START_1 : WT; bitpos: [1]; default: 0;
|
||||
* etm_start_1 reg
|
||||
*/
|
||||
#define PAU_ETM_START_1 (BIT(1))
|
||||
#define PAU_ETM_START_1_M (PAU_ETM_START_1_V << PAU_ETM_START_1_S)
|
||||
#define PAU_ETM_START_1_V 0x00000001U
|
||||
#define PAU_ETM_START_1_S 1
|
||||
/** PAU_ETM_START_2 : WT; bitpos: [2]; default: 0;
|
||||
* etm_start_2 reg
|
||||
*/
|
||||
#define PAU_ETM_START_2 (BIT(2))
|
||||
#define PAU_ETM_START_2_M (PAU_ETM_START_2_V << PAU_ETM_START_2_S)
|
||||
#define PAU_ETM_START_2_V 0x00000001U
|
||||
#define PAU_ETM_START_2_S 2
|
||||
/** PAU_ETM_START_3 : WT; bitpos: [3]; default: 0;
|
||||
* etm_start_3 reg
|
||||
*/
|
||||
#define PAU_ETM_START_3 (BIT(3))
|
||||
#define PAU_ETM_START_3_M (PAU_ETM_START_3_V << PAU_ETM_START_3_S)
|
||||
#define PAU_ETM_START_3_V 0x00000001U
|
||||
#define PAU_ETM_START_3_S 3
|
||||
|
||||
/** PAU_REGDMA_LINK_0_ADDR_REG register
|
||||
* link_0_addr
|
||||
*/
|
||||
#define PAU_REGDMA_LINK_0_ADDR_REG (DR_REG_PAU_BASE + 0xc)
|
||||
/** PAU_LINK_ADDR_0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* link_0_addr reg
|
||||
*/
|
||||
#define PAU_LINK_ADDR_0 0xFFFFFFFFU
|
||||
#define PAU_LINK_ADDR_0_M (PAU_LINK_ADDR_0_V << PAU_LINK_ADDR_0_S)
|
||||
#define PAU_LINK_ADDR_0_V 0xFFFFFFFFU
|
||||
#define PAU_LINK_ADDR_0_S 0
|
||||
|
||||
/** PAU_REGDMA_LINK_1_ADDR_REG register
|
||||
* Link_1_addr
|
||||
*/
|
||||
#define PAU_REGDMA_LINK_1_ADDR_REG (DR_REG_PAU_BASE + 0x10)
|
||||
/** PAU_LINK_ADDR_1 : R/W; bitpos: [31:0]; default: 0;
|
||||
* Link_1_addr reg
|
||||
*/
|
||||
#define PAU_LINK_ADDR_1 0xFFFFFFFFU
|
||||
#define PAU_LINK_ADDR_1_M (PAU_LINK_ADDR_1_V << PAU_LINK_ADDR_1_S)
|
||||
#define PAU_LINK_ADDR_1_V 0xFFFFFFFFU
|
||||
#define PAU_LINK_ADDR_1_S 0
|
||||
|
||||
/** PAU_REGDMA_LINK_2_ADDR_REG register
|
||||
* Link_2_addr
|
||||
*/
|
||||
#define PAU_REGDMA_LINK_2_ADDR_REG (DR_REG_PAU_BASE + 0x14)
|
||||
/** PAU_LINK_ADDR_2 : R/W; bitpos: [31:0]; default: 0;
|
||||
* Link_2_addr reg
|
||||
*/
|
||||
#define PAU_LINK_ADDR_2 0xFFFFFFFFU
|
||||
#define PAU_LINK_ADDR_2_M (PAU_LINK_ADDR_2_V << PAU_LINK_ADDR_2_S)
|
||||
#define PAU_LINK_ADDR_2_V 0xFFFFFFFFU
|
||||
#define PAU_LINK_ADDR_2_S 0
|
||||
|
||||
/** PAU_REGDMA_LINK_3_ADDR_REG register
|
||||
* Link_3_addr
|
||||
*/
|
||||
#define PAU_REGDMA_LINK_3_ADDR_REG (DR_REG_PAU_BASE + 0x18)
|
||||
/** PAU_LINK_ADDR_3 : R/W; bitpos: [31:0]; default: 0;
|
||||
* Link_3_addr reg
|
||||
*/
|
||||
#define PAU_LINK_ADDR_3 0xFFFFFFFFU
|
||||
#define PAU_LINK_ADDR_3_M (PAU_LINK_ADDR_3_V << PAU_LINK_ADDR_3_S)
|
||||
#define PAU_LINK_ADDR_3_V 0xFFFFFFFFU
|
||||
#define PAU_LINK_ADDR_3_S 0
|
||||
|
||||
/** PAU_REGDMA_LINK_MAC_ADDR_REG register
|
||||
* Link_mac_addr
|
||||
*/
|
||||
#define PAU_REGDMA_LINK_MAC_ADDR_REG (DR_REG_PAU_BASE + 0x1c)
|
||||
/** PAU_LINK_ADDR_MAC : R/W; bitpos: [31:0]; default: 0;
|
||||
* Link_mac_addr reg
|
||||
*/
|
||||
#define PAU_LINK_ADDR_MAC 0xFFFFFFFFU
|
||||
#define PAU_LINK_ADDR_MAC_M (PAU_LINK_ADDR_MAC_V << PAU_LINK_ADDR_MAC_S)
|
||||
#define PAU_LINK_ADDR_MAC_V 0xFFFFFFFFU
|
||||
#define PAU_LINK_ADDR_MAC_S 0
|
||||
|
||||
/** PAU_REGDMA_CURRENT_LINK_ADDR_REG register
|
||||
* current link addr
|
||||
*/
|
||||
#define PAU_REGDMA_CURRENT_LINK_ADDR_REG (DR_REG_PAU_BASE + 0x20)
|
||||
/** PAU_CURRENT_LINK_ADDR : RO; bitpos: [31:0]; default: 0;
|
||||
* current link addr reg
|
||||
*/
|
||||
#define PAU_CURRENT_LINK_ADDR 0xFFFFFFFFU
|
||||
#define PAU_CURRENT_LINK_ADDR_M (PAU_CURRENT_LINK_ADDR_V << PAU_CURRENT_LINK_ADDR_S)
|
||||
#define PAU_CURRENT_LINK_ADDR_V 0xFFFFFFFFU
|
||||
#define PAU_CURRENT_LINK_ADDR_S 0
|
||||
|
||||
/** PAU_REGDMA_BACKUP_ADDR_REG register
|
||||
* Backup addr
|
||||
*/
|
||||
#define PAU_REGDMA_BACKUP_ADDR_REG (DR_REG_PAU_BASE + 0x24)
|
||||
/** PAU_BACKUP_ADDR : RO; bitpos: [31:0]; default: 0;
|
||||
* backup addr reg
|
||||
*/
|
||||
#define PAU_BACKUP_ADDR 0xFFFFFFFFU
|
||||
#define PAU_BACKUP_ADDR_M (PAU_BACKUP_ADDR_V << PAU_BACKUP_ADDR_S)
|
||||
#define PAU_BACKUP_ADDR_V 0xFFFFFFFFU
|
||||
#define PAU_BACKUP_ADDR_S 0
|
||||
|
||||
/** PAU_REGDMA_MEM_ADDR_REG register
|
||||
* mem addr
|
||||
*/
|
||||
#define PAU_REGDMA_MEM_ADDR_REG (DR_REG_PAU_BASE + 0x28)
|
||||
/** PAU_MEM_ADDR : RO; bitpos: [31:0]; default: 0;
|
||||
* mem addr reg
|
||||
*/
|
||||
#define PAU_MEM_ADDR 0xFFFFFFFFU
|
||||
#define PAU_MEM_ADDR_M (PAU_MEM_ADDR_V << PAU_MEM_ADDR_S)
|
||||
#define PAU_MEM_ADDR_V 0xFFFFFFFFU
|
||||
#define PAU_MEM_ADDR_S 0
|
||||
|
||||
/** PAU_REGDMA_BKP_CONF_REG register
|
||||
* backup config
|
||||
*/
|
||||
#define PAU_REGDMA_BKP_CONF_REG (DR_REG_PAU_BASE + 0x2c)
|
||||
/** PAU_READ_INTERVAL : R/W; bitpos: [6:0]; default: 32;
|
||||
* Link read_interval
|
||||
*/
|
||||
#define PAU_READ_INTERVAL 0x0000007FU
|
||||
#define PAU_READ_INTERVAL_M (PAU_READ_INTERVAL_V << PAU_READ_INTERVAL_S)
|
||||
#define PAU_READ_INTERVAL_V 0x0000007FU
|
||||
#define PAU_READ_INTERVAL_S 0
|
||||
/** PAU_LINK_TOUT_THRES : R/W; bitpos: [16:7]; default: 50;
|
||||
* link wait timeout threshold
|
||||
*/
|
||||
#define PAU_LINK_TOUT_THRES 0x000003FFU
|
||||
#define PAU_LINK_TOUT_THRES_M (PAU_LINK_TOUT_THRES_V << PAU_LINK_TOUT_THRES_S)
|
||||
#define PAU_LINK_TOUT_THRES_V 0x000003FFU
|
||||
#define PAU_LINK_TOUT_THRES_S 7
|
||||
/** PAU_BURST_LIMIT : R/W; bitpos: [21:17]; default: 8;
|
||||
* burst limit
|
||||
*/
|
||||
#define PAU_BURST_LIMIT 0x0000001FU
|
||||
#define PAU_BURST_LIMIT_M (PAU_BURST_LIMIT_V << PAU_BURST_LIMIT_S)
|
||||
#define PAU_BURST_LIMIT_V 0x0000001FU
|
||||
#define PAU_BURST_LIMIT_S 17
|
||||
/** PAU_BACKUP_TOUT_THRES : R/W; bitpos: [31:22]; default: 500;
|
||||
* Backup timeout threshold
|
||||
*/
|
||||
#define PAU_BACKUP_TOUT_THRES 0x000003FFU
|
||||
#define PAU_BACKUP_TOUT_THRES_M (PAU_BACKUP_TOUT_THRES_V << PAU_BACKUP_TOUT_THRES_S)
|
||||
#define PAU_BACKUP_TOUT_THRES_V 0x000003FFU
|
||||
#define PAU_BACKUP_TOUT_THRES_S 22
|
||||
|
||||
/** PAU_RETENTION_LINK_BASE_REG register
|
||||
* retention dma link base
|
||||
*/
|
||||
#define PAU_RETENTION_LINK_BASE_REG (DR_REG_PAU_BASE + 0x30)
|
||||
/** PAU_LINK_BASE_ADDR : R/W; bitpos: [26:0]; default: 0;
|
||||
* retention dma link base
|
||||
*/
|
||||
#define PAU_LINK_BASE_ADDR 0x07FFFFFFU
|
||||
#define PAU_LINK_BASE_ADDR_M (PAU_LINK_BASE_ADDR_V << PAU_LINK_BASE_ADDR_S)
|
||||
#define PAU_LINK_BASE_ADDR_V 0x07FFFFFFU
|
||||
#define PAU_LINK_BASE_ADDR_S 0
|
||||
|
||||
/** PAU_RETENTION_CFG_REG register
|
||||
* retention_cfg
|
||||
*/
|
||||
#define PAU_RETENTION_CFG_REG (DR_REG_PAU_BASE + 0x34)
|
||||
/** PAU_RET_INV_CFG : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* retention inv scan out
|
||||
*/
|
||||
#define PAU_RET_INV_CFG 0xFFFFFFFFU
|
||||
#define PAU_RET_INV_CFG_M (PAU_RET_INV_CFG_V << PAU_RET_INV_CFG_S)
|
||||
#define PAU_RET_INV_CFG_V 0xFFFFFFFFU
|
||||
#define PAU_RET_INV_CFG_S 0
|
||||
|
||||
/** PAU_INT_ENA_REG register
|
||||
* Read only register for error and done
|
||||
*/
|
||||
#define PAU_INT_ENA_REG (DR_REG_PAU_BASE + 0x38)
|
||||
/** PAU_DONE_INT_ENA : R/W; bitpos: [0]; default: 0;
|
||||
* backup done flag
|
||||
*/
|
||||
#define PAU_DONE_INT_ENA (BIT(0))
|
||||
#define PAU_DONE_INT_ENA_M (PAU_DONE_INT_ENA_V << PAU_DONE_INT_ENA_S)
|
||||
#define PAU_DONE_INT_ENA_V 0x00000001U
|
||||
#define PAU_DONE_INT_ENA_S 0
|
||||
/** PAU_ERROR_INT_ENA : R/W; bitpos: [1]; default: 0;
|
||||
* error flag
|
||||
*/
|
||||
#define PAU_ERROR_INT_ENA (BIT(1))
|
||||
#define PAU_ERROR_INT_ENA_M (PAU_ERROR_INT_ENA_V << PAU_ERROR_INT_ENA_S)
|
||||
#define PAU_ERROR_INT_ENA_V 0x00000001U
|
||||
#define PAU_ERROR_INT_ENA_S 1
|
||||
|
||||
/** PAU_INT_RAW_REG register
|
||||
* Read only register for error and done
|
||||
*/
|
||||
#define PAU_INT_RAW_REG (DR_REG_PAU_BASE + 0x3c)
|
||||
/** PAU_DONE_INT_RAW : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* backup done flag
|
||||
*/
|
||||
#define PAU_DONE_INT_RAW (BIT(0))
|
||||
#define PAU_DONE_INT_RAW_M (PAU_DONE_INT_RAW_V << PAU_DONE_INT_RAW_S)
|
||||
#define PAU_DONE_INT_RAW_V 0x00000001U
|
||||
#define PAU_DONE_INT_RAW_S 0
|
||||
/** PAU_ERROR_INT_RAW : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* error flag
|
||||
*/
|
||||
#define PAU_ERROR_INT_RAW (BIT(1))
|
||||
#define PAU_ERROR_INT_RAW_M (PAU_ERROR_INT_RAW_V << PAU_ERROR_INT_RAW_S)
|
||||
#define PAU_ERROR_INT_RAW_V 0x00000001U
|
||||
#define PAU_ERROR_INT_RAW_S 1
|
||||
|
||||
/** PAU_INT_CLR_REG register
|
||||
* Read only register for error and done
|
||||
*/
|
||||
#define PAU_INT_CLR_REG (DR_REG_PAU_BASE + 0x40)
|
||||
/** PAU_DONE_INT_CLR : WT; bitpos: [0]; default: 0;
|
||||
* backup done flag
|
||||
*/
|
||||
#define PAU_DONE_INT_CLR (BIT(0))
|
||||
#define PAU_DONE_INT_CLR_M (PAU_DONE_INT_CLR_V << PAU_DONE_INT_CLR_S)
|
||||
#define PAU_DONE_INT_CLR_V 0x00000001U
|
||||
#define PAU_DONE_INT_CLR_S 0
|
||||
/** PAU_ERROR_INT_CLR : WT; bitpos: [1]; default: 0;
|
||||
* error flag
|
||||
*/
|
||||
#define PAU_ERROR_INT_CLR (BIT(1))
|
||||
#define PAU_ERROR_INT_CLR_M (PAU_ERROR_INT_CLR_V << PAU_ERROR_INT_CLR_S)
|
||||
#define PAU_ERROR_INT_CLR_V 0x00000001U
|
||||
#define PAU_ERROR_INT_CLR_S 1
|
||||
|
||||
/** PAU_INT_ST_REG register
|
||||
* Read only register for error and done
|
||||
*/
|
||||
#define PAU_INT_ST_REG (DR_REG_PAU_BASE + 0x44)
|
||||
/** PAU_DONE_INT_ST : RO; bitpos: [0]; default: 0;
|
||||
* backup done flag
|
||||
*/
|
||||
#define PAU_DONE_INT_ST (BIT(0))
|
||||
#define PAU_DONE_INT_ST_M (PAU_DONE_INT_ST_V << PAU_DONE_INT_ST_S)
|
||||
#define PAU_DONE_INT_ST_V 0x00000001U
|
||||
#define PAU_DONE_INT_ST_S 0
|
||||
/** PAU_ERROR_INT_ST : RO; bitpos: [1]; default: 0;
|
||||
* error flag
|
||||
*/
|
||||
#define PAU_ERROR_INT_ST (BIT(1))
|
||||
#define PAU_ERROR_INT_ST_M (PAU_ERROR_INT_ST_V << PAU_ERROR_INT_ST_S)
|
||||
#define PAU_ERROR_INT_ST_V 0x00000001U
|
||||
#define PAU_ERROR_INT_ST_S 1
|
||||
|
||||
/** PAU_DATE_REG register
|
||||
* Date register.
|
||||
*/
|
||||
#define PAU_DATE_REG (DR_REG_PAU_BASE + 0x3fc)
|
||||
/** PAU_DATE : R/W; bitpos: [27:0]; default: 35663984;
|
||||
* REGDMA date information/ REGDMA version information.
|
||||
*/
|
||||
#define PAU_DATE 0x0FFFFFFFU
|
||||
#define PAU_DATE_M (PAU_DATE_V << PAU_DATE_S)
|
||||
#define PAU_DATE_V 0x0FFFFFFFU
|
||||
#define PAU_DATE_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
368
components/soc/esp32h2/include/soc/pau_struct.h
Normal file
368
components/soc/esp32h2/include/soc/pau_struct.h
Normal file
@ -0,0 +1,368 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: Configuration Register */
|
||||
/** Type of regdma_conf register
|
||||
* Peri backup control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** flow_err : RO; bitpos: [2:0]; default: 0;
|
||||
* backup error type
|
||||
*/
|
||||
uint32_t flow_err:3;
|
||||
/** start : WT; bitpos: [3]; default: 0;
|
||||
* backup start signal
|
||||
*/
|
||||
uint32_t start:1;
|
||||
/** to_mem : R/W; bitpos: [4]; default: 0;
|
||||
* backup direction(reg to mem / mem to reg)
|
||||
*/
|
||||
uint32_t to_mem:1;
|
||||
/** link_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* Link select
|
||||
*/
|
||||
uint32_t link_sel:2;
|
||||
/** start_mac : WT; bitpos: [7]; default: 0;
|
||||
* mac sw backup start signal
|
||||
*/
|
||||
uint32_t start_mac:1;
|
||||
/** to_mem_mac : R/W; bitpos: [8]; default: 0;
|
||||
* mac sw backup direction(reg to mem / mem to reg)
|
||||
*/
|
||||
uint32_t to_mem_mac:1;
|
||||
/** sel_mac : R/W; bitpos: [9]; default: 0;
|
||||
* mac hw/sw select
|
||||
*/
|
||||
uint32_t sel_mac:1;
|
||||
uint32_t reserved_10:22;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_regdma_conf_reg_t;
|
||||
|
||||
/** Type of regdma_clk_conf register
|
||||
* Clock control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_en : R/W; bitpos: [0]; default: 0;
|
||||
* clock enable
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_regdma_clk_conf_reg_t;
|
||||
|
||||
/** Type of regdma_etm_ctrl register
|
||||
* ETM start ctrl reg
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** etm_start_0 : WT; bitpos: [0]; default: 0;
|
||||
* etm_start_0 reg
|
||||
*/
|
||||
uint32_t etm_start_0:1;
|
||||
/** etm_start_1 : WT; bitpos: [1]; default: 0;
|
||||
* etm_start_1 reg
|
||||
*/
|
||||
uint32_t etm_start_1:1;
|
||||
/** etm_start_2 : WT; bitpos: [2]; default: 0;
|
||||
* etm_start_2 reg
|
||||
*/
|
||||
uint32_t etm_start_2:1;
|
||||
/** etm_start_3 : WT; bitpos: [3]; default: 0;
|
||||
* etm_start_3 reg
|
||||
*/
|
||||
uint32_t etm_start_3:1;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_regdma_etm_ctrl_reg_t;
|
||||
|
||||
/** Type of regdma_link_0_addr register
|
||||
* link_0_addr
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** link_addr_0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* link_0_addr reg
|
||||
*/
|
||||
uint32_t link_addr_0:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_regdma_link_0_addr_reg_t;
|
||||
|
||||
/** Type of regdma_link_1_addr register
|
||||
* Link_1_addr
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** link_addr_1 : R/W; bitpos: [31:0]; default: 0;
|
||||
* Link_1_addr reg
|
||||
*/
|
||||
uint32_t link_addr_1:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_regdma_link_1_addr_reg_t;
|
||||
|
||||
/** Type of regdma_link_2_addr register
|
||||
* Link_2_addr
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** link_addr_2 : R/W; bitpos: [31:0]; default: 0;
|
||||
* Link_2_addr reg
|
||||
*/
|
||||
uint32_t link_addr_2:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_regdma_link_2_addr_reg_t;
|
||||
|
||||
/** Type of regdma_link_3_addr register
|
||||
* Link_3_addr
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** link_addr_3 : R/W; bitpos: [31:0]; default: 0;
|
||||
* Link_3_addr reg
|
||||
*/
|
||||
uint32_t link_addr_3:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_regdma_link_3_addr_reg_t;
|
||||
|
||||
/** Type of regdma_link_mac_addr register
|
||||
* Link_mac_addr
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** link_addr_mac : R/W; bitpos: [31:0]; default: 0;
|
||||
* Link_mac_addr reg
|
||||
*/
|
||||
uint32_t link_addr_mac:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_regdma_link_mac_addr_reg_t;
|
||||
|
||||
/** Type of regdma_current_link_addr register
|
||||
* current link addr
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** current_link_addr : RO; bitpos: [31:0]; default: 0;
|
||||
* current link addr reg
|
||||
*/
|
||||
uint32_t current_link_addr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_regdma_current_link_addr_reg_t;
|
||||
|
||||
/** Type of regdma_backup_addr register
|
||||
* Backup addr
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** backup_addr : RO; bitpos: [31:0]; default: 0;
|
||||
* backup addr reg
|
||||
*/
|
||||
uint32_t backup_addr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_regdma_backup_addr_reg_t;
|
||||
|
||||
/** Type of regdma_mem_addr register
|
||||
* mem addr
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** mem_addr : RO; bitpos: [31:0]; default: 0;
|
||||
* mem addr reg
|
||||
*/
|
||||
uint32_t mem_addr:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_regdma_mem_addr_reg_t;
|
||||
|
||||
/** Type of regdma_bkp_conf register
|
||||
* backup config
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** read_interval : R/W; bitpos: [6:0]; default: 32;
|
||||
* Link read_interval
|
||||
*/
|
||||
uint32_t read_interval:7;
|
||||
/** link_tout_thres : R/W; bitpos: [16:7]; default: 50;
|
||||
* link wait timeout threshold
|
||||
*/
|
||||
uint32_t link_tout_thres:10;
|
||||
/** burst_limit : R/W; bitpos: [21:17]; default: 8;
|
||||
* burst limit
|
||||
*/
|
||||
uint32_t burst_limit:5;
|
||||
/** backup_tout_thres : R/W; bitpos: [31:22]; default: 500;
|
||||
* Backup timeout threshold
|
||||
*/
|
||||
uint32_t backup_tout_thres:10;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_regdma_bkp_conf_reg_t;
|
||||
|
||||
/** Type of retention_link_base register
|
||||
* retention dma link base
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** link_base_addr : R/W; bitpos: [26:0]; default: 0;
|
||||
* retention dma link base
|
||||
*/
|
||||
uint32_t link_base_addr:27;
|
||||
uint32_t reserved_27:5;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_retention_link_base_reg_t;
|
||||
|
||||
/** Type of retention_cfg register
|
||||
* retention_cfg
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** ret_inv_cfg : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* retention inv scan out
|
||||
*/
|
||||
uint32_t ret_inv_cfg:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_retention_cfg_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* Read only register for error and done
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** done_int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* backup done flag
|
||||
*/
|
||||
uint32_t done_int_ena:1;
|
||||
/** error_int_ena : R/W; bitpos: [1]; default: 0;
|
||||
* error flag
|
||||
*/
|
||||
uint32_t error_int_ena:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_int_ena_reg_t;
|
||||
|
||||
/** Type of int_raw register
|
||||
* Read only register for error and done
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** done_int_raw : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* backup done flag
|
||||
*/
|
||||
uint32_t done_int_raw:1;
|
||||
/** error_int_raw : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* error flag
|
||||
*/
|
||||
uint32_t error_int_raw:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_int_raw_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* Read only register for error and done
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** done_int_clr : WT; bitpos: [0]; default: 0;
|
||||
* backup done flag
|
||||
*/
|
||||
uint32_t done_int_clr:1;
|
||||
/** error_int_clr : WT; bitpos: [1]; default: 0;
|
||||
* error flag
|
||||
*/
|
||||
uint32_t error_int_clr:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_int_clr_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* Read only register for error and done
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** done_int_st : RO; bitpos: [0]; default: 0;
|
||||
* backup done flag
|
||||
*/
|
||||
uint32_t done_int_st:1;
|
||||
/** error_int_st : RO; bitpos: [1]; default: 0;
|
||||
* error flag
|
||||
*/
|
||||
uint32_t error_int_st:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_int_st_reg_t;
|
||||
|
||||
|
||||
/** Group: Version Register */
|
||||
/** Type of date register
|
||||
* Date register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [27:0]; default: 35663984;
|
||||
* REGDMA date information/ REGDMA version information.
|
||||
*/
|
||||
uint32_t date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} pau_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile pau_regdma_conf_reg_t regdma_conf;
|
||||
volatile pau_regdma_clk_conf_reg_t regdma_clk_conf;
|
||||
volatile pau_regdma_etm_ctrl_reg_t regdma_etm_ctrl;
|
||||
volatile pau_regdma_link_0_addr_reg_t regdma_link_0_addr;
|
||||
volatile pau_regdma_link_1_addr_reg_t regdma_link_1_addr;
|
||||
volatile pau_regdma_link_2_addr_reg_t regdma_link_2_addr;
|
||||
volatile pau_regdma_link_3_addr_reg_t regdma_link_3_addr;
|
||||
volatile pau_regdma_link_mac_addr_reg_t regdma_link_mac_addr;
|
||||
volatile pau_regdma_current_link_addr_reg_t regdma_current_link_addr;
|
||||
volatile pau_regdma_backup_addr_reg_t regdma_backup_addr;
|
||||
volatile pau_regdma_mem_addr_reg_t regdma_mem_addr;
|
||||
volatile pau_regdma_bkp_conf_reg_t regdma_bkp_conf;
|
||||
volatile pau_retention_link_base_reg_t retention_link_base;
|
||||
volatile pau_retention_cfg_reg_t retention_cfg;
|
||||
volatile pau_int_ena_reg_t int_ena;
|
||||
volatile pau_int_raw_reg_t int_raw;
|
||||
volatile pau_int_clr_reg_t int_clr;
|
||||
volatile pau_int_st_reg_t int_st;
|
||||
uint32_t reserved_048[237];
|
||||
volatile pau_date_reg_t date;
|
||||
} pau_dev_t;
|
||||
|
||||
extern pau_dev_t PAU;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(pau_dev_t) == 0x400, "Invalid size of pau_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
1242
components/soc/esp32h2/include/soc/pcnt_reg.h
Normal file
1242
components/soc/esp32h2/include/soc/pcnt_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
404
components/soc/esp32h2/include/soc/pcnt_struct.h
Normal file
404
components/soc/esp32h2/include/soc/pcnt_struct.h
Normal file
@ -0,0 +1,404 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: Configuration Register */
|
||||
/** Type of un_conf0 register
|
||||
* Configuration register 0 for unit n
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** filter_thres : R/W; bitpos: [9:0]; default: 16;
|
||||
* This sets the maximum threshold, in APB_CLK cycles, for the filter.
|
||||
*
|
||||
* Any pulses with width less than this will be ignored when the filter is enabled.
|
||||
*/
|
||||
uint32_t filter_thres:10;
|
||||
/** filter_en : R/W; bitpos: [10]; default: 1;
|
||||
* This is the enable bit for unit n's input filter.
|
||||
*/
|
||||
uint32_t filter_en:1;
|
||||
/** thr_zero_en : R/W; bitpos: [11]; default: 1;
|
||||
* This is the enable bit for unit n's zero comparator.
|
||||
*/
|
||||
uint32_t thr_zero_en:1;
|
||||
/** thr_h_lim_en : R/W; bitpos: [12]; default: 1;
|
||||
* This is the enable bit for unit n's thr_h_lim comparator.
|
||||
*/
|
||||
uint32_t thr_h_lim_en:1;
|
||||
/** thr_l_lim_en : R/W; bitpos: [13]; default: 1;
|
||||
* This is the enable bit for unit n's thr_l_lim comparator.
|
||||
*/
|
||||
uint32_t thr_l_lim_en:1;
|
||||
/** thr_thres0_en : R/W; bitpos: [14]; default: 0;
|
||||
* This is the enable bit for unit n's thres0 comparator.
|
||||
*/
|
||||
uint32_t thr_thres0_en:1;
|
||||
/** thr_thres1_en : R/W; bitpos: [15]; default: 0;
|
||||
* This is the enable bit for unit n's thres1 comparator.
|
||||
*/
|
||||
uint32_t thr_thres1_en:1;
|
||||
/** ch0_neg_mode : R/W; bitpos: [17:16]; default: 0;
|
||||
* This register sets the behavior when the signal input of channel 0 detects a
|
||||
* negative edge.
|
||||
*
|
||||
* 1: Increase the counter.2: Decrease the counter.0, 3: No effect on counter
|
||||
*/
|
||||
uint32_t ch0_neg_mode:2;
|
||||
/** ch0_pos_mode : R/W; bitpos: [19:18]; default: 0;
|
||||
* This register sets the behavior when the signal input of channel 0 detects a
|
||||
* positive edge.
|
||||
*
|
||||
* 1: Increase the counter.2: Decrease the counter.0, 3: No effect on counter
|
||||
*/
|
||||
uint32_t ch0_pos_mode:2;
|
||||
/** ch0_hctrl_mode : R/W; bitpos: [21:20]; default: 0;
|
||||
* This register configures how the CHn_POS_MODE/CHn_NEG_MODE settings will be
|
||||
* modified when the control signal is high.
|
||||
*
|
||||
* 0: No modification.1: Invert behavior (increase -> decrease, decrease ->
|
||||
* increase).2, 3: Inhibit counter modification
|
||||
*/
|
||||
uint32_t ch0_hctrl_mode:2;
|
||||
/** ch0_lctrl_mode : R/W; bitpos: [23:22]; default: 0;
|
||||
* This register configures how the CHn_POS_MODE/CHn_NEG_MODE settings will be
|
||||
* modified when the control signal is low.
|
||||
*
|
||||
* 0: No modification.1: Invert behavior (increase -> decrease, decrease ->
|
||||
* increase).2, 3: Inhibit counter modification
|
||||
*/
|
||||
uint32_t ch0_lctrl_mode:2;
|
||||
/** ch1_neg_mode : R/W; bitpos: [25:24]; default: 0;
|
||||
* This register sets the behavior when the signal input of channel 1 detects a
|
||||
* negative edge.
|
||||
*
|
||||
* 1: Increment the counter.2: Decrement the counter.0, 3: No effect on counter
|
||||
*/
|
||||
uint32_t ch1_neg_mode:2;
|
||||
/** ch1_pos_mode : R/W; bitpos: [27:26]; default: 0;
|
||||
* This register sets the behavior when the signal input of channel 1 detects a
|
||||
* positive edge.
|
||||
*
|
||||
* 1: Increment the counter.2: Decrement the counter.0, 3: No effect on counter
|
||||
*/
|
||||
uint32_t ch1_pos_mode:2;
|
||||
/** ch1_hctrl_mode : R/W; bitpos: [29:28]; default: 0;
|
||||
* This register configures how the CHn_POS_MODE/CHn_NEG_MODE settings will be
|
||||
* modified when the control signal is high.
|
||||
*
|
||||
* 0: No modification.1: Invert behavior (increase -> decrease, decrease ->
|
||||
* increase).2, 3: Inhibit counter modification
|
||||
*/
|
||||
uint32_t ch1_hctrl_mode:2;
|
||||
/** ch1_lctrl_mode : R/W; bitpos: [31:30]; default: 0;
|
||||
* This register configures how the CHn_POS_MODE/CHn_NEG_MODE settings will be
|
||||
* modified when the control signal is low.
|
||||
*
|
||||
* 0: No modification.1: Invert behavior (increase -> decrease, decrease ->
|
||||
* increase).2, 3: Inhibit counter modification
|
||||
*/
|
||||
uint32_t ch1_lctrl_mode:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_un_conf0_reg_t;
|
||||
|
||||
/** Type of un_conf1 register
|
||||
* Configuration register 1 for unit n
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cnt_thres0 : R/W; bitpos: [15:0]; default: 0;
|
||||
* This register is used to configure the thres0 value for unit n.
|
||||
*/
|
||||
uint32_t cnt_thres0:16;
|
||||
/** cnt_thres1 : R/W; bitpos: [31:16]; default: 0;
|
||||
* This register is used to configure the thres1 value for unit n.
|
||||
*/
|
||||
uint32_t cnt_thres1:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_un_conf1_reg_t;
|
||||
|
||||
/** Type of un_conf2 register
|
||||
* Configuration register 2 for unit n
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cnt_h_lim : R/W; bitpos: [15:0]; default: 0;
|
||||
* This register is used to configure the thr_h_lim value for unit n.
|
||||
*/
|
||||
uint32_t cnt_h_lim:16;
|
||||
/** cnt_l_lim : R/W; bitpos: [31:16]; default: 0;
|
||||
* This register is used to configure the thr_l_lim value for unit n.
|
||||
*/
|
||||
uint32_t cnt_l_lim:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_un_conf2_reg_t;
|
||||
|
||||
/** Type of ctrl register
|
||||
* Control register for all counters
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** pulse_cnt_rst_u0 : R/W; bitpos: [0]; default: 1;
|
||||
* Set this bit to clear unit 0's counter.
|
||||
*/
|
||||
uint32_t pulse_cnt_rst_u0:1;
|
||||
/** cnt_pause_u0 : R/W; bitpos: [1]; default: 0;
|
||||
* Set this bit to freeze unit 0's counter.
|
||||
*/
|
||||
uint32_t cnt_pause_u0:1;
|
||||
/** pulse_cnt_rst_u1 : R/W; bitpos: [2]; default: 1;
|
||||
* Set this bit to clear unit 1's counter.
|
||||
*/
|
||||
uint32_t pulse_cnt_rst_u1:1;
|
||||
/** cnt_pause_u1 : R/W; bitpos: [3]; default: 0;
|
||||
* Set this bit to freeze unit 1's counter.
|
||||
*/
|
||||
uint32_t cnt_pause_u1:1;
|
||||
/** pulse_cnt_rst_u2 : R/W; bitpos: [4]; default: 1;
|
||||
* Set this bit to clear unit 2's counter.
|
||||
*/
|
||||
uint32_t pulse_cnt_rst_u2:1;
|
||||
/** cnt_pause_u2 : R/W; bitpos: [5]; default: 0;
|
||||
* Set this bit to freeze unit 2's counter.
|
||||
*/
|
||||
uint32_t cnt_pause_u2:1;
|
||||
/** pulse_cnt_rst_u3 : R/W; bitpos: [6]; default: 1;
|
||||
* Set this bit to clear unit 3's counter.
|
||||
*/
|
||||
uint32_t pulse_cnt_rst_u3:1;
|
||||
/** cnt_pause_u3 : R/W; bitpos: [7]; default: 0;
|
||||
* Set this bit to freeze unit 3's counter.
|
||||
*/
|
||||
uint32_t cnt_pause_u3:1;
|
||||
uint32_t reserved_8:8;
|
||||
/** clk_en : R/W; bitpos: [16]; default: 0;
|
||||
* The registers clock gate enable signal of PCNT module. 1: the registers can be read
|
||||
* and written by application. 0: the registers can not be read or written by
|
||||
* application
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
uint32_t reserved_17:15;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_ctrl_reg_t;
|
||||
|
||||
|
||||
/** Group: Status Register */
|
||||
/** Type of un_cnt register
|
||||
* Counter value for unit n
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** pulse_cnt : RO; bitpos: [15:0]; default: 0;
|
||||
* This register stores the current pulse count value for unit n.
|
||||
*/
|
||||
uint32_t pulse_cnt:16;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_un_cnt_reg_t;
|
||||
|
||||
/** Type of un_status register
|
||||
* PNCT UNITn status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cnt_thr_zero_mode : RO; bitpos: [1:0]; default: 0;
|
||||
* The pulse counter status of PCNT_Un corresponding to 0. 0: pulse counter decreases
|
||||
* from positive to 0. 1: pulse counter increases from negative to 0. 2: pulse counter
|
||||
* is negative. 3: pulse counter is positive.
|
||||
*/
|
||||
uint32_t cnt_thr_zero_mode:2;
|
||||
/** cnt_thr_thres1_lat : RO; bitpos: [2]; default: 0;
|
||||
* The latched value of thres1 event of PCNT_Un when threshold event interrupt is
|
||||
* valid. 1: the current pulse counter equals to thres1 and thres1 event is valid. 0:
|
||||
* others
|
||||
*/
|
||||
uint32_t cnt_thr_thres1_lat:1;
|
||||
/** cnt_thr_thres0_lat : RO; bitpos: [3]; default: 0;
|
||||
* The latched value of thres0 event of PCNT_Un when threshold event interrupt is
|
||||
* valid. 1: the current pulse counter equals to thres0 and thres0 event is valid. 0:
|
||||
* others
|
||||
*/
|
||||
uint32_t cnt_thr_thres0_lat:1;
|
||||
/** cnt_thr_l_lim_lat : RO; bitpos: [4]; default: 0;
|
||||
* The latched value of low limit event of PCNT_Un when threshold event interrupt is
|
||||
* valid. 1: the current pulse counter equals to thr_l_lim and low limit event is
|
||||
* valid. 0: others
|
||||
*/
|
||||
uint32_t cnt_thr_l_lim_lat:1;
|
||||
/** cnt_thr_h_lim_lat : RO; bitpos: [5]; default: 0;
|
||||
* The latched value of high limit event of PCNT_Un when threshold event interrupt is
|
||||
* valid. 1: the current pulse counter equals to thr_h_lim and high limit event is
|
||||
* valid. 0: others
|
||||
*/
|
||||
uint32_t cnt_thr_h_lim_lat:1;
|
||||
/** cnt_thr_zero_lat : RO; bitpos: [6]; default: 0;
|
||||
* The latched value of zero threshold event of PCNT_Un when threshold event interrupt
|
||||
* is valid. 1: the current pulse counter equals to 0 and zero threshold event is
|
||||
* valid. 0: others
|
||||
*/
|
||||
uint32_t cnt_thr_zero_lat:1;
|
||||
uint32_t reserved_7:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_un_status_reg_t;
|
||||
|
||||
|
||||
/** Group: Interrupt Register */
|
||||
/** Type of int_raw register
|
||||
* Interrupt raw status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cnt_thr_event_u0_int_raw : RO; bitpos: [0]; default: 0;
|
||||
* The raw interrupt status bit for the PCNT_CNT_THR_EVENT_U0_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u0_int_raw:1;
|
||||
/** cnt_thr_event_u1_int_raw : RO; bitpos: [1]; default: 0;
|
||||
* The raw interrupt status bit for the PCNT_CNT_THR_EVENT_U1_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u1_int_raw:1;
|
||||
/** cnt_thr_event_u2_int_raw : RO; bitpos: [2]; default: 0;
|
||||
* The raw interrupt status bit for the PCNT_CNT_THR_EVENT_U2_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u2_int_raw:1;
|
||||
/** cnt_thr_event_u3_int_raw : RO; bitpos: [3]; default: 0;
|
||||
* The raw interrupt status bit for the PCNT_CNT_THR_EVENT_U3_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u3_int_raw:1;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_int_raw_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* Interrupt status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cnt_thr_event_u0_int_st : RO; bitpos: [0]; default: 0;
|
||||
* The masked interrupt status bit for the PCNT_CNT_THR_EVENT_U0_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u0_int_st:1;
|
||||
/** cnt_thr_event_u1_int_st : RO; bitpos: [1]; default: 0;
|
||||
* The masked interrupt status bit for the PCNT_CNT_THR_EVENT_U1_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u1_int_st:1;
|
||||
/** cnt_thr_event_u2_int_st : RO; bitpos: [2]; default: 0;
|
||||
* The masked interrupt status bit for the PCNT_CNT_THR_EVENT_U2_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u2_int_st:1;
|
||||
/** cnt_thr_event_u3_int_st : RO; bitpos: [3]; default: 0;
|
||||
* The masked interrupt status bit for the PCNT_CNT_THR_EVENT_U3_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u3_int_st:1;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_int_st_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* Interrupt enable register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cnt_thr_event_u0_int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* The interrupt enable bit for the PCNT_CNT_THR_EVENT_U0_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u0_int_ena:1;
|
||||
/** cnt_thr_event_u1_int_ena : R/W; bitpos: [1]; default: 0;
|
||||
* The interrupt enable bit for the PCNT_CNT_THR_EVENT_U1_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u1_int_ena:1;
|
||||
/** cnt_thr_event_u2_int_ena : R/W; bitpos: [2]; default: 0;
|
||||
* The interrupt enable bit for the PCNT_CNT_THR_EVENT_U2_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u2_int_ena:1;
|
||||
/** cnt_thr_event_u3_int_ena : R/W; bitpos: [3]; default: 0;
|
||||
* The interrupt enable bit for the PCNT_CNT_THR_EVENT_U3_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u3_int_ena:1;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_int_ena_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* Interrupt clear register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cnt_thr_event_u0_int_clr : WO; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear the PCNT_CNT_THR_EVENT_U0_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u0_int_clr:1;
|
||||
/** cnt_thr_event_u1_int_clr : WO; bitpos: [1]; default: 0;
|
||||
* Set this bit to clear the PCNT_CNT_THR_EVENT_U1_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u1_int_clr:1;
|
||||
/** cnt_thr_event_u2_int_clr : WO; bitpos: [2]; default: 0;
|
||||
* Set this bit to clear the PCNT_CNT_THR_EVENT_U2_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u2_int_clr:1;
|
||||
/** cnt_thr_event_u3_int_clr : WO; bitpos: [3]; default: 0;
|
||||
* Set this bit to clear the PCNT_CNT_THR_EVENT_U3_INT interrupt.
|
||||
*/
|
||||
uint32_t cnt_thr_event_u3_int_clr:1;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_int_clr_reg_t;
|
||||
|
||||
|
||||
/** Group: Version Register */
|
||||
/** Type of date register
|
||||
* PCNT version control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [31:0]; default: 403121664;
|
||||
* This is the PCNT version control register.
|
||||
*/
|
||||
uint32_t date:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_date_reg_t;
|
||||
|
||||
typedef struct pcnt_dev_t {
|
||||
volatile struct {
|
||||
pcnt_un_conf0_reg_t conf0;
|
||||
pcnt_un_conf1_reg_t conf1;
|
||||
pcnt_un_conf2_reg_t conf2;
|
||||
} conf_unit[4];
|
||||
volatile pcnt_un_cnt_reg_t cnt_unit[4];
|
||||
volatile pcnt_int_raw_reg_t int_raw;
|
||||
volatile pcnt_int_st_reg_t int_st;
|
||||
volatile pcnt_int_ena_reg_t int_ena;
|
||||
volatile pcnt_int_clr_reg_t int_clr;
|
||||
volatile pcnt_un_status_reg_t status_unit[4];
|
||||
volatile pcnt_ctrl_reg_t ctrl;
|
||||
uint32_t reserved_064[38];
|
||||
volatile pcnt_date_reg_t date;
|
||||
} pcnt_dev_t;
|
||||
|
||||
extern pcnt_dev_t PCNT;
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(pcnt_dev_t) == 0x100, "Invalid size of pcnt_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
2347
components/soc/esp32h2/include/soc/pcr_reg.h
Normal file
2347
components/soc/esp32h2/include/soc/pcr_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
2141
components/soc/esp32h2/include/soc/pcr_struct.h
Normal file
2141
components/soc/esp32h2/include/soc/pcr_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
116
components/soc/esp32h2/include/soc/periph_defs.h
Normal file
116
components/soc/esp32h2/include/soc/periph_defs.h
Normal file
@ -0,0 +1,116 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
PERIPH_LEDC_MODULE = 0,
|
||||
PERIPH_UART0_MODULE,
|
||||
PERIPH_UART1_MODULE,
|
||||
PERIPH_USB_DEVICE_MODULE,
|
||||
PERIPH_I2C0_MODULE,
|
||||
PERIPH_I2C1_MODULE,
|
||||
PERIPH_I2S1_MODULE,
|
||||
PERIPH_TIMG0_MODULE,
|
||||
PERIPH_TIMG1_MODULE,
|
||||
PERIPH_UHCI0_MODULE,
|
||||
PERIPH_RMT_MODULE,
|
||||
PERIPH_SPI_MODULE, //SPI1
|
||||
PERIPH_SPI2_MODULE, //SPI2
|
||||
PERIPH_TWAI0_MODULE,
|
||||
PERIPH_RNG_MODULE,
|
||||
PERIPH_WIFI_MODULE,
|
||||
PERIPH_BT_MODULE,
|
||||
PERIPH_WIFI_BT_COMMON_MODULE,
|
||||
PERIPH_BT_BASEBAND_MODULE,
|
||||
PERIPH_BT_LC_MODULE,
|
||||
PERIPH_RSA_MODULE,
|
||||
PERIPH_AES_MODULE,
|
||||
PERIPH_SHA_MODULE,
|
||||
PERIPH_HMAC_MODULE,
|
||||
PERIPH_DS_MODULE,
|
||||
PERIPH_GDMA_MODULE,
|
||||
PERIPH_SYSTIMER_MODULE,
|
||||
PERIPH_SARADC_MODULE,
|
||||
PERIPH_MODULE_MAX
|
||||
} periph_module_t;
|
||||
|
||||
typedef enum {
|
||||
ETS_PMU_INTR_SOURCE = 0,
|
||||
ETS_EFUSE_INTR_SOURCE, /**< interrupt of efuse, level, not likely to use*/
|
||||
ETS_LP_RTC_TIMER_INTR_SOURCE,
|
||||
ETS_LP_BLE_TIMER_INTR_SOURCE,
|
||||
ETS_LP_WDT_INTR_SOURCE,
|
||||
ETS_LP_PERI_TIMEOUT_INTR_SOURCE,
|
||||
ETS_LP_APM_M0_INTR_SOURCE,
|
||||
ETS_FROM_CPU_INTR0_SOURCE, /**< interrupt0 generated from a CPU, level*/ /* Used for FreeRTOS */
|
||||
ETS_FROM_CPU_INTR1_SOURCE, /**< interrupt1 generated from a CPU, level*/ /* Used for FreeRTOS */
|
||||
ETS_FROM_CPU_INTR2_SOURCE, /**< interrupt2 generated from a CPU, level*/
|
||||
ETS_FROM_CPU_INTR3_SOURCE, /**< interrupt3 generated from a CPU, level*/
|
||||
ETS_ASSIST_DEBUG_INTR_SOURCE, /**< interrupt of Assist debug module, LEVEL*/
|
||||
ETS_TRACE_INTR_SOURCE,
|
||||
ETS_CACHE_INTR_SOURCE,
|
||||
ETS_CPU_PERI_TIMEOUT_INTR_SOURCE,
|
||||
ETS_BT_MAC_INTR_SOURCE,
|
||||
ETS_BT_BB_INTR_SOURCE,
|
||||
ETS_BT_BB_NMI_INTR_SOURCE,
|
||||
ETS_COEX_INTR_SOURCE,
|
||||
ETS_BLE_TIMER_INTR_SOURCE,
|
||||
ETS_BLE_SEC_INTR_SOURCE,
|
||||
ETS_ZB_MAC_INTR_SOURCE,
|
||||
ETS_GPIO_INTR_SOURCE, /**< interrupt of GPIO, level*/
|
||||
ETS_GPIO_NMI_SOURCE, /**< interrupt of GPIO, NMI*/
|
||||
ETS_PAU_INTR_SOURCE,
|
||||
ETS_HP_PERI_TIMEOUT_INTR_SOURCE,
|
||||
ETS_HP_APM_M0_INTR_SOURCE,
|
||||
ETS_HP_APM_M1_INTR_SOURCE,
|
||||
ETS_HP_APM_M2_INTR_SOURCE,
|
||||
ETS_HP_APM_M3_INTR_SOURCE,
|
||||
ETS_MSPI_INTR_SOURCE,
|
||||
ETS_I2S1_INTR_SOURCE, /**< interrupt of I2S1, level*/
|
||||
ETS_UHCI0_INTR_SOURCE, /**< interrupt of UHCI0, level*/
|
||||
ETS_UART0_INTR_SOURCE, /**< interrupt of UART0, level*/
|
||||
ETS_UART1_INTR_SOURCE, /**< interrupt of UART1, level*/
|
||||
ETS_LEDC_INTR_SOURCE, /**< interrupt of LED PWM, level*/
|
||||
ETS_TWAI0_INTR_SOURCE, /**< interrupt of can0, level*/
|
||||
ETS_USB_SERIAL_JTAG_INTR_SOURCE, /**< interrupt of USB, level*/
|
||||
ETS_RMT_INTR_SOURCE, /**< interrupt of remote controller, level*/
|
||||
ETS_I2C_EXT0_INTR_SOURCE, /**< interrupt of I2C controller0, level*/
|
||||
ETS_I2C_EXT1_INTR_SOURCE, /**< interrupt of I2C controller1, level*/
|
||||
ETS_TG0_T0_LEVEL_INTR_SOURCE, /**< interrupt of TIMER_GROUP0, TIMER0, level*/
|
||||
ETS_TG0_WDT_LEVEL_INTR_SOURCE, /**< interrupt of TIMER_GROUP0, WATCH DOG, level*/
|
||||
ETS_TG1_T0_LEVEL_INTR_SOURCE, /**< interrupt of TIMER_GROUP1, TIMER0, level*/
|
||||
ETS_TG1_WDT_LEVEL_INTR_SOURCE, /**< interrupt of TIMER_GROUP1, WATCHDOG, level*/
|
||||
ETS_SYSTIMER_TARGET0_EDGE_INTR_SOURCE, /**< interrupt of system timer 0, EDGE*/
|
||||
ETS_SYSTIMER_TARGET1_EDGE_INTR_SOURCE, /**< interrupt of system timer 1, EDGE*/
|
||||
ETS_SYSTIMER_TARGET2_EDGE_INTR_SOURCE, /**< interrupt of system timer 2, EDGE*/
|
||||
ETS_APB_ADC_INTR_SOURCE, /**< interrupt of APB ADC, LEVEL*/
|
||||
ETS_PWM_INTR_SOURCE,
|
||||
ETS_PCNT_INTR_SOURCE,
|
||||
ETS_PARL_IO_TX_INTR_SOURCE,
|
||||
ETS_PARL_IO_RX_INTR_SOURCE,
|
||||
ETS_DMA_IN_CH0_INTR_SOURCE, /**< interrupt of general DMA IN channel 0, LEVEL*/
|
||||
ETS_DMA_IN_CH1_INTR_SOURCE, /**< interrupt of general DMA IN channel 1, LEVEL*/
|
||||
ETS_DMA_IN_CH2_INTR_SOURCE, /**< interrupt of general DMA IN channel 2, LEVEL*/
|
||||
ETS_DMA_OUT_CH0_INTR_SOURCE, /**< interrupt of general DMA OUT channel 0, LEVEL*/
|
||||
ETS_DMA_OUT_CH1_INTR_SOURCE, /**< interrupt of general DMA OUT channel 1, LEVEL*/
|
||||
ETS_DMA_OUT_CH2_INTR_SOURCE, /**< interrupt of general DMA OUT channel 2, LEVEL*/
|
||||
ETS_GSPI2_INTR_SOURCE,
|
||||
ETS_AES_INTR_SOURCE, /**< interrupt of AES accelerator, level*/
|
||||
ETS_SHA_INTR_SOURCE, /**< interrupt of SHA accelerator, level*/
|
||||
ETS_RSA_INTR_SOURCE, /**< interrupt of RSA accelerator, level*/
|
||||
ETS_ECC_INTR_SOURCE, /**< interrupt of ECC accelerator, level*/
|
||||
ETS_ECDSA_INTR_SOURCE, /**< interrupt of ECDSA accelerator, level*/
|
||||
ETS_MAX_INTR_SOURCE,
|
||||
} periph_interrput_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
633
components/soc/esp32h2/include/soc/plic_reg.h
Normal file
633
components/soc/esp32h2/include/soc/plic_reg.h
Normal file
@ -0,0 +1,633 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define DR_REG_PLIC_MX_BASE ( 0x20001000 )
|
||||
#define DR_REG_PLIC_UX_BASE ( 0x20001400 )
|
||||
#define PLIC_MXINT_CONF_REG ( 0x200013FC )
|
||||
#define PLIC_UXINT_CONF_REG ( 0x200017FC )
|
||||
|
||||
#define PLIC_MXINT_PRI_REG(n) (PLIC_MXINT0_PRI_REG + (n)*4)
|
||||
#define PLIC_UXINT_PRI_REG(n) (PLIC_UXINT0_PRI_REG + (n)*4)
|
||||
|
||||
/*PLIC MX*/
|
||||
#define PLIC_MXINT_ENABLE_REG (DR_REG_PLIC_MX_BASE + 0x0)
|
||||
/* PLIC_CPU_MXINT_ENABLE : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT_ENABLE 0xFFFFFFFF
|
||||
#define PLIC_CPU_MXINT_ENABLE_M ((PLIC_CPU_MXINT_ENABLE_V)<<(PLIC_CPU_MXINT_ENABLE_S))
|
||||
#define PLIC_CPU_MXINT_ENABLE_V 0xFFFFFFFF
|
||||
#define PLIC_CPU_MXINT_ENABLE_S 0
|
||||
|
||||
#define PLIC_MXINT_TYPE_REG (DR_REG_PLIC_MX_BASE + 0x4)
|
||||
/* PLIC_CPU_MXINT_TYPE : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT_TYPE 0xFFFFFFFF
|
||||
#define PLIC_CPU_MXINT_TYPE_M ((PLIC_CPU_MXINT_TYPE_V)<<(PLIC_CPU_MXINT_TYPE_S))
|
||||
#define PLIC_CPU_MXINT_TYPE_V 0xFFFFFFFF
|
||||
#define PLIC_CPU_MXINT_TYPE_S 0
|
||||
|
||||
#define PLIC_MXINT_CLEAR_REG (DR_REG_PLIC_MX_BASE + 0x8)
|
||||
/* PLIC_CPU_MXINT_CLEAR : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT_CLEAR 0xFFFFFFFF
|
||||
#define PLIC_CPU_MXINT_CLEAR_M ((PLIC_CPU_MXINT_CLEAR_V)<<(PLIC_CPU_MXINT_CLEAR_S))
|
||||
#define PLIC_CPU_MXINT_CLEAR_V 0xFFFFFFFF
|
||||
#define PLIC_CPU_MXINT_CLEAR_S 0
|
||||
|
||||
#define PLIC_EMIP_STATUS_REG (DR_REG_PLIC_MX_BASE + 0xC)
|
||||
/* PLIC_CPU_EIP_STATUS : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_EIP_STATUS 0xFFFFFFFF
|
||||
#define PLIC_CPU_EIP_STATUS_M ((PLIC_CPU_EIP_STATUS_V)<<(PLIC_CPU_EIP_STATUS_S))
|
||||
#define PLIC_CPU_EIP_STATUS_V 0xFFFFFFFF
|
||||
#define PLIC_CPU_EIP_STATUS_S 0
|
||||
|
||||
#define PLIC_MXINT0_PRI_REG (DR_REG_PLIC_MX_BASE + 0x10)
|
||||
/* PLIC_CPU_MXINT0_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT0_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT0_PRI_M ((PLIC_CPU_MXINT0_PRI_V)<<(PLIC_CPU_MXINT0_PRI_S))
|
||||
#define PLIC_CPU_MXINT0_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT0_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT1_PRI_REG (DR_REG_PLIC_MX_BASE + 0x14)
|
||||
/* PLIC_CPU_MXINT1_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT1_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT1_PRI_M ((PLIC_CPU_MXINT1_PRI_V)<<(PLIC_CPU_MXINT1_PRI_S))
|
||||
#define PLIC_CPU_MXINT1_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT1_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT2_PRI_REG (DR_REG_PLIC_MX_BASE + 0x18)
|
||||
/* PLIC_CPU_MXINT2_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT2_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT2_PRI_M ((PLIC_CPU_MXINT2_PRI_V)<<(PLIC_CPU_MXINT2_PRI_S))
|
||||
#define PLIC_CPU_MXINT2_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT2_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT3_PRI_REG (DR_REG_PLIC_MX_BASE + 0x1C)
|
||||
/* PLIC_CPU_MXINT3_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT3_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT3_PRI_M ((PLIC_CPU_MXINT3_PRI_V)<<(PLIC_CPU_MXINT3_PRI_S))
|
||||
#define PLIC_CPU_MXINT3_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT3_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT4_PRI_REG (DR_REG_PLIC_MX_BASE + 0x20)
|
||||
/* PLIC_CPU_MXINT4_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT4_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT4_PRI_M ((PLIC_CPU_MXINT4_PRI_V)<<(PLIC_CPU_MXINT4_PRI_S))
|
||||
#define PLIC_CPU_MXINT4_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT4_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT5_PRI_REG (DR_REG_PLIC_MX_BASE + 0x24)
|
||||
/* PLIC_CPU_MXINT5_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT5_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT5_PRI_M ((PLIC_CPU_MXINT5_PRI_V)<<(PLIC_CPU_MXINT5_PRI_S))
|
||||
#define PLIC_CPU_MXINT5_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT5_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT6_PRI_REG (DR_REG_PLIC_MX_BASE + 0x28)
|
||||
/* PLIC_CPU_MXINT6_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT6_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT6_PRI_M ((PLIC_CPU_MXINT6_PRI_V)<<(PLIC_CPU_MXINT6_PRI_S))
|
||||
#define PLIC_CPU_MXINT6_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT6_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT7_PRI_REG (DR_REG_PLIC_MX_BASE + 0x2C)
|
||||
/* PLIC_CPU_MXINT7_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT7_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT7_PRI_M ((PLIC_CPU_MXINT7_PRI_V)<<(PLIC_CPU_MXINT7_PRI_S))
|
||||
#define PLIC_CPU_MXINT7_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT7_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT8_PRI_REG (DR_REG_PLIC_MX_BASE + 0x30)
|
||||
/* PLIC_CPU_MXINT8_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT8_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT8_PRI_M ((PLIC_CPU_MXINT8_PRI_V)<<(PLIC_CPU_MXINT8_PRI_S))
|
||||
#define PLIC_CPU_MXINT8_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT8_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT9_PRI_REG (DR_REG_PLIC_MX_BASE + 0x34)
|
||||
/* PLIC_CPU_MXINT9_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT9_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT9_PRI_M ((PLIC_CPU_MXINT9_PRI_V)<<(PLIC_CPU_MXINT9_PRI_S))
|
||||
#define PLIC_CPU_MXINT9_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT9_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT10_PRI_REG (DR_REG_PLIC_MX_BASE + 0x38)
|
||||
/* PLIC_CPU_MXINT10_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT10_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT10_PRI_M ((PLIC_CPU_MXINT10_PRI_V)<<(PLIC_CPU_MXINT10_PRI_S))
|
||||
#define PLIC_CPU_MXINT10_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT10_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT11_PRI_REG (DR_REG_PLIC_MX_BASE + 0x3C)
|
||||
/* PLIC_CPU_MXINT11_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT11_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT11_PRI_M ((PLIC_CPU_MXINT11_PRI_V)<<(PLIC_CPU_MXINT11_PRI_S))
|
||||
#define PLIC_CPU_MXINT11_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT11_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT12_PRI_REG (DR_REG_PLIC_MX_BASE + 0x40)
|
||||
/* PLIC_CPU_MXINT12_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT12_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT12_PRI_M ((PLIC_CPU_MXINT12_PRI_V)<<(PLIC_CPU_MXINT12_PRI_S))
|
||||
#define PLIC_CPU_MXINT12_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT12_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT13_PRI_REG (DR_REG_PLIC_MX_BASE + 0x44)
|
||||
/* PLIC_CPU_MXINT13_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT13_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT13_PRI_M ((PLIC_CPU_MXINT13_PRI_V)<<(PLIC_CPU_MXINT13_PRI_S))
|
||||
#define PLIC_CPU_MXINT13_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT13_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT14_PRI_REG (DR_REG_PLIC_MX_BASE + 0x48)
|
||||
/* PLIC_CPU_MXINT14_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT14_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT14_PRI_M ((PLIC_CPU_MXINT14_PRI_V)<<(PLIC_CPU_MXINT14_PRI_S))
|
||||
#define PLIC_CPU_MXINT14_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT14_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT15_PRI_REG (DR_REG_PLIC_MX_BASE + 0x4C)
|
||||
/* PLIC_CPU_MXINT15_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT15_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT15_PRI_M ((PLIC_CPU_MXINT15_PRI_V)<<(PLIC_CPU_MXINT15_PRI_S))
|
||||
#define PLIC_CPU_MXINT15_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT15_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT16_PRI_REG (DR_REG_PLIC_MX_BASE + 0x50)
|
||||
/* PLIC_CPU_MXINT16_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT16_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT16_PRI_M ((PLIC_CPU_MXINT16_PRI_V)<<(PLIC_CPU_MXINT16_PRI_S))
|
||||
#define PLIC_CPU_MXINT16_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT16_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT17_PRI_REG (DR_REG_PLIC_MX_BASE + 0x54)
|
||||
/* PLIC_CPU_MXINT17_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT17_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT17_PRI_M ((PLIC_CPU_MXINT17_PRI_V)<<(PLIC_CPU_MXINT17_PRI_S))
|
||||
#define PLIC_CPU_MXINT17_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT17_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT18_PRI_REG (DR_REG_PLIC_MX_BASE + 0x58)
|
||||
/* PLIC_CPU_MXINT18_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT18_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT18_PRI_M ((PLIC_CPU_MXINT18_PRI_V)<<(PLIC_CPU_MXINT18_PRI_S))
|
||||
#define PLIC_CPU_MXINT18_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT18_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT19_PRI_REG (DR_REG_PLIC_MX_BASE + 0x5C)
|
||||
/* PLIC_CPU_MXINT19_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT19_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT19_PRI_M ((PLIC_CPU_MXINT19_PRI_V)<<(PLIC_CPU_MXINT19_PRI_S))
|
||||
#define PLIC_CPU_MXINT19_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT19_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT20_PRI_REG (DR_REG_PLIC_MX_BASE + 0x60)
|
||||
/* PLIC_CPU_MXINT20_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT20_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT20_PRI_M ((PLIC_CPU_MXINT20_PRI_V)<<(PLIC_CPU_MXINT20_PRI_S))
|
||||
#define PLIC_CPU_MXINT20_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT20_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT21_PRI_REG (DR_REG_PLIC_MX_BASE + 0x64)
|
||||
/* PLIC_CPU_MXINT21_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT21_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT21_PRI_M ((PLIC_CPU_MXINT21_PRI_V)<<(PLIC_CPU_MXINT21_PRI_S))
|
||||
#define PLIC_CPU_MXINT21_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT21_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT22_PRI_REG (DR_REG_PLIC_MX_BASE + 0x68)
|
||||
/* PLIC_CPU_MXINT22_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT22_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT22_PRI_M ((PLIC_CPU_MXINT22_PRI_V)<<(PLIC_CPU_MXINT22_PRI_S))
|
||||
#define PLIC_CPU_MXINT22_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT22_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT23_PRI_REG (DR_REG_PLIC_MX_BASE + 0x6C)
|
||||
/* PLIC_CPU_MXINT23_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT23_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT23_PRI_M ((PLIC_CPU_MXINT23_PRI_V)<<(PLIC_CPU_MXINT23_PRI_S))
|
||||
#define PLIC_CPU_MXINT23_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT23_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT24_PRI_REG (DR_REG_PLIC_MX_BASE + 0x70)
|
||||
/* PLIC_CPU_MXINT24_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT24_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT24_PRI_M ((PLIC_CPU_MXINT24_PRI_V)<<(PLIC_CPU_MXINT24_PRI_S))
|
||||
#define PLIC_CPU_MXINT24_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT24_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT25_PRI_REG (DR_REG_PLIC_MX_BASE + 0x74)
|
||||
/* PLIC_CPU_MXINT25_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT25_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT25_PRI_M ((PLIC_CPU_MXINT25_PRI_V)<<(PLIC_CPU_MXINT25_PRI_S))
|
||||
#define PLIC_CPU_MXINT25_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT25_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT26_PRI_REG (DR_REG_PLIC_MX_BASE + 0x78)
|
||||
/* PLIC_CPU_MXINT26_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT26_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT26_PRI_M ((PLIC_CPU_MXINT26_PRI_V)<<(PLIC_CPU_MXINT26_PRI_S))
|
||||
#define PLIC_CPU_MXINT26_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT26_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT27_PRI_REG (DR_REG_PLIC_MX_BASE + 0x7C)
|
||||
/* PLIC_CPU_MXINT27_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT27_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT27_PRI_M ((PLIC_CPU_MXINT27_PRI_V)<<(PLIC_CPU_MXINT27_PRI_S))
|
||||
#define PLIC_CPU_MXINT27_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT27_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT28_PRI_REG (DR_REG_PLIC_MX_BASE + 0x80)
|
||||
/* PLIC_CPU_MXINT28_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT28_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT28_PRI_M ((PLIC_CPU_MXINT28_PRI_V)<<(PLIC_CPU_MXINT28_PRI_S))
|
||||
#define PLIC_CPU_MXINT28_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT28_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT29_PRI_REG (DR_REG_PLIC_MX_BASE + 0x84)
|
||||
/* PLIC_CPU_MXINT29_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT29_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT29_PRI_M ((PLIC_CPU_MXINT29_PRI_V)<<(PLIC_CPU_MXINT29_PRI_S))
|
||||
#define PLIC_CPU_MXINT29_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT29_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT30_PRI_REG (DR_REG_PLIC_MX_BASE + 0x88)
|
||||
/* PLIC_CPU_MXINT30_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT30_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT30_PRI_M ((PLIC_CPU_MXINT30_PRI_V)<<(PLIC_CPU_MXINT30_PRI_S))
|
||||
#define PLIC_CPU_MXINT30_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT30_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT31_PRI_REG (DR_REG_PLIC_MX_BASE + 0x8C)
|
||||
/* PLIC_CPU_MXINT31_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT31_PRI 0x0000000F
|
||||
#define PLIC_CPU_MXINT31_PRI_M ((PLIC_CPU_MXINT31_PRI_V)<<(PLIC_CPU_MXINT31_PRI_S))
|
||||
#define PLIC_CPU_MXINT31_PRI_V 0xF
|
||||
#define PLIC_CPU_MXINT31_PRI_S 0
|
||||
|
||||
#define PLIC_MXINT_THRESH_REG (DR_REG_PLIC_MX_BASE + 0x90)
|
||||
/* PLIC_CPU_MXINT_THRESH : R/W ;bitpos:[7:0] ;default: 8'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_MXINT_THRESH 0x000000FF
|
||||
#define PLIC_CPU_MXINT_THRESH_M ((PLIC_CPU_MXINT_THRESH_V)<<(PLIC_CPU_MXINT_THRESH_S))
|
||||
#define PLIC_CPU_MXINT_THRESH_V 0xFF
|
||||
#define PLIC_CPU_MXINT_THRESH_S 0
|
||||
|
||||
#define PLIC_MXINT_CLAIM_REG (DR_REG_PLIC_MX_BASE + 0x94)
|
||||
/* PLIC_LP_INTR_FLAG : R/W ;bitpos:[31:0] ;default: 32'b0 ; */
|
||||
/*description: hp_mb_int is generated after writing 32'h20200721 to core0_lp_intr_flag.*/
|
||||
#define PLIC_CPU_MXINT_CLAIM 0xFFFFFFFF
|
||||
#define PLIC_CPU_MXINT_CLAIM_M ((PLIC_CPU_MXINT_CLAIM_V)<<(PLIC_CPU_MXINT_CLAIM_S))
|
||||
#define PLIC_CPU_MXINT_CLAIM_V 0xFFFFFFFF
|
||||
#define PLIC_CPU_MXINT_CLAIM_S 0
|
||||
|
||||
/*PLIC UX*/
|
||||
#define PLIC_UXINT_ENABLE_REG (DR_REG_PLIC_UX_BASE + 0x0)
|
||||
/* PLIC_CPU_UXINT_ENABLE : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT_ENABLE 0xFFFFFFFF
|
||||
#define PLIC_CPU_UXINT_ENABLE_M ((PLIC_CPU_UXINT_ENABLE_V)<<(PLIC_CPU_UXINT_ENABLE_S))
|
||||
#define PLIC_CPU_UXINT_ENABLE_V 0xFFFFFFFF
|
||||
#define PLIC_CPU_UXINT_ENABLE_S 0
|
||||
|
||||
#define PLIC_UXINT_TYPE_REG (DR_REG_PLIC_UX_BASE + 0x4)
|
||||
/* PLIC_CPU_UXINT_TYPE : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT_TYPE 0xFFFFFFFF
|
||||
#define PLIC_CPU_UXINT_TYPE_M ((PLIC_CPU_UXINT_TYPE_V)<<(PLIC_CPU_UXINT_TYPE_S))
|
||||
#define PLIC_CPU_UXINT_TYPE_V 0xFFFFFFFF
|
||||
#define PLIC_CPU_UXINT_TYPE_S 0
|
||||
|
||||
#define PLIC_UXINT_CLEAR_REG (DR_REG_PLIC_UX_BASE + 0x8)
|
||||
/* PLIC_CPU_UXINT_CLEAR : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT_CLEAR 0xFFFFFFFF
|
||||
#define PLIC_CPU_UXINT_CLEAR_M ((PLIC_CPU_UXINT_CLEAR_V)<<(PLIC_CPU_UXINT_CLEAR_S))
|
||||
#define PLIC_CPU_UXINT_CLEAR_V 0xFFFFFFFF
|
||||
#define PLIC_CPU_UXINT_CLEAR_S 0
|
||||
|
||||
#define PLIC_EUIP_STATUS_REG (DR_REG_PLIC_UX_BASE + 0xC)
|
||||
/* PLIC_CPU_EIP_STATUS : RO ;bitpos:[31:0] ;default: 32'h0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_EIP_STATUS 0xFFFFFFFF
|
||||
#define PLIC_CPU_EIP_STATUS_M ((PLIC_CPU_EIP_STATUS_V)<<(PLIC_CPU_EIP_STATUS_S))
|
||||
#define PLIC_CPU_EIP_STATUS_V 0xFFFFFFFF
|
||||
#define PLIC_CPU_EIP_STATUS_S 0
|
||||
|
||||
#define PLIC_UXINT0_PRI_REG (DR_REG_PLIC_UX_BASE + 0x10)
|
||||
/* PLIC_CPU_UXINT0_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT0_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT0_PRI_M ((PLIC_CPU_UXINT0_PRI_V)<<(PLIC_CPU_UXINT0_PRI_S))
|
||||
#define PLIC_CPU_UXINT0_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT0_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT1_PRI_REG (DR_REG_PLIC_UX_BASE + 0x14)
|
||||
/* PLIC_CPU_UXINT1_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT1_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT1_PRI_M ((PLIC_CPU_UXINT1_PRI_V)<<(PLIC_CPU_UXINT1_PRI_S))
|
||||
#define PLIC_CPU_UXINT1_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT1_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT2_PRI_REG (DR_REG_PLIC_UX_BASE + 0x18)
|
||||
/* PLIC_CPU_UXINT2_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT2_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT2_PRI_M ((PLIC_CPU_UXINT2_PRI_V)<<(PLIC_CPU_UXINT2_PRI_S))
|
||||
#define PLIC_CPU_UXINT2_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT2_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT3_PRI_REG (DR_REG_PLIC_UX_BASE + 0x1C)
|
||||
/* PLIC_CPU_UXINT3_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT3_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT3_PRI_M ((PLIC_CPU_UXINT3_PRI_V)<<(PLIC_CPU_UXINT3_PRI_S))
|
||||
#define PLIC_CPU_UXINT3_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT3_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT4_PRI_REG (DR_REG_PLIC_UX_BASE + 0x20)
|
||||
/* PLIC_CPU_UXINT4_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT4_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT4_PRI_M ((PLIC_CPU_UXINT4_PRI_V)<<(PLIC_CPU_UXINT4_PRI_S))
|
||||
#define PLIC_CPU_UXINT4_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT4_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT5_PRI_REG (DR_REG_PLIC_UX_BASE + 0x24)
|
||||
/* PLIC_CPU_UXINT5_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT5_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT5_PRI_M ((PLIC_CPU_UXINT5_PRI_V)<<(PLIC_CPU_UXINT5_PRI_S))
|
||||
#define PLIC_CPU_UXINT5_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT5_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT6_PRI_REG (DR_REG_PLIC_UX_BASE + 0x28)
|
||||
/* PLIC_CPU_UXINT6_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT6_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT6_PRI_M ((PLIC_CPU_UXINT6_PRI_V)<<(PLIC_CPU_UXINT6_PRI_S))
|
||||
#define PLIC_CPU_UXINT6_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT6_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT7_PRI_REG (DR_REG_PLIC_UX_BASE + 0x2C)
|
||||
/* PLIC_CPU_UXINT7_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT7_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT7_PRI_M ((PLIC_CPU_UXINT7_PRI_V)<<(PLIC_CPU_UXINT7_PRI_S))
|
||||
#define PLIC_CPU_UXINT7_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT7_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT8_PRI_REG (DR_REG_PLIC_UX_BASE + 0x30)
|
||||
/* PLIC_CPU_UXINT8_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT8_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT8_PRI_M ((PLIC_CPU_UXINT8_PRI_V)<<(PLIC_CPU_UXINT8_PRI_S))
|
||||
#define PLIC_CPU_UXINT8_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT8_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT9_PRI_REG (DR_REG_PLIC_UX_BASE + 0x34)
|
||||
/* PLIC_CPU_UXINT9_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT9_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT9_PRI_M ((PLIC_CPU_UXINT9_PRI_V)<<(PLIC_CPU_UXINT9_PRI_S))
|
||||
#define PLIC_CPU_UXINT9_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT9_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT10_PRI_REG (DR_REG_PLIC_UX_BASE + 0x38)
|
||||
/* PLIC_CPU_UXINT10_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT10_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT10_PRI_M ((PLIC_CPU_UXINT10_PRI_V)<<(PLIC_CPU_UXINT10_PRI_S))
|
||||
#define PLIC_CPU_UXINT10_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT10_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT11_PRI_REG (DR_REG_PLIC_UX_BASE + 0x3C)
|
||||
/* PLIC_CPU_UXINT11_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT11_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT11_PRI_M ((PLIC_CPU_UXINT11_PRI_V)<<(PLIC_CPU_UXINT11_PRI_S))
|
||||
#define PLIC_CPU_UXINT11_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT11_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT12_PRI_REG (DR_REG_PLIC_UX_BASE + 0x40)
|
||||
/* PLIC_CPU_UXINT12_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT12_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT12_PRI_M ((PLIC_CPU_UXINT12_PRI_V)<<(PLIC_CPU_UXINT12_PRI_S))
|
||||
#define PLIC_CPU_UXINT12_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT12_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT13_PRI_REG (DR_REG_PLIC_UX_BASE + 0x44)
|
||||
/* PLIC_CPU_UXINT13_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT13_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT13_PRI_M ((PLIC_CPU_UXINT13_PRI_V)<<(PLIC_CPU_UXINT13_PRI_S))
|
||||
#define PLIC_CPU_UXINT13_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT13_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT14_PRI_REG (DR_REG_PLIC_UX_BASE + 0x48)
|
||||
/* PLIC_CPU_UXINT14_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT14_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT14_PRI_M ((PLIC_CPU_UXINT14_PRI_V)<<(PLIC_CPU_UXINT14_PRI_S))
|
||||
#define PLIC_CPU_UXINT14_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT14_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT15_PRI_REG (DR_REG_PLIC_UX_BASE + 0x4C)
|
||||
/* PLIC_CPU_UXINT15_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT15_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT15_PRI_M ((PLIC_CPU_UXINT15_PRI_V)<<(PLIC_CPU_UXINT15_PRI_S))
|
||||
#define PLIC_CPU_UXINT15_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT15_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT16_PRI_REG (DR_REG_PLIC_UX_BASE + 0x50)
|
||||
/* PLIC_CPU_UXINT16_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT16_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT16_PRI_M ((PLIC_CPU_UXINT16_PRI_V)<<(PLIC_CPU_UXINT16_PRI_S))
|
||||
#define PLIC_CPU_UXINT16_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT16_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT17_PRI_REG (DR_REG_PLIC_UX_BASE + 0x54)
|
||||
/* PLIC_CPU_UXINT17_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT17_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT17_PRI_M ((PLIC_CPU_UXINT17_PRI_V)<<(PLIC_CPU_UXINT17_PRI_S))
|
||||
#define PLIC_CPU_UXINT17_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT17_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT18_PRI_REG (DR_REG_PLIC_UX_BASE + 0x58)
|
||||
/* PLIC_CPU_UXINT18_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT18_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT18_PRI_M ((PLIC_CPU_UXINT18_PRI_V)<<(PLIC_CPU_UXINT18_PRI_S))
|
||||
#define PLIC_CPU_UXINT18_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT18_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT19_PRI_REG (DR_REG_PLIC_UX_BASE + 0x5C)
|
||||
/* PLIC_CPU_UXINT19_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT19_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT19_PRI_M ((PLIC_CPU_UXINT19_PRI_V)<<(PLIC_CPU_UXINT19_PRI_S))
|
||||
#define PLIC_CPU_UXINT19_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT19_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT20_PRI_REG (DR_REG_PLIC_UX_BASE + 0x60)
|
||||
/* PLIC_CPU_UXINT20_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT20_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT20_PRI_M ((PLIC_CPU_UXINT20_PRI_V)<<(PLIC_CPU_UXINT20_PRI_S))
|
||||
#define PLIC_CPU_UXINT20_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT20_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT21_PRI_REG (DR_REG_PLIC_UX_BASE + 0x64)
|
||||
/* PLIC_CPU_UXINT21_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT21_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT21_PRI_M ((PLIC_CPU_UXINT21_PRI_V)<<(PLIC_CPU_UXINT21_PRI_S))
|
||||
#define PLIC_CPU_UXINT21_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT21_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT22_PRI_REG (DR_REG_PLIC_UX_BASE + 0x68)
|
||||
/* PLIC_CPU_UXINT22_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT22_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT22_PRI_M ((PLIC_CPU_UXINT22_PRI_V)<<(PLIC_CPU_UXINT22_PRI_S))
|
||||
#define PLIC_CPU_UXINT22_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT22_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT23_PRI_REG (DR_REG_PLIC_UX_BASE + 0x6C)
|
||||
/* PLIC_CPU_UXINT23_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT23_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT23_PRI_M ((PLIC_CPU_UXINT23_PRI_V)<<(PLIC_CPU_UXINT23_PRI_S))
|
||||
#define PLIC_CPU_UXINT23_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT23_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT24_PRI_REG (DR_REG_PLIC_UX_BASE + 0x70)
|
||||
/* PLIC_CPU_UXINT24_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT24_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT24_PRI_M ((PLIC_CPU_UXINT24_PRI_V)<<(PLIC_CPU_UXINT24_PRI_S))
|
||||
#define PLIC_CPU_UXINT24_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT24_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT25_PRI_REG (DR_REG_PLIC_UX_BASE + 0x74)
|
||||
/* PLIC_CPU_UXINT25_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT25_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT25_PRI_M ((PLIC_CPU_UXINT25_PRI_V)<<(PLIC_CPU_UXINT25_PRI_S))
|
||||
#define PLIC_CPU_UXINT25_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT25_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT26_PRI_REG (DR_REG_PLIC_UX_BASE + 0x78)
|
||||
/* PLIC_CPU_UXINT26_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT26_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT26_PRI_M ((PLIC_CPU_UXINT26_PRI_V)<<(PLIC_CPU_UXINT26_PRI_S))
|
||||
#define PLIC_CPU_UXINT26_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT26_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT27_PRI_REG (DR_REG_PLIC_UX_BASE + 0x7C)
|
||||
/* PLIC_CPU_UXINT27_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT27_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT27_PRI_M ((PLIC_CPU_UXINT27_PRI_V)<<(PLIC_CPU_UXINT27_PRI_S))
|
||||
#define PLIC_CPU_UXINT27_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT27_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT28_PRI_REG (DR_REG_PLIC_UX_BASE + 0x80)
|
||||
/* PLIC_CPU_UXINT28_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT28_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT28_PRI_M ((PLIC_CPU_UXINT28_PRI_V)<<(PLIC_CPU_UXINT28_PRI_S))
|
||||
#define PLIC_CPU_UXINT28_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT28_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT29_PRI_REG (DR_REG_PLIC_UX_BASE + 0x84)
|
||||
/* PLIC_CPU_UXINT29_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT29_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT29_PRI_M ((PLIC_CPU_UXINT29_PRI_V)<<(PLIC_CPU_UXINT29_PRI_S))
|
||||
#define PLIC_CPU_UXINT29_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT29_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT30_PRI_REG (DR_REG_PLIC_UX_BASE + 0x88)
|
||||
/* PLIC_CPU_UXINT30_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT30_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT30_PRI_M ((PLIC_CPU_UXINT30_PRI_V)<<(PLIC_CPU_UXINT30_PRI_S))
|
||||
#define PLIC_CPU_UXINT30_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT30_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT31_PRI_REG (DR_REG_PLIC_UX_BASE + 0x8C)
|
||||
/* PLIC_CPU_UXINT31_PRI : R/W ;bitpos:[3:0] ;default: 4'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT31_PRI 0x0000000F
|
||||
#define PLIC_CPU_UXINT31_PRI_M ((PLIC_CPU_UXINT31_PRI_V)<<(PLIC_CPU_UXINT31_PRI_S))
|
||||
#define PLIC_CPU_UXINT31_PRI_V 0xF
|
||||
#define PLIC_CPU_UXINT31_PRI_S 0
|
||||
|
||||
#define PLIC_UXINT_THRESH_REG (DR_REG_PLIC_UX_BASE + 0x90)
|
||||
/* PLIC_CPU_UXINT_THRESH : R/W ;bitpos:[7:0] ;default: 8'd0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT_THRESH 0x000000FF
|
||||
#define PLIC_CPU_UXINT_THRESH_M ((PLIC_CPU_UXINT_THRESH_V)<<(PLIC_CPU_UXINT_THRESH_S))
|
||||
#define PLIC_CPU_UXINT_THRESH_V 0xFF
|
||||
#define PLIC_CPU_UXINT_THRESH_S 0
|
||||
|
||||
#define PLIC_UXINT_CLAIM_REG (DR_REG_PLIC_UX_BASE + 0x94)
|
||||
/* PLIC_CPU_UXINT_CLAIM : R/W ;bitpos:[31:0] ;default: 32'b0 ; */
|
||||
/*description: .*/
|
||||
#define PLIC_CPU_UXINT_CLAIM 0xFFFFFFFF
|
||||
#define PLIC_CPU_UXINT_CLAIM_M ((PLIC_CPU_UXINT_CLAIM_V)<<(PLIC_CPU_UXINT_CLAIM_S))
|
||||
#define PLIC_CPU_UXINT_CLAIM_V 0xFFFFFFFF
|
||||
#define PLIC_CPU_UXINT_CLAIM_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
67
components/soc/esp32h2/include/soc/pmu_icg_mapping.h
Normal file
67
components/soc/esp32h2/include/soc/pmu_icg_mapping.h
Normal file
@ -0,0 +1,67 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define PMU_ICG_APB_ENA_CAN0 18
|
||||
#define PMU_ICG_APB_ENA_CAN1 19
|
||||
#define PMU_ICG_APB_ENA_GDMA 1
|
||||
#define PMU_ICG_APB_ENA_I2C 13
|
||||
#define PMU_ICG_APB_ENA_I2S 4
|
||||
#define PMU_ICG_APB_ENA_INTMTX 3
|
||||
#define PMU_ICG_APB_ENA_IOMUX 26
|
||||
#define PMU_ICG_APB_ENA_LEDC 14
|
||||
#define PMU_ICG_APB_ENA_MEM_MONITOR 25
|
||||
#define PMU_ICG_APB_ENA_MSPI 5
|
||||
#define PMU_ICG_APB_ENA_PARL 23
|
||||
#define PMU_ICG_APB_ENA_PCNT 20
|
||||
#define PMU_ICG_APB_ENA_PVT_MONITOR 27
|
||||
#define PMU_ICG_APB_ENA_PWM 21
|
||||
#define PMU_ICG_APB_ENA_REGDMA 24
|
||||
#define PMU_ICG_APB_ENA_RMT 15
|
||||
#define PMU_ICG_APB_ENA_SARADC 9
|
||||
#define PMU_ICG_APB_ENA_SEC 0
|
||||
#define PMU_ICG_APB_ENA_SOC_ETM 22
|
||||
#define PMU_ICG_APB_ENA_SPI2 2
|
||||
#define PMU_ICG_APB_ENA_SYSTIMER 16
|
||||
#define PMU_ICG_APB_ENA_TG0 11
|
||||
#define PMU_ICG_APB_ENA_TG1 12
|
||||
#define PMU_ICG_APB_ENA_UART0 6
|
||||
#define PMU_ICG_APB_ENA_UART1 7
|
||||
#define PMU_ICG_APB_ENA_UHCI 8
|
||||
#define PMU_ICG_APB_ENA_USB_DEVICE 17
|
||||
#define PMU_ICG_FUNC_ENA_CAN0 31
|
||||
#define PMU_ICG_FUNC_ENA_CAN1 30
|
||||
#define PMU_ICG_FUNC_ENA_I2C 29
|
||||
#define PMU_ICG_FUNC_ENA_I2S_RX 2
|
||||
#define PMU_ICG_FUNC_ENA_I2S_TX 7
|
||||
#define PMU_ICG_FUNC_ENA_IOMUX 28
|
||||
#define PMU_ICG_FUNC_ENA_LEDC 27
|
||||
#define PMU_ICG_FUNC_ENA_MEM_MONITOR 10
|
||||
#define PMU_ICG_FUNC_ENA_MSPI 26
|
||||
#define PMU_ICG_FUNC_ENA_PARL_RX 25
|
||||
#define PMU_ICG_FUNC_ENA_PARL_TX 24
|
||||
#define PMU_ICG_FUNC_ENA_PVT_MONITOR 23
|
||||
#define PMU_ICG_FUNC_ENA_PWM 22
|
||||
#define PMU_ICG_FUNC_ENA_RMT 21
|
||||
#define PMU_ICG_FUNC_ENA_SARADC 20
|
||||
#define PMU_ICG_FUNC_ENA_SEC 19
|
||||
#define PMU_ICG_FUNC_ENA_SPI2 1
|
||||
#define PMU_ICG_FUNC_ENA_SYSTIMER 18
|
||||
#define PMU_ICG_FUNC_ENA_TG0 14
|
||||
#define PMU_ICG_FUNC_ENA_TG1 13
|
||||
#define PMU_ICG_FUNC_ENA_TSENS 12
|
||||
#define PMU_ICG_FUNC_ENA_UART0 3
|
||||
#define PMU_ICG_FUNC_ENA_UART1 4
|
||||
#define PMU_ICG_FUNC_ENA_USB_DEVICE 6
|
||||
#define PMU_ICG_FUNC_ENA_GDMA 0
|
||||
#define PMU_ICG_FUNC_ENA_SOC_ETM 16
|
||||
#define PMU_ICG_FUNC_ENA_REGDMA 8
|
||||
#define PMU_ICG_FUNC_ENA_RETENTION 9
|
||||
#define PMU_ICG_FUNC_ENA_SDIO_SLAVE 11
|
||||
#define PMU_ICG_FUNC_ENA_UHCI 5
|
||||
#define PMU_ICG_FUNC_ENA_HPCORE 17
|
||||
#define PMU_ICG_FUNC_ENA_HPBUS 15
|
||||
#endif /* _SOC_ICG_MAP_H_ */
|
3449
components/soc/esp32h2/include/soc/pmu_reg.h
Normal file
3449
components/soc/esp32h2/include/soc/pmu_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
2869
components/soc/esp32h2/include/soc/pmu_struct.h
Normal file
2869
components/soc/esp32h2/include/soc/pmu_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
66
components/soc/esp32h2/include/soc/reg_base.h
Normal file
66
components/soc/esp32h2/include/soc/reg_base.h
Normal file
@ -0,0 +1,66 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#define DR_REG_UART_BASE 0x60000000
|
||||
#define DR_REG_UART1_BASE 0x60001000
|
||||
#define DR_REG_SPI0_BASE 0x60002000
|
||||
#define DR_REG_SPI1_BASE 0x60003000
|
||||
#define DR_REG_I2C_EXT0_BASE 0x60004000
|
||||
#define DR_REG_I2C_EXT1_BASE 0x60005000
|
||||
#define DR_REG_UHCI0_BASE 0x60006000
|
||||
#define DR_REG_RMT_BASE 0x60007000
|
||||
#define DR_REG_LEDC_BASE 0x60008000
|
||||
#define DR_REG_TIMERGROUP0_BASE 0x60009000
|
||||
#define DR_REG_TIMERGROUP1_BASE 0x6000A000
|
||||
#define DR_REG_SYSTIMER_BASE 0x6000B000
|
||||
#define DR_REG_TWAI_BASE 0x6000C000
|
||||
#define DR_REG_I2S_BASE 0x6000D000
|
||||
#define DR_REG_APB_SARADC_BASE 0x6000E000
|
||||
#define DR_REG_USB_SERIAL_JTAG_BASE 0x6000F000
|
||||
#define DR_REG_INTERRUPT_MATRIX_BASE 0x60010000
|
||||
#define DR_REG_PCNT_BASE 0x60012000
|
||||
#define DR_REG_SOC_ETM_BASE 0x60013000
|
||||
#define DR_REG_MCPWM_BASE 0x60014000
|
||||
#define DR_REG_PARl_IO_BASE 0x60015000
|
||||
#define DR_REG_PVT_MONITOR_BASE 0x60019000
|
||||
#define DR_REG_GDMA_BASE 0x60080000
|
||||
#define DR_REG_SPI2_BASE 0x60081000
|
||||
#define DR_REG_AES_BASE 0x60088000
|
||||
#define DR_REG_SHA_BASE 0x60089000
|
||||
#define DR_REG_RSA_BASE 0x6008A000
|
||||
#define DR_REG_ECC_MULT_BASE 0x6008B000
|
||||
#define DR_REG_DS_BASE 0x6008C000
|
||||
#define DR_REG_HMAC_BASE 0x6008D000
|
||||
#define DR_REG_ECDSA_BASE 0x6008E000
|
||||
#define DR_REG_IO_MUX_BASE 0x60090000
|
||||
#define DR_REG_MEM_MONITOR_BASE 0x60092000
|
||||
#define DR_REG_PAU_BASE 0x60093000
|
||||
#define DR_REG_LPPERI_BASE 0x600B2800
|
||||
#define DR_REG_GPIO_BASE 0x60091000
|
||||
#define DR_REG_MEM_ACS_MONITOR_BASE 0x60092000
|
||||
#define DR_REG_REGDMA_BASE 0x60093000
|
||||
#define DR_REG_HP_SYSTEM_BASE 0x60095000
|
||||
#define DR_REG_PCR_BASE 0x60096000
|
||||
#define DR_REG_TEE_BASE 0x60098000
|
||||
#define DR_REG_HP_APM_BASE 0x60099000
|
||||
#define DR_REG_LP_APM0_BASE 0x60099800
|
||||
#define DR_REG_MISC_BASE 0x6009F000
|
||||
|
||||
#define DR_REG_PMU_BASE 0x600B0000
|
||||
#define DR_REG_LP_CLKRST_BASE 0x600B0400
|
||||
#define DR_REG_EFUSE_BASE 0x600B0800
|
||||
#define DR_REG_LP_TIMER_BASE 0x600B0C00
|
||||
#define DR_REG_LP_AON_BASE 0x600B1000
|
||||
#define DR_REG_LP_WDT_BASE 0x600B1C00
|
||||
#define DR_REG_LP_IO_BASE 0x600B2000
|
||||
#define DR_REG_LP_ANALOG_PERI_BASE 0x600B2C00
|
||||
#define DR_REG_LP_APM_BASE 0x600B3800
|
||||
#define DR_REG_OTP_DEBUG_BASE 0x600B3C00
|
||||
|
||||
#define DR_REG_TRACE_BASE 0x600C0000
|
||||
#define DR_REG_ASSIST_DEBUG_BASE 0x600C2000
|
||||
#define DR_REG_INTPRI_BASE 0x600C5000
|
||||
#define DR_REG_EXTMEM_BASE 0x600C8000
|
175
components/soc/esp32h2/include/soc/regi2c_bbpll.h
Normal file
175
components/soc/esp32h2/include/soc/regi2c_bbpll.h
Normal file
@ -0,0 +1,175 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/**
|
||||
* @file regi2c_bbpll.h
|
||||
* @brief Register definitions for digital PLL (BBPLL)
|
||||
*
|
||||
* This file lists register fields of BBPLL, located on an internal configuration
|
||||
* bus. These definitions are used via macros defined in regi2c_ctrl.h, by
|
||||
* rtc_clk_cpu_freq_set function in rtc_clk.c.
|
||||
*/
|
||||
|
||||
#define I2C_BBPLL 0x66
|
||||
#define I2C_BBPLL_HOSTID 0
|
||||
|
||||
#define I2C_BBPLL_IR_CAL_DELAY 0
|
||||
#define I2C_BBPLL_IR_CAL_DELAY_MSB 3
|
||||
#define I2C_BBPLL_IR_CAL_DELAY_LSB 0
|
||||
|
||||
#define I2C_BBPLL_IR_CAL_CK_DIV 0
|
||||
#define I2C_BBPLL_IR_CAL_CK_DIV_MSB 7
|
||||
#define I2C_BBPLL_IR_CAL_CK_DIV_LSB 4
|
||||
|
||||
#define I2C_BBPLL_IR_CAL_EXT_CAP 1
|
||||
#define I2C_BBPLL_IR_CAL_EXT_CAP_MSB 3
|
||||
#define I2C_BBPLL_IR_CAL_EXT_CAP_LSB 0
|
||||
|
||||
#define I2C_BBPLL_IR_CAL_ENX_CAP 1
|
||||
#define I2C_BBPLL_IR_CAL_ENX_CAP_MSB 4
|
||||
#define I2C_BBPLL_IR_CAL_ENX_CAP_LSB 4
|
||||
|
||||
#define I2C_BBPLL_IR_CAL_RSTB 1
|
||||
#define I2C_BBPLL_IR_CAL_RSTB_MSB 5
|
||||
#define I2C_BBPLL_IR_CAL_RSTB_LSB 5
|
||||
|
||||
#define I2C_BBPLL_IR_CAL_START 1
|
||||
#define I2C_BBPLL_IR_CAL_START_MSB 6
|
||||
#define I2C_BBPLL_IR_CAL_START_LSB 6
|
||||
|
||||
#define I2C_BBPLL_IR_CAL_UNSTOP 1
|
||||
#define I2C_BBPLL_IR_CAL_UNSTOP_MSB 7
|
||||
#define I2C_BBPLL_IR_CAL_UNSTOP_LSB 7
|
||||
|
||||
#define I2C_BBPLL_OC_REF_DIV 2
|
||||
#define I2C_BBPLL_OC_REF_DIV_MSB 3
|
||||
#define I2C_BBPLL_OC_REF_DIV_LSB 0
|
||||
|
||||
#define I2C_BBPLL_OC_DCHGP 2
|
||||
#define I2C_BBPLL_OC_DCHGP_MSB 6
|
||||
#define I2C_BBPLL_OC_DCHGP_LSB 4
|
||||
|
||||
#define I2C_BBPLL_OC_ENB_FCAL 2
|
||||
#define I2C_BBPLL_OC_ENB_FCAL_MSB 7
|
||||
#define I2C_BBPLL_OC_ENB_FCAL_LSB 7
|
||||
|
||||
#define I2C_BBPLL_OC_DIV_7_0 3
|
||||
#define I2C_BBPLL_OC_DIV_7_0_MSB 7
|
||||
#define I2C_BBPLL_OC_DIV_7_0_LSB 0
|
||||
|
||||
#define I2C_BBPLL_RSTB_DIV_ADC 4
|
||||
#define I2C_BBPLL_RSTB_DIV_ADC_MSB 0
|
||||
#define I2C_BBPLL_RSTB_DIV_ADC_LSB 0
|
||||
|
||||
#define I2C_BBPLL_MODE_HF 4
|
||||
#define I2C_BBPLL_MODE_HF_MSB 1
|
||||
#define I2C_BBPLL_MODE_HF_LSB 1
|
||||
|
||||
#define I2C_BBPLL_DIV_ADC 4
|
||||
#define I2C_BBPLL_DIV_ADC_MSB 3
|
||||
#define I2C_BBPLL_DIV_ADC_LSB 2
|
||||
|
||||
#define I2C_BBPLL_DIV_DAC 4
|
||||
#define I2C_BBPLL_DIV_DAC_MSB 4
|
||||
#define I2C_BBPLL_DIV_DAC_LSB 4
|
||||
|
||||
#define I2C_BBPLL_DIV_CPU 4
|
||||
#define I2C_BBPLL_DIV_CPU_MSB 5
|
||||
#define I2C_BBPLL_DIV_CPU_LSB 5
|
||||
|
||||
#define I2C_BBPLL_OC_ENB_VCON 4
|
||||
#define I2C_BBPLL_OC_ENB_VCON_MSB 6
|
||||
#define I2C_BBPLL_OC_ENB_VCON_LSB 6
|
||||
|
||||
#define I2C_BBPLL_OC_TSCHGP 4
|
||||
#define I2C_BBPLL_OC_TSCHGP_MSB 7
|
||||
#define I2C_BBPLL_OC_TSCHGP_LSB 7
|
||||
|
||||
#define I2C_BBPLL_OC_DR1 5
|
||||
#define I2C_BBPLL_OC_DR1_MSB 2
|
||||
#define I2C_BBPLL_OC_DR1_LSB 0
|
||||
|
||||
#define I2C_BBPLL_OC_DR3 5
|
||||
#define I2C_BBPLL_OC_DR3_MSB 6
|
||||
#define I2C_BBPLL_OC_DR3_LSB 4
|
||||
|
||||
#define I2C_BBPLL_EN_USB 5
|
||||
#define I2C_BBPLL_EN_USB_MSB 7
|
||||
#define I2C_BBPLL_EN_USB_LSB 7
|
||||
|
||||
#define I2C_BBPLL_OC_DCUR 6
|
||||
#define I2C_BBPLL_OC_DCUR_MSB 2
|
||||
#define I2C_BBPLL_OC_DCUR_LSB 0
|
||||
|
||||
#define I2C_BBPLL_INC_CUR 6
|
||||
#define I2C_BBPLL_INC_CUR_MSB 3
|
||||
#define I2C_BBPLL_INC_CUR_LSB 3
|
||||
|
||||
#define I2C_BBPLL_OC_DHREF_SEL 6
|
||||
#define I2C_BBPLL_OC_DHREF_SEL_MSB 5
|
||||
#define I2C_BBPLL_OC_DHREF_SEL_LSB 4
|
||||
|
||||
#define I2C_BBPLL_OC_DLREF_SEL 6
|
||||
#define I2C_BBPLL_OC_DLREF_SEL_MSB 7
|
||||
#define I2C_BBPLL_OC_DLREF_SEL_LSB 6
|
||||
|
||||
#define I2C_BBPLL_OR_CAL_CAP 8
|
||||
#define I2C_BBPLL_OR_CAL_CAP_MSB 3
|
||||
#define I2C_BBPLL_OR_CAL_CAP_LSB 0
|
||||
|
||||
#define I2C_BBPLL_OR_CAL_UDF 8
|
||||
#define I2C_BBPLL_OR_CAL_UDF_MSB 4
|
||||
#define I2C_BBPLL_OR_CAL_UDF_LSB 4
|
||||
|
||||
#define I2C_BBPLL_OR_CAL_OVF 8
|
||||
#define I2C_BBPLL_OR_CAL_OVF_MSB 5
|
||||
#define I2C_BBPLL_OR_CAL_OVF_LSB 5
|
||||
|
||||
#define I2C_BBPLL_OR_CAL_END 8
|
||||
#define I2C_BBPLL_OR_CAL_END_MSB 6
|
||||
#define I2C_BBPLL_OR_CAL_END_LSB 6
|
||||
|
||||
#define I2C_BBPLL_OR_LOCK 8
|
||||
#define I2C_BBPLL_OR_LOCK_MSB 7
|
||||
#define I2C_BBPLL_OR_LOCK_LSB 7
|
||||
|
||||
#define I2C_BBPLL_OC_VCO_DBIAS 9
|
||||
#define I2C_BBPLL_OC_VCO_DBIAS_MSB 1
|
||||
#define I2C_BBPLL_OC_VCO_DBIAS_LSB 0
|
||||
|
||||
#define I2C_BBPLL_BBADC_DELAY2 9
|
||||
#define I2C_BBPLL_BBADC_DELAY2_MSB 3
|
||||
#define I2C_BBPLL_BBADC_DELAY2_LSB 2
|
||||
|
||||
#define I2C_BBPLL_BBADC_DVDD 9
|
||||
#define I2C_BBPLL_BBADC_DVDD_MSB 5
|
||||
#define I2C_BBPLL_BBADC_DVDD_LSB 4
|
||||
|
||||
#define I2C_BBPLL_BBADC_DREF 9
|
||||
#define I2C_BBPLL_BBADC_DREF_MSB 7
|
||||
#define I2C_BBPLL_BBADC_DREF_LSB 6
|
||||
|
||||
#define I2C_BBPLL_BBADC_DCUR 10
|
||||
#define I2C_BBPLL_BBADC_DCUR_MSB 1
|
||||
#define I2C_BBPLL_BBADC_DCUR_LSB 0
|
||||
|
||||
#define I2C_BBPLL_BBADC_INPUT_SHORT 10
|
||||
#define I2C_BBPLL_BBADC_INPUT_SHORT_MSB 2
|
||||
#define I2C_BBPLL_BBADC_INPUT_SHORT_LSB 2
|
||||
|
||||
#define I2C_BBPLL_ENT_PLL 10
|
||||
#define I2C_BBPLL_ENT_PLL_MSB 3
|
||||
#define I2C_BBPLL_ENT_PLL_LSB 3
|
||||
|
||||
#define I2C_BBPLL_DTEST 10
|
||||
#define I2C_BBPLL_DTEST_MSB 5
|
||||
#define I2C_BBPLL_DTEST_LSB 4
|
||||
|
||||
#define I2C_BBPLL_ENT_ADC 10
|
||||
#define I2C_BBPLL_ENT_ADC_MSB 7
|
||||
#define I2C_BBPLL_ENT_ADC_LSB 6
|
22
components/soc/esp32h2/include/soc/regi2c_bias.h
Normal file
22
components/soc/esp32h2/include/soc/regi2c_bias.h
Normal file
@ -0,0 +1,22 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/**
|
||||
* @file regi2c_bias.h
|
||||
* @brief Register definitions for bias
|
||||
*
|
||||
* This file lists register fields of BIAS. These definitions are used via macros defined in regi2c_ctrl.h, by
|
||||
* bootloader_hardware_init function in bootloader_esp32c3.c.
|
||||
*/
|
||||
|
||||
#define I2C_BIAS 0X6A
|
||||
#define I2C_BIAS_HOSTID 0
|
||||
|
||||
#define I2C_BIAS_DREG_1P1_PVT 1
|
||||
#define I2C_BIAS_DREG_1P1_PVT_MSB 3
|
||||
#define I2C_BIAS_DREG_1P1_PVT_LSB 0
|
22
components/soc/esp32h2/include/soc/regi2c_brownout.h
Normal file
22
components/soc/esp32h2/include/soc/regi2c_brownout.h
Normal file
@ -0,0 +1,22 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/**
|
||||
* @file regi2c_brownout.h
|
||||
* @brief Register definitions for brownout detector
|
||||
*
|
||||
* This file lists register fields of the brownout detector, located on an internal configuration
|
||||
* bus. These definitions are used via macros defined in regi2c_ctrl.h.
|
||||
*/
|
||||
|
||||
#define I2C_BOD 0x61
|
||||
#define I2C_BOD_HOSTID 0
|
||||
|
||||
#define I2C_BOD_THRESHOLD 0x5
|
||||
#define I2C_BOD_THRESHOLD_MSB 2
|
||||
#define I2C_BOD_THRESHOLD_LSB 0
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user