mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
feat(soc): Added soc headers for esp32p4, part 2
This commit is contained in:
parent
b3b9b327a1
commit
989c6f6e46
578
components/soc/esp32p4/include/soc/lp2hp_peri_pms_reg.h
Normal file
578
components/soc/esp32p4/include/soc/lp2hp_peri_pms_reg.h
Normal file
@ -0,0 +1,578 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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
|
||||
|
||||
/** TEE_LP2HP_PMS_DATE_REG register
|
||||
* NA
|
||||
*/
|
||||
#define TEE_LP2HP_PMS_DATE_REG (DR_REG_TEE_BASE + 0x0)
|
||||
/** TEE_TEE_DATE : R/W; bitpos: [31:0]; default: 2294790;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_TEE_DATE 0xFFFFFFFFU
|
||||
#define TEE_TEE_DATE_M (TEE_TEE_DATE_V << TEE_TEE_DATE_S)
|
||||
#define TEE_TEE_DATE_V 0xFFFFFFFFU
|
||||
#define TEE_TEE_DATE_S 0
|
||||
|
||||
/** TEE_PMS_CLK_EN_REG register
|
||||
* NA
|
||||
*/
|
||||
#define TEE_PMS_CLK_EN_REG (DR_REG_TEE_BASE + 0x4)
|
||||
/** TEE_REG_CLK_EN : R/W; bitpos: [0]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_CLK_EN (BIT(0))
|
||||
#define TEE_REG_CLK_EN_M (TEE_REG_CLK_EN_V << TEE_REG_CLK_EN_S)
|
||||
#define TEE_REG_CLK_EN_V 0x00000001U
|
||||
#define TEE_REG_CLK_EN_S 0
|
||||
|
||||
/** TEE_LP_MM_PMS_REG0_REG register
|
||||
* NA
|
||||
*/
|
||||
#define TEE_LP_MM_PMS_REG0_REG (DR_REG_TEE_BASE + 0x8)
|
||||
/** TEE_REG_LP_MM_PSRAM_ALLOW : R/W; bitpos: [0]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_PSRAM_ALLOW (BIT(0))
|
||||
#define TEE_REG_LP_MM_PSRAM_ALLOW_M (TEE_REG_LP_MM_PSRAM_ALLOW_V << TEE_REG_LP_MM_PSRAM_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_PSRAM_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_PSRAM_ALLOW_S 0
|
||||
/** TEE_REG_LP_MM_FLASH_ALLOW : R/W; bitpos: [1]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_FLASH_ALLOW (BIT(1))
|
||||
#define TEE_REG_LP_MM_FLASH_ALLOW_M (TEE_REG_LP_MM_FLASH_ALLOW_V << TEE_REG_LP_MM_FLASH_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_FLASH_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_FLASH_ALLOW_S 1
|
||||
/** TEE_REG_LP_MM_L2MEM_ALLOW : R/W; bitpos: [2]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_L2MEM_ALLOW (BIT(2))
|
||||
#define TEE_REG_LP_MM_L2MEM_ALLOW_M (TEE_REG_LP_MM_L2MEM_ALLOW_V << TEE_REG_LP_MM_L2MEM_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_L2MEM_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_L2MEM_ALLOW_S 2
|
||||
/** TEE_REG_LP_MM_L2ROM_ALLOW : R/W; bitpos: [3]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_L2ROM_ALLOW (BIT(3))
|
||||
#define TEE_REG_LP_MM_L2ROM_ALLOW_M (TEE_REG_LP_MM_L2ROM_ALLOW_V << TEE_REG_LP_MM_L2ROM_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_L2ROM_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_L2ROM_ALLOW_S 3
|
||||
/** TEE_REG_LP_MM_TRACE0_ALLOW : R/W; bitpos: [6]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_TRACE0_ALLOW (BIT(6))
|
||||
#define TEE_REG_LP_MM_TRACE0_ALLOW_M (TEE_REG_LP_MM_TRACE0_ALLOW_V << TEE_REG_LP_MM_TRACE0_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_TRACE0_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_TRACE0_ALLOW_S 6
|
||||
/** TEE_REG_LP_MM_TRACE1_ALLOW : R/W; bitpos: [7]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_TRACE1_ALLOW (BIT(7))
|
||||
#define TEE_REG_LP_MM_TRACE1_ALLOW_M (TEE_REG_LP_MM_TRACE1_ALLOW_V << TEE_REG_LP_MM_TRACE1_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_TRACE1_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_TRACE1_ALLOW_S 7
|
||||
/** TEE_REG_LP_MM_CPU_BUS_MON_ALLOW : R/W; bitpos: [8]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_CPU_BUS_MON_ALLOW (BIT(8))
|
||||
#define TEE_REG_LP_MM_CPU_BUS_MON_ALLOW_M (TEE_REG_LP_MM_CPU_BUS_MON_ALLOW_V << TEE_REG_LP_MM_CPU_BUS_MON_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_CPU_BUS_MON_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_CPU_BUS_MON_ALLOW_S 8
|
||||
/** TEE_REG_LP_MM_L2MEM_MON_ALLOW : R/W; bitpos: [9]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_L2MEM_MON_ALLOW (BIT(9))
|
||||
#define TEE_REG_LP_MM_L2MEM_MON_ALLOW_M (TEE_REG_LP_MM_L2MEM_MON_ALLOW_V << TEE_REG_LP_MM_L2MEM_MON_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_L2MEM_MON_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_L2MEM_MON_ALLOW_S 9
|
||||
/** TEE_REG_LP_MM_TCM_MON_ALLOW : R/W; bitpos: [10]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_TCM_MON_ALLOW (BIT(10))
|
||||
#define TEE_REG_LP_MM_TCM_MON_ALLOW_M (TEE_REG_LP_MM_TCM_MON_ALLOW_V << TEE_REG_LP_MM_TCM_MON_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_TCM_MON_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_TCM_MON_ALLOW_S 10
|
||||
/** TEE_REG_LP_MM_CACHE_ALLOW : R/W; bitpos: [11]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_CACHE_ALLOW (BIT(11))
|
||||
#define TEE_REG_LP_MM_CACHE_ALLOW_M (TEE_REG_LP_MM_CACHE_ALLOW_V << TEE_REG_LP_MM_CACHE_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_CACHE_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_CACHE_ALLOW_S 11
|
||||
|
||||
/** TEE_LP_MM_PMS_REG1_REG register
|
||||
* NA
|
||||
*/
|
||||
#define TEE_LP_MM_PMS_REG1_REG (DR_REG_TEE_BASE + 0x30)
|
||||
/** TEE_REG_LP_MM_HP_USBOTG_ALLOW : R/W; bitpos: [0]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_USBOTG_ALLOW (BIT(0))
|
||||
#define TEE_REG_LP_MM_HP_USBOTG_ALLOW_M (TEE_REG_LP_MM_HP_USBOTG_ALLOW_V << TEE_REG_LP_MM_HP_USBOTG_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_USBOTG_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_USBOTG_ALLOW_S 0
|
||||
/** TEE_REG_LP_MM_HP_USBOTG11_ALLOW : R/W; bitpos: [1]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_USBOTG11_ALLOW (BIT(1))
|
||||
#define TEE_REG_LP_MM_HP_USBOTG11_ALLOW_M (TEE_REG_LP_MM_HP_USBOTG11_ALLOW_V << TEE_REG_LP_MM_HP_USBOTG11_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_USBOTG11_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_USBOTG11_ALLOW_S 1
|
||||
/** TEE_REG_LP_MM_HP_USBOTG11_WRAP_ALLOW : R/W; bitpos: [2]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_USBOTG11_WRAP_ALLOW (BIT(2))
|
||||
#define TEE_REG_LP_MM_HP_USBOTG11_WRAP_ALLOW_M (TEE_REG_LP_MM_HP_USBOTG11_WRAP_ALLOW_V << TEE_REG_LP_MM_HP_USBOTG11_WRAP_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_USBOTG11_WRAP_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_USBOTG11_WRAP_ALLOW_S 2
|
||||
/** TEE_REG_LP_MM_HP_GDMA_ALLOW : R/W; bitpos: [3]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_GDMA_ALLOW (BIT(3))
|
||||
#define TEE_REG_LP_MM_HP_GDMA_ALLOW_M (TEE_REG_LP_MM_HP_GDMA_ALLOW_V << TEE_REG_LP_MM_HP_GDMA_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_GDMA_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_GDMA_ALLOW_S 3
|
||||
/** TEE_REG_LP_MM_HP_REGDMA_ALLOW : R/W; bitpos: [4]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_REGDMA_ALLOW (BIT(4))
|
||||
#define TEE_REG_LP_MM_HP_REGDMA_ALLOW_M (TEE_REG_LP_MM_HP_REGDMA_ALLOW_V << TEE_REG_LP_MM_HP_REGDMA_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_REGDMA_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_REGDMA_ALLOW_S 4
|
||||
/** TEE_REG_LP_MM_HP_SDMMC_ALLOW : R/W; bitpos: [5]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_SDMMC_ALLOW (BIT(5))
|
||||
#define TEE_REG_LP_MM_HP_SDMMC_ALLOW_M (TEE_REG_LP_MM_HP_SDMMC_ALLOW_V << TEE_REG_LP_MM_HP_SDMMC_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_SDMMC_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_SDMMC_ALLOW_S 5
|
||||
/** TEE_REG_LP_MM_HP_AHB_PDMA_ALLOW : R/W; bitpos: [6]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_AHB_PDMA_ALLOW (BIT(6))
|
||||
#define TEE_REG_LP_MM_HP_AHB_PDMA_ALLOW_M (TEE_REG_LP_MM_HP_AHB_PDMA_ALLOW_V << TEE_REG_LP_MM_HP_AHB_PDMA_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_AHB_PDMA_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_AHB_PDMA_ALLOW_S 6
|
||||
/** TEE_REG_LP_MM_HP_JPEG_ALLOW : R/W; bitpos: [7]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_JPEG_ALLOW (BIT(7))
|
||||
#define TEE_REG_LP_MM_HP_JPEG_ALLOW_M (TEE_REG_LP_MM_HP_JPEG_ALLOW_V << TEE_REG_LP_MM_HP_JPEG_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_JPEG_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_JPEG_ALLOW_S 7
|
||||
/** TEE_REG_LP_MM_HP_PPA_ALLOW : R/W; bitpos: [8]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_PPA_ALLOW (BIT(8))
|
||||
#define TEE_REG_LP_MM_HP_PPA_ALLOW_M (TEE_REG_LP_MM_HP_PPA_ALLOW_V << TEE_REG_LP_MM_HP_PPA_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_PPA_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_PPA_ALLOW_S 8
|
||||
/** TEE_REG_LP_MM_HP_DMA2D_ALLOW : R/W; bitpos: [9]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_DMA2D_ALLOW (BIT(9))
|
||||
#define TEE_REG_LP_MM_HP_DMA2D_ALLOW_M (TEE_REG_LP_MM_HP_DMA2D_ALLOW_V << TEE_REG_LP_MM_HP_DMA2D_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_DMA2D_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_DMA2D_ALLOW_S 9
|
||||
/** TEE_REG_LP_MM_HP_KEY_MANAGER_ALLOW : R/W; bitpos: [10]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_KEY_MANAGER_ALLOW (BIT(10))
|
||||
#define TEE_REG_LP_MM_HP_KEY_MANAGER_ALLOW_M (TEE_REG_LP_MM_HP_KEY_MANAGER_ALLOW_V << TEE_REG_LP_MM_HP_KEY_MANAGER_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_KEY_MANAGER_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_KEY_MANAGER_ALLOW_S 10
|
||||
/** TEE_REG_LP_MM_HP_AXI_PDMA_ALLOW : R/W; bitpos: [11]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_AXI_PDMA_ALLOW (BIT(11))
|
||||
#define TEE_REG_LP_MM_HP_AXI_PDMA_ALLOW_M (TEE_REG_LP_MM_HP_AXI_PDMA_ALLOW_V << TEE_REG_LP_MM_HP_AXI_PDMA_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_AXI_PDMA_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_AXI_PDMA_ALLOW_S 11
|
||||
/** TEE_REG_LP_MM_HP_FLASH_ALLOW : R/W; bitpos: [12]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_FLASH_ALLOW (BIT(12))
|
||||
#define TEE_REG_LP_MM_HP_FLASH_ALLOW_M (TEE_REG_LP_MM_HP_FLASH_ALLOW_V << TEE_REG_LP_MM_HP_FLASH_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_FLASH_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_FLASH_ALLOW_S 12
|
||||
/** TEE_REG_LP_MM_HP_PSRAM_ALLOW : R/W; bitpos: [13]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_PSRAM_ALLOW (BIT(13))
|
||||
#define TEE_REG_LP_MM_HP_PSRAM_ALLOW_M (TEE_REG_LP_MM_HP_PSRAM_ALLOW_V << TEE_REG_LP_MM_HP_PSRAM_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_PSRAM_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_PSRAM_ALLOW_S 13
|
||||
/** TEE_REG_LP_MM_HP_CRYPTO_ALLOW : R/W; bitpos: [14]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_CRYPTO_ALLOW (BIT(14))
|
||||
#define TEE_REG_LP_MM_HP_CRYPTO_ALLOW_M (TEE_REG_LP_MM_HP_CRYPTO_ALLOW_V << TEE_REG_LP_MM_HP_CRYPTO_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_CRYPTO_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_CRYPTO_ALLOW_S 14
|
||||
/** TEE_REG_LP_MM_HP_GMAC_ALLOW : R/W; bitpos: [15]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_GMAC_ALLOW (BIT(15))
|
||||
#define TEE_REG_LP_MM_HP_GMAC_ALLOW_M (TEE_REG_LP_MM_HP_GMAC_ALLOW_V << TEE_REG_LP_MM_HP_GMAC_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_GMAC_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_GMAC_ALLOW_S 15
|
||||
/** TEE_REG_LP_MM_HP_USB_PHY_ALLOW : R/W; bitpos: [16]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_USB_PHY_ALLOW (BIT(16))
|
||||
#define TEE_REG_LP_MM_HP_USB_PHY_ALLOW_M (TEE_REG_LP_MM_HP_USB_PHY_ALLOW_V << TEE_REG_LP_MM_HP_USB_PHY_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_USB_PHY_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_USB_PHY_ALLOW_S 16
|
||||
/** TEE_REG_LP_MM_HP_PVT_ALLOW : R/W; bitpos: [17]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_PVT_ALLOW (BIT(17))
|
||||
#define TEE_REG_LP_MM_HP_PVT_ALLOW_M (TEE_REG_LP_MM_HP_PVT_ALLOW_V << TEE_REG_LP_MM_HP_PVT_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_PVT_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_PVT_ALLOW_S 17
|
||||
/** TEE_REG_LP_MM_HP_CSI_HOST_ALLOW : R/W; bitpos: [18]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_CSI_HOST_ALLOW (BIT(18))
|
||||
#define TEE_REG_LP_MM_HP_CSI_HOST_ALLOW_M (TEE_REG_LP_MM_HP_CSI_HOST_ALLOW_V << TEE_REG_LP_MM_HP_CSI_HOST_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_CSI_HOST_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_CSI_HOST_ALLOW_S 18
|
||||
/** TEE_REG_LP_MM_HP_DSI_HOST_ALLOW : R/W; bitpos: [19]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_DSI_HOST_ALLOW (BIT(19))
|
||||
#define TEE_REG_LP_MM_HP_DSI_HOST_ALLOW_M (TEE_REG_LP_MM_HP_DSI_HOST_ALLOW_V << TEE_REG_LP_MM_HP_DSI_HOST_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_DSI_HOST_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_DSI_HOST_ALLOW_S 19
|
||||
/** TEE_REG_LP_MM_HP_ISP_ALLOW : R/W; bitpos: [20]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_ISP_ALLOW (BIT(20))
|
||||
#define TEE_REG_LP_MM_HP_ISP_ALLOW_M (TEE_REG_LP_MM_HP_ISP_ALLOW_V << TEE_REG_LP_MM_HP_ISP_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_ISP_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_ISP_ALLOW_S 20
|
||||
/** TEE_REG_LP_MM_HP_H264_CORE_ALLOW : R/W; bitpos: [21]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_H264_CORE_ALLOW (BIT(21))
|
||||
#define TEE_REG_LP_MM_HP_H264_CORE_ALLOW_M (TEE_REG_LP_MM_HP_H264_CORE_ALLOW_V << TEE_REG_LP_MM_HP_H264_CORE_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_H264_CORE_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_H264_CORE_ALLOW_S 21
|
||||
/** TEE_REG_LP_MM_HP_RMT_ALLOW : R/W; bitpos: [22]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_RMT_ALLOW (BIT(22))
|
||||
#define TEE_REG_LP_MM_HP_RMT_ALLOW_M (TEE_REG_LP_MM_HP_RMT_ALLOW_V << TEE_REG_LP_MM_HP_RMT_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_RMT_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_RMT_ALLOW_S 22
|
||||
/** TEE_REG_LP_MM_HP_BITSRAMBLER_ALLOW : R/W; bitpos: [23]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_BITSRAMBLER_ALLOW (BIT(23))
|
||||
#define TEE_REG_LP_MM_HP_BITSRAMBLER_ALLOW_M (TEE_REG_LP_MM_HP_BITSRAMBLER_ALLOW_V << TEE_REG_LP_MM_HP_BITSRAMBLER_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_BITSRAMBLER_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_BITSRAMBLER_ALLOW_S 23
|
||||
/** TEE_REG_LP_MM_HP_AXI_ICM_ALLOW : R/W; bitpos: [24]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_AXI_ICM_ALLOW (BIT(24))
|
||||
#define TEE_REG_LP_MM_HP_AXI_ICM_ALLOW_M (TEE_REG_LP_MM_HP_AXI_ICM_ALLOW_V << TEE_REG_LP_MM_HP_AXI_ICM_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_AXI_ICM_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_AXI_ICM_ALLOW_S 24
|
||||
/** TEE_REG_LP_MM_HP_PERI_PMS_ALLOW : R/W; bitpos: [25]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_PERI_PMS_ALLOW (BIT(25))
|
||||
#define TEE_REG_LP_MM_HP_PERI_PMS_ALLOW_M (TEE_REG_LP_MM_HP_PERI_PMS_ALLOW_V << TEE_REG_LP_MM_HP_PERI_PMS_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_PERI_PMS_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_PERI_PMS_ALLOW_S 25
|
||||
/** TEE_REG_LP_MM_LP2HP_PERI_PMS_ALLOW : R/W; bitpos: [26]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP2HP_PERI_PMS_ALLOW (BIT(26))
|
||||
#define TEE_REG_LP_MM_LP2HP_PERI_PMS_ALLOW_M (TEE_REG_LP_MM_LP2HP_PERI_PMS_ALLOW_V << TEE_REG_LP_MM_LP2HP_PERI_PMS_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP2HP_PERI_PMS_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP2HP_PERI_PMS_ALLOW_S 26
|
||||
/** TEE_REG_LP_MM_DMA_PMS_ALLOW : R/W; bitpos: [27]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_DMA_PMS_ALLOW (BIT(27))
|
||||
#define TEE_REG_LP_MM_DMA_PMS_ALLOW_M (TEE_REG_LP_MM_DMA_PMS_ALLOW_V << TEE_REG_LP_MM_DMA_PMS_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_DMA_PMS_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_DMA_PMS_ALLOW_S 27
|
||||
/** TEE_REG_LP_MM_HP_H264_DMA2D_ALLOW : R/W; bitpos: [28]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_H264_DMA2D_ALLOW (BIT(28))
|
||||
#define TEE_REG_LP_MM_HP_H264_DMA2D_ALLOW_M (TEE_REG_LP_MM_HP_H264_DMA2D_ALLOW_V << TEE_REG_LP_MM_HP_H264_DMA2D_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_H264_DMA2D_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_H264_DMA2D_ALLOW_S 28
|
||||
|
||||
/** TEE_LP_MM_PMS_REG2_REG register
|
||||
* NA
|
||||
*/
|
||||
#define TEE_LP_MM_PMS_REG2_REG (DR_REG_TEE_BASE + 0xa4)
|
||||
/** TEE_REG_LP_MM_HP_MCPWM0_ALLOW : R/W; bitpos: [0]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_MCPWM0_ALLOW (BIT(0))
|
||||
#define TEE_REG_LP_MM_HP_MCPWM0_ALLOW_M (TEE_REG_LP_MM_HP_MCPWM0_ALLOW_V << TEE_REG_LP_MM_HP_MCPWM0_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_MCPWM0_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_MCPWM0_ALLOW_S 0
|
||||
/** TEE_REG_LP_MM_HP_MCPWM1_ALLOW : R/W; bitpos: [1]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_MCPWM1_ALLOW (BIT(1))
|
||||
#define TEE_REG_LP_MM_HP_MCPWM1_ALLOW_M (TEE_REG_LP_MM_HP_MCPWM1_ALLOW_V << TEE_REG_LP_MM_HP_MCPWM1_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_MCPWM1_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_MCPWM1_ALLOW_S 1
|
||||
/** TEE_REG_LP_MM_HP_TIMER_GROUP0_ALLOW : R/W; bitpos: [2]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_TIMER_GROUP0_ALLOW (BIT(2))
|
||||
#define TEE_REG_LP_MM_HP_TIMER_GROUP0_ALLOW_M (TEE_REG_LP_MM_HP_TIMER_GROUP0_ALLOW_V << TEE_REG_LP_MM_HP_TIMER_GROUP0_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_TIMER_GROUP0_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_TIMER_GROUP0_ALLOW_S 2
|
||||
/** TEE_REG_LP_MM_HP_TIMER_GROUP1_ALLOW : R/W; bitpos: [3]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_TIMER_GROUP1_ALLOW (BIT(3))
|
||||
#define TEE_REG_LP_MM_HP_TIMER_GROUP1_ALLOW_M (TEE_REG_LP_MM_HP_TIMER_GROUP1_ALLOW_V << TEE_REG_LP_MM_HP_TIMER_GROUP1_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_TIMER_GROUP1_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_TIMER_GROUP1_ALLOW_S 3
|
||||
/** TEE_REG_LP_MM_HP_I2C0_ALLOW : R/W; bitpos: [4]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_I2C0_ALLOW (BIT(4))
|
||||
#define TEE_REG_LP_MM_HP_I2C0_ALLOW_M (TEE_REG_LP_MM_HP_I2C0_ALLOW_V << TEE_REG_LP_MM_HP_I2C0_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_I2C0_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_I2C0_ALLOW_S 4
|
||||
/** TEE_REG_LP_MM_HP_I2C1_ALLOW : R/W; bitpos: [5]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_I2C1_ALLOW (BIT(5))
|
||||
#define TEE_REG_LP_MM_HP_I2C1_ALLOW_M (TEE_REG_LP_MM_HP_I2C1_ALLOW_V << TEE_REG_LP_MM_HP_I2C1_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_I2C1_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_I2C1_ALLOW_S 5
|
||||
/** TEE_REG_LP_MM_HP_I2S0_ALLOW : R/W; bitpos: [6]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_I2S0_ALLOW (BIT(6))
|
||||
#define TEE_REG_LP_MM_HP_I2S0_ALLOW_M (TEE_REG_LP_MM_HP_I2S0_ALLOW_V << TEE_REG_LP_MM_HP_I2S0_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_I2S0_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_I2S0_ALLOW_S 6
|
||||
/** TEE_REG_LP_MM_HP_I2S1_ALLOW : R/W; bitpos: [7]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_I2S1_ALLOW (BIT(7))
|
||||
#define TEE_REG_LP_MM_HP_I2S1_ALLOW_M (TEE_REG_LP_MM_HP_I2S1_ALLOW_V << TEE_REG_LP_MM_HP_I2S1_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_I2S1_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_I2S1_ALLOW_S 7
|
||||
/** TEE_REG_LP_MM_HP_I2S2_ALLOW : R/W; bitpos: [8]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_I2S2_ALLOW (BIT(8))
|
||||
#define TEE_REG_LP_MM_HP_I2S2_ALLOW_M (TEE_REG_LP_MM_HP_I2S2_ALLOW_V << TEE_REG_LP_MM_HP_I2S2_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_I2S2_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_I2S2_ALLOW_S 8
|
||||
/** TEE_REG_LP_MM_HP_PCNT_ALLOW : R/W; bitpos: [9]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_PCNT_ALLOW (BIT(9))
|
||||
#define TEE_REG_LP_MM_HP_PCNT_ALLOW_M (TEE_REG_LP_MM_HP_PCNT_ALLOW_V << TEE_REG_LP_MM_HP_PCNT_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_PCNT_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_PCNT_ALLOW_S 9
|
||||
/** TEE_REG_LP_MM_HP_UART0_ALLOW : R/W; bitpos: [10]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_UART0_ALLOW (BIT(10))
|
||||
#define TEE_REG_LP_MM_HP_UART0_ALLOW_M (TEE_REG_LP_MM_HP_UART0_ALLOW_V << TEE_REG_LP_MM_HP_UART0_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_UART0_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_UART0_ALLOW_S 10
|
||||
/** TEE_REG_LP_MM_HP_UART1_ALLOW : R/W; bitpos: [11]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_UART1_ALLOW (BIT(11))
|
||||
#define TEE_REG_LP_MM_HP_UART1_ALLOW_M (TEE_REG_LP_MM_HP_UART1_ALLOW_V << TEE_REG_LP_MM_HP_UART1_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_UART1_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_UART1_ALLOW_S 11
|
||||
/** TEE_REG_LP_MM_HP_UART2_ALLOW : R/W; bitpos: [12]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_UART2_ALLOW (BIT(12))
|
||||
#define TEE_REG_LP_MM_HP_UART2_ALLOW_M (TEE_REG_LP_MM_HP_UART2_ALLOW_V << TEE_REG_LP_MM_HP_UART2_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_UART2_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_UART2_ALLOW_S 12
|
||||
/** TEE_REG_LP_MM_HP_UART3_ALLOW : R/W; bitpos: [13]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_UART3_ALLOW (BIT(13))
|
||||
#define TEE_REG_LP_MM_HP_UART3_ALLOW_M (TEE_REG_LP_MM_HP_UART3_ALLOW_V << TEE_REG_LP_MM_HP_UART3_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_UART3_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_UART3_ALLOW_S 13
|
||||
/** TEE_REG_LP_MM_HP_UART4_ALLOW : R/W; bitpos: [14]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_UART4_ALLOW (BIT(14))
|
||||
#define TEE_REG_LP_MM_HP_UART4_ALLOW_M (TEE_REG_LP_MM_HP_UART4_ALLOW_V << TEE_REG_LP_MM_HP_UART4_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_UART4_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_UART4_ALLOW_S 14
|
||||
/** TEE_REG_LP_MM_HP_PARLIO_ALLOW : R/W; bitpos: [15]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_PARLIO_ALLOW (BIT(15))
|
||||
#define TEE_REG_LP_MM_HP_PARLIO_ALLOW_M (TEE_REG_LP_MM_HP_PARLIO_ALLOW_V << TEE_REG_LP_MM_HP_PARLIO_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_PARLIO_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_PARLIO_ALLOW_S 15
|
||||
/** TEE_REG_LP_MM_HP_GPSPI2_ALLOW : R/W; bitpos: [16]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_GPSPI2_ALLOW (BIT(16))
|
||||
#define TEE_REG_LP_MM_HP_GPSPI2_ALLOW_M (TEE_REG_LP_MM_HP_GPSPI2_ALLOW_V << TEE_REG_LP_MM_HP_GPSPI2_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_GPSPI2_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_GPSPI2_ALLOW_S 16
|
||||
/** TEE_REG_LP_MM_HP_GPSPI3_ALLOW : R/W; bitpos: [17]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_GPSPI3_ALLOW (BIT(17))
|
||||
#define TEE_REG_LP_MM_HP_GPSPI3_ALLOW_M (TEE_REG_LP_MM_HP_GPSPI3_ALLOW_V << TEE_REG_LP_MM_HP_GPSPI3_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_GPSPI3_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_GPSPI3_ALLOW_S 17
|
||||
/** TEE_REG_LP_MM_HP_USBDEVICE_ALLOW : R/W; bitpos: [18]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_USBDEVICE_ALLOW (BIT(18))
|
||||
#define TEE_REG_LP_MM_HP_USBDEVICE_ALLOW_M (TEE_REG_LP_MM_HP_USBDEVICE_ALLOW_V << TEE_REG_LP_MM_HP_USBDEVICE_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_USBDEVICE_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_USBDEVICE_ALLOW_S 18
|
||||
/** TEE_REG_LP_MM_HP_LEDC_ALLOW : R/W; bitpos: [19]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_LEDC_ALLOW (BIT(19))
|
||||
#define TEE_REG_LP_MM_HP_LEDC_ALLOW_M (TEE_REG_LP_MM_HP_LEDC_ALLOW_V << TEE_REG_LP_MM_HP_LEDC_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_LEDC_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_LEDC_ALLOW_S 19
|
||||
/** TEE_REG_LP_MM_HP_ETM_ALLOW : R/W; bitpos: [21]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_ETM_ALLOW (BIT(21))
|
||||
#define TEE_REG_LP_MM_HP_ETM_ALLOW_M (TEE_REG_LP_MM_HP_ETM_ALLOW_V << TEE_REG_LP_MM_HP_ETM_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_ETM_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_ETM_ALLOW_S 21
|
||||
/** TEE_REG_LP_MM_HP_INTRMTX_ALLOW : R/W; bitpos: [22]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_INTRMTX_ALLOW (BIT(22))
|
||||
#define TEE_REG_LP_MM_HP_INTRMTX_ALLOW_M (TEE_REG_LP_MM_HP_INTRMTX_ALLOW_V << TEE_REG_LP_MM_HP_INTRMTX_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_INTRMTX_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_INTRMTX_ALLOW_S 22
|
||||
/** TEE_REG_LP_MM_HP_TWAI0_ALLOW : R/W; bitpos: [23]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_TWAI0_ALLOW (BIT(23))
|
||||
#define TEE_REG_LP_MM_HP_TWAI0_ALLOW_M (TEE_REG_LP_MM_HP_TWAI0_ALLOW_V << TEE_REG_LP_MM_HP_TWAI0_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_TWAI0_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_TWAI0_ALLOW_S 23
|
||||
/** TEE_REG_LP_MM_HP_TWAI1_ALLOW : R/W; bitpos: [24]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_TWAI1_ALLOW (BIT(24))
|
||||
#define TEE_REG_LP_MM_HP_TWAI1_ALLOW_M (TEE_REG_LP_MM_HP_TWAI1_ALLOW_V << TEE_REG_LP_MM_HP_TWAI1_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_TWAI1_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_TWAI1_ALLOW_S 24
|
||||
/** TEE_REG_LP_MM_HP_TWAI2_ALLOW : R/W; bitpos: [25]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_TWAI2_ALLOW (BIT(25))
|
||||
#define TEE_REG_LP_MM_HP_TWAI2_ALLOW_M (TEE_REG_LP_MM_HP_TWAI2_ALLOW_V << TEE_REG_LP_MM_HP_TWAI2_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_TWAI2_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_TWAI2_ALLOW_S 25
|
||||
/** TEE_REG_LP_MM_HP_I3C_MST_ALLOW : R/W; bitpos: [26]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_I3C_MST_ALLOW (BIT(26))
|
||||
#define TEE_REG_LP_MM_HP_I3C_MST_ALLOW_M (TEE_REG_LP_MM_HP_I3C_MST_ALLOW_V << TEE_REG_LP_MM_HP_I3C_MST_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_I3C_MST_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_I3C_MST_ALLOW_S 26
|
||||
/** TEE_REG_LP_MM_HP_I3C_SLV_ALLOW : R/W; bitpos: [27]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_I3C_SLV_ALLOW (BIT(27))
|
||||
#define TEE_REG_LP_MM_HP_I3C_SLV_ALLOW_M (TEE_REG_LP_MM_HP_I3C_SLV_ALLOW_V << TEE_REG_LP_MM_HP_I3C_SLV_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_I3C_SLV_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_I3C_SLV_ALLOW_S 27
|
||||
/** TEE_REG_LP_MM_HP_LCDCAM_ALLOW : R/W; bitpos: [28]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_LCDCAM_ALLOW (BIT(28))
|
||||
#define TEE_REG_LP_MM_HP_LCDCAM_ALLOW_M (TEE_REG_LP_MM_HP_LCDCAM_ALLOW_V << TEE_REG_LP_MM_HP_LCDCAM_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_LCDCAM_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_LCDCAM_ALLOW_S 28
|
||||
/** TEE_REG_LP_MM_HP_ADC_ALLOW : R/W; bitpos: [30]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_ADC_ALLOW (BIT(30))
|
||||
#define TEE_REG_LP_MM_HP_ADC_ALLOW_M (TEE_REG_LP_MM_HP_ADC_ALLOW_V << TEE_REG_LP_MM_HP_ADC_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_ADC_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_ADC_ALLOW_S 30
|
||||
/** TEE_REG_LP_MM_HP_UHCI_ALLOW : R/W; bitpos: [31]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_UHCI_ALLOW (BIT(31))
|
||||
#define TEE_REG_LP_MM_HP_UHCI_ALLOW_M (TEE_REG_LP_MM_HP_UHCI_ALLOW_V << TEE_REG_LP_MM_HP_UHCI_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_UHCI_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_UHCI_ALLOW_S 31
|
||||
|
||||
/** TEE_LP_MM_PMS_REG3_REG register
|
||||
* NA
|
||||
*/
|
||||
#define TEE_LP_MM_PMS_REG3_REG (DR_REG_TEE_BASE + 0x11c)
|
||||
/** TEE_REG_LP_MM_HP_GPIO_ALLOW : R/W; bitpos: [0]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_GPIO_ALLOW (BIT(0))
|
||||
#define TEE_REG_LP_MM_HP_GPIO_ALLOW_M (TEE_REG_LP_MM_HP_GPIO_ALLOW_V << TEE_REG_LP_MM_HP_GPIO_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_GPIO_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_GPIO_ALLOW_S 0
|
||||
/** TEE_REG_LP_MM_HP_IOMUX_ALLOW : R/W; bitpos: [1]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_IOMUX_ALLOW (BIT(1))
|
||||
#define TEE_REG_LP_MM_HP_IOMUX_ALLOW_M (TEE_REG_LP_MM_HP_IOMUX_ALLOW_V << TEE_REG_LP_MM_HP_IOMUX_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_IOMUX_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_IOMUX_ALLOW_S 1
|
||||
/** TEE_REG_LP_MM_HP_SYSTIMER_ALLOW : R/W; bitpos: [2]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_SYSTIMER_ALLOW (BIT(2))
|
||||
#define TEE_REG_LP_MM_HP_SYSTIMER_ALLOW_M (TEE_REG_LP_MM_HP_SYSTIMER_ALLOW_V << TEE_REG_LP_MM_HP_SYSTIMER_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_SYSTIMER_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_SYSTIMER_ALLOW_S 2
|
||||
/** TEE_REG_LP_MM_HP_SYS_REG_ALLOW : R/W; bitpos: [3]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_SYS_REG_ALLOW (BIT(3))
|
||||
#define TEE_REG_LP_MM_HP_SYS_REG_ALLOW_M (TEE_REG_LP_MM_HP_SYS_REG_ALLOW_V << TEE_REG_LP_MM_HP_SYS_REG_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_SYS_REG_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_SYS_REG_ALLOW_S 3
|
||||
/** TEE_REG_LP_MM_HP_CLKRST_ALLOW : R/W; bitpos: [4]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP_CLKRST_ALLOW (BIT(4))
|
||||
#define TEE_REG_LP_MM_HP_CLKRST_ALLOW_M (TEE_REG_LP_MM_HP_CLKRST_ALLOW_V << TEE_REG_LP_MM_HP_CLKRST_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP_CLKRST_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP_CLKRST_ALLOW_S 4
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
409
components/soc/esp32p4/include/soc/lp2hp_peri_pms_struct.h
Normal file
409
components/soc/esp32p4/include/soc/lp2hp_peri_pms_struct.h
Normal file
@ -0,0 +1,409 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: TEE LP2HP PMS DATE REG */
|
||||
/** Type of lp2hp_pms_date register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tee_date : R/W; bitpos: [31:0]; default: 2294790;
|
||||
* NA
|
||||
*/
|
||||
uint32_t tee_date:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} tee_lp2hp_pms_date_reg_t;
|
||||
|
||||
|
||||
/** Group: TEE PMS CLK EN REG */
|
||||
/** Type of pms_clk_en register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_clk_en : R/W; bitpos: [0]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} tee_pms_clk_en_reg_t;
|
||||
|
||||
|
||||
/** Group: TEE LP MM PMS REG0 REG */
|
||||
/** Type of lp_mm_pms_reg0 register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_lp_mm_psram_allow : R/W; bitpos: [0]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_psram_allow:1;
|
||||
/** reg_lp_mm_flash_allow : R/W; bitpos: [1]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_flash_allow:1;
|
||||
/** reg_lp_mm_l2mem_allow : R/W; bitpos: [2]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_l2mem_allow:1;
|
||||
/** reg_lp_mm_l2rom_allow : R/W; bitpos: [3]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_l2rom_allow:1;
|
||||
uint32_t reserved_4:2;
|
||||
/** reg_lp_mm_trace0_allow : R/W; bitpos: [6]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_trace0_allow:1;
|
||||
/** reg_lp_mm_trace1_allow : R/W; bitpos: [7]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_trace1_allow:1;
|
||||
/** reg_lp_mm_cpu_bus_mon_allow : R/W; bitpos: [8]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_cpu_bus_mon_allow:1;
|
||||
/** reg_lp_mm_l2mem_mon_allow : R/W; bitpos: [9]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_l2mem_mon_allow:1;
|
||||
/** reg_lp_mm_tcm_mon_allow : R/W; bitpos: [10]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_tcm_mon_allow:1;
|
||||
/** reg_lp_mm_cache_allow : R/W; bitpos: [11]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_cache_allow:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} tee_lp_mm_pms_reg0_reg_t;
|
||||
|
||||
|
||||
/** Group: TEE LP MM PMS REG1 REG */
|
||||
/** Type of lp_mm_pms_reg1 register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_lp_mm_hp_usbotg_allow : R/W; bitpos: [0]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_usbotg_allow:1;
|
||||
/** reg_lp_mm_hp_usbotg11_allow : R/W; bitpos: [1]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_usbotg11_allow:1;
|
||||
/** reg_lp_mm_hp_usbotg11_wrap_allow : R/W; bitpos: [2]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_usbotg11_wrap_allow:1;
|
||||
/** reg_lp_mm_hp_gdma_allow : R/W; bitpos: [3]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_gdma_allow:1;
|
||||
/** reg_lp_mm_hp_regdma_allow : R/W; bitpos: [4]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_regdma_allow:1;
|
||||
/** reg_lp_mm_hp_sdmmc_allow : R/W; bitpos: [5]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_sdmmc_allow:1;
|
||||
/** reg_lp_mm_hp_ahb_pdma_allow : R/W; bitpos: [6]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_ahb_pdma_allow:1;
|
||||
/** reg_lp_mm_hp_jpeg_allow : R/W; bitpos: [7]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_jpeg_allow:1;
|
||||
/** reg_lp_mm_hp_ppa_allow : R/W; bitpos: [8]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_ppa_allow:1;
|
||||
/** reg_lp_mm_hp_dma2d_allow : R/W; bitpos: [9]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_dma2d_allow:1;
|
||||
/** reg_lp_mm_hp_key_manager_allow : R/W; bitpos: [10]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_key_manager_allow:1;
|
||||
/** reg_lp_mm_hp_axi_pdma_allow : R/W; bitpos: [11]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_axi_pdma_allow:1;
|
||||
/** reg_lp_mm_hp_flash_allow : R/W; bitpos: [12]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_flash_allow:1;
|
||||
/** reg_lp_mm_hp_psram_allow : R/W; bitpos: [13]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_psram_allow:1;
|
||||
/** reg_lp_mm_hp_crypto_allow : R/W; bitpos: [14]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_crypto_allow:1;
|
||||
/** reg_lp_mm_hp_gmac_allow : R/W; bitpos: [15]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_gmac_allow:1;
|
||||
/** reg_lp_mm_hp_usb_phy_allow : R/W; bitpos: [16]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_usb_phy_allow:1;
|
||||
/** reg_lp_mm_hp_pvt_allow : R/W; bitpos: [17]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_pvt_allow:1;
|
||||
/** reg_lp_mm_hp_csi_host_allow : R/W; bitpos: [18]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_csi_host_allow:1;
|
||||
/** reg_lp_mm_hp_dsi_host_allow : R/W; bitpos: [19]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_dsi_host_allow:1;
|
||||
/** reg_lp_mm_hp_isp_allow : R/W; bitpos: [20]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_isp_allow:1;
|
||||
/** reg_lp_mm_hp_h264_core_allow : R/W; bitpos: [21]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_h264_core_allow:1;
|
||||
/** reg_lp_mm_hp_rmt_allow : R/W; bitpos: [22]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_rmt_allow:1;
|
||||
/** reg_lp_mm_hp_bitsrambler_allow : R/W; bitpos: [23]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_bitsrambler_allow:1;
|
||||
/** reg_lp_mm_hp_axi_icm_allow : R/W; bitpos: [24]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_axi_icm_allow:1;
|
||||
/** reg_lp_mm_hp_peri_pms_allow : R/W; bitpos: [25]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_peri_pms_allow:1;
|
||||
/** reg_lp_mm_lp2hp_peri_pms_allow : R/W; bitpos: [26]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp2hp_peri_pms_allow:1;
|
||||
/** reg_lp_mm_dma_pms_allow : R/W; bitpos: [27]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_dma_pms_allow:1;
|
||||
/** reg_lp_mm_hp_h264_dma2d_allow : R/W; bitpos: [28]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_h264_dma2d_allow:1;
|
||||
uint32_t reserved_29:3;
|
||||
};
|
||||
uint32_t val;
|
||||
} tee_lp_mm_pms_reg1_reg_t;
|
||||
|
||||
|
||||
/** Group: TEE LP MM PMS REG2 REG */
|
||||
/** Type of lp_mm_pms_reg2 register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_lp_mm_hp_mcpwm0_allow : R/W; bitpos: [0]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_mcpwm0_allow:1;
|
||||
/** reg_lp_mm_hp_mcpwm1_allow : R/W; bitpos: [1]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_mcpwm1_allow:1;
|
||||
/** reg_lp_mm_hp_timer_group0_allow : R/W; bitpos: [2]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_timer_group0_allow:1;
|
||||
/** reg_lp_mm_hp_timer_group1_allow : R/W; bitpos: [3]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_timer_group1_allow:1;
|
||||
/** reg_lp_mm_hp_i2c0_allow : R/W; bitpos: [4]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_i2c0_allow:1;
|
||||
/** reg_lp_mm_hp_i2c1_allow : R/W; bitpos: [5]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_i2c1_allow:1;
|
||||
/** reg_lp_mm_hp_i2s0_allow : R/W; bitpos: [6]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_i2s0_allow:1;
|
||||
/** reg_lp_mm_hp_i2s1_allow : R/W; bitpos: [7]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_i2s1_allow:1;
|
||||
/** reg_lp_mm_hp_i2s2_allow : R/W; bitpos: [8]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_i2s2_allow:1;
|
||||
/** reg_lp_mm_hp_pcnt_allow : R/W; bitpos: [9]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_pcnt_allow:1;
|
||||
/** reg_lp_mm_hp_uart0_allow : R/W; bitpos: [10]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_uart0_allow:1;
|
||||
/** reg_lp_mm_hp_uart1_allow : R/W; bitpos: [11]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_uart1_allow:1;
|
||||
/** reg_lp_mm_hp_uart2_allow : R/W; bitpos: [12]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_uart2_allow:1;
|
||||
/** reg_lp_mm_hp_uart3_allow : R/W; bitpos: [13]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_uart3_allow:1;
|
||||
/** reg_lp_mm_hp_uart4_allow : R/W; bitpos: [14]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_uart4_allow:1;
|
||||
/** reg_lp_mm_hp_parlio_allow : R/W; bitpos: [15]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_parlio_allow:1;
|
||||
/** reg_lp_mm_hp_gpspi2_allow : R/W; bitpos: [16]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_gpspi2_allow:1;
|
||||
/** reg_lp_mm_hp_gpspi3_allow : R/W; bitpos: [17]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_gpspi3_allow:1;
|
||||
/** reg_lp_mm_hp_usbdevice_allow : R/W; bitpos: [18]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_usbdevice_allow:1;
|
||||
/** reg_lp_mm_hp_ledc_allow : R/W; bitpos: [19]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_ledc_allow:1;
|
||||
uint32_t reserved_20:1;
|
||||
/** reg_lp_mm_hp_etm_allow : R/W; bitpos: [21]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_etm_allow:1;
|
||||
/** reg_lp_mm_hp_intrmtx_allow : R/W; bitpos: [22]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_intrmtx_allow:1;
|
||||
/** reg_lp_mm_hp_twai0_allow : R/W; bitpos: [23]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_twai0_allow:1;
|
||||
/** reg_lp_mm_hp_twai1_allow : R/W; bitpos: [24]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_twai1_allow:1;
|
||||
/** reg_lp_mm_hp_twai2_allow : R/W; bitpos: [25]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_twai2_allow:1;
|
||||
/** reg_lp_mm_hp_i3c_mst_allow : R/W; bitpos: [26]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_i3c_mst_allow:1;
|
||||
/** reg_lp_mm_hp_i3c_slv_allow : R/W; bitpos: [27]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_i3c_slv_allow:1;
|
||||
/** reg_lp_mm_hp_lcdcam_allow : R/W; bitpos: [28]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_lcdcam_allow:1;
|
||||
uint32_t reserved_29:1;
|
||||
/** reg_lp_mm_hp_adc_allow : R/W; bitpos: [30]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_adc_allow:1;
|
||||
/** reg_lp_mm_hp_uhci_allow : R/W; bitpos: [31]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_uhci_allow:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} tee_lp_mm_pms_reg2_reg_t;
|
||||
|
||||
|
||||
/** Group: TEE LP MM PMS REG3 REG */
|
||||
/** Type of lp_mm_pms_reg3 register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_lp_mm_hp_gpio_allow : R/W; bitpos: [0]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_gpio_allow:1;
|
||||
/** reg_lp_mm_hp_iomux_allow : R/W; bitpos: [1]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_iomux_allow:1;
|
||||
/** reg_lp_mm_hp_systimer_allow : R/W; bitpos: [2]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_systimer_allow:1;
|
||||
/** reg_lp_mm_hp_sys_reg_allow : R/W; bitpos: [3]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_sys_reg_allow:1;
|
||||
/** reg_lp_mm_hp_clkrst_allow : R/W; bitpos: [4]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp_clkrst_allow:1;
|
||||
uint32_t reserved_5:27;
|
||||
};
|
||||
uint32_t val;
|
||||
} tee_lp_mm_pms_reg3_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile tee_lp2hp_pms_date_reg_t lp2hp_pms_date;
|
||||
volatile tee_pms_clk_en_reg_t pms_clk_en;
|
||||
volatile tee_lp_mm_pms_reg0_reg_t lp_mm_pms_reg0;
|
||||
uint32_t reserved_00c[9];
|
||||
volatile tee_lp_mm_pms_reg1_reg_t lp_mm_pms_reg1;
|
||||
uint32_t reserved_034[28];
|
||||
volatile tee_lp_mm_pms_reg2_reg_t lp_mm_pms_reg2;
|
||||
uint32_t reserved_0a8[29];
|
||||
volatile tee_lp_mm_pms_reg3_reg_t lp_mm_pms_reg3;
|
||||
} tee_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(tee_dev_t) == 0x120, "Invalid size of tee_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
1627
components/soc/esp32p4/include/soc/lp_analog_peri_reg.h
Normal file
1627
components/soc/esp32p4/include/soc/lp_analog_peri_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1595
components/soc/esp32p4/include/soc/lp_analog_peri_struct.h
Normal file
1595
components/soc/esp32p4/include/soc/lp_analog_peri_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
1036
components/soc/esp32p4/include/soc/lp_aonclkrst_reg.h
Normal file
1036
components/soc/esp32p4/include/soc/lp_aonclkrst_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
795
components/soc/esp32p4/include/soc/lp_aonclkrst_struct.h
Normal file
795
components/soc/esp32p4/include/soc/lp_aonclkrst_struct.h
Normal file
@ -0,0 +1,795 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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: [9:4]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_peri_div_num:6;
|
||||
/** ana_sel_ref_pll8m : R/W; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ana_sel_ref_pll8m:1;
|
||||
uint32_t reserved_11:21;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_lp_clk_conf_reg_t;
|
||||
|
||||
/** Type of lp_clk_po_en register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_core_efuse_oen : R/W; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_core_efuse_oen:1;
|
||||
/** clk_lp_bus_oen : R/W; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_lp_bus_oen:1;
|
||||
/** clk_aon_slow_oen : R/W; bitpos: [2]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_aon_slow_oen:1;
|
||||
/** clk_aon_fast_oen : R/W; bitpos: [3]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_aon_fast_oen:1;
|
||||
/** clk_slow_oen : R/W; bitpos: [4]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_slow_oen:1;
|
||||
/** clk_fast_oen : R/W; bitpos: [5]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_fast_oen:1;
|
||||
/** clk_fosc_oen : R/W; bitpos: [6]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_fosc_oen:1;
|
||||
/** clk_rc32k_oen : R/W; bitpos: [7]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_rc32k_oen:1;
|
||||
/** clk_sxtal_oen : R/W; bitpos: [8]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_sxtal_oen:1;
|
||||
/** clk_sosc_oen : R/W; bitpos: [9]; default: 0;
|
||||
* 1'b1: probe sosc clk on
|
||||
* 1'b0: probe sosc clk off
|
||||
*/
|
||||
uint32_t clk_sosc_oen:1;
|
||||
uint32_t reserved_10:22;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_lp_clk_po_en_reg_t;
|
||||
|
||||
/** Type of lp_clk_en register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:26;
|
||||
/** lp_rtc_xtal_force_on : R/W; bitpos: [26]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_rtc_xtal_force_on:1;
|
||||
/** ck_en_lp_ram : R/W; bitpos: [27]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_ram:1;
|
||||
/** etm_event_tick_en : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t etm_event_tick_en:1;
|
||||
/** pll8m_clk_force_on : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t pll8m_clk_force_on:1;
|
||||
/** xtal_clk_force_on : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t xtal_clk_force_on:1;
|
||||
/** fosc_clk_force_on : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t fosc_clk_force_on:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_lp_clk_en_reg_t;
|
||||
|
||||
/** Type of lp_rst_en register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:24;
|
||||
/** rst_en_lp_huk : R/W; bitpos: [24]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_huk:1;
|
||||
/** rst_en_lp_anaperi : R/W; bitpos: [25]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_anaperi:1;
|
||||
/** rst_en_lp_wdt : R/W; bitpos: [26]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_wdt:1;
|
||||
/** rst_en_lp_timer : R/W; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_timer:1;
|
||||
/** rst_en_lp_rtc : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_rtc:1;
|
||||
/** rst_en_lp_mailbox : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_mailbox:1;
|
||||
/** rst_en_lp_aonefusereg : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_aonefusereg:1;
|
||||
/** rst_en_lp_ram : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_ram:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_lp_rst_en_reg_t;
|
||||
|
||||
/** Type of reset_cause register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** lpcore_reset_cause : RO; bitpos: [5:0]; default: 0;
|
||||
* 6'h1: POR reset
|
||||
* 6'h9: PMU LP PERI power down reset
|
||||
* 6'ha: PMU LP CPU reset
|
||||
* 6'hf: brown out reset
|
||||
* 6'h10: LP watchdog chip reset
|
||||
* 6'h12: super watch dog reset
|
||||
* 6'h13: glitch reset
|
||||
* 6'h14: software reset
|
||||
*/
|
||||
uint32_t lpcore_reset_cause:6;
|
||||
/** lpcore_reset_flag : RO; bitpos: [6]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lpcore_reset_flag:1;
|
||||
/** hpcore0_reset_cause : RO; bitpos: [12:7]; default: 0;
|
||||
* 6'h1: POR reset
|
||||
* 6'h3: digital system software reset
|
||||
* 6'h5: PMU HP system power down reset
|
||||
* 6'h7: HP system reset from HP watchdog
|
||||
* 6'h9: HP system reset from LP watchdog
|
||||
* 6'hb: HP core reset from HP watchdog
|
||||
* 6'hc: HP core software reset
|
||||
* 6'hd: HP core reset from LP watchdog
|
||||
* 6'hf: brown out reset
|
||||
* 6'h10: LP watchdog chip reset
|
||||
* 6'h12: super watch dog reset
|
||||
* 6'h13: glitch reset
|
||||
* 6'h14: efuse crc error reset
|
||||
* 6'h16: HP usb jtag chip reset
|
||||
* 6'h17: HP usb uart chip reset
|
||||
* 6'h18: HP jtag reset
|
||||
* 6'h1a: HP core lockup
|
||||
*/
|
||||
uint32_t hpcore0_reset_cause:6;
|
||||
/** hpcore0_reset_flag : RO; bitpos: [13]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpcore0_reset_flag:1;
|
||||
/** hpcore1_reset_cause : RO; bitpos: [19:14]; default: 0;
|
||||
* 6'h1: POR reset
|
||||
* 6'h3: digital system software reset
|
||||
* 6'h5: PMU HP system power down reset
|
||||
* 6'h7: HP system reset from HP watchdog
|
||||
* 6'h9: HP system reset from LP watchdog
|
||||
* 6'hb: HP core reset from HP watchdog
|
||||
* 6'hc: HP core software reset
|
||||
* 6'hd: HP core reset from LP watchdog
|
||||
* 6'hf: brown out reset
|
||||
* 6'h10: LP watchdog chip reset
|
||||
* 6'h12: super watch dog reset
|
||||
* 6'h13: glitch reset
|
||||
* 6'h14: efuse crc error reset
|
||||
* 6'h16: HP usb jtag chip reset
|
||||
* 6'h17: HP usb uart chip reset
|
||||
* 6'h18: HP jtag reset
|
||||
* 6'h1a: HP core lockup
|
||||
*/
|
||||
uint32_t hpcore1_reset_cause:6;
|
||||
/** hpcore1_reset_flag : RO; bitpos: [20]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpcore1_reset_flag:1;
|
||||
uint32_t reserved_21:4;
|
||||
/** lpcore_reset_cause_pmu_lp_cpu_mask : R/W; bitpos: [25]; default: 1;
|
||||
* 1'b0: enable lpcore pmu_lp_cpu_reset reset_cause, 1'b1: disable lpcore
|
||||
* pmu_lp_cpu_reset reset_cause
|
||||
*/
|
||||
uint32_t lpcore_reset_cause_pmu_lp_cpu_mask:1;
|
||||
/** lpcore_reset_cause_clr : WT; bitpos: [26]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lpcore_reset_cause_clr:1;
|
||||
/** lpcore_reset_flag_clr : WT; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lpcore_reset_flag_clr:1;
|
||||
/** hpcore0_reset_cause_clr : WT; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpcore0_reset_cause_clr:1;
|
||||
/** hpcore0_reset_flag_clr : WT; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpcore0_reset_flag_clr:1;
|
||||
/** hpcore1_reset_cause_clr : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpcore1_reset_cause_clr:1;
|
||||
/** hpcore1_reset_flag_clr : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpcore1_reset_flag_clr:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_reset_cause_reg_t;
|
||||
|
||||
/** Type of hpcpu_reset_ctrl0 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** hpcore0_lockup_reset_en : R/W; bitpos: [0]; default: 0;
|
||||
* write 1 to enable hpcore0 lockup reset feature, write 0 to disable hpcore0 lockup
|
||||
* reset feature
|
||||
*/
|
||||
uint32_t hpcore0_lockup_reset_en:1;
|
||||
/** lp_wdt_hpcore0_reset_length : R/W; bitpos: [3:1]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_wdt_hpcore0_reset_length:3;
|
||||
/** lp_wdt_hpcore0_reset_en : R/W; bitpos: [4]; default: 0;
|
||||
* write 1 to enable lp_wdt reset hpcore0 feature, write 0 to disable lp_wdt reset
|
||||
* hpcore0 feature
|
||||
*/
|
||||
uint32_t lp_wdt_hpcore0_reset_en:1;
|
||||
/** hpcore0_stall_wait : R/W; bitpos: [11:5]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpcore0_stall_wait:7;
|
||||
/** hpcore0_stall_en : R/W; bitpos: [12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpcore0_stall_en:1;
|
||||
/** hpcore0_sw_reset : WT; bitpos: [13]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpcore0_sw_reset:1;
|
||||
/** hpcore0_ocd_halt_on_reset : R/W; bitpos: [14]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpcore0_ocd_halt_on_reset:1;
|
||||
/** hpcore0_stat_vector_sel : R/W; bitpos: [15]; default: 1;
|
||||
* 1'b1: boot from HP TCM ROM: 0x4FC00000
|
||||
* 1'b0: boot from LP TCM RAM: 0x50108000
|
||||
*/
|
||||
uint32_t hpcore0_stat_vector_sel:1;
|
||||
/** hpcore1_lockup_reset_en : R/W; bitpos: [16]; default: 0;
|
||||
* write 1 to enable hpcore1 lockup reset feature, write 0 to disable hpcore1 lockup
|
||||
* reset feature
|
||||
*/
|
||||
uint32_t hpcore1_lockup_reset_en:1;
|
||||
/** lp_wdt_hpcore1_reset_length : R/W; bitpos: [19:17]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_wdt_hpcore1_reset_length:3;
|
||||
/** lp_wdt_hpcore1_reset_en : R/W; bitpos: [20]; default: 0;
|
||||
* write 1 to enable lp_wdt reset hpcore1 feature, write 0 to disable lp_wdt reset
|
||||
* hpcore1 feature
|
||||
*/
|
||||
uint32_t lp_wdt_hpcore1_reset_en:1;
|
||||
/** hpcore1_stall_wait : R/W; bitpos: [27:21]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpcore1_stall_wait:7;
|
||||
/** hpcore1_stall_en : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpcore1_stall_en:1;
|
||||
/** hpcore1_sw_reset : WT; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpcore1_sw_reset:1;
|
||||
/** hpcore1_ocd_halt_on_reset : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hpcore1_ocd_halt_on_reset:1;
|
||||
/** hpcore1_stat_vector_sel : R/W; bitpos: [31]; default: 1;
|
||||
* 1'b1: boot from HP TCM ROM: 0x4FC00000
|
||||
* 1'b0: boot from LP TCM RAM: 0x50108000
|
||||
*/
|
||||
uint32_t hpcore1_stat_vector_sel:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_hpcpu_reset_ctrl0_reg_t;
|
||||
|
||||
/** Type of hpcpu_reset_ctrl1 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:16;
|
||||
/** hpcore0_sw_stall_code : R/W; bitpos: [23:16]; default: 0;
|
||||
* HP core0 software stall when set to 8'h86
|
||||
*/
|
||||
uint32_t hpcore0_sw_stall_code:8;
|
||||
/** hpcore1_sw_stall_code : R/W; bitpos: [31:24]; default: 0;
|
||||
* HP core1 software stall when set to 8'h86
|
||||
*/
|
||||
uint32_t hpcore1_sw_stall_code:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_hpcpu_reset_ctrl1_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: 400;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t fosc_dfreq:10;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_fosc_cntl_reg_t;
|
||||
|
||||
/** Type of rc32k_cntl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rc32k_dfreq : R/W; bitpos: [31:0]; default: 650;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rc32k_dfreq:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_rc32k_cntl_reg_t;
|
||||
|
||||
/** Type of sosc_cntl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:22;
|
||||
/** sosc_dfreq : R/W; bitpos: [31:22]; default: 172;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t sosc_dfreq:10;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_sosc_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;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t icg_hp_xtal32k:1;
|
||||
/** icg_hp_sosc : R/W; bitpos: [29]; default: 1;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t icg_hp_sosc:1;
|
||||
/** icg_hp_osc32k : R/W; bitpos: [30]; default: 1;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t icg_hp_osc32k:1;
|
||||
/** icg_hp_fosc : R/W; bitpos: [31]; default: 1;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t icg_hp_fosc:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_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;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t lpmem_clk_force_on:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_lpmem_force_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_aonclkrst_xtal32k_reg_t;
|
||||
|
||||
/** Type of mux_hpsys_reset_bypass register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** mux_hpsys_reset_bypass : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t mux_hpsys_reset_bypass:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_mux_hpsys_reset_bypass_reg_t;
|
||||
|
||||
/** Type of hpsys_0_reset_bypass register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** hpsys_0_reset_bypass : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t hpsys_0_reset_bypass:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_hpsys_0_reset_bypass_reg_t;
|
||||
|
||||
/** Type of hpsys_apm_reset_bypass register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** hpsys_apm_reset_bypass : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* reserved
|
||||
*/
|
||||
uint32_t hpsys_apm_reset_bypass:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_hpsys_apm_reset_bypass_reg_t;
|
||||
|
||||
/** Type of hp_clk_ctrl register
|
||||
* HP Clock Control Register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** hp_root_clk_src_sel : R/W; bitpos: [1:0]; default: 0;
|
||||
* HP SoC Root Clock Source Select. 2'd0: xtal_40m, 2'd1: cpll_400m, 2'd2: fosc_20m.
|
||||
*/
|
||||
uint32_t hp_root_clk_src_sel:2;
|
||||
/** hp_root_clk_en : R/W; bitpos: [2]; default: 1;
|
||||
* HP SoC Root Clock Enable.
|
||||
*/
|
||||
uint32_t hp_root_clk_en:1;
|
||||
/** hp_pad_parlio_tx_clk_en : R/W; bitpos: [3]; default: 1;
|
||||
* PARLIO TX Clock From Pad Enable.
|
||||
*/
|
||||
uint32_t hp_pad_parlio_tx_clk_en:1;
|
||||
/** hp_pad_parlio_rx_clk_en : R/W; bitpos: [4]; default: 1;
|
||||
* PARLIO RX Clock From Pad Enable.
|
||||
*/
|
||||
uint32_t hp_pad_parlio_rx_clk_en:1;
|
||||
/** hp_pad_uart4_slp_clk_en : R/W; bitpos: [5]; default: 1;
|
||||
* UART4 SLP Clock From Pad Enable.
|
||||
*/
|
||||
uint32_t hp_pad_uart4_slp_clk_en:1;
|
||||
/** hp_pad_uart3_slp_clk_en : R/W; bitpos: [6]; default: 1;
|
||||
* UART3 SLP Clock From Pad Enable.
|
||||
*/
|
||||
uint32_t hp_pad_uart3_slp_clk_en:1;
|
||||
/** hp_pad_uart2_slp_clk_en : R/W; bitpos: [7]; default: 1;
|
||||
* UART2 SLP Clock From Pad Enable.
|
||||
*/
|
||||
uint32_t hp_pad_uart2_slp_clk_en:1;
|
||||
/** hp_pad_uart1_slp_clk_en : R/W; bitpos: [8]; default: 1;
|
||||
* UART1 SLP Clock From Pad Enable.
|
||||
*/
|
||||
uint32_t hp_pad_uart1_slp_clk_en:1;
|
||||
/** hp_pad_uart0_slp_clk_en : R/W; bitpos: [9]; default: 1;
|
||||
* UART0 SLP Clock From Pad Enable.
|
||||
*/
|
||||
uint32_t hp_pad_uart0_slp_clk_en:1;
|
||||
/** hp_pad_i2s2_mclk_en : R/W; bitpos: [10]; default: 1;
|
||||
* I2S2 MCLK Clock From Pad Enable.
|
||||
*/
|
||||
uint32_t hp_pad_i2s2_mclk_en:1;
|
||||
/** hp_pad_i2s1_mclk_en : R/W; bitpos: [11]; default: 1;
|
||||
* I2S1 MCLK Clock From Pad Enable.
|
||||
*/
|
||||
uint32_t hp_pad_i2s1_mclk_en:1;
|
||||
/** hp_pad_i2s0_mclk_en : R/W; bitpos: [12]; default: 1;
|
||||
* I2S0 MCLK Clock From Pad Enable.
|
||||
*/
|
||||
uint32_t hp_pad_i2s0_mclk_en:1;
|
||||
/** hp_pad_emac_tx_clk_en : R/W; bitpos: [13]; default: 1;
|
||||
* EMAC RX Clock From Pad Enable.
|
||||
*/
|
||||
uint32_t hp_pad_emac_tx_clk_en:1;
|
||||
/** hp_pad_emac_rx_clk_en : R/W; bitpos: [14]; default: 1;
|
||||
* EMAC TX Clock From Pad Enable.
|
||||
*/
|
||||
uint32_t hp_pad_emac_rx_clk_en:1;
|
||||
/** hp_pad_emac_txrx_clk_en : R/W; bitpos: [15]; default: 1;
|
||||
* EMAC TXRX Clock From Pad Enable.
|
||||
*/
|
||||
uint32_t hp_pad_emac_txrx_clk_en:1;
|
||||
/** hp_xtal_32k_clk_en : R/W; bitpos: [16]; default: 1;
|
||||
* XTAL 32K Clock Enable.
|
||||
*/
|
||||
uint32_t hp_xtal_32k_clk_en:1;
|
||||
/** hp_rc_32k_clk_en : R/W; bitpos: [17]; default: 1;
|
||||
* RC 32K Clock Enable.
|
||||
*/
|
||||
uint32_t hp_rc_32k_clk_en:1;
|
||||
/** hp_sosc_150k_clk_en : R/W; bitpos: [18]; default: 1;
|
||||
* SOSC 150K Clock Enable.
|
||||
*/
|
||||
uint32_t hp_sosc_150k_clk_en:1;
|
||||
/** hp_pll_8m_clk_en : R/W; bitpos: [19]; default: 1;
|
||||
* PLL 8M Clock Enable.
|
||||
*/
|
||||
uint32_t hp_pll_8m_clk_en:1;
|
||||
/** hp_audio_pll_clk_en : R/W; bitpos: [20]; default: 1;
|
||||
* AUDIO PLL Clock Enable.
|
||||
*/
|
||||
uint32_t hp_audio_pll_clk_en:1;
|
||||
/** hp_sdio_pll2_clk_en : R/W; bitpos: [21]; default: 1;
|
||||
* SDIO PLL2 Clock Enable.
|
||||
*/
|
||||
uint32_t hp_sdio_pll2_clk_en:1;
|
||||
/** hp_sdio_pll1_clk_en : R/W; bitpos: [22]; default: 1;
|
||||
* SDIO PLL1 Clock Enable.
|
||||
*/
|
||||
uint32_t hp_sdio_pll1_clk_en:1;
|
||||
/** hp_sdio_pll0_clk_en : R/W; bitpos: [23]; default: 1;
|
||||
* SDIO PLL0 Clock Enable.
|
||||
*/
|
||||
uint32_t hp_sdio_pll0_clk_en:1;
|
||||
/** hp_fosc_20m_clk_en : R/W; bitpos: [24]; default: 1;
|
||||
* FOSC 20M Clock Enable.
|
||||
*/
|
||||
uint32_t hp_fosc_20m_clk_en:1;
|
||||
/** hp_xtal_40m_clk_en : R/W; bitpos: [25]; default: 1;
|
||||
* XTAL 40M Clock Enalbe.
|
||||
*/
|
||||
uint32_t hp_xtal_40m_clk_en:1;
|
||||
/** hp_cpll_400m_clk_en : R/W; bitpos: [26]; default: 1;
|
||||
* CPLL 400M Clock Enable.
|
||||
*/
|
||||
uint32_t hp_cpll_400m_clk_en:1;
|
||||
/** hp_spll_480m_clk_en : R/W; bitpos: [27]; default: 1;
|
||||
* SPLL 480M Clock Enable.
|
||||
*/
|
||||
uint32_t hp_spll_480m_clk_en:1;
|
||||
/** hp_mpll_500m_clk_en : R/W; bitpos: [28]; default: 1;
|
||||
* MPLL 500M Clock Enable.
|
||||
*/
|
||||
uint32_t hp_mpll_500m_clk_en:1;
|
||||
uint32_t reserved_29:3;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_hp_clk_ctrl_reg_t;
|
||||
|
||||
/** Type of hp_usb_clkrst_ctrl0 register
|
||||
* HP USB Clock Reset Control Register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** usb_otg20_sleep_mode : R/W; bitpos: [0]; default: 0;
|
||||
* unused.
|
||||
*/
|
||||
uint32_t usb_otg20_sleep_mode:1;
|
||||
/** usb_otg20_bk_sys_clk_en : R/W; bitpos: [1]; default: 1;
|
||||
* unused.
|
||||
*/
|
||||
uint32_t usb_otg20_bk_sys_clk_en:1;
|
||||
/** usb_otg11_sleep_mode : R/W; bitpos: [2]; default: 0;
|
||||
* unused.
|
||||
*/
|
||||
uint32_t usb_otg11_sleep_mode:1;
|
||||
/** usb_otg11_bk_sys_clk_en : R/W; bitpos: [3]; default: 1;
|
||||
* unused.
|
||||
*/
|
||||
uint32_t usb_otg11_bk_sys_clk_en:1;
|
||||
/** usb_otg11_48m_clk_en : R/W; bitpos: [4]; default: 1;
|
||||
* usb otg11 fs phy clock enable.
|
||||
*/
|
||||
uint32_t usb_otg11_48m_clk_en:1;
|
||||
/** usb_device_48m_clk_en : R/W; bitpos: [5]; default: 1;
|
||||
* usb device fs phy clock enable.
|
||||
*/
|
||||
uint32_t usb_device_48m_clk_en:1;
|
||||
/** usb_48m_div_num : R/W; bitpos: [13:6]; default: 9;
|
||||
* usb 480m to 25m divide number.
|
||||
*/
|
||||
uint32_t usb_48m_div_num:8;
|
||||
/** usb_25m_div_num : R/W; bitpos: [21:14]; default: 19;
|
||||
* usb 500m to 25m divide number.
|
||||
*/
|
||||
uint32_t usb_25m_div_num:8;
|
||||
/** usb_12m_div_num : R/W; bitpos: [29:22]; default: 39;
|
||||
* usb 480m to 12m divide number.
|
||||
*/
|
||||
uint32_t usb_12m_div_num:8;
|
||||
uint32_t reserved_30:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_hp_usb_clkrst_ctrl0_reg_t;
|
||||
|
||||
/** Type of hp_usb_clkrst_ctrl1 register
|
||||
* HP USB Clock Reset Control Register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rst_en_usb_otg20_adp : R/W; bitpos: [0]; default: 0;
|
||||
* usb otg20 adp reset en
|
||||
*/
|
||||
uint32_t rst_en_usb_otg20_adp:1;
|
||||
/** rst_en_usb_otg20_phy : R/W; bitpos: [1]; default: 0;
|
||||
* usb otg20 phy reset en
|
||||
*/
|
||||
uint32_t rst_en_usb_otg20_phy:1;
|
||||
/** rst_en_usb_otg20 : R/W; bitpos: [2]; default: 0;
|
||||
* usb otg20 reset en
|
||||
*/
|
||||
uint32_t rst_en_usb_otg20:1;
|
||||
/** rst_en_usb_otg11 : R/W; bitpos: [3]; default: 0;
|
||||
* usb org11 reset en
|
||||
*/
|
||||
uint32_t rst_en_usb_otg11:1;
|
||||
/** rst_en_usb_device : R/W; bitpos: [4]; default: 0;
|
||||
* usb device reset en
|
||||
*/
|
||||
uint32_t rst_en_usb_device:1;
|
||||
uint32_t reserved_5:23;
|
||||
/** usb_otg20_phyref_clk_src_sel : R/W; bitpos: [29:28]; default: 0;
|
||||
* usb otg20 hs phy src sel. 2'd0: 12m, 2'd1: 25m, 2'd2: pad_hsphy_refclk.
|
||||
*/
|
||||
uint32_t usb_otg20_phyref_clk_src_sel:2;
|
||||
/** usb_otg20_phyref_clk_en : R/W; bitpos: [30]; default: 1;
|
||||
* usb otg20 hs phy refclk enable.
|
||||
*/
|
||||
uint32_t usb_otg20_phyref_clk_en:1;
|
||||
/** usb_otg20_ulpi_clk_en : R/W; bitpos: [31]; default: 1;
|
||||
* usb otg20 ulpi clock enable.
|
||||
*/
|
||||
uint32_t usb_otg20_ulpi_clk_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_hp_usb_clkrst_ctrl1_reg_t;
|
||||
|
||||
/** Type of hp_sdmmc_emac_rst_ctrl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:28;
|
||||
/** rst_en_sdmmc : R/W; bitpos: [28]; default: 0;
|
||||
* hp sdmmc reset en
|
||||
*/
|
||||
uint32_t rst_en_sdmmc:1;
|
||||
/** force_norst_sdmmc : R/W; bitpos: [29]; default: 0;
|
||||
* hp sdmmc force norst
|
||||
*/
|
||||
uint32_t force_norst_sdmmc:1;
|
||||
/** rst_en_emac : R/W; bitpos: [30]; default: 0;
|
||||
* hp emac reset en
|
||||
*/
|
||||
uint32_t rst_en_emac:1;
|
||||
/** force_norst_emac : R/W; bitpos: [31]; default: 0;
|
||||
* hp emac force norst
|
||||
*/
|
||||
uint32_t force_norst_emac:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_hp_sdmmc_emac_rst_ctrl_reg_t;
|
||||
|
||||
/** Type of date register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** clk_en : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_aonclkrst_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile lp_aonclkrst_lp_clk_conf_reg_t lp_clk_conf;
|
||||
volatile lp_aonclkrst_lp_clk_po_en_reg_t lp_clk_po_en;
|
||||
volatile lp_aonclkrst_lp_clk_en_reg_t lp_clk_en;
|
||||
volatile lp_aonclkrst_lp_rst_en_reg_t lp_rst_en;
|
||||
volatile lp_aonclkrst_reset_cause_reg_t reset_cause;
|
||||
volatile lp_aonclkrst_hpcpu_reset_ctrl0_reg_t hpcpu_reset_ctrl0;
|
||||
volatile lp_aonclkrst_hpcpu_reset_ctrl1_reg_t hpcpu_reset_ctrl1;
|
||||
volatile lp_aonclkrst_fosc_cntl_reg_t fosc_cntl;
|
||||
volatile lp_aonclkrst_rc32k_cntl_reg_t rc32k_cntl;
|
||||
volatile lp_aonclkrst_sosc_cntl_reg_t sosc_cntl;
|
||||
volatile lp_aonclkrst_clk_to_hp_reg_t clk_to_hp;
|
||||
volatile lp_aonclkrst_lpmem_force_reg_t lpmem_force;
|
||||
volatile lp_aonclkrst_xtal32k_reg_t xtal32k;
|
||||
volatile lp_aonclkrst_mux_hpsys_reset_bypass_reg_t mux_hpsys_reset_bypass;
|
||||
volatile lp_aonclkrst_hpsys_0_reset_bypass_reg_t hpsys_0_reset_bypass;
|
||||
volatile lp_aonclkrst_hpsys_apm_reset_bypass_reg_t hpsys_apm_reset_bypass;
|
||||
volatile lp_aonclkrst_hp_clk_ctrl_reg_t hp_clk_ctrl;
|
||||
volatile lp_aonclkrst_hp_usb_clkrst_ctrl0_reg_t hp_usb_clkrst_ctrl0;
|
||||
volatile lp_aonclkrst_hp_usb_clkrst_ctrl1_reg_t hp_usb_clkrst_ctrl1;
|
||||
volatile lp_aonclkrst_hp_sdmmc_emac_rst_ctrl_reg_t hp_sdmmc_emac_rst_ctrl;
|
||||
uint32_t reserved_050[235];
|
||||
volatile lp_aonclkrst_date_reg_t date;
|
||||
} lp_aonclkrst_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(lp_aonclkrst_dev_t) == 0x400, "Invalid size of lp_aonclkrst_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
1593
components/soc/esp32p4/include/soc/lp_gpio_reg.h
Normal file
1593
components/soc/esp32p4/include/soc/lp_gpio_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1522
components/soc/esp32p4/include/soc/lp_gpio_struct.h
Normal file
1522
components/soc/esp32p4/include/soc/lp_gpio_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
1285
components/soc/esp32p4/include/soc/lp_i2c_ext_reg.h
Normal file
1285
components/soc/esp32p4/include/soc/lp_i2c_ext_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1117
components/soc/esp32p4/include/soc/lp_i2c_ext_struct.h
Normal file
1117
components/soc/esp32p4/include/soc/lp_i2c_ext_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
1057
components/soc/esp32p4/include/soc/lp_i2s_reg.h
Normal file
1057
components/soc/esp32p4/include/soc/lp_i2s_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
948
components/soc/esp32p4/include/soc/lp_i2s_struct.h
Normal file
948
components/soc/esp32p4/include/soc/lp_i2s_struct.h
Normal file
@ -0,0 +1,948 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: VAD registers */
|
||||
/** Type of vad_conf register
|
||||
* I2S VAD Configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** vad_en : R/W; bitpos: [0]; default: 0;
|
||||
* VAD enable register
|
||||
*/
|
||||
uint32_t vad_en:1;
|
||||
/** vad_reset : WT; bitpos: [1]; default: 0;
|
||||
* VAD reset register
|
||||
*/
|
||||
uint32_t vad_reset:1;
|
||||
/** vad_force_start : WT; bitpos: [2]; default: 0;
|
||||
* VAD force start register.
|
||||
*/
|
||||
uint32_t vad_force_start:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_conf_reg_t;
|
||||
|
||||
/** Type of vad_result register
|
||||
* I2S VAD Result register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** vad_flag : RO; bitpos: [0]; default: 0;
|
||||
* Reg vad flag observe signal
|
||||
*/
|
||||
uint32_t vad_flag:1;
|
||||
/** energy_enough : RO; bitpos: [1]; default: 0;
|
||||
* Reg energy enough observe signal
|
||||
*/
|
||||
uint32_t energy_enough:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_result_reg_t;
|
||||
|
||||
/** Type of vad_param0 register
|
||||
* I2S VAD Parameter register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** param_min_energy : R/W; bitpos: [15:0]; default: 5000;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_min_energy:16;
|
||||
/** param_init_frame_num : R/W; bitpos: [24:16]; default: 200;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_init_frame_num:9;
|
||||
uint32_t reserved_25:7;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_param0_reg_t;
|
||||
|
||||
/** Type of vad_param1 register
|
||||
* I2S VAD Parameter register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** param_min_speech_count : R/W; bitpos: [3:0]; default: 3;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_min_speech_count:4;
|
||||
/** param_max_speech_count : R/W; bitpos: [10:4]; default: 100;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_max_speech_count:7;
|
||||
/** param_hangover_speech : R/W; bitpos: [15:11]; default: 3;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_hangover_speech:5;
|
||||
/** param_hangover_silent : R/W; bitpos: [23:16]; default: 30;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_hangover_silent:8;
|
||||
/** param_max_offset : R/W; bitpos: [30:24]; default: 40;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_max_offset:7;
|
||||
/** param_skip_band_energy : R/W; bitpos: [31]; default: 0;
|
||||
* Set 1 to skip band energy check.
|
||||
*/
|
||||
uint32_t param_skip_band_energy:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_param1_reg_t;
|
||||
|
||||
/** Type of vad_param2 register
|
||||
* I2S VAD Parameter register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** param_noise_amp_down : R/W; bitpos: [15:0]; default: 26214;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_noise_amp_down:16;
|
||||
/** param_noise_amp_up : R/W; bitpos: [31:16]; default: 32440;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_noise_amp_up:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_param2_reg_t;
|
||||
|
||||
/** Type of vad_param3 register
|
||||
* I2S VAD Parameter register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** param_noise_spe_up0 : R/W; bitpos: [15:0]; default: 32735;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_noise_spe_up0:16;
|
||||
/** param_noise_spe_up1 : R/W; bitpos: [31:16]; default: 32113;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_noise_spe_up1:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_param3_reg_t;
|
||||
|
||||
/** Type of vad_param4 register
|
||||
* I2S VAD Parameter register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** param_noise_spe_down : R/W; bitpos: [15:0]; default: 26214;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_noise_spe_down:16;
|
||||
/** param_noise_mean_down : R/W; bitpos: [31:16]; default: 31130;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_noise_mean_down:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_param4_reg_t;
|
||||
|
||||
/** Type of vad_param5 register
|
||||
* I2S VAD Parameter register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** param_noise_mean_up0 : R/W; bitpos: [15:0]; default: 32113;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_noise_mean_up0:16;
|
||||
/** param_noise_mean_up1 : R/W; bitpos: [31:16]; default: 31784;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_noise_mean_up1:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_param5_reg_t;
|
||||
|
||||
/** Type of vad_param6 register
|
||||
* I2S VAD Parameter register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** param_noise_std_fs_thsl : R/W; bitpos: [15:0]; default: 32000;
|
||||
* Feature_sum threshold to determine noise_std max value when vad_tag=1, equal to
|
||||
* ((noise_std_max)>>11)^2*5
|
||||
*/
|
||||
uint32_t param_noise_std_fs_thsl:16;
|
||||
/** param_noise_std_fs_thsh : R/W; bitpos: [31:16]; default: 46080;
|
||||
* Feature_sum threshold to determine noise_std max value when vad_tag=0, equal to
|
||||
* ((noise_std_max)>>11)^2*5
|
||||
*/
|
||||
uint32_t param_noise_std_fs_thsh:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_param6_reg_t;
|
||||
|
||||
/** Type of vad_param7 register
|
||||
* I2S VAD Parameter register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** param_thres_upd_base : R/W; bitpos: [15:0]; default: 32440;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_thres_upd_base:16;
|
||||
/** param_thres_upd_vary : R/W; bitpos: [31:16]; default: 328;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_thres_upd_vary:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_param7_reg_t;
|
||||
|
||||
/** Type of vad_param8 register
|
||||
* I2S VAD Parameter register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** param_thres_upd_bdl : R/W; bitpos: [7:0]; default: 64;
|
||||
* Noise_std boundary low when updating threshold.
|
||||
*/
|
||||
uint32_t param_thres_upd_bdl:8;
|
||||
/** param_thres_upd_bdh : R/W; bitpos: [15:8]; default: 80;
|
||||
* Noise_std boundary high when updating threshold.
|
||||
*/
|
||||
uint32_t param_thres_upd_bdh:8;
|
||||
/** param_feature_burst : R/W; bitpos: [31:16]; default: 8192;
|
||||
* VAD parameter
|
||||
*/
|
||||
uint32_t param_feature_burst:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_param8_reg_t;
|
||||
|
||||
/** Type of vad_ob0 register
|
||||
* I2S VAD Observe register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** speech_count_ob : RO; bitpos: [7:0]; default: 0;
|
||||
* Reg silent count observe
|
||||
*/
|
||||
uint32_t speech_count_ob:8;
|
||||
/** silent_count_ob : RO; bitpos: [15:8]; default: 0;
|
||||
* Reg speech count observe
|
||||
*/
|
||||
uint32_t silent_count_ob:8;
|
||||
/** max_signal0_ob : RO; bitpos: [31:16]; default: 0;
|
||||
* Reg max signal0 observe
|
||||
*/
|
||||
uint32_t max_signal0_ob:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_ob0_reg_t;
|
||||
|
||||
/** Type of vad_ob1 register
|
||||
* I2S VAD Observe register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** max_signal1_ob : RO; bitpos: [15:0]; default: 0;
|
||||
* Reg max signal1 observe
|
||||
*/
|
||||
uint32_t max_signal1_ob:16;
|
||||
/** max_signal2_ob : RO; bitpos: [31:16]; default: 0;
|
||||
* Reg max signal2 observe
|
||||
*/
|
||||
uint32_t max_signal2_ob:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_ob1_reg_t;
|
||||
|
||||
/** Type of vad_ob2 register
|
||||
* I2S VAD Observe register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** noise_amp_ob : RO; bitpos: [31:0]; default: 0;
|
||||
* Reg noise_amp observe signal
|
||||
*/
|
||||
uint32_t noise_amp_ob:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_ob2_reg_t;
|
||||
|
||||
/** Type of vad_ob3 register
|
||||
* I2S VAD Observe register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** noise_mean_ob : RO; bitpos: [31:0]; default: 0;
|
||||
* Reg noise_mean observe signal
|
||||
*/
|
||||
uint32_t noise_mean_ob:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_ob3_reg_t;
|
||||
|
||||
/** Type of vad_ob4 register
|
||||
* I2S VAD Observe register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** noise_std_ob : RO; bitpos: [31:0]; default: 0;
|
||||
* Reg noise_std observe signal
|
||||
*/
|
||||
uint32_t noise_std_ob:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_ob4_reg_t;
|
||||
|
||||
/** Type of vad_ob5 register
|
||||
* I2S VAD Observe register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** offset_ob : RO; bitpos: [31:0]; default: 0;
|
||||
* Reg offset observe signal
|
||||
*/
|
||||
uint32_t offset_ob:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_ob5_reg_t;
|
||||
|
||||
/** Type of vad_ob6 register
|
||||
* I2S VAD Observe register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** threshold_ob : RO; bitpos: [31:0]; default: 0;
|
||||
* Reg threshold observe signal
|
||||
*/
|
||||
uint32_t threshold_ob:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_ob6_reg_t;
|
||||
|
||||
/** Type of vad_ob7 register
|
||||
* I2S VAD Observe register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** energy_low_ob : RO; bitpos: [31:0]; default: 0;
|
||||
* Reg energy bit 31~0 observe signal
|
||||
*/
|
||||
uint32_t energy_low_ob:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_ob7_reg_t;
|
||||
|
||||
/** Type of vad_ob8 register
|
||||
* I2S VAD Observe register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** energy_high_ob : RO; bitpos: [31:0]; default: 0;
|
||||
* Reg energy bit 63~32 observe signal
|
||||
*/
|
||||
uint32_t energy_high_ob:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_vad_ob8_reg_t;
|
||||
|
||||
|
||||
/** Group: RX Control and configuration registers */
|
||||
/** Type of rx_mem_conf register
|
||||
* I2S VAD Observe register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rx_mem_fifo_cnt : RO; bitpos: [8:0]; default: 0;
|
||||
* The number of data in the rx mem
|
||||
*/
|
||||
uint32_t rx_mem_fifo_cnt:9;
|
||||
/** rx_mem_threshold : R/W; bitpos: [16:9]; default: 63;
|
||||
* I2S rx mem will trigger an interrupt when the data in the mem is over(not including
|
||||
* equal) reg_rx_mem_threshold
|
||||
*/
|
||||
uint32_t rx_mem_threshold:8;
|
||||
uint32_t reserved_17:15;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_rx_mem_conf_reg_t;
|
||||
|
||||
/** Type of rx_conf register
|
||||
* I2S RX configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rx_reset : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to reset receiver
|
||||
*/
|
||||
uint32_t rx_reset:1;
|
||||
/** rx_fifo_reset : WT; bitpos: [1]; default: 0;
|
||||
* Set this bit to reset Rx AFIFO
|
||||
*/
|
||||
uint32_t rx_fifo_reset:1;
|
||||
/** rx_start : R/W; bitpos: [2]; default: 0;
|
||||
* Set this bit to start receiving data
|
||||
*/
|
||||
uint32_t rx_start:1;
|
||||
/** rx_slave_mod : R/W; bitpos: [3]; default: 0;
|
||||
* Set this bit to enable slave receiver mode
|
||||
*/
|
||||
uint32_t rx_slave_mod:1;
|
||||
/** rx_fifomem_reset : WT; bitpos: [4]; default: 0;
|
||||
* Set this bit to reset Rx Syncfifomem
|
||||
*/
|
||||
uint32_t rx_fifomem_reset:1;
|
||||
/** rx_mono : R/W; bitpos: [5]; default: 0;
|
||||
* Set this bit to enable receiver in mono mode
|
||||
*/
|
||||
uint32_t rx_mono:1;
|
||||
uint32_t reserved_6:1;
|
||||
/** rx_big_endian : R/W; bitpos: [7]; default: 0;
|
||||
* I2S Rx byte endian, 1: low addr value to high addr. 0: low addr with low addr value.
|
||||
*/
|
||||
uint32_t rx_big_endian:1;
|
||||
/** rx_update : R/W/SC; bitpos: [8]; default: 0;
|
||||
* Set 1 to update I2S RX registers from APB clock domain to I2S RX clock domain. This
|
||||
* bit will be cleared by hardware after update register done.
|
||||
*/
|
||||
uint32_t rx_update:1;
|
||||
/** rx_mono_fst_vld : R/W; bitpos: [9]; default: 1;
|
||||
* 1: The first channel data value is valid in I2S RX mono mode. 0: The second
|
||||
* channel data value is valid in I2S RX mono mode.
|
||||
*/
|
||||
uint32_t rx_mono_fst_vld:1;
|
||||
/** rx_pcm_conf : R/W; bitpos: [11:10]; default: 1;
|
||||
* I2S RX compress/decompress configuration bit. & 0 (atol): A-Law decompress, 1
|
||||
* (ltoa) : A-Law compress, 2 (utol) : u-Law decompress, 3 (ltou) : u-Law compress. &
|
||||
*/
|
||||
uint32_t rx_pcm_conf:2;
|
||||
/** rx_pcm_bypass : R/W; bitpos: [12]; default: 1;
|
||||
* Set this bit to bypass Compress/Decompress module for received data.
|
||||
*/
|
||||
uint32_t rx_pcm_bypass:1;
|
||||
/** rx_stop_mode : R/W; bitpos: [14:13]; default: 0;
|
||||
* 0 : I2S Rx only stop when reg_rx_start is cleared. 1: Stop when reg_rx_start is
|
||||
* 0 or in_suc_eof is 1. 2: Stop I2S RX when reg_rx_start is 0 or RX FIFO is full.
|
||||
*/
|
||||
uint32_t rx_stop_mode:2;
|
||||
/** rx_left_align : R/W; bitpos: [15]; default: 1;
|
||||
* 1: I2S RX left alignment mode. 0: I2S RX right alignment mode.
|
||||
*/
|
||||
uint32_t rx_left_align:1;
|
||||
/** rx_24_fill_en : R/W; bitpos: [16]; default: 0;
|
||||
* 1: store 24 channel bits to 32 bits. 0:store 24 channel bits to 24 bits.
|
||||
*/
|
||||
uint32_t rx_24_fill_en:1;
|
||||
/** rx_ws_idle_pol : R/W; bitpos: [17]; default: 0;
|
||||
* 0: WS should be 0 when receiving left channel data, and WS is 1in right channel.
|
||||
* 1: WS should be 1 when receiving left channel data, and WS is 0in right channel.
|
||||
*/
|
||||
uint32_t rx_ws_idle_pol:1;
|
||||
/** rx_bit_order : R/W; bitpos: [18]; default: 0;
|
||||
* I2S Rx bit endian. 1:small endian, the LSB is received first. 0:big endian, the MSB
|
||||
* is received first.
|
||||
*/
|
||||
uint32_t rx_bit_order:1;
|
||||
/** rx_tdm_en : R/W; bitpos: [19]; default: 0;
|
||||
* 1: Enable I2S TDM Rx mode . 0: Disable.
|
||||
*/
|
||||
uint32_t rx_tdm_en:1;
|
||||
/** rx_pdm_en : R/W; bitpos: [20]; default: 0;
|
||||
* 1: Enable I2S PDM Rx mode . 0: Disable.
|
||||
*/
|
||||
uint32_t rx_pdm_en:1;
|
||||
uint32_t reserved_21:11;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_rx_conf_reg_t;
|
||||
|
||||
/** Type of rx_conf1 register
|
||||
* I2S RX configure register 1
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rx_tdm_ws_width : R/W; bitpos: [6:0]; default: 0;
|
||||
* The width of rx_ws_out in TDM mode is (I2S_RX_TDM_WS_WIDTH[6:0] +1) * T_bck
|
||||
*/
|
||||
uint32_t rx_tdm_ws_width:7;
|
||||
/** rx_bck_div_num : R/W; bitpos: [12:7]; default: 6;
|
||||
* Bit clock configuration bits in receiver mode.
|
||||
*/
|
||||
uint32_t rx_bck_div_num:6;
|
||||
/** rx_bits_mod : R/W; bitpos: [17:13]; default: 15;
|
||||
* Set the bits to configure the valid data bit length of I2S receiver channel. 7: all
|
||||
* the valid channel data is in 8-bit-mode. 15: all the valid channel data is in
|
||||
* 16-bit-mode. 23: all the valid channel data is in 24-bit-mode. 31:all the valid
|
||||
* channel data is in 32-bit-mode.
|
||||
*/
|
||||
uint32_t rx_bits_mod:5;
|
||||
/** rx_half_sample_bits : R/W; bitpos: [23:18]; default: 15;
|
||||
* I2S Rx half sample bits -1.
|
||||
*/
|
||||
uint32_t rx_half_sample_bits:6;
|
||||
/** rx_tdm_chan_bits : R/W; bitpos: [28:24]; default: 15;
|
||||
* The Rx bit number for each channel minus 1in TDM mode.
|
||||
*/
|
||||
uint32_t rx_tdm_chan_bits:5;
|
||||
/** rx_msb_shift : R/W; bitpos: [29]; default: 1;
|
||||
* Set this bit to enable receiver in Phillips standard mode
|
||||
*/
|
||||
uint32_t rx_msb_shift:1;
|
||||
uint32_t reserved_30:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_rx_conf1_reg_t;
|
||||
|
||||
/** Type of rx_tdm_ctrl register
|
||||
* I2S TX TDM mode control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rx_tdm_pdm_chan0_en : R/W; bitpos: [0]; default: 1;
|
||||
* 1: Enable the valid data input of I2S RX TDM or PDM channel $n. 0: Disable, just
|
||||
* input 0 in this channel.
|
||||
*/
|
||||
uint32_t rx_tdm_pdm_chan0_en:1;
|
||||
/** rx_tdm_pdm_chan1_en : R/W; bitpos: [1]; default: 1;
|
||||
* 1: Enable the valid data input of I2S RX TDM or PDM channel $n. 0: Disable, just
|
||||
* input 0 in this channel.
|
||||
*/
|
||||
uint32_t rx_tdm_pdm_chan1_en:1;
|
||||
uint32_t reserved_2:14;
|
||||
/** rx_tdm_tot_chan_num : R/W; bitpos: [19:16]; default: 0;
|
||||
* The total channel number of I2S TX TDM mode.
|
||||
*/
|
||||
uint32_t rx_tdm_tot_chan_num:4;
|
||||
uint32_t reserved_20:12;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_rx_tdm_ctrl_reg_t;
|
||||
|
||||
/** Type of rxeof_num register
|
||||
* I2S RX data number control register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rx_eof_num : R/W; bitpos: [11:0]; default: 64;
|
||||
* The receive data bit length is (I2S_RX_BITS_MOD[4:0] + 1) * (REG_RX_EOF_NUM[11:0] +
|
||||
* 1) . It will trigger in_suc_eof interrupt in the configured DMA RX channel.
|
||||
*/
|
||||
uint32_t rx_eof_num:12;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_rxeof_num_reg_t;
|
||||
|
||||
/** Type of rx_pdm_conf register
|
||||
* I2S RX configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:19;
|
||||
/** rx_pdm2pcm_en : R/W; bitpos: [19]; default: 0;
|
||||
* 1: Enable PDM2PCM RX mode. 0: DIsable.
|
||||
*/
|
||||
uint32_t rx_pdm2pcm_en:1;
|
||||
/** rx_pdm_sinc_dsr_16_en : R/W; bitpos: [20]; default: 0;
|
||||
* Configure the down sampling rate of PDM RX filter group1 module. 1: The down
|
||||
* sampling rate is 128. 0: down sampling rate is 64.
|
||||
*/
|
||||
uint32_t rx_pdm_sinc_dsr_16_en:1;
|
||||
/** rx_pdm2pcm_amplify_num : R/W; bitpos: [24:21]; default: 1;
|
||||
* Configure PDM RX amplify number.
|
||||
*/
|
||||
uint32_t rx_pdm2pcm_amplify_num:4;
|
||||
/** rx_pdm_hp_bypass : R/W; bitpos: [25]; default: 0;
|
||||
* I2S PDM RX bypass hp filter or not.
|
||||
*/
|
||||
uint32_t rx_pdm_hp_bypass:1;
|
||||
/** rx_iir_hp_mult12_5 : R/W; bitpos: [28:26]; default: 6;
|
||||
* The fourth parameter of PDM RX IIR_HP filter stage 2 is (504 +
|
||||
* LP_I2S_RX_IIR_HP_MULT12_5[2:0])
|
||||
*/
|
||||
uint32_t rx_iir_hp_mult12_5:3;
|
||||
/** rx_iir_hp_mult12_0 : R/W; bitpos: [31:29]; default: 7;
|
||||
* The fourth parameter of PDM RX IIR_HP filter stage 1 is (504 +
|
||||
* LP_I2S_RX_IIR_HP_MULT12_0[2:0])
|
||||
*/
|
||||
uint32_t rx_iir_hp_mult12_0:3;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_rx_pdm_conf_reg_t;
|
||||
|
||||
|
||||
/** Group: Interrupt registers */
|
||||
/** Type of int_raw register
|
||||
* I2S interrupt raw register, valid in level.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rx_done_int_raw : RO/WTC/SS; bitpos: [0]; default: 0;
|
||||
* The raw interrupt status bit for the i2s_rx_done_int interrupt
|
||||
*/
|
||||
uint32_t rx_done_int_raw:1;
|
||||
/** rx_hung_int_raw : RO/WTC/SS; bitpos: [1]; default: 0;
|
||||
* The raw interrupt status bit for the i2s_rx_hung_int interrupt
|
||||
*/
|
||||
uint32_t rx_hung_int_raw:1;
|
||||
/** rx_fifomem_udf_int_raw : RO/WTC/SS; bitpos: [2]; default: 0;
|
||||
* The raw interrupt status bit for the i2s_rx_fifomem_udf_int interrupt
|
||||
*/
|
||||
uint32_t rx_fifomem_udf_int_raw:1;
|
||||
/** vad_done_int_raw : RO/WTC/SS; bitpos: [3]; default: 0;
|
||||
* The raw interrupt status bit for the vad_done_int interrupt
|
||||
*/
|
||||
uint32_t vad_done_int_raw:1;
|
||||
/** vad_reset_done_int_raw : RO/WTC/SS; bitpos: [4]; default: 0;
|
||||
* The raw interrupt status bit for the vad_reset_done_int interrupt
|
||||
*/
|
||||
uint32_t vad_reset_done_int_raw:1;
|
||||
/** rx_mem_threshold_int_raw : RO/WTC/SS; bitpos: [5]; default: 0;
|
||||
* The raw interrupt status bit for the rx_mem_threshold_int interrupt
|
||||
*/
|
||||
uint32_t rx_mem_threshold_int_raw:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_int_raw_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* I2S interrupt status register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rx_done_int_st : RO; bitpos: [0]; default: 0;
|
||||
* The masked interrupt status bit for the i2s_rx_done_int interrupt
|
||||
*/
|
||||
uint32_t rx_done_int_st:1;
|
||||
/** rx_hung_int_st : RO; bitpos: [1]; default: 0;
|
||||
* The masked interrupt status bit for the i2s_rx_hung_int interrupt
|
||||
*/
|
||||
uint32_t rx_hung_int_st:1;
|
||||
/** rx_fifomem_udf_int_st : RO; bitpos: [2]; default: 0;
|
||||
* The masked interrupt status bit for the i2s_rx_fifomem_udf_int interrupt
|
||||
*/
|
||||
uint32_t rx_fifomem_udf_int_st:1;
|
||||
/** vad_done_int_st : RO; bitpos: [3]; default: 0;
|
||||
* The masked interrupt status bit for the vad_done_int interrupt
|
||||
*/
|
||||
uint32_t vad_done_int_st:1;
|
||||
/** vad_reset_done_int_st : RO; bitpos: [4]; default: 0;
|
||||
* The masked interrupt status bit for the vad_reset_done_int interrupt
|
||||
*/
|
||||
uint32_t vad_reset_done_int_st:1;
|
||||
/** rx_mem_threshold_int_st : RO; bitpos: [5]; default: 0;
|
||||
* The masked interrupt status bit for the rx_mem_threshold_int interrupt
|
||||
*/
|
||||
uint32_t rx_mem_threshold_int_st:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_int_st_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* I2S interrupt enable register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rx_done_int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* The interrupt enable bit for the i2s_rx_done_int interrupt
|
||||
*/
|
||||
uint32_t rx_done_int_ena:1;
|
||||
/** rx_hung_int_ena : R/W; bitpos: [1]; default: 0;
|
||||
* The interrupt enable bit for the i2s_rx_hung_int interrupt
|
||||
*/
|
||||
uint32_t rx_hung_int_ena:1;
|
||||
/** rx_fifomem_udf_int_ena : R/W; bitpos: [2]; default: 0;
|
||||
* The interrupt enable bit for the i2s_rx_fifomem_udf_int interrupt
|
||||
*/
|
||||
uint32_t rx_fifomem_udf_int_ena:1;
|
||||
/** vad_done_int_ena : R/W; bitpos: [3]; default: 0;
|
||||
* The interrupt enable bit for the vad_done_int interrupt
|
||||
*/
|
||||
uint32_t vad_done_int_ena:1;
|
||||
/** vad_reset_done_int_ena : R/W; bitpos: [4]; default: 0;
|
||||
* The interrupt enable bit for the vad_reset_done_int interrupt
|
||||
*/
|
||||
uint32_t vad_reset_done_int_ena:1;
|
||||
/** rx_mem_threshold_int_ena : R/W; bitpos: [5]; default: 0;
|
||||
* The interrupt enable bit for the rx_mem_threshold_int interrupt
|
||||
*/
|
||||
uint32_t rx_mem_threshold_int_ena:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_int_ena_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* I2S interrupt clear register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rx_done_int_clr : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear the i2s_rx_done_int interrupt
|
||||
*/
|
||||
uint32_t rx_done_int_clr:1;
|
||||
/** rx_hung_int_clr : WT; bitpos: [1]; default: 0;
|
||||
* Set this bit to clear the i2s_rx_hung_int interrupt
|
||||
*/
|
||||
uint32_t rx_hung_int_clr:1;
|
||||
/** rx_fifomem_udf_int_clr : WT; bitpos: [2]; default: 0;
|
||||
* Set this bit to clear the i2s_rx_fifomem_udf_int interrupt
|
||||
*/
|
||||
uint32_t rx_fifomem_udf_int_clr:1;
|
||||
/** vad_done_int_clr : WT; bitpos: [3]; default: 0;
|
||||
* Set this bit to clear the vad_done_int interrupt
|
||||
*/
|
||||
uint32_t vad_done_int_clr:1;
|
||||
/** vad_reset_done_int_clr : WT; bitpos: [4]; default: 0;
|
||||
* Set this bit to clear the vad_reset_done_int interrupt
|
||||
*/
|
||||
uint32_t vad_reset_done_int_clr:1;
|
||||
/** rx_mem_threshold_int_clr : WT; bitpos: [5]; default: 0;
|
||||
* Set this bit to clear the rx_mem_threshold_int interrupt
|
||||
*/
|
||||
uint32_t rx_mem_threshold_int_clr:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_int_clr_reg_t;
|
||||
|
||||
|
||||
/** Group: RX clock and timing registers */
|
||||
/** Type of rx_timing register
|
||||
* I2S RX timing control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rx_sd_in_dm : R/W; bitpos: [1:0]; default: 0;
|
||||
* The delay mode of I2S Rx SD input signal. 0: bypass. 1: delay by pos edge. 2:
|
||||
* delay by neg edge. 3: not used.
|
||||
*/
|
||||
uint32_t rx_sd_in_dm:2;
|
||||
uint32_t reserved_2:14;
|
||||
/** rx_ws_out_dm : R/W; bitpos: [17:16]; default: 0;
|
||||
* The delay mode of I2S Rx WS output signal. 0: bypass. 1: delay by pos edge. 2:
|
||||
* delay by neg edge. 3: not used.
|
||||
*/
|
||||
uint32_t rx_ws_out_dm:2;
|
||||
uint32_t reserved_18:2;
|
||||
/** rx_bck_out_dm : R/W; bitpos: [21:20]; default: 0;
|
||||
* The delay mode of I2S Rx BCK output signal. 0: bypass. 1: delay by pos edge. 2:
|
||||
* delay by neg edge. 3: not used.
|
||||
*/
|
||||
uint32_t rx_bck_out_dm:2;
|
||||
uint32_t reserved_22:2;
|
||||
/** rx_ws_in_dm : R/W; bitpos: [25:24]; default: 0;
|
||||
* The delay mode of I2S Rx WS input signal. 0: bypass. 1: delay by pos edge. 2:
|
||||
* delay by neg edge. 3: not used.
|
||||
*/
|
||||
uint32_t rx_ws_in_dm:2;
|
||||
uint32_t reserved_26:2;
|
||||
/** rx_bck_in_dm : R/W; bitpos: [29:28]; default: 0;
|
||||
* The delay mode of I2S Rx BCK input signal. 0: bypass. 1: delay by pos edge. 2:
|
||||
* delay by neg edge. 3: not used.
|
||||
*/
|
||||
uint32_t rx_bck_in_dm:2;
|
||||
uint32_t reserved_30:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_rx_timing_reg_t;
|
||||
|
||||
|
||||
/** Group: Control and configuration registers */
|
||||
/** Type of lc_hung_conf register
|
||||
* I2S HUNG configure register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** lc_fifo_timeout : R/W; bitpos: [7:0]; default: 16;
|
||||
* the i2s_tx_hung_int interrupt or the i2s_rx_hung_int interrupt will be triggered
|
||||
* when fifo hung counter is equal to this value
|
||||
*/
|
||||
uint32_t lc_fifo_timeout:8;
|
||||
/** lc_fifo_timeout_shift : R/W; bitpos: [10:8]; default: 0;
|
||||
* The bits are used to scale tick counter threshold. The tick counter is reset when
|
||||
* counter value >= 88000/2^i2s_lc_fifo_timeout_shift
|
||||
*/
|
||||
uint32_t lc_fifo_timeout_shift:3;
|
||||
/** lc_fifo_timeout_ena : R/W; bitpos: [11]; default: 1;
|
||||
* The enable bit for FIFO timeout
|
||||
*/
|
||||
uint32_t lc_fifo_timeout_ena:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_lc_hung_conf_reg_t;
|
||||
|
||||
/** Type of conf_sigle_data register
|
||||
* I2S signal data register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** single_data : R/W; bitpos: [31:0]; default: 0;
|
||||
* The configured constant channel data to be sent out.
|
||||
*/
|
||||
uint32_t single_data:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_conf_sigle_data_reg_t;
|
||||
|
||||
|
||||
/** Group: ECO registers */
|
||||
/** Type of eco_low register
|
||||
* I2S ECO register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rdn_eco_low : R/W; bitpos: [31:0]; default: 0;
|
||||
* logic low eco registers
|
||||
*/
|
||||
uint32_t rdn_eco_low:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_eco_low_reg_t;
|
||||
|
||||
/** Type of eco_high register
|
||||
* I2S ECO register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rdn_eco_high : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* logic high eco registers
|
||||
*/
|
||||
uint32_t rdn_eco_high:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_eco_high_reg_t;
|
||||
|
||||
/** Type of eco_conf register
|
||||
* I2S ECO register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rdn_ena : R/W; bitpos: [0]; default: 0;
|
||||
* enable rdn counter bit
|
||||
*/
|
||||
uint32_t rdn_ena:1;
|
||||
/** rdn_result : RO; bitpos: [1]; default: 0;
|
||||
* rdn result
|
||||
*/
|
||||
uint32_t rdn_result:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_eco_conf_reg_t;
|
||||
|
||||
|
||||
/** Group: Clock registers */
|
||||
/** Type of clk_gate register
|
||||
* Clock gate register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_en : R/W; bitpos: [0]; default: 0;
|
||||
* set this bit to enable clock gate
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
/** vad_cg_force_on : R/W; bitpos: [1]; default: 1;
|
||||
* VAD clock gate force on register
|
||||
*/
|
||||
uint32_t vad_cg_force_on:1;
|
||||
/** rx_mem_cg_force_on : R/W; bitpos: [2]; default: 0;
|
||||
* I2S rx mem clock gate force on register
|
||||
*/
|
||||
uint32_t rx_mem_cg_force_on:1;
|
||||
/** rx_reg_cg_force_on : R/W; bitpos: [3]; default: 1;
|
||||
* I2S rx reg clock gate force on register
|
||||
*/
|
||||
uint32_t rx_reg_cg_force_on:1;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_clk_gate_reg_t;
|
||||
|
||||
|
||||
/** Group: Version register */
|
||||
/** Type of date register
|
||||
* Version control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [27:0]; default: 36720704;
|
||||
* I2S version control register
|
||||
*/
|
||||
uint32_t date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_i2s_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile lp_i2s_vad_conf_reg_t vad_conf;
|
||||
volatile lp_i2s_vad_result_reg_t vad_result;
|
||||
volatile lp_i2s_rx_mem_conf_reg_t rx_mem_conf;
|
||||
volatile lp_i2s_int_raw_reg_t int_raw;
|
||||
volatile lp_i2s_int_st_reg_t int_st;
|
||||
volatile lp_i2s_int_ena_reg_t int_ena;
|
||||
volatile lp_i2s_int_clr_reg_t int_clr;
|
||||
uint32_t reserved_01c;
|
||||
volatile lp_i2s_rx_conf_reg_t rx_conf;
|
||||
uint32_t reserved_024;
|
||||
volatile lp_i2s_rx_conf1_reg_t rx_conf1;
|
||||
uint32_t reserved_02c[9];
|
||||
volatile lp_i2s_rx_tdm_ctrl_reg_t rx_tdm_ctrl;
|
||||
uint32_t reserved_054;
|
||||
volatile lp_i2s_rx_timing_reg_t rx_timing;
|
||||
uint32_t reserved_05c;
|
||||
volatile lp_i2s_lc_hung_conf_reg_t lc_hung_conf;
|
||||
volatile lp_i2s_rxeof_num_reg_t rxeof_num;
|
||||
volatile lp_i2s_conf_sigle_data_reg_t conf_sigle_data;
|
||||
uint32_t reserved_06c;
|
||||
volatile lp_i2s_rx_pdm_conf_reg_t rx_pdm_conf;
|
||||
volatile lp_i2s_eco_low_reg_t eco_low;
|
||||
volatile lp_i2s_eco_high_reg_t eco_high;
|
||||
volatile lp_i2s_eco_conf_reg_t eco_conf;
|
||||
volatile lp_i2s_vad_param0_reg_t vad_param0;
|
||||
volatile lp_i2s_vad_param1_reg_t vad_param1;
|
||||
volatile lp_i2s_vad_param2_reg_t vad_param2;
|
||||
volatile lp_i2s_vad_param3_reg_t vad_param3;
|
||||
volatile lp_i2s_vad_param4_reg_t vad_param4;
|
||||
volatile lp_i2s_vad_param5_reg_t vad_param5;
|
||||
volatile lp_i2s_vad_param6_reg_t vad_param6;
|
||||
volatile lp_i2s_vad_param7_reg_t vad_param7;
|
||||
volatile lp_i2s_vad_param8_reg_t vad_param8;
|
||||
uint32_t reserved_0a4[3];
|
||||
volatile lp_i2s_vad_ob0_reg_t vad_ob0;
|
||||
volatile lp_i2s_vad_ob1_reg_t vad_ob1;
|
||||
volatile lp_i2s_vad_ob2_reg_t vad_ob2;
|
||||
volatile lp_i2s_vad_ob3_reg_t vad_ob3;
|
||||
volatile lp_i2s_vad_ob4_reg_t vad_ob4;
|
||||
volatile lp_i2s_vad_ob5_reg_t vad_ob5;
|
||||
volatile lp_i2s_vad_ob6_reg_t vad_ob6;
|
||||
volatile lp_i2s_vad_ob7_reg_t vad_ob7;
|
||||
volatile lp_i2s_vad_ob8_reg_t vad_ob8;
|
||||
uint32_t reserved_0d4[9];
|
||||
volatile lp_i2s_clk_gate_reg_t clk_gate;
|
||||
volatile lp_i2s_date_reg_t date;
|
||||
} lp_i2s_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(lp_i2s_dev_t) == 0x100, "Invalid size of lp_i2s_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
235
components/soc/esp32p4/include/soc/lp_intr_reg.h
Normal file
235
components/soc/esp32p4/include/soc/lp_intr_reg.h
Normal file
@ -0,0 +1,235 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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
|
||||
|
||||
/** LPINTR_SW_INT_RAW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_SW_INT_RAW_REG (DR_REG_LPINTR_BASE + 0x0)
|
||||
/** LPINTR_LP_SW_INT_RAW : R/W/WTC; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_SW_INT_RAW (BIT(31))
|
||||
#define LPINTR_LP_SW_INT_RAW_M (LPINTR_LP_SW_INT_RAW_V << LPINTR_LP_SW_INT_RAW_S)
|
||||
#define LPINTR_LP_SW_INT_RAW_V 0x00000001U
|
||||
#define LPINTR_LP_SW_INT_RAW_S 31
|
||||
|
||||
/** LPINTR_SW_INT_ST_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_SW_INT_ST_REG (DR_REG_LPINTR_BASE + 0x4)
|
||||
/** LPINTR_LP_SW_INT_ST : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_SW_INT_ST (BIT(31))
|
||||
#define LPINTR_LP_SW_INT_ST_M (LPINTR_LP_SW_INT_ST_V << LPINTR_LP_SW_INT_ST_S)
|
||||
#define LPINTR_LP_SW_INT_ST_V 0x00000001U
|
||||
#define LPINTR_LP_SW_INT_ST_S 31
|
||||
|
||||
/** LPINTR_SW_INT_ENA_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_SW_INT_ENA_REG (DR_REG_LPINTR_BASE + 0x8)
|
||||
/** LPINTR_LP_SW_INT_ENA : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_SW_INT_ENA (BIT(31))
|
||||
#define LPINTR_LP_SW_INT_ENA_M (LPINTR_LP_SW_INT_ENA_V << LPINTR_LP_SW_INT_ENA_S)
|
||||
#define LPINTR_LP_SW_INT_ENA_V 0x00000001U
|
||||
#define LPINTR_LP_SW_INT_ENA_S 31
|
||||
|
||||
/** LPINTR_SW_INT_CLR_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_SW_INT_CLR_REG (DR_REG_LPINTR_BASE + 0xc)
|
||||
/** LPINTR_LP_SW_INT_CLR : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_SW_INT_CLR (BIT(31))
|
||||
#define LPINTR_LP_SW_INT_CLR_M (LPINTR_LP_SW_INT_CLR_V << LPINTR_LP_SW_INT_CLR_S)
|
||||
#define LPINTR_LP_SW_INT_CLR_V 0x00000001U
|
||||
#define LPINTR_LP_SW_INT_CLR_S 31
|
||||
|
||||
/** LPINTR_STATUS_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_STATUS_REG (DR_REG_LPINTR_BASE + 0x10)
|
||||
/** LPINTR_LP_HUK_INTR_ST : RO; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_HUK_INTR_ST (BIT(10))
|
||||
#define LPINTR_LP_HUK_INTR_ST_M (LPINTR_LP_HUK_INTR_ST_V << LPINTR_LP_HUK_INTR_ST_S)
|
||||
#define LPINTR_LP_HUK_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_HUK_INTR_ST_S 10
|
||||
/** LPINTR_SYSREG_INTR_ST : RO; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_SYSREG_INTR_ST (BIT(11))
|
||||
#define LPINTR_SYSREG_INTR_ST_M (LPINTR_SYSREG_INTR_ST_V << LPINTR_SYSREG_INTR_ST_S)
|
||||
#define LPINTR_SYSREG_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_SYSREG_INTR_ST_S 11
|
||||
/** LPINTR_LP_SW_INTR_ST : RO; bitpos: [12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_SW_INTR_ST (BIT(12))
|
||||
#define LPINTR_LP_SW_INTR_ST_M (LPINTR_LP_SW_INTR_ST_V << LPINTR_LP_SW_INTR_ST_S)
|
||||
#define LPINTR_LP_SW_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_SW_INTR_ST_S 12
|
||||
/** LPINTR_LP_EFUSE_INTR_ST : RO; bitpos: [13]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_EFUSE_INTR_ST (BIT(13))
|
||||
#define LPINTR_LP_EFUSE_INTR_ST_M (LPINTR_LP_EFUSE_INTR_ST_V << LPINTR_LP_EFUSE_INTR_ST_S)
|
||||
#define LPINTR_LP_EFUSE_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_EFUSE_INTR_ST_S 13
|
||||
/** LPINTR_LP_UART_INTR_ST : RO; bitpos: [14]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_UART_INTR_ST (BIT(14))
|
||||
#define LPINTR_LP_UART_INTR_ST_M (LPINTR_LP_UART_INTR_ST_V << LPINTR_LP_UART_INTR_ST_S)
|
||||
#define LPINTR_LP_UART_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_UART_INTR_ST_S 14
|
||||
/** LPINTR_LP_TSENS_INTR_ST : RO; bitpos: [15]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_TSENS_INTR_ST (BIT(15))
|
||||
#define LPINTR_LP_TSENS_INTR_ST_M (LPINTR_LP_TSENS_INTR_ST_V << LPINTR_LP_TSENS_INTR_ST_S)
|
||||
#define LPINTR_LP_TSENS_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_TSENS_INTR_ST_S 15
|
||||
/** LPINTR_LP_TOUCH_INTR_ST : RO; bitpos: [16]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_TOUCH_INTR_ST (BIT(16))
|
||||
#define LPINTR_LP_TOUCH_INTR_ST_M (LPINTR_LP_TOUCH_INTR_ST_V << LPINTR_LP_TOUCH_INTR_ST_S)
|
||||
#define LPINTR_LP_TOUCH_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_TOUCH_INTR_ST_S 16
|
||||
/** LPINTR_LP_SPI_INTR_ST : RO; bitpos: [17]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_SPI_INTR_ST (BIT(17))
|
||||
#define LPINTR_LP_SPI_INTR_ST_M (LPINTR_LP_SPI_INTR_ST_V << LPINTR_LP_SPI_INTR_ST_S)
|
||||
#define LPINTR_LP_SPI_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_SPI_INTR_ST_S 17
|
||||
/** LPINTR_LP_I2S_INTR_ST : RO; bitpos: [18]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_I2S_INTR_ST (BIT(18))
|
||||
#define LPINTR_LP_I2S_INTR_ST_M (LPINTR_LP_I2S_INTR_ST_V << LPINTR_LP_I2S_INTR_ST_S)
|
||||
#define LPINTR_LP_I2S_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_I2S_INTR_ST_S 18
|
||||
/** LPINTR_LP_I2C_INTR_ST : RO; bitpos: [19]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_I2C_INTR_ST (BIT(19))
|
||||
#define LPINTR_LP_I2C_INTR_ST_M (LPINTR_LP_I2C_INTR_ST_V << LPINTR_LP_I2C_INTR_ST_S)
|
||||
#define LPINTR_LP_I2C_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_I2C_INTR_ST_S 19
|
||||
/** LPINTR_LP_GPIO_INTR_ST : RO; bitpos: [20]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_GPIO_INTR_ST (BIT(20))
|
||||
#define LPINTR_LP_GPIO_INTR_ST_M (LPINTR_LP_GPIO_INTR_ST_V << LPINTR_LP_GPIO_INTR_ST_S)
|
||||
#define LPINTR_LP_GPIO_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_GPIO_INTR_ST_S 20
|
||||
/** LPINTR_LP_ADC_INTR_ST : RO; bitpos: [21]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_ADC_INTR_ST (BIT(21))
|
||||
#define LPINTR_LP_ADC_INTR_ST_M (LPINTR_LP_ADC_INTR_ST_V << LPINTR_LP_ADC_INTR_ST_S)
|
||||
#define LPINTR_LP_ADC_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_ADC_INTR_ST_S 21
|
||||
/** LPINTR_ANAPERI_INTR_ST : RO; bitpos: [22]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_ANAPERI_INTR_ST (BIT(22))
|
||||
#define LPINTR_ANAPERI_INTR_ST_M (LPINTR_ANAPERI_INTR_ST_V << LPINTR_ANAPERI_INTR_ST_S)
|
||||
#define LPINTR_ANAPERI_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_ANAPERI_INTR_ST_S 22
|
||||
/** LPINTR_PMU_REG_1_INTR_ST : RO; bitpos: [23]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_PMU_REG_1_INTR_ST (BIT(23))
|
||||
#define LPINTR_PMU_REG_1_INTR_ST_M (LPINTR_PMU_REG_1_INTR_ST_V << LPINTR_PMU_REG_1_INTR_ST_S)
|
||||
#define LPINTR_PMU_REG_1_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_PMU_REG_1_INTR_ST_S 23
|
||||
/** LPINTR_PMU_REG_0_INTR_ST : RO; bitpos: [24]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_PMU_REG_0_INTR_ST (BIT(24))
|
||||
#define LPINTR_PMU_REG_0_INTR_ST_M (LPINTR_PMU_REG_0_INTR_ST_V << LPINTR_PMU_REG_0_INTR_ST_S)
|
||||
#define LPINTR_PMU_REG_0_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_PMU_REG_0_INTR_ST_S 24
|
||||
/** LPINTR_MB_LP_INTR_ST : RO; bitpos: [25]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_MB_LP_INTR_ST (BIT(25))
|
||||
#define LPINTR_MB_LP_INTR_ST_M (LPINTR_MB_LP_INTR_ST_V << LPINTR_MB_LP_INTR_ST_S)
|
||||
#define LPINTR_MB_LP_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_MB_LP_INTR_ST_S 25
|
||||
/** LPINTR_MB_HP_INTR_ST : RO; bitpos: [26]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_MB_HP_INTR_ST (BIT(26))
|
||||
#define LPINTR_MB_HP_INTR_ST_M (LPINTR_MB_HP_INTR_ST_V << LPINTR_MB_HP_INTR_ST_S)
|
||||
#define LPINTR_MB_HP_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_MB_HP_INTR_ST_S 26
|
||||
/** LPINTR_LP_TIMER_REG_1_INTR_ST : RO; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_TIMER_REG_1_INTR_ST (BIT(27))
|
||||
#define LPINTR_LP_TIMER_REG_1_INTR_ST_M (LPINTR_LP_TIMER_REG_1_INTR_ST_V << LPINTR_LP_TIMER_REG_1_INTR_ST_S)
|
||||
#define LPINTR_LP_TIMER_REG_1_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_TIMER_REG_1_INTR_ST_S 27
|
||||
/** LPINTR_LP_TIMER_REG_0_INTR_ST : RO; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_TIMER_REG_0_INTR_ST (BIT(28))
|
||||
#define LPINTR_LP_TIMER_REG_0_INTR_ST_M (LPINTR_LP_TIMER_REG_0_INTR_ST_V << LPINTR_LP_TIMER_REG_0_INTR_ST_S)
|
||||
#define LPINTR_LP_TIMER_REG_0_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_TIMER_REG_0_INTR_ST_S 28
|
||||
/** LPINTR_LP_WDT_INTR_ST : RO; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_WDT_INTR_ST (BIT(29))
|
||||
#define LPINTR_LP_WDT_INTR_ST_M (LPINTR_LP_WDT_INTR_ST_V << LPINTR_LP_WDT_INTR_ST_S)
|
||||
#define LPINTR_LP_WDT_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_WDT_INTR_ST_S 29
|
||||
/** LPINTR_LP_RTC_INTR_ST : RO; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_LP_RTC_INTR_ST (BIT(30))
|
||||
#define LPINTR_LP_RTC_INTR_ST_M (LPINTR_LP_RTC_INTR_ST_V << LPINTR_LP_RTC_INTR_ST_S)
|
||||
#define LPINTR_LP_RTC_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_LP_RTC_INTR_ST_S 30
|
||||
/** LPINTR_HP_INTR_ST : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_HP_INTR_ST (BIT(31))
|
||||
#define LPINTR_HP_INTR_ST_M (LPINTR_HP_INTR_ST_V << LPINTR_HP_INTR_ST_S)
|
||||
#define LPINTR_HP_INTR_ST_V 0x00000001U
|
||||
#define LPINTR_HP_INTR_ST_S 31
|
||||
|
||||
/** LPINTR_DATE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_DATE_REG (DR_REG_LPINTR_BASE + 0x3fc)
|
||||
/** LPINTR_CLK_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPINTR_CLK_EN (BIT(31))
|
||||
#define LPINTR_CLK_EN_M (LPINTR_CLK_EN_V << LPINTR_CLK_EN_S)
|
||||
#define LPINTR_CLK_EN_V 0x00000001U
|
||||
#define LPINTR_CLK_EN_S 31
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
204
components/soc/esp32p4/include/soc/lp_intr_struct.h
Normal file
204
components/soc/esp32p4/include/soc/lp_intr_struct.h
Normal file
@ -0,0 +1,204 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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 sw_int_raw register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** lp_sw_int_raw : R/W/WTC; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_sw_int_raw:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpintr_sw_int_raw_reg_t;
|
||||
|
||||
/** Type of sw_int_st register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** lp_sw_int_st : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_sw_int_st:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpintr_sw_int_st_reg_t;
|
||||
|
||||
/** Type of sw_int_ena register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** lp_sw_int_ena : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_sw_int_ena:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpintr_sw_int_ena_reg_t;
|
||||
|
||||
/** Type of sw_int_clr register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** lp_sw_int_clr : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_sw_int_clr:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpintr_sw_int_clr_reg_t;
|
||||
|
||||
|
||||
/** Group: Status Registers */
|
||||
/** Type of status register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:10;
|
||||
/** lp_huk_intr_st : RO; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_huk_intr_st:1;
|
||||
/** sysreg_intr_st : RO; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t sysreg_intr_st:1;
|
||||
/** lp_sw_intr_st : RO; bitpos: [12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_sw_intr_st:1;
|
||||
/** lp_efuse_intr_st : RO; bitpos: [13]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_efuse_intr_st:1;
|
||||
/** lp_uart_intr_st : RO; bitpos: [14]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_uart_intr_st:1;
|
||||
/** lp_tsens_intr_st : RO; bitpos: [15]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_tsens_intr_st:1;
|
||||
/** lp_touch_intr_st : RO; bitpos: [16]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_touch_intr_st:1;
|
||||
/** lp_spi_intr_st : RO; bitpos: [17]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_spi_intr_st:1;
|
||||
/** lp_i2s_intr_st : RO; bitpos: [18]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2s_intr_st:1;
|
||||
/** lp_i2c_intr_st : RO; bitpos: [19]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2c_intr_st:1;
|
||||
/** lp_gpio_intr_st : RO; bitpos: [20]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_gpio_intr_st:1;
|
||||
/** lp_adc_intr_st : RO; bitpos: [21]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_adc_intr_st:1;
|
||||
/** anaperi_intr_st : RO; bitpos: [22]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t anaperi_intr_st:1;
|
||||
/** pmu_reg_1_intr_st : RO; bitpos: [23]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t pmu_reg_1_intr_st:1;
|
||||
/** pmu_reg_0_intr_st : RO; bitpos: [24]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t pmu_reg_0_intr_st:1;
|
||||
/** mb_lp_intr_st : RO; bitpos: [25]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t mb_lp_intr_st:1;
|
||||
/** mb_hp_intr_st : RO; bitpos: [26]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t mb_hp_intr_st:1;
|
||||
/** lp_timer_reg_1_intr_st : RO; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_timer_reg_1_intr_st:1;
|
||||
/** lp_timer_reg_0_intr_st : RO; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_timer_reg_0_intr_st:1;
|
||||
/** lp_wdt_intr_st : RO; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_wdt_intr_st:1;
|
||||
/** lp_rtc_intr_st : RO; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_rtc_intr_st:1;
|
||||
/** hp_intr_st : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_intr_st:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpintr_status_reg_t;
|
||||
|
||||
|
||||
/** Group: configure_register */
|
||||
/** Type of date register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** clk_en : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpintr_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile lpintr_sw_int_raw_reg_t sw_int_raw;
|
||||
volatile lpintr_sw_int_st_reg_t sw_int_st;
|
||||
volatile lpintr_sw_int_ena_reg_t sw_int_ena;
|
||||
volatile lpintr_sw_int_clr_reg_t sw_int_clr;
|
||||
volatile lpintr_status_reg_t status;
|
||||
uint32_t reserved_014[250];
|
||||
volatile lpintr_date_reg_t date;
|
||||
} lpintr_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(lpintr_dev_t) == 0x400, "Invalid size of lpintr_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
1283
components/soc/esp32p4/include/soc/lp_iomux_reg.h
Normal file
1283
components/soc/esp32p4/include/soc/lp_iomux_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
960
components/soc/esp32p4/include/soc/lp_iomux_struct.h
Normal file
960
components/soc/esp32p4/include/soc/lp_iomux_struct.h
Normal file
@ -0,0 +1,960 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: clk_en */
|
||||
/** Type of clk_en register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_clk_en : R/W; bitpos: [0]; default: 1;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_clk_en_reg_t;
|
||||
|
||||
|
||||
/** Group: ver_date */
|
||||
/** Type of ver_date register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_ver_date : R/W; bitpos: [27:0]; default: 2294547;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_ver_date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_ver_date_reg_t;
|
||||
|
||||
|
||||
/** Group: pad0 */
|
||||
/** Type of pad0 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad0_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad0_drv:2;
|
||||
/** reg_pad0_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad0_rde:1;
|
||||
/** reg_pad0_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad0_rue:1;
|
||||
/** reg_pad0_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad0_mux_sel:1;
|
||||
/** reg_pad0_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad0_fun_sel:2;
|
||||
/** reg_pad0_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad0_slp_sel:1;
|
||||
/** reg_pad0_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad0_slp_ie:1;
|
||||
/** reg_pad0_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad0_slp_oe:1;
|
||||
/** reg_pad0_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad0_fun_ie:1;
|
||||
/** reg_pad0_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad0_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad0_reg_t;
|
||||
|
||||
|
||||
/** Group: pad1 */
|
||||
/** Type of pad1 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad1_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad1_drv:2;
|
||||
/** reg_pad1_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad1_rde:1;
|
||||
/** reg_pad1_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad1_rue:1;
|
||||
/** reg_pad1_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad1_mux_sel:1;
|
||||
/** reg_pad1_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad1_fun_sel:2;
|
||||
/** reg_pad1_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad1_slp_sel:1;
|
||||
/** reg_pad1_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad1_slp_ie:1;
|
||||
/** reg_pad1_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad1_slp_oe:1;
|
||||
/** reg_pad1_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad1_fun_ie:1;
|
||||
/** reg_pad1_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad1_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad1_reg_t;
|
||||
|
||||
|
||||
/** Group: pad2 */
|
||||
/** Type of pad2 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad2_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad2_drv:2;
|
||||
/** reg_pad2_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad2_rde:1;
|
||||
/** reg_pad2_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad2_rue:1;
|
||||
/** reg_pad2_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad2_mux_sel:1;
|
||||
/** reg_pad2_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad2_fun_sel:2;
|
||||
/** reg_pad2_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad2_slp_sel:1;
|
||||
/** reg_pad2_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad2_slp_ie:1;
|
||||
/** reg_pad2_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad2_slp_oe:1;
|
||||
/** reg_pad2_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad2_fun_ie:1;
|
||||
/** reg_pad2_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad2_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad2_reg_t;
|
||||
|
||||
|
||||
/** Group: pad3 */
|
||||
/** Type of pad3 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad3_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad3_drv:2;
|
||||
/** reg_pad3_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad3_rde:1;
|
||||
/** reg_pad3_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad3_rue:1;
|
||||
/** reg_pad3_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad3_mux_sel:1;
|
||||
/** reg_pad3_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad3_fun_sel:2;
|
||||
/** reg_pad3_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad3_slp_sel:1;
|
||||
/** reg_pad3_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad3_slp_ie:1;
|
||||
/** reg_pad3_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad3_slp_oe:1;
|
||||
/** reg_pad3_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad3_fun_ie:1;
|
||||
/** reg_pad3_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad3_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad3_reg_t;
|
||||
|
||||
|
||||
/** Group: pad4 */
|
||||
/** Type of pad4 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad4_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad4_drv:2;
|
||||
/** reg_pad4_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad4_rde:1;
|
||||
/** reg_pad4_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad4_rue:1;
|
||||
/** reg_pad4_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad4_mux_sel:1;
|
||||
/** reg_pad4_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad4_fun_sel:2;
|
||||
/** reg_pad4_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad4_slp_sel:1;
|
||||
/** reg_pad4_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad4_slp_ie:1;
|
||||
/** reg_pad4_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad4_slp_oe:1;
|
||||
/** reg_pad4_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad4_fun_ie:1;
|
||||
/** reg_pad4_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad4_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad4_reg_t;
|
||||
|
||||
|
||||
/** Group: pad5 */
|
||||
/** Type of pad5 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad5_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad5_drv:2;
|
||||
/** reg_pad5_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad5_rde:1;
|
||||
/** reg_pad5_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad5_rue:1;
|
||||
/** reg_pad5_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad5_mux_sel:1;
|
||||
/** reg_pad5_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad5_fun_sel:2;
|
||||
/** reg_pad5_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad5_slp_sel:1;
|
||||
/** reg_pad5_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad5_slp_ie:1;
|
||||
/** reg_pad5_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad5_slp_oe:1;
|
||||
/** reg_pad5_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad5_fun_ie:1;
|
||||
/** reg_pad5_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad5_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad5_reg_t;
|
||||
|
||||
|
||||
/** Group: pad6 */
|
||||
/** Type of pad6 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad6_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad6_drv:2;
|
||||
/** reg_pad6_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad6_rde:1;
|
||||
/** reg_pad6_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad6_rue:1;
|
||||
/** reg_pad6_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad6_mux_sel:1;
|
||||
/** reg_pad6_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad6_fun_sel:2;
|
||||
/** reg_pad6_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad6_slp_sel:1;
|
||||
/** reg_pad6_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad6_slp_ie:1;
|
||||
/** reg_pad6_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad6_slp_oe:1;
|
||||
/** reg_pad6_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad6_fun_ie:1;
|
||||
/** reg_pad6_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad6_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad6_reg_t;
|
||||
|
||||
|
||||
/** Group: pad7 */
|
||||
/** Type of pad7 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad7_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad7_drv:2;
|
||||
/** reg_pad7_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad7_rde:1;
|
||||
/** reg_pad7_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad7_rue:1;
|
||||
/** reg_pad7_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad7_mux_sel:1;
|
||||
/** reg_pad7_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad7_fun_sel:2;
|
||||
/** reg_pad7_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad7_slp_sel:1;
|
||||
/** reg_pad7_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad7_slp_ie:1;
|
||||
/** reg_pad7_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad7_slp_oe:1;
|
||||
/** reg_pad7_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad7_fun_ie:1;
|
||||
/** reg_pad7_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad7_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad7_reg_t;
|
||||
|
||||
|
||||
/** Group: pad8 */
|
||||
/** Type of pad8 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad8_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad8_drv:2;
|
||||
/** reg_pad8_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad8_rde:1;
|
||||
/** reg_pad8_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad8_rue:1;
|
||||
/** reg_pad8_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad8_mux_sel:1;
|
||||
/** reg_pad8_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad8_fun_sel:2;
|
||||
/** reg_pad8_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad8_slp_sel:1;
|
||||
/** reg_pad8_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad8_slp_ie:1;
|
||||
/** reg_pad8_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad8_slp_oe:1;
|
||||
/** reg_pad8_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad8_fun_ie:1;
|
||||
/** reg_pad8_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad8_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad8_reg_t;
|
||||
|
||||
|
||||
/** Group: pad9 */
|
||||
/** Type of pad9 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad9_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad9_drv:2;
|
||||
/** reg_pad9_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad9_rde:1;
|
||||
/** reg_pad9_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad9_rue:1;
|
||||
/** reg_pad9_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad9_mux_sel:1;
|
||||
/** reg_pad9_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad9_fun_sel:2;
|
||||
/** reg_pad9_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad9_slp_sel:1;
|
||||
/** reg_pad9_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad9_slp_ie:1;
|
||||
/** reg_pad9_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad9_slp_oe:1;
|
||||
/** reg_pad9_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad9_fun_ie:1;
|
||||
/** reg_pad9_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad9_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad9_reg_t;
|
||||
|
||||
|
||||
/** Group: pad10 */
|
||||
/** Type of pad10 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad10_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad10_drv:2;
|
||||
/** reg_pad10_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad10_rde:1;
|
||||
/** reg_pad10_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad10_rue:1;
|
||||
/** reg_pad10_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad10_mux_sel:1;
|
||||
/** reg_pad10_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad10_fun_sel:2;
|
||||
/** reg_pad10_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad10_slp_sel:1;
|
||||
/** reg_pad10_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad10_slp_ie:1;
|
||||
/** reg_pad10_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad10_slp_oe:1;
|
||||
/** reg_pad10_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad10_fun_ie:1;
|
||||
/** reg_pad10_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad10_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad10_reg_t;
|
||||
|
||||
|
||||
/** Group: pad11 */
|
||||
/** Type of pad11 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad11_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad11_drv:2;
|
||||
/** reg_pad11_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad11_rde:1;
|
||||
/** reg_pad11_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad11_rue:1;
|
||||
/** reg_pad11_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad11_mux_sel:1;
|
||||
/** reg_pad11_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad11_fun_sel:2;
|
||||
/** reg_pad11_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad11_slp_sel:1;
|
||||
/** reg_pad11_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad11_slp_ie:1;
|
||||
/** reg_pad11_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad11_slp_oe:1;
|
||||
/** reg_pad11_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad11_fun_ie:1;
|
||||
/** reg_pad11_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad11_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad11_reg_t;
|
||||
|
||||
|
||||
/** Group: pad12 */
|
||||
/** Type of pad120 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad12_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad12_drv:2;
|
||||
/** reg_pad12_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad12_rde:1;
|
||||
/** reg_pad12_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad12_rue:1;
|
||||
/** reg_pad12_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad12_mux_sel:1;
|
||||
/** reg_pad12_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad12_fun_sel:2;
|
||||
/** reg_pad12_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad12_slp_sel:1;
|
||||
/** reg_pad12_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad12_slp_ie:1;
|
||||
/** reg_pad12_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad12_slp_oe:1;
|
||||
/** reg_pad12_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad12_fun_ie:1;
|
||||
/** reg_pad12_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad12_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad120_reg_t;
|
||||
|
||||
|
||||
/** Group: pad13 */
|
||||
/** Type of pad13 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad13_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad13_drv:2;
|
||||
/** reg_pad13_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad13_rde:1;
|
||||
/** reg_pad13_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad13_rue:1;
|
||||
/** reg_pad13_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad13_mux_sel:1;
|
||||
/** reg_pad13_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad13_fun_sel:2;
|
||||
/** reg_pad13_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad13_slp_sel:1;
|
||||
/** reg_pad13_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad13_slp_ie:1;
|
||||
/** reg_pad13_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad13_slp_oe:1;
|
||||
/** reg_pad13_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad13_fun_ie:1;
|
||||
/** reg_pad13_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad13_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad13_reg_t;
|
||||
|
||||
|
||||
/** Group: pad14 */
|
||||
/** Type of pad14 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad14_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad14_drv:2;
|
||||
/** reg_pad14_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad14_rde:1;
|
||||
/** reg_pad14_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad14_rue:1;
|
||||
/** reg_pad14_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad14_mux_sel:1;
|
||||
/** reg_pad14_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad14_fun_sel:2;
|
||||
/** reg_pad14_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad14_slp_sel:1;
|
||||
/** reg_pad14_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad14_slp_ie:1;
|
||||
/** reg_pad14_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad14_slp_oe:1;
|
||||
/** reg_pad14_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad14_fun_ie:1;
|
||||
/** reg_pad14_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad14_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad14_reg_t;
|
||||
|
||||
|
||||
/** Group: pad15 */
|
||||
/** Type of pad15 register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_pad15_drv : R/W; bitpos: [1:0]; default: 2;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad15_drv:2;
|
||||
/** reg_pad15_rde : R/W; bitpos: [2]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad15_rde:1;
|
||||
/** reg_pad15_rue : R/W; bitpos: [3]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_pad15_rue:1;
|
||||
/** reg_pad15_mux_sel : R/W; bitpos: [4]; default: 0;
|
||||
* 1:use LP GPIO,0: use digital GPIO
|
||||
*/
|
||||
uint32_t reg_pad15_mux_sel:1;
|
||||
/** reg_pad15_fun_sel : R/W; bitpos: [6:5]; default: 0;
|
||||
* function sel
|
||||
*/
|
||||
uint32_t reg_pad15_fun_sel:2;
|
||||
/** reg_pad15_slp_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1: enable sleep mode during sleep,0: no sleep mode
|
||||
*/
|
||||
uint32_t reg_pad15_slp_sel:1;
|
||||
/** reg_pad15_slp_ie : R/W; bitpos: [8]; default: 0;
|
||||
* input enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad15_slp_ie:1;
|
||||
/** reg_pad15_slp_oe : R/W; bitpos: [9]; default: 0;
|
||||
* output enable in sleep mode
|
||||
*/
|
||||
uint32_t reg_pad15_slp_oe:1;
|
||||
/** reg_pad15_fun_ie : R/W; bitpos: [10]; default: 0;
|
||||
* input enable in work mode
|
||||
*/
|
||||
uint32_t reg_pad15_fun_ie:1;
|
||||
/** reg_pad15_filter_en : R/W; bitpos: [11]; default: 0;
|
||||
* need des
|
||||
*/
|
||||
uint32_t reg_pad15_filter_en:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_pad15_reg_t;
|
||||
|
||||
|
||||
/** Group: ext_wakeup0_sel */
|
||||
/** Type of ext_wakeup0_sel register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_xtl_ext_ctr_sel : R/W; bitpos: [4:0]; default: 0;
|
||||
* select LP GPIO 0 ~ 15 to control XTAL
|
||||
*/
|
||||
uint32_t reg_xtl_ext_ctr_sel:5;
|
||||
/** reg_ext_wakeup0_sel : R/W; bitpos: [9:5]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_ext_wakeup0_sel:5;
|
||||
uint32_t reserved_10:22;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_ext_wakeup0_sel_reg_t;
|
||||
|
||||
|
||||
/** Group: lp_pad_hold */
|
||||
/** Type of lp_pad_hold register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_lp_gpio_hold : R/W; bitpos: [15:0]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_lp_gpio_hold:16;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_lp_pad_hold_reg_t;
|
||||
|
||||
|
||||
/** Group: lp_pad_hys */
|
||||
/** Type of lp_pad_hys register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_lp_gpio_hys : R/W; bitpos: [15:0]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_lp_gpio_hys:16;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_lp_pad_hys_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile lp_iomux_clk_en_reg_t clk_en;
|
||||
volatile lp_iomux_ver_date_reg_t ver_date;
|
||||
volatile lp_iomux_pad0_reg_t pad0;
|
||||
volatile lp_iomux_pad1_reg_t pad1;
|
||||
volatile lp_iomux_pad2_reg_t pad2;
|
||||
volatile lp_iomux_pad3_reg_t pad3;
|
||||
volatile lp_iomux_pad4_reg_t pad4;
|
||||
volatile lp_iomux_pad5_reg_t pad5;
|
||||
volatile lp_iomux_pad6_reg_t pad6;
|
||||
volatile lp_iomux_pad7_reg_t pad7;
|
||||
volatile lp_iomux_pad8_reg_t pad8;
|
||||
volatile lp_iomux_pad9_reg_t pad9;
|
||||
volatile lp_iomux_pad10_reg_t pad10;
|
||||
volatile lp_iomux_pad11_reg_t pad11;
|
||||
volatile lp_iomux_pad120_reg_t pad120;
|
||||
volatile lp_iomux_pad13_reg_t pad13;
|
||||
volatile lp_iomux_pad14_reg_t pad14;
|
||||
volatile lp_iomux_pad15_reg_t pad15;
|
||||
volatile lp_iomux_ext_wakeup0_sel_reg_t ext_wakeup0_sel;
|
||||
volatile lp_iomux_lp_pad_hold_reg_t lp_pad_hold;
|
||||
volatile lp_iomux_lp_pad_hys_reg_t lp_pad_hys;
|
||||
} lp_iomux_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(lp_iomux_dev_t) == 0x54, "Invalid size of lp_iomux_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
1156
components/soc/esp32p4/include/soc/lp_mailbox_reg.h
Normal file
1156
components/soc/esp32p4/include/soc/lp_mailbox_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
866
components/soc/esp32p4/include/soc/lp_mailbox_struct.h
Normal file
866
components/soc/esp32p4/include/soc/lp_mailbox_struct.h
Normal file
@ -0,0 +1,866 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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 massege_0 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_0:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_0_reg_t;
|
||||
|
||||
/** Type of massege_1 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_1 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_1:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_1_reg_t;
|
||||
|
||||
/** Type of massege_2 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_2 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_2:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_2_reg_t;
|
||||
|
||||
/** Type of massege_3 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_3 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_3:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_3_reg_t;
|
||||
|
||||
/** Type of massege_4 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_4 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_4:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_4_reg_t;
|
||||
|
||||
/** Type of massege_5 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_5 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_5:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_5_reg_t;
|
||||
|
||||
/** Type of massege_6 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_6 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_6:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_6_reg_t;
|
||||
|
||||
/** Type of massege_7 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_7 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_7:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_7_reg_t;
|
||||
|
||||
/** Type of massege_8 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_8 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_8:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_8_reg_t;
|
||||
|
||||
/** Type of massege_9 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_9 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_9:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_9_reg_t;
|
||||
|
||||
/** Type of massege_10 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_10 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_10:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_10_reg_t;
|
||||
|
||||
/** Type of massege_11 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_11 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_11:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_11_reg_t;
|
||||
|
||||
/** Type of massege_12 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_12 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_12:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_12_reg_t;
|
||||
|
||||
/** Type of massege_13 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_13 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_13:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_13_reg_t;
|
||||
|
||||
/** Type of massege_14 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_14 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_14:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_14_reg_t;
|
||||
|
||||
/** Type of massege_15 register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** massege_15 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t massege_15:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_massege_15_reg_t;
|
||||
|
||||
/** Type of reg_clk_en register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_clk_en : R/W; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t reg_clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_reg_clk_en_reg_t;
|
||||
|
||||
|
||||
/** Group: Interrupt Registers */
|
||||
/** Type of lp_int_raw register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** lp_0_int_raw : RO; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_0_int_raw:1;
|
||||
/** lp_1_int_raw : RO; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_1_int_raw:1;
|
||||
/** lp_2_int_raw : RO; bitpos: [2]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_2_int_raw:1;
|
||||
/** lp_3_int_raw : RO; bitpos: [3]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_3_int_raw:1;
|
||||
/** lp_4_int_raw : RO; bitpos: [4]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_4_int_raw:1;
|
||||
/** lp_5_int_raw : RO; bitpos: [5]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_5_int_raw:1;
|
||||
/** lp_6_int_raw : RO; bitpos: [6]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_6_int_raw:1;
|
||||
/** lp_7_int_raw : RO; bitpos: [7]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_7_int_raw:1;
|
||||
/** lp_8_int_raw : RO; bitpos: [8]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_8_int_raw:1;
|
||||
/** lp_9_int_raw : RO; bitpos: [9]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_9_int_raw:1;
|
||||
/** lp_10_int_raw : RO; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_10_int_raw:1;
|
||||
/** lp_11_int_raw : RO; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_11_int_raw:1;
|
||||
/** lp_12_int_raw : RO; bitpos: [12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_12_int_raw:1;
|
||||
/** lp_13_int_raw : RO; bitpos: [13]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_13_int_raw:1;
|
||||
/** lp_14_int_raw : RO; bitpos: [14]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_14_int_raw:1;
|
||||
/** lp_15_int_raw : RO; bitpos: [15]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_15_int_raw:1;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_lp_int_raw_reg_t;
|
||||
|
||||
/** Type of lp_int_st register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** lp_0_int_st : RO; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_0_int_st:1;
|
||||
/** lp_1_int_st : RO; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_1_int_st:1;
|
||||
/** lp_2_int_st : RO; bitpos: [2]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_2_int_st:1;
|
||||
/** lp_3_int_st : RO; bitpos: [3]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_3_int_st:1;
|
||||
/** lp_4_int_st : RO; bitpos: [4]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_4_int_st:1;
|
||||
/** lp_5_int_st : RO; bitpos: [5]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_5_int_st:1;
|
||||
/** lp_6_int_st : RO; bitpos: [6]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_6_int_st:1;
|
||||
/** lp_7_int_st : RO; bitpos: [7]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_7_int_st:1;
|
||||
/** lp_8_int_st : RO; bitpos: [8]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_8_int_st:1;
|
||||
/** lp_9_int_st : RO; bitpos: [9]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_9_int_st:1;
|
||||
/** lp_10_int_st : RO; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_10_int_st:1;
|
||||
/** lp_11_int_st : RO; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_11_int_st:1;
|
||||
/** lp_12_int_st : RO; bitpos: [12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_12_int_st:1;
|
||||
/** lp_13_int_st : RO; bitpos: [13]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_13_int_st:1;
|
||||
/** lp_14_int_st : RO; bitpos: [14]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_14_int_st:1;
|
||||
/** lp_15_int_st : RO; bitpos: [15]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_15_int_st:1;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_lp_int_st_reg_t;
|
||||
|
||||
/** Type of lp_int_ena register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** lp_0_int_ena : R/W; bitpos: [0]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_0_int_ena:1;
|
||||
/** lp_1_int_ena : R/W; bitpos: [1]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_1_int_ena:1;
|
||||
/** lp_2_int_ena : R/W; bitpos: [2]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_2_int_ena:1;
|
||||
/** lp_3_int_ena : R/W; bitpos: [3]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_3_int_ena:1;
|
||||
/** lp_4_int_ena : R/W; bitpos: [4]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_4_int_ena:1;
|
||||
/** lp_5_int_ena : R/W; bitpos: [5]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_5_int_ena:1;
|
||||
/** lp_6_int_ena : R/W; bitpos: [6]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_6_int_ena:1;
|
||||
/** lp_7_int_ena : R/W; bitpos: [7]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_7_int_ena:1;
|
||||
/** lp_8_int_ena : R/W; bitpos: [8]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_8_int_ena:1;
|
||||
/** lp_9_int_ena : R/W; bitpos: [9]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_9_int_ena:1;
|
||||
/** lp_10_int_ena : R/W; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_10_int_ena:1;
|
||||
/** lp_11_int_ena : R/W; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_11_int_ena:1;
|
||||
/** lp_12_int_ena : R/W; bitpos: [12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_12_int_ena:1;
|
||||
/** lp_13_int_ena : R/W; bitpos: [13]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_13_int_ena:1;
|
||||
/** lp_14_int_ena : R/W; bitpos: [14]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_14_int_ena:1;
|
||||
/** lp_15_int_ena : R/W; bitpos: [15]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_15_int_ena:1;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_lp_int_ena_reg_t;
|
||||
|
||||
/** Type of lp_int_clr register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** lp_0_int_clr : WO; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_0_int_clr:1;
|
||||
/** lp_1_int_clr : WO; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_1_int_clr:1;
|
||||
/** lp_2_int_clr : WO; bitpos: [2]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_2_int_clr:1;
|
||||
/** lp_3_int_clr : WO; bitpos: [3]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_3_int_clr:1;
|
||||
/** lp_4_int_clr : WO; bitpos: [4]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_4_int_clr:1;
|
||||
/** lp_5_int_clr : WO; bitpos: [5]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_5_int_clr:1;
|
||||
/** lp_6_int_clr : WO; bitpos: [6]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_6_int_clr:1;
|
||||
/** lp_7_int_clr : WO; bitpos: [7]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_7_int_clr:1;
|
||||
/** lp_8_int_clr : WO; bitpos: [8]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_8_int_clr:1;
|
||||
/** lp_9_int_clr : WO; bitpos: [9]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_9_int_clr:1;
|
||||
/** lp_10_int_clr : WO; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_10_int_clr:1;
|
||||
/** lp_11_int_clr : WO; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_11_int_clr:1;
|
||||
/** lp_12_int_clr : WO; bitpos: [12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_12_int_clr:1;
|
||||
/** lp_13_int_clr : WO; bitpos: [13]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_13_int_clr:1;
|
||||
/** lp_14_int_clr : WO; bitpos: [14]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_14_int_clr:1;
|
||||
/** lp_15_int_clr : WO; bitpos: [15]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_15_int_clr:1;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_lp_int_clr_reg_t;
|
||||
|
||||
/** Type of hp_int_raw register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** hp_0_int_raw : RO; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_0_int_raw:1;
|
||||
/** hp_1_int_raw : RO; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_1_int_raw:1;
|
||||
/** hp_2_int_raw : RO; bitpos: [2]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_2_int_raw:1;
|
||||
/** hp_3_int_raw : RO; bitpos: [3]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_3_int_raw:1;
|
||||
/** hp_4_int_raw : RO; bitpos: [4]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_4_int_raw:1;
|
||||
/** hp_5_int_raw : RO; bitpos: [5]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_5_int_raw:1;
|
||||
/** hp_6_int_raw : RO; bitpos: [6]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_6_int_raw:1;
|
||||
/** hp_7_int_raw : RO; bitpos: [7]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_7_int_raw:1;
|
||||
/** hp_8_int_raw : RO; bitpos: [8]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_8_int_raw:1;
|
||||
/** hp_9_int_raw : RO; bitpos: [9]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_9_int_raw:1;
|
||||
/** hp_10_int_raw : RO; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_10_int_raw:1;
|
||||
/** hp_11_int_raw : RO; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_11_int_raw:1;
|
||||
/** hp_12_int_raw : RO; bitpos: [12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_12_int_raw:1;
|
||||
/** hp_13_int_raw : RO; bitpos: [13]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_13_int_raw:1;
|
||||
/** hp_14_int_raw : RO; bitpos: [14]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_14_int_raw:1;
|
||||
/** hp_15_int_raw : RO; bitpos: [15]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_15_int_raw:1;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_hp_int_raw_reg_t;
|
||||
|
||||
/** Type of hp_int_st register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** hp_0_int_st : RO; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_0_int_st:1;
|
||||
/** hp_1_int_st : RO; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_1_int_st:1;
|
||||
/** hp_2_int_st : RO; bitpos: [2]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_2_int_st:1;
|
||||
/** hp_3_int_st : RO; bitpos: [3]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_3_int_st:1;
|
||||
/** hp_4_int_st : RO; bitpos: [4]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_4_int_st:1;
|
||||
/** hp_5_int_st : RO; bitpos: [5]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_5_int_st:1;
|
||||
/** hp_6_int_st : RO; bitpos: [6]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_6_int_st:1;
|
||||
/** hp_7_int_st : RO; bitpos: [7]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_7_int_st:1;
|
||||
/** hp_8_int_st : RO; bitpos: [8]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_8_int_st:1;
|
||||
/** hp_9_int_st : RO; bitpos: [9]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_9_int_st:1;
|
||||
/** hp_10_int_st : RO; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_10_int_st:1;
|
||||
/** hp_11_int_st : RO; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_11_int_st:1;
|
||||
/** hp_12_int_st : RO; bitpos: [12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_12_int_st:1;
|
||||
/** hp_13_int_st : RO; bitpos: [13]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_13_int_st:1;
|
||||
/** hp_14_int_st : RO; bitpos: [14]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_14_int_st:1;
|
||||
/** hp_15_int_st : RO; bitpos: [15]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_15_int_st:1;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_hp_int_st_reg_t;
|
||||
|
||||
/** Type of hp_int_ena register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** hp_0_int_ena : R/W; bitpos: [0]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_0_int_ena:1;
|
||||
/** hp_1_int_ena : R/W; bitpos: [1]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_1_int_ena:1;
|
||||
/** hp_2_int_ena : R/W; bitpos: [2]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_2_int_ena:1;
|
||||
/** hp_3_int_ena : R/W; bitpos: [3]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_3_int_ena:1;
|
||||
/** hp_4_int_ena : R/W; bitpos: [4]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_4_int_ena:1;
|
||||
/** hp_5_int_ena : R/W; bitpos: [5]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_5_int_ena:1;
|
||||
/** hp_6_int_ena : R/W; bitpos: [6]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_6_int_ena:1;
|
||||
/** hp_7_int_ena : R/W; bitpos: [7]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_7_int_ena:1;
|
||||
/** hp_8_int_ena : R/W; bitpos: [8]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_8_int_ena:1;
|
||||
/** hp_9_int_ena : R/W; bitpos: [9]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_9_int_ena:1;
|
||||
/** hp_10_int_ena : R/W; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_10_int_ena:1;
|
||||
/** hp_11_int_ena : R/W; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_11_int_ena:1;
|
||||
/** hp_12_int_ena : R/W; bitpos: [12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_12_int_ena:1;
|
||||
/** hp_13_int_ena : R/W; bitpos: [13]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_13_int_ena:1;
|
||||
/** hp_14_int_ena : R/W; bitpos: [14]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_14_int_ena:1;
|
||||
/** hp_15_int_ena : R/W; bitpos: [15]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_15_int_ena:1;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_hp_int_ena_reg_t;
|
||||
|
||||
/** Type of hp_int_clr register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** hp_0_int_clr : WO; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_0_int_clr:1;
|
||||
/** hp_1_int_clr : WO; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_1_int_clr:1;
|
||||
/** hp_2_int_clr : WO; bitpos: [2]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_2_int_clr:1;
|
||||
/** hp_3_int_clr : WO; bitpos: [3]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_3_int_clr:1;
|
||||
/** hp_4_int_clr : WO; bitpos: [4]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_4_int_clr:1;
|
||||
/** hp_5_int_clr : WO; bitpos: [5]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_5_int_clr:1;
|
||||
/** hp_6_int_clr : WO; bitpos: [6]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_6_int_clr:1;
|
||||
/** hp_7_int_clr : WO; bitpos: [7]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_7_int_clr:1;
|
||||
/** hp_8_int_clr : WO; bitpos: [8]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_8_int_clr:1;
|
||||
/** hp_9_int_clr : WO; bitpos: [9]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_9_int_clr:1;
|
||||
/** hp_10_int_clr : WO; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_10_int_clr:1;
|
||||
/** hp_11_int_clr : WO; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_11_int_clr:1;
|
||||
/** hp_12_int_clr : WO; bitpos: [12]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_12_int_clr:1;
|
||||
/** hp_13_int_clr : WO; bitpos: [13]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_13_int_clr:1;
|
||||
/** hp_14_int_clr : WO; bitpos: [14]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_14_int_clr:1;
|
||||
/** hp_15_int_clr : WO; bitpos: [15]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t hp_15_int_clr:1;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} mb_hp_int_clr_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile mb_massege_0_reg_t massege_0;
|
||||
volatile mb_massege_1_reg_t massege_1;
|
||||
volatile mb_massege_2_reg_t massege_2;
|
||||
volatile mb_massege_3_reg_t massege_3;
|
||||
volatile mb_massege_4_reg_t massege_4;
|
||||
volatile mb_massege_5_reg_t massege_5;
|
||||
volatile mb_massege_6_reg_t massege_6;
|
||||
volatile mb_massege_7_reg_t massege_7;
|
||||
volatile mb_massege_8_reg_t massege_8;
|
||||
volatile mb_massege_9_reg_t massege_9;
|
||||
volatile mb_massege_10_reg_t massege_10;
|
||||
volatile mb_massege_11_reg_t massege_11;
|
||||
volatile mb_massege_12_reg_t massege_12;
|
||||
volatile mb_massege_13_reg_t massege_13;
|
||||
volatile mb_massege_14_reg_t massege_14;
|
||||
volatile mb_massege_15_reg_t massege_15;
|
||||
volatile mb_lp_int_raw_reg_t lp_int_raw;
|
||||
volatile mb_lp_int_st_reg_t lp_int_st;
|
||||
volatile mb_lp_int_ena_reg_t lp_int_ena;
|
||||
volatile mb_lp_int_clr_reg_t lp_int_clr;
|
||||
volatile mb_hp_int_raw_reg_t hp_int_raw;
|
||||
volatile mb_hp_int_st_reg_t hp_int_st;
|
||||
volatile mb_hp_int_ena_reg_t hp_int_ena;
|
||||
volatile mb_hp_int_clr_reg_t hp_int_clr;
|
||||
volatile mb_reg_clk_en_reg_t reg_clk_en;
|
||||
} mb_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(mb_dev_t) == 0x64, "Invalid size of mb_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
301
components/soc/esp32p4/include/soc/lp_peri_pms_reg.h
Normal file
301
components/soc/esp32p4/include/soc/lp_peri_pms_reg.h
Normal file
@ -0,0 +1,301 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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
|
||||
|
||||
/** TEE_PMS_DATE_REG register
|
||||
* NA
|
||||
*/
|
||||
#define TEE_PMS_DATE_REG (DR_REG_TEE_BASE + 0x0)
|
||||
/** TEE_TEE_DATE : R/W; bitpos: [31:0]; default: 2294537;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_TEE_DATE 0xFFFFFFFFU
|
||||
#define TEE_TEE_DATE_M (TEE_TEE_DATE_V << TEE_TEE_DATE_S)
|
||||
#define TEE_TEE_DATE_V 0xFFFFFFFFU
|
||||
#define TEE_TEE_DATE_S 0
|
||||
|
||||
/** TEE_PMS_CLK_EN_REG register
|
||||
* NA
|
||||
*/
|
||||
#define TEE_PMS_CLK_EN_REG (DR_REG_TEE_BASE + 0x4)
|
||||
/** TEE_REG_CLK_EN : R/W; bitpos: [0]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_CLK_EN (BIT(0))
|
||||
#define TEE_REG_CLK_EN_M (TEE_REG_CLK_EN_V << TEE_REG_CLK_EN_S)
|
||||
#define TEE_REG_CLK_EN_V 0x00000001U
|
||||
#define TEE_REG_CLK_EN_S 0
|
||||
|
||||
/** TEE_LP_MM_PMS_REG0_REG register
|
||||
* NA
|
||||
*/
|
||||
#define TEE_LP_MM_PMS_REG0_REG (DR_REG_TEE_BASE + 0x8)
|
||||
/** TEE_REG_LP_MM_LP_SYSREG_ALLOW : R/W; bitpos: [0]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_SYSREG_ALLOW (BIT(0))
|
||||
#define TEE_REG_LP_MM_LP_SYSREG_ALLOW_M (TEE_REG_LP_MM_LP_SYSREG_ALLOW_V << TEE_REG_LP_MM_LP_SYSREG_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_SYSREG_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_SYSREG_ALLOW_S 0
|
||||
/** TEE_REG_LP_MM_LP_AONCLKRST_ALLOW : R/W; bitpos: [1]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_AONCLKRST_ALLOW (BIT(1))
|
||||
#define TEE_REG_LP_MM_LP_AONCLKRST_ALLOW_M (TEE_REG_LP_MM_LP_AONCLKRST_ALLOW_V << TEE_REG_LP_MM_LP_AONCLKRST_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_AONCLKRST_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_AONCLKRST_ALLOW_S 1
|
||||
/** TEE_REG_LP_MM_LP_TIMER_ALLOW : R/W; bitpos: [2]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_TIMER_ALLOW (BIT(2))
|
||||
#define TEE_REG_LP_MM_LP_TIMER_ALLOW_M (TEE_REG_LP_MM_LP_TIMER_ALLOW_V << TEE_REG_LP_MM_LP_TIMER_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_TIMER_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_TIMER_ALLOW_S 2
|
||||
/** TEE_REG_LP_MM_LP_ANAPERI_ALLOW : R/W; bitpos: [3]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_ANAPERI_ALLOW (BIT(3))
|
||||
#define TEE_REG_LP_MM_LP_ANAPERI_ALLOW_M (TEE_REG_LP_MM_LP_ANAPERI_ALLOW_V << TEE_REG_LP_MM_LP_ANAPERI_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_ANAPERI_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_ANAPERI_ALLOW_S 3
|
||||
/** TEE_REG_LP_MM_LP_PMU_ALLOW : R/W; bitpos: [4]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_PMU_ALLOW (BIT(4))
|
||||
#define TEE_REG_LP_MM_LP_PMU_ALLOW_M (TEE_REG_LP_MM_LP_PMU_ALLOW_V << TEE_REG_LP_MM_LP_PMU_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_PMU_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_PMU_ALLOW_S 4
|
||||
/** TEE_REG_LP_MM_LP_WDT_ALLOW : R/W; bitpos: [5]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_WDT_ALLOW (BIT(5))
|
||||
#define TEE_REG_LP_MM_LP_WDT_ALLOW_M (TEE_REG_LP_MM_LP_WDT_ALLOW_V << TEE_REG_LP_MM_LP_WDT_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_WDT_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_WDT_ALLOW_S 5
|
||||
/** TEE_REG_LP_MM_LP_MAILBOX_ALLOW : R/W; bitpos: [6]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_MAILBOX_ALLOW (BIT(6))
|
||||
#define TEE_REG_LP_MM_LP_MAILBOX_ALLOW_M (TEE_REG_LP_MM_LP_MAILBOX_ALLOW_V << TEE_REG_LP_MM_LP_MAILBOX_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_MAILBOX_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_MAILBOX_ALLOW_S 6
|
||||
/** TEE_REG_LP_MM_LP_RTC_ALLOW : R/W; bitpos: [7]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_RTC_ALLOW (BIT(7))
|
||||
#define TEE_REG_LP_MM_LP_RTC_ALLOW_M (TEE_REG_LP_MM_LP_RTC_ALLOW_V << TEE_REG_LP_MM_LP_RTC_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_RTC_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_RTC_ALLOW_S 7
|
||||
/** TEE_REG_LP_MM_LP_PERICLKRST_ALLOW : R/W; bitpos: [8]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_PERICLKRST_ALLOW (BIT(8))
|
||||
#define TEE_REG_LP_MM_LP_PERICLKRST_ALLOW_M (TEE_REG_LP_MM_LP_PERICLKRST_ALLOW_V << TEE_REG_LP_MM_LP_PERICLKRST_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_PERICLKRST_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_PERICLKRST_ALLOW_S 8
|
||||
/** TEE_REG_LP_MM_LP_UART_ALLOW : R/W; bitpos: [9]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_UART_ALLOW (BIT(9))
|
||||
#define TEE_REG_LP_MM_LP_UART_ALLOW_M (TEE_REG_LP_MM_LP_UART_ALLOW_V << TEE_REG_LP_MM_LP_UART_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_UART_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_UART_ALLOW_S 9
|
||||
/** TEE_REG_LP_MM_LP_I2C_ALLOW : R/W; bitpos: [10]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_I2C_ALLOW (BIT(10))
|
||||
#define TEE_REG_LP_MM_LP_I2C_ALLOW_M (TEE_REG_LP_MM_LP_I2C_ALLOW_V << TEE_REG_LP_MM_LP_I2C_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_I2C_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_I2C_ALLOW_S 10
|
||||
/** TEE_REG_LP_MM_LP_SPI_ALLOW : R/W; bitpos: [11]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_SPI_ALLOW (BIT(11))
|
||||
#define TEE_REG_LP_MM_LP_SPI_ALLOW_M (TEE_REG_LP_MM_LP_SPI_ALLOW_V << TEE_REG_LP_MM_LP_SPI_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_SPI_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_SPI_ALLOW_S 11
|
||||
/** TEE_REG_LP_MM_LP_I2CMST_ALLOW : R/W; bitpos: [12]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_I2CMST_ALLOW (BIT(12))
|
||||
#define TEE_REG_LP_MM_LP_I2CMST_ALLOW_M (TEE_REG_LP_MM_LP_I2CMST_ALLOW_V << TEE_REG_LP_MM_LP_I2CMST_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_I2CMST_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_I2CMST_ALLOW_S 12
|
||||
/** TEE_REG_LP_MM_LP_I2S_ALLOW : R/W; bitpos: [13]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_I2S_ALLOW (BIT(13))
|
||||
#define TEE_REG_LP_MM_LP_I2S_ALLOW_M (TEE_REG_LP_MM_LP_I2S_ALLOW_V << TEE_REG_LP_MM_LP_I2S_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_I2S_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_I2S_ALLOW_S 13
|
||||
/** TEE_REG_LP_MM_LP_ADC_ALLOW : R/W; bitpos: [14]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_ADC_ALLOW (BIT(14))
|
||||
#define TEE_REG_LP_MM_LP_ADC_ALLOW_M (TEE_REG_LP_MM_LP_ADC_ALLOW_V << TEE_REG_LP_MM_LP_ADC_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_ADC_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_ADC_ALLOW_S 14
|
||||
/** TEE_REG_LP_MM_LP_TOUCH_ALLOW : R/W; bitpos: [15]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_TOUCH_ALLOW (BIT(15))
|
||||
#define TEE_REG_LP_MM_LP_TOUCH_ALLOW_M (TEE_REG_LP_MM_LP_TOUCH_ALLOW_V << TEE_REG_LP_MM_LP_TOUCH_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_TOUCH_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_TOUCH_ALLOW_S 15
|
||||
/** TEE_REG_LP_MM_LP_IOMUX_ALLOW : R/W; bitpos: [16]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_IOMUX_ALLOW (BIT(16))
|
||||
#define TEE_REG_LP_MM_LP_IOMUX_ALLOW_M (TEE_REG_LP_MM_LP_IOMUX_ALLOW_V << TEE_REG_LP_MM_LP_IOMUX_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_IOMUX_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_IOMUX_ALLOW_S 16
|
||||
/** TEE_REG_LP_MM_LP_INTR_ALLOW : R/W; bitpos: [17]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_INTR_ALLOW (BIT(17))
|
||||
#define TEE_REG_LP_MM_LP_INTR_ALLOW_M (TEE_REG_LP_MM_LP_INTR_ALLOW_V << TEE_REG_LP_MM_LP_INTR_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_INTR_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_INTR_ALLOW_S 17
|
||||
/** TEE_REG_LP_MM_LP_EFUSE_ALLOW : R/W; bitpos: [18]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_EFUSE_ALLOW (BIT(18))
|
||||
#define TEE_REG_LP_MM_LP_EFUSE_ALLOW_M (TEE_REG_LP_MM_LP_EFUSE_ALLOW_V << TEE_REG_LP_MM_LP_EFUSE_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_EFUSE_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_EFUSE_ALLOW_S 18
|
||||
/** TEE_REG_LP_MM_LP_PMS_ALLOW : R/W; bitpos: [19]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_PMS_ALLOW (BIT(19))
|
||||
#define TEE_REG_LP_MM_LP_PMS_ALLOW_M (TEE_REG_LP_MM_LP_PMS_ALLOW_V << TEE_REG_LP_MM_LP_PMS_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_PMS_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_PMS_ALLOW_S 19
|
||||
/** TEE_REG_LP_MM_HP2LP_PMS_ALLOW : R/W; bitpos: [20]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_HP2LP_PMS_ALLOW (BIT(20))
|
||||
#define TEE_REG_LP_MM_HP2LP_PMS_ALLOW_M (TEE_REG_LP_MM_HP2LP_PMS_ALLOW_V << TEE_REG_LP_MM_HP2LP_PMS_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_HP2LP_PMS_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_HP2LP_PMS_ALLOW_S 20
|
||||
/** TEE_REG_LP_MM_LP_TSENS_ALLOW : R/W; bitpos: [21]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_TSENS_ALLOW (BIT(21))
|
||||
#define TEE_REG_LP_MM_LP_TSENS_ALLOW_M (TEE_REG_LP_MM_LP_TSENS_ALLOW_V << TEE_REG_LP_MM_LP_TSENS_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_TSENS_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_TSENS_ALLOW_S 21
|
||||
/** TEE_REG_LP_MM_LP_HUK_ALLOW : R/W; bitpos: [22]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_HUK_ALLOW (BIT(22))
|
||||
#define TEE_REG_LP_MM_LP_HUK_ALLOW_M (TEE_REG_LP_MM_LP_HUK_ALLOW_V << TEE_REG_LP_MM_LP_HUK_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_HUK_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_HUK_ALLOW_S 22
|
||||
/** TEE_REG_LP_MM_LP_TCM_RAM_ALLOW : R/W; bitpos: [23]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_MM_LP_TCM_RAM_ALLOW (BIT(23))
|
||||
#define TEE_REG_LP_MM_LP_TCM_RAM_ALLOW_M (TEE_REG_LP_MM_LP_TCM_RAM_ALLOW_V << TEE_REG_LP_MM_LP_TCM_RAM_ALLOW_S)
|
||||
#define TEE_REG_LP_MM_LP_TCM_RAM_ALLOW_V 0x00000001U
|
||||
#define TEE_REG_LP_MM_LP_TCM_RAM_ALLOW_S 23
|
||||
|
||||
/** TEE_PERI_REGION0_LOW_REG register
|
||||
* NA
|
||||
*/
|
||||
#define TEE_PERI_REGION0_LOW_REG (DR_REG_TEE_BASE + 0xc)
|
||||
/** TEE_REG_PERI_REGION0_LOW : R/W; bitpos: [31:2]; default: 0;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_PERI_REGION0_LOW 0x3FFFFFFFU
|
||||
#define TEE_REG_PERI_REGION0_LOW_M (TEE_REG_PERI_REGION0_LOW_V << TEE_REG_PERI_REGION0_LOW_S)
|
||||
#define TEE_REG_PERI_REGION0_LOW_V 0x3FFFFFFFU
|
||||
#define TEE_REG_PERI_REGION0_LOW_S 2
|
||||
|
||||
/** TEE_PERI_REGION0_HIGH_REG register
|
||||
* NA
|
||||
*/
|
||||
#define TEE_PERI_REGION0_HIGH_REG (DR_REG_TEE_BASE + 0x10)
|
||||
/** TEE_REG_PERI_REGION0_HIGH : R/W; bitpos: [31:2]; default: 1073741823;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_PERI_REGION0_HIGH 0x3FFFFFFFU
|
||||
#define TEE_REG_PERI_REGION0_HIGH_M (TEE_REG_PERI_REGION0_HIGH_V << TEE_REG_PERI_REGION0_HIGH_S)
|
||||
#define TEE_REG_PERI_REGION0_HIGH_V 0x3FFFFFFFU
|
||||
#define TEE_REG_PERI_REGION0_HIGH_S 2
|
||||
|
||||
/** TEE_PERI_REGION1_LOW_REG register
|
||||
* NA
|
||||
*/
|
||||
#define TEE_PERI_REGION1_LOW_REG (DR_REG_TEE_BASE + 0x14)
|
||||
/** TEE_REG_PERI_REGION1_LOW : R/W; bitpos: [31:2]; default: 0;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_PERI_REGION1_LOW 0x3FFFFFFFU
|
||||
#define TEE_REG_PERI_REGION1_LOW_M (TEE_REG_PERI_REGION1_LOW_V << TEE_REG_PERI_REGION1_LOW_S)
|
||||
#define TEE_REG_PERI_REGION1_LOW_V 0x3FFFFFFFU
|
||||
#define TEE_REG_PERI_REGION1_LOW_S 2
|
||||
|
||||
/** TEE_PERI_REGION1_HIGH_REG register
|
||||
* NA
|
||||
*/
|
||||
#define TEE_PERI_REGION1_HIGH_REG (DR_REG_TEE_BASE + 0x18)
|
||||
/** TEE_REG_PERI_REGION1_HIGH : R/W; bitpos: [31:2]; default: 1073741823;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_PERI_REGION1_HIGH 0x3FFFFFFFU
|
||||
#define TEE_REG_PERI_REGION1_HIGH_M (TEE_REG_PERI_REGION1_HIGH_V << TEE_REG_PERI_REGION1_HIGH_S)
|
||||
#define TEE_REG_PERI_REGION1_HIGH_V 0x3FFFFFFFU
|
||||
#define TEE_REG_PERI_REGION1_HIGH_S 2
|
||||
|
||||
/** TEE_PERI_REGION_PMS_REG register
|
||||
* NA
|
||||
*/
|
||||
#define TEE_PERI_REGION_PMS_REG (DR_REG_TEE_BASE + 0x1c)
|
||||
/** TEE_REG_LP_CORE_REGION_PMS : R/W; bitpos: [1:0]; default: 3;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_LP_CORE_REGION_PMS 0x00000003U
|
||||
#define TEE_REG_LP_CORE_REGION_PMS_M (TEE_REG_LP_CORE_REGION_PMS_V << TEE_REG_LP_CORE_REGION_PMS_S)
|
||||
#define TEE_REG_LP_CORE_REGION_PMS_V 0x00000003U
|
||||
#define TEE_REG_LP_CORE_REGION_PMS_S 0
|
||||
/** TEE_REG_HP_CORE0_UM_REGION_PMS : R/W; bitpos: [3:2]; default: 3;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_HP_CORE0_UM_REGION_PMS 0x00000003U
|
||||
#define TEE_REG_HP_CORE0_UM_REGION_PMS_M (TEE_REG_HP_CORE0_UM_REGION_PMS_V << TEE_REG_HP_CORE0_UM_REGION_PMS_S)
|
||||
#define TEE_REG_HP_CORE0_UM_REGION_PMS_V 0x00000003U
|
||||
#define TEE_REG_HP_CORE0_UM_REGION_PMS_S 2
|
||||
/** TEE_REG_HP_CORE0_MM_REGION_PMS : R/W; bitpos: [5:4]; default: 3;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_HP_CORE0_MM_REGION_PMS 0x00000003U
|
||||
#define TEE_REG_HP_CORE0_MM_REGION_PMS_M (TEE_REG_HP_CORE0_MM_REGION_PMS_V << TEE_REG_HP_CORE0_MM_REGION_PMS_S)
|
||||
#define TEE_REG_HP_CORE0_MM_REGION_PMS_V 0x00000003U
|
||||
#define TEE_REG_HP_CORE0_MM_REGION_PMS_S 4
|
||||
/** TEE_REG_HP_CORE1_UM_REGION_PMS : R/W; bitpos: [7:6]; default: 3;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_HP_CORE1_UM_REGION_PMS 0x00000003U
|
||||
#define TEE_REG_HP_CORE1_UM_REGION_PMS_M (TEE_REG_HP_CORE1_UM_REGION_PMS_V << TEE_REG_HP_CORE1_UM_REGION_PMS_S)
|
||||
#define TEE_REG_HP_CORE1_UM_REGION_PMS_V 0x00000003U
|
||||
#define TEE_REG_HP_CORE1_UM_REGION_PMS_S 6
|
||||
/** TEE_REG_HP_CORE1_MM_REGION_PMS : R/W; bitpos: [9:8]; default: 3;
|
||||
* NA
|
||||
*/
|
||||
#define TEE_REG_HP_CORE1_MM_REGION_PMS 0x00000003U
|
||||
#define TEE_REG_HP_CORE1_MM_REGION_PMS_M (TEE_REG_HP_CORE1_MM_REGION_PMS_V << TEE_REG_HP_CORE1_MM_REGION_PMS_S)
|
||||
#define TEE_REG_HP_CORE1_MM_REGION_PMS_V 0x00000003U
|
||||
#define TEE_REG_HP_CORE1_MM_REGION_PMS_S 8
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
266
components/soc/esp32p4/include/soc/lp_peri_pms_struct.h
Normal file
266
components/soc/esp32p4/include/soc/lp_peri_pms_struct.h
Normal file
@ -0,0 +1,266 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: TEE PMS DATE REG */
|
||||
/** Type of pms_date register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tee_date : R/W; bitpos: [31:0]; default: 2294537;
|
||||
* NA
|
||||
*/
|
||||
uint32_t tee_date:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} tee_pms_date_reg_t;
|
||||
|
||||
|
||||
/** Group: TEE PMS CLK EN REG */
|
||||
/** Type of pms_clk_en register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_clk_en : R/W; bitpos: [0]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} tee_pms_clk_en_reg_t;
|
||||
|
||||
|
||||
/** Group: TEE LP MM PMS REG0 REG */
|
||||
/** Type of lp_mm_pms_reg0 register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_lp_mm_lp_sysreg_allow : R/W; bitpos: [0]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_sysreg_allow:1;
|
||||
/** reg_lp_mm_lp_aonclkrst_allow : R/W; bitpos: [1]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_aonclkrst_allow:1;
|
||||
/** reg_lp_mm_lp_timer_allow : R/W; bitpos: [2]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_timer_allow:1;
|
||||
/** reg_lp_mm_lp_anaperi_allow : R/W; bitpos: [3]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_anaperi_allow:1;
|
||||
/** reg_lp_mm_lp_pmu_allow : R/W; bitpos: [4]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_pmu_allow:1;
|
||||
/** reg_lp_mm_lp_wdt_allow : R/W; bitpos: [5]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_wdt_allow:1;
|
||||
/** reg_lp_mm_lp_mailbox_allow : R/W; bitpos: [6]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_mailbox_allow:1;
|
||||
/** reg_lp_mm_lp_rtc_allow : R/W; bitpos: [7]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_rtc_allow:1;
|
||||
/** reg_lp_mm_lp_periclkrst_allow : R/W; bitpos: [8]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_periclkrst_allow:1;
|
||||
/** reg_lp_mm_lp_uart_allow : R/W; bitpos: [9]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_uart_allow:1;
|
||||
/** reg_lp_mm_lp_i2c_allow : R/W; bitpos: [10]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_i2c_allow:1;
|
||||
/** reg_lp_mm_lp_spi_allow : R/W; bitpos: [11]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_spi_allow:1;
|
||||
/** reg_lp_mm_lp_i2cmst_allow : R/W; bitpos: [12]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_i2cmst_allow:1;
|
||||
/** reg_lp_mm_lp_i2s_allow : R/W; bitpos: [13]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_i2s_allow:1;
|
||||
/** reg_lp_mm_lp_adc_allow : R/W; bitpos: [14]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_adc_allow:1;
|
||||
/** reg_lp_mm_lp_touch_allow : R/W; bitpos: [15]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_touch_allow:1;
|
||||
/** reg_lp_mm_lp_iomux_allow : R/W; bitpos: [16]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_iomux_allow:1;
|
||||
/** reg_lp_mm_lp_intr_allow : R/W; bitpos: [17]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_intr_allow:1;
|
||||
/** reg_lp_mm_lp_efuse_allow : R/W; bitpos: [18]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_efuse_allow:1;
|
||||
/** reg_lp_mm_lp_pms_allow : R/W; bitpos: [19]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_pms_allow:1;
|
||||
/** reg_lp_mm_hp2lp_pms_allow : R/W; bitpos: [20]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_hp2lp_pms_allow:1;
|
||||
/** reg_lp_mm_lp_tsens_allow : R/W; bitpos: [21]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_tsens_allow:1;
|
||||
/** reg_lp_mm_lp_huk_allow : R/W; bitpos: [22]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_huk_allow:1;
|
||||
/** reg_lp_mm_lp_tcm_ram_allow : R/W; bitpos: [23]; default: 1;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_mm_lp_tcm_ram_allow:1;
|
||||
uint32_t reserved_24:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} tee_lp_mm_pms_reg0_reg_t;
|
||||
|
||||
|
||||
/** Group: TEE PERI REGION0 LOW REG */
|
||||
/** Type of peri_region0_low register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:2;
|
||||
/** reg_peri_region0_low : R/W; bitpos: [31:2]; default: 0;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_peri_region0_low:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} tee_peri_region0_low_reg_t;
|
||||
|
||||
|
||||
/** Group: TEE PERI REGION0 HIGH REG */
|
||||
/** Type of peri_region0_high register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:2;
|
||||
/** reg_peri_region0_high : R/W; bitpos: [31:2]; default: 1073741823;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_peri_region0_high:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} tee_peri_region0_high_reg_t;
|
||||
|
||||
|
||||
/** Group: TEE PERI REGION1 LOW REG */
|
||||
/** Type of peri_region1_low register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:2;
|
||||
/** reg_peri_region1_low : R/W; bitpos: [31:2]; default: 0;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_peri_region1_low:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} tee_peri_region1_low_reg_t;
|
||||
|
||||
|
||||
/** Group: TEE PERI REGION1 HIGH REG */
|
||||
/** Type of peri_region1_high register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:2;
|
||||
/** reg_peri_region1_high : R/W; bitpos: [31:2]; default: 1073741823;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_peri_region1_high:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} tee_peri_region1_high_reg_t;
|
||||
|
||||
|
||||
/** Group: TEE PERI REGION PMS REG */
|
||||
/** Type of peri_region_pms register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_lp_core_region_pms : R/W; bitpos: [1:0]; default: 3;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_lp_core_region_pms:2;
|
||||
/** reg_hp_core0_um_region_pms : R/W; bitpos: [3:2]; default: 3;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_hp_core0_um_region_pms:2;
|
||||
/** reg_hp_core0_mm_region_pms : R/W; bitpos: [5:4]; default: 3;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_hp_core0_mm_region_pms:2;
|
||||
/** reg_hp_core1_um_region_pms : R/W; bitpos: [7:6]; default: 3;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_hp_core1_um_region_pms:2;
|
||||
/** reg_hp_core1_mm_region_pms : R/W; bitpos: [9:8]; default: 3;
|
||||
* NA
|
||||
*/
|
||||
uint32_t reg_hp_core1_mm_region_pms:2;
|
||||
uint32_t reserved_10:22;
|
||||
};
|
||||
uint32_t val;
|
||||
} tee_peri_region_pms_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile tee_pms_date_reg_t pms_date;
|
||||
volatile tee_pms_clk_en_reg_t pms_clk_en;
|
||||
volatile tee_lp_mm_pms_reg0_reg_t lp_mm_pms_reg0;
|
||||
volatile tee_peri_region0_low_reg_t peri_region0_low;
|
||||
volatile tee_peri_region0_high_reg_t peri_region0_high;
|
||||
volatile tee_peri_region1_low_reg_t peri_region1_low;
|
||||
volatile tee_peri_region1_high_reg_t peri_region1_high;
|
||||
volatile tee_peri_region_pms_reg_t peri_region_pms;
|
||||
} tee_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(tee_dev_t) == 0x20, "Invalid size of tee_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
463
components/soc/esp32p4/include/soc/lp_peri_reg.h
Normal file
463
components/soc/esp32p4/include/soc/lp_peri_reg.h
Normal file
@ -0,0 +1,463 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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_CK_EN_RNG : R/W; bitpos: [16]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_RNG (BIT(16))
|
||||
#define LPPERI_CK_EN_RNG_M (LPPERI_CK_EN_RNG_V << LPPERI_CK_EN_RNG_S)
|
||||
#define LPPERI_CK_EN_RNG_V 0x00000001U
|
||||
#define LPPERI_CK_EN_RNG_S 16
|
||||
/** LPPERI_CK_EN_LP_TSENS : R/W; bitpos: [17]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_TSENS (BIT(17))
|
||||
#define LPPERI_CK_EN_LP_TSENS_M (LPPERI_CK_EN_LP_TSENS_V << LPPERI_CK_EN_LP_TSENS_S)
|
||||
#define LPPERI_CK_EN_LP_TSENS_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_TSENS_S 17
|
||||
/** LPPERI_CK_EN_LP_PMS : R/W; bitpos: [18]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_PMS (BIT(18))
|
||||
#define LPPERI_CK_EN_LP_PMS_M (LPPERI_CK_EN_LP_PMS_V << LPPERI_CK_EN_LP_PMS_S)
|
||||
#define LPPERI_CK_EN_LP_PMS_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_PMS_S 18
|
||||
/** LPPERI_CK_EN_LP_EFUSE : R/W; bitpos: [19]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_EFUSE (BIT(19))
|
||||
#define LPPERI_CK_EN_LP_EFUSE_M (LPPERI_CK_EN_LP_EFUSE_V << LPPERI_CK_EN_LP_EFUSE_S)
|
||||
#define LPPERI_CK_EN_LP_EFUSE_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_EFUSE_S 19
|
||||
/** LPPERI_CK_EN_LP_IOMUX : R/W; bitpos: [20]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_IOMUX (BIT(20))
|
||||
#define LPPERI_CK_EN_LP_IOMUX_M (LPPERI_CK_EN_LP_IOMUX_V << LPPERI_CK_EN_LP_IOMUX_S)
|
||||
#define LPPERI_CK_EN_LP_IOMUX_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_IOMUX_S 20
|
||||
/** LPPERI_CK_EN_LP_TOUCH : R/W; bitpos: [21]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_TOUCH (BIT(21))
|
||||
#define LPPERI_CK_EN_LP_TOUCH_M (LPPERI_CK_EN_LP_TOUCH_V << LPPERI_CK_EN_LP_TOUCH_S)
|
||||
#define LPPERI_CK_EN_LP_TOUCH_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_TOUCH_S 21
|
||||
/** LPPERI_CK_EN_LP_SPI : R/W; bitpos: [22]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_SPI (BIT(22))
|
||||
#define LPPERI_CK_EN_LP_SPI_M (LPPERI_CK_EN_LP_SPI_V << LPPERI_CK_EN_LP_SPI_S)
|
||||
#define LPPERI_CK_EN_LP_SPI_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_SPI_S 22
|
||||
/** LPPERI_CK_EN_LP_ADC : R/W; bitpos: [23]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_ADC (BIT(23))
|
||||
#define LPPERI_CK_EN_LP_ADC_M (LPPERI_CK_EN_LP_ADC_V << LPPERI_CK_EN_LP_ADC_S)
|
||||
#define LPPERI_CK_EN_LP_ADC_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_ADC_S 23
|
||||
/** LPPERI_CK_EN_LP_I2S_TX : R/W; bitpos: [24]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_I2S_TX (BIT(24))
|
||||
#define LPPERI_CK_EN_LP_I2S_TX_M (LPPERI_CK_EN_LP_I2S_TX_V << LPPERI_CK_EN_LP_I2S_TX_S)
|
||||
#define LPPERI_CK_EN_LP_I2S_TX_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_I2S_TX_S 24
|
||||
/** LPPERI_CK_EN_LP_I2S_RX : R/W; bitpos: [25]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_I2S_RX (BIT(25))
|
||||
#define LPPERI_CK_EN_LP_I2S_RX_M (LPPERI_CK_EN_LP_I2S_RX_V << LPPERI_CK_EN_LP_I2S_RX_S)
|
||||
#define LPPERI_CK_EN_LP_I2S_RX_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_I2S_RX_S 25
|
||||
/** LPPERI_CK_EN_LP_I2S : R/W; bitpos: [26]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_I2S (BIT(26))
|
||||
#define LPPERI_CK_EN_LP_I2S_M (LPPERI_CK_EN_LP_I2S_V << LPPERI_CK_EN_LP_I2S_S)
|
||||
#define LPPERI_CK_EN_LP_I2S_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_I2S_S 26
|
||||
/** LPPERI_CK_EN_LP_I2CMST : R/W; bitpos: [27]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_I2CMST (BIT(27))
|
||||
#define LPPERI_CK_EN_LP_I2CMST_M (LPPERI_CK_EN_LP_I2CMST_V << LPPERI_CK_EN_LP_I2CMST_S)
|
||||
#define LPPERI_CK_EN_LP_I2CMST_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_I2CMST_S 27
|
||||
/** LPPERI_CK_EN_LP_I2C : R/W; bitpos: [28]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_I2C (BIT(28))
|
||||
#define LPPERI_CK_EN_LP_I2C_M (LPPERI_CK_EN_LP_I2C_V << LPPERI_CK_EN_LP_I2C_S)
|
||||
#define LPPERI_CK_EN_LP_I2C_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_I2C_S 28
|
||||
/** LPPERI_CK_EN_LP_UART : R/W; bitpos: [29]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_UART (BIT(29))
|
||||
#define LPPERI_CK_EN_LP_UART_M (LPPERI_CK_EN_LP_UART_V << LPPERI_CK_EN_LP_UART_S)
|
||||
#define LPPERI_CK_EN_LP_UART_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_UART_S 29
|
||||
/** LPPERI_CK_EN_LP_INTR : R/W; bitpos: [30]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_INTR (BIT(30))
|
||||
#define LPPERI_CK_EN_LP_INTR_M (LPPERI_CK_EN_LP_INTR_V << LPPERI_CK_EN_LP_INTR_S)
|
||||
#define LPPERI_CK_EN_LP_INTR_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_INTR_S 30
|
||||
/** LPPERI_CK_EN_LP_CORE : R/W; bitpos: [31]; default: 0;
|
||||
* write 1 to force on lp_core clk
|
||||
*/
|
||||
#define LPPERI_CK_EN_LP_CORE (BIT(31))
|
||||
#define LPPERI_CK_EN_LP_CORE_M (LPPERI_CK_EN_LP_CORE_V << LPPERI_CK_EN_LP_CORE_S)
|
||||
#define LPPERI_CK_EN_LP_CORE_V 0x00000001U
|
||||
#define LPPERI_CK_EN_LP_CORE_S 31
|
||||
|
||||
/** LPPERI_CORE_CLK_SEL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CORE_CLK_SEL_REG (DR_REG_LPPERI_BASE + 0x4)
|
||||
/** LPPERI_LP_I2S_TX_CLK_SEL : R/W; bitpos: [25:24]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_TX_CLK_SEL 0x00000003U
|
||||
#define LPPERI_LP_I2S_TX_CLK_SEL_M (LPPERI_LP_I2S_TX_CLK_SEL_V << LPPERI_LP_I2S_TX_CLK_SEL_S)
|
||||
#define LPPERI_LP_I2S_TX_CLK_SEL_V 0x00000003U
|
||||
#define LPPERI_LP_I2S_TX_CLK_SEL_S 24
|
||||
/** LPPERI_LP_I2S_RX_CLK_SEL : R/W; bitpos: [27:26]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_RX_CLK_SEL 0x00000003U
|
||||
#define LPPERI_LP_I2S_RX_CLK_SEL_M (LPPERI_LP_I2S_RX_CLK_SEL_V << LPPERI_LP_I2S_RX_CLK_SEL_S)
|
||||
#define LPPERI_LP_I2S_RX_CLK_SEL_V 0x00000003U
|
||||
#define LPPERI_LP_I2S_RX_CLK_SEL_S 26
|
||||
/** LPPERI_LP_I2C_CLK_SEL : R/W; bitpos: [29:28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2C_CLK_SEL 0x00000003U
|
||||
#define LPPERI_LP_I2C_CLK_SEL_M (LPPERI_LP_I2C_CLK_SEL_V << LPPERI_LP_I2C_CLK_SEL_S)
|
||||
#define LPPERI_LP_I2C_CLK_SEL_V 0x00000003U
|
||||
#define LPPERI_LP_I2C_CLK_SEL_S 28
|
||||
/** LPPERI_LP_UART_CLK_SEL : R/W; bitpos: [31:30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_UART_CLK_SEL 0x00000003U
|
||||
#define LPPERI_LP_UART_CLK_SEL_M (LPPERI_LP_UART_CLK_SEL_V << LPPERI_LP_UART_CLK_SEL_S)
|
||||
#define LPPERI_LP_UART_CLK_SEL_V 0x00000003U
|
||||
#define LPPERI_LP_UART_CLK_SEL_S 30
|
||||
|
||||
/** LPPERI_RESET_EN_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RESET_EN_REG (DR_REG_LPPERI_BASE + 0x8)
|
||||
/** LPPERI_RST_EN_LP_TSENS : R/W; bitpos: [18]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RST_EN_LP_TSENS (BIT(18))
|
||||
#define LPPERI_RST_EN_LP_TSENS_M (LPPERI_RST_EN_LP_TSENS_V << LPPERI_RST_EN_LP_TSENS_S)
|
||||
#define LPPERI_RST_EN_LP_TSENS_V 0x00000001U
|
||||
#define LPPERI_RST_EN_LP_TSENS_S 18
|
||||
/** LPPERI_RST_EN_LP_PMS : R/W; bitpos: [19]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RST_EN_LP_PMS (BIT(19))
|
||||
#define LPPERI_RST_EN_LP_PMS_M (LPPERI_RST_EN_LP_PMS_V << LPPERI_RST_EN_LP_PMS_S)
|
||||
#define LPPERI_RST_EN_LP_PMS_V 0x00000001U
|
||||
#define LPPERI_RST_EN_LP_PMS_S 19
|
||||
/** LPPERI_RST_EN_LP_EFUSE : R/W; bitpos: [20]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RST_EN_LP_EFUSE (BIT(20))
|
||||
#define LPPERI_RST_EN_LP_EFUSE_M (LPPERI_RST_EN_LP_EFUSE_V << LPPERI_RST_EN_LP_EFUSE_S)
|
||||
#define LPPERI_RST_EN_LP_EFUSE_V 0x00000001U
|
||||
#define LPPERI_RST_EN_LP_EFUSE_S 20
|
||||
/** LPPERI_RST_EN_LP_IOMUX : R/W; bitpos: [21]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RST_EN_LP_IOMUX (BIT(21))
|
||||
#define LPPERI_RST_EN_LP_IOMUX_M (LPPERI_RST_EN_LP_IOMUX_V << LPPERI_RST_EN_LP_IOMUX_S)
|
||||
#define LPPERI_RST_EN_LP_IOMUX_V 0x00000001U
|
||||
#define LPPERI_RST_EN_LP_IOMUX_S 21
|
||||
/** LPPERI_RST_EN_LP_TOUCH : R/W; bitpos: [22]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RST_EN_LP_TOUCH (BIT(22))
|
||||
#define LPPERI_RST_EN_LP_TOUCH_M (LPPERI_RST_EN_LP_TOUCH_V << LPPERI_RST_EN_LP_TOUCH_S)
|
||||
#define LPPERI_RST_EN_LP_TOUCH_V 0x00000001U
|
||||
#define LPPERI_RST_EN_LP_TOUCH_S 22
|
||||
/** LPPERI_RST_EN_LP_SPI : R/W; bitpos: [23]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RST_EN_LP_SPI (BIT(23))
|
||||
#define LPPERI_RST_EN_LP_SPI_M (LPPERI_RST_EN_LP_SPI_V << LPPERI_RST_EN_LP_SPI_S)
|
||||
#define LPPERI_RST_EN_LP_SPI_V 0x00000001U
|
||||
#define LPPERI_RST_EN_LP_SPI_S 23
|
||||
/** LPPERI_RST_EN_LP_ADC : R/W; bitpos: [24]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RST_EN_LP_ADC (BIT(24))
|
||||
#define LPPERI_RST_EN_LP_ADC_M (LPPERI_RST_EN_LP_ADC_V << LPPERI_RST_EN_LP_ADC_S)
|
||||
#define LPPERI_RST_EN_LP_ADC_V 0x00000001U
|
||||
#define LPPERI_RST_EN_LP_ADC_S 24
|
||||
/** LPPERI_RST_EN_LP_I2S : R/W; bitpos: [25]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RST_EN_LP_I2S (BIT(25))
|
||||
#define LPPERI_RST_EN_LP_I2S_M (LPPERI_RST_EN_LP_I2S_V << LPPERI_RST_EN_LP_I2S_S)
|
||||
#define LPPERI_RST_EN_LP_I2S_V 0x00000001U
|
||||
#define LPPERI_RST_EN_LP_I2S_S 25
|
||||
/** LPPERI_RST_EN_LP_I2CMST : R/W; bitpos: [26]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RST_EN_LP_I2CMST (BIT(26))
|
||||
#define LPPERI_RST_EN_LP_I2CMST_M (LPPERI_RST_EN_LP_I2CMST_V << LPPERI_RST_EN_LP_I2CMST_S)
|
||||
#define LPPERI_RST_EN_LP_I2CMST_V 0x00000001U
|
||||
#define LPPERI_RST_EN_LP_I2CMST_S 26
|
||||
/** LPPERI_RST_EN_LP_I2C : R/W; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RST_EN_LP_I2C (BIT(27))
|
||||
#define LPPERI_RST_EN_LP_I2C_M (LPPERI_RST_EN_LP_I2C_V << LPPERI_RST_EN_LP_I2C_S)
|
||||
#define LPPERI_RST_EN_LP_I2C_V 0x00000001U
|
||||
#define LPPERI_RST_EN_LP_I2C_S 27
|
||||
/** LPPERI_RST_EN_LP_UART : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RST_EN_LP_UART (BIT(28))
|
||||
#define LPPERI_RST_EN_LP_UART_M (LPPERI_RST_EN_LP_UART_V << LPPERI_RST_EN_LP_UART_S)
|
||||
#define LPPERI_RST_EN_LP_UART_V 0x00000001U
|
||||
#define LPPERI_RST_EN_LP_UART_S 28
|
||||
/** LPPERI_RST_EN_LP_INTR : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RST_EN_LP_INTR (BIT(29))
|
||||
#define LPPERI_RST_EN_LP_INTR_M (LPPERI_RST_EN_LP_INTR_V << LPPERI_RST_EN_LP_INTR_S)
|
||||
#define LPPERI_RST_EN_LP_INTR_V 0x00000001U
|
||||
#define LPPERI_RST_EN_LP_INTR_S 29
|
||||
/** LPPERI_RST_EN_LP_ROM : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RST_EN_LP_ROM (BIT(30))
|
||||
#define LPPERI_RST_EN_LP_ROM_M (LPPERI_RST_EN_LP_ROM_V << LPPERI_RST_EN_LP_ROM_S)
|
||||
#define LPPERI_RST_EN_LP_ROM_V 0x00000001U
|
||||
#define LPPERI_RST_EN_LP_ROM_S 30
|
||||
/** LPPERI_RST_EN_LP_CORE : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_RST_EN_LP_CORE (BIT(31))
|
||||
#define LPPERI_RST_EN_LP_CORE_M (LPPERI_RST_EN_LP_CORE_V << LPPERI_RST_EN_LP_CORE_S)
|
||||
#define LPPERI_RST_EN_LP_CORE_V 0x00000001U
|
||||
#define LPPERI_RST_EN_LP_CORE_S 31
|
||||
|
||||
/** LPPERI_CPU_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_CPU_REG (DR_REG_LPPERI_BASE + 0xc)
|
||||
/** LPPERI_LPCORE_DBGM_UNAVAILABLE : R/W; bitpos: [31]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LPCORE_DBGM_UNAVAILABLE (BIT(31))
|
||||
#define LPPERI_LPCORE_DBGM_UNAVAILABLE_M (LPPERI_LPCORE_DBGM_UNAVAILABLE_V << LPPERI_LPCORE_DBGM_UNAVAILABLE_S)
|
||||
#define LPPERI_LPCORE_DBGM_UNAVAILABLE_V 0x00000001U
|
||||
#define LPPERI_LPCORE_DBGM_UNAVAILABLE_S 31
|
||||
|
||||
/** LPPERI_MEM_CTRL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_MEM_CTRL_REG (DR_REG_LPPERI_BASE + 0x28)
|
||||
/** LPPERI_LP_UART_WAKEUP_FLAG_CLR : WT; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_UART_WAKEUP_FLAG_CLR (BIT(0))
|
||||
#define LPPERI_LP_UART_WAKEUP_FLAG_CLR_M (LPPERI_LP_UART_WAKEUP_FLAG_CLR_V << LPPERI_LP_UART_WAKEUP_FLAG_CLR_S)
|
||||
#define LPPERI_LP_UART_WAKEUP_FLAG_CLR_V 0x00000001U
|
||||
#define LPPERI_LP_UART_WAKEUP_FLAG_CLR_S 0
|
||||
/** LPPERI_LP_UART_WAKEUP_FLAG : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_UART_WAKEUP_FLAG (BIT(1))
|
||||
#define LPPERI_LP_UART_WAKEUP_FLAG_M (LPPERI_LP_UART_WAKEUP_FLAG_V << LPPERI_LP_UART_WAKEUP_FLAG_S)
|
||||
#define LPPERI_LP_UART_WAKEUP_FLAG_V 0x00000001U
|
||||
#define LPPERI_LP_UART_WAKEUP_FLAG_S 1
|
||||
/** LPPERI_LP_UART_WAKEUP_EN : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_UART_WAKEUP_EN (BIT(29))
|
||||
#define LPPERI_LP_UART_WAKEUP_EN_M (LPPERI_LP_UART_WAKEUP_EN_V << LPPERI_LP_UART_WAKEUP_EN_S)
|
||||
#define LPPERI_LP_UART_WAKEUP_EN_V 0x00000001U
|
||||
#define LPPERI_LP_UART_WAKEUP_EN_S 29
|
||||
/** LPPERI_LP_UART_MEM_FORCE_PD : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_UART_MEM_FORCE_PD (BIT(30))
|
||||
#define LPPERI_LP_UART_MEM_FORCE_PD_M (LPPERI_LP_UART_MEM_FORCE_PD_V << LPPERI_LP_UART_MEM_FORCE_PD_S)
|
||||
#define LPPERI_LP_UART_MEM_FORCE_PD_V 0x00000001U
|
||||
#define LPPERI_LP_UART_MEM_FORCE_PD_S 30
|
||||
/** LPPERI_LP_UART_MEM_FORCE_PU : R/W; bitpos: [31]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_UART_MEM_FORCE_PU (BIT(31))
|
||||
#define LPPERI_LP_UART_MEM_FORCE_PU_M (LPPERI_LP_UART_MEM_FORCE_PU_V << LPPERI_LP_UART_MEM_FORCE_PU_S)
|
||||
#define LPPERI_LP_UART_MEM_FORCE_PU_V 0x00000001U
|
||||
#define LPPERI_LP_UART_MEM_FORCE_PU_S 31
|
||||
|
||||
/** LPPERI_ADC_CTRL_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_ADC_CTRL_REG (DR_REG_LPPERI_BASE + 0x2c)
|
||||
/** LPPERI_SAR2_CLK_FORCE_ON : R/W; bitpos: [6]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_SAR2_CLK_FORCE_ON (BIT(6))
|
||||
#define LPPERI_SAR2_CLK_FORCE_ON_M (LPPERI_SAR2_CLK_FORCE_ON_V << LPPERI_SAR2_CLK_FORCE_ON_S)
|
||||
#define LPPERI_SAR2_CLK_FORCE_ON_V 0x00000001U
|
||||
#define LPPERI_SAR2_CLK_FORCE_ON_S 6
|
||||
/** LPPERI_SAR1_CLK_FORCE_ON : R/W; bitpos: [7]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_SAR1_CLK_FORCE_ON (BIT(7))
|
||||
#define LPPERI_SAR1_CLK_FORCE_ON_M (LPPERI_SAR1_CLK_FORCE_ON_V << LPPERI_SAR1_CLK_FORCE_ON_S)
|
||||
#define LPPERI_SAR1_CLK_FORCE_ON_V 0x00000001U
|
||||
#define LPPERI_SAR1_CLK_FORCE_ON_S 7
|
||||
/** LPPERI_LPADC_FUNC_DIV_NUM : R/W; bitpos: [15:8]; default: 4;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LPADC_FUNC_DIV_NUM 0x000000FFU
|
||||
#define LPPERI_LPADC_FUNC_DIV_NUM_M (LPPERI_LPADC_FUNC_DIV_NUM_V << LPPERI_LPADC_FUNC_DIV_NUM_S)
|
||||
#define LPPERI_LPADC_FUNC_DIV_NUM_V 0x000000FFU
|
||||
#define LPPERI_LPADC_FUNC_DIV_NUM_S 8
|
||||
/** LPPERI_LPADC_SAR2_DIV_NUM : R/W; bitpos: [23:16]; default: 4;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LPADC_SAR2_DIV_NUM 0x000000FFU
|
||||
#define LPPERI_LPADC_SAR2_DIV_NUM_M (LPPERI_LPADC_SAR2_DIV_NUM_V << LPPERI_LPADC_SAR2_DIV_NUM_S)
|
||||
#define LPPERI_LPADC_SAR2_DIV_NUM_V 0x000000FFU
|
||||
#define LPPERI_LPADC_SAR2_DIV_NUM_S 16
|
||||
/** LPPERI_LPADC_SAR1_DIV_NUM : R/W; bitpos: [31:24]; default: 4;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LPADC_SAR1_DIV_NUM 0x000000FFU
|
||||
#define LPPERI_LPADC_SAR1_DIV_NUM_M (LPPERI_LPADC_SAR1_DIV_NUM_V << LPPERI_LPADC_SAR1_DIV_NUM_S)
|
||||
#define LPPERI_LPADC_SAR1_DIV_NUM_V 0x000000FFU
|
||||
#define LPPERI_LPADC_SAR1_DIV_NUM_S 24
|
||||
|
||||
/** LPPERI_LP_I2S_RXCLK_DIV_NUM_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_RXCLK_DIV_NUM_REG (DR_REG_LPPERI_BASE + 0x30)
|
||||
/** LPPERI_LP_I2S_RX_CLKM_DIV_NUM : R/W; bitpos: [31:24]; default: 2;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_NUM 0x000000FFU
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_NUM_M (LPPERI_LP_I2S_RX_CLKM_DIV_NUM_V << LPPERI_LP_I2S_RX_CLKM_DIV_NUM_S)
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_NUM_V 0x000000FFU
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_NUM_S 24
|
||||
|
||||
/** LPPERI_LP_I2S_RXCLK_DIV_XYZ_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_RXCLK_DIV_XYZ_REG (DR_REG_LPPERI_BASE + 0x34)
|
||||
/** LPPERI_LP_I2S_RX_CLKM_DIV_YN1 : R/W; bitpos: [4]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_YN1 (BIT(4))
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_YN1_M (LPPERI_LP_I2S_RX_CLKM_DIV_YN1_V << LPPERI_LP_I2S_RX_CLKM_DIV_YN1_S)
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_YN1_V 0x00000001U
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_YN1_S 4
|
||||
/** LPPERI_LP_I2S_RX_CLKM_DIV_Z : R/W; bitpos: [13:5]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_Z 0x000001FFU
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_Z_M (LPPERI_LP_I2S_RX_CLKM_DIV_Z_V << LPPERI_LP_I2S_RX_CLKM_DIV_Z_S)
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_Z_V 0x000001FFU
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_Z_S 5
|
||||
/** LPPERI_LP_I2S_RX_CLKM_DIV_Y : R/W; bitpos: [22:14]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_Y 0x000001FFU
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_Y_M (LPPERI_LP_I2S_RX_CLKM_DIV_Y_V << LPPERI_LP_I2S_RX_CLKM_DIV_Y_S)
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_Y_V 0x000001FFU
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_Y_S 14
|
||||
/** LPPERI_LP_I2S_RX_CLKM_DIV_X : R/W; bitpos: [31:23]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_X 0x000001FFU
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_X_M (LPPERI_LP_I2S_RX_CLKM_DIV_X_V << LPPERI_LP_I2S_RX_CLKM_DIV_X_S)
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_X_V 0x000001FFU
|
||||
#define LPPERI_LP_I2S_RX_CLKM_DIV_X_S 23
|
||||
|
||||
/** LPPERI_LP_I2S_TXCLK_DIV_NUM_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_TXCLK_DIV_NUM_REG (DR_REG_LPPERI_BASE + 0x38)
|
||||
/** LPPERI_LP_I2S_TX_CLKM_DIV_NUM : R/W; bitpos: [31:24]; default: 2;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_NUM 0x000000FFU
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_NUM_M (LPPERI_LP_I2S_TX_CLKM_DIV_NUM_V << LPPERI_LP_I2S_TX_CLKM_DIV_NUM_S)
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_NUM_V 0x000000FFU
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_NUM_S 24
|
||||
|
||||
/** LPPERI_LP_I2S_TXCLK_DIV_XYZ_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_TXCLK_DIV_XYZ_REG (DR_REG_LPPERI_BASE + 0x3c)
|
||||
/** LPPERI_LP_I2S_TX_CLKM_DIV_YN1 : R/W; bitpos: [4]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_YN1 (BIT(4))
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_YN1_M (LPPERI_LP_I2S_TX_CLKM_DIV_YN1_V << LPPERI_LP_I2S_TX_CLKM_DIV_YN1_S)
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_YN1_V 0x00000001U
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_YN1_S 4
|
||||
/** LPPERI_LP_I2S_TX_CLKM_DIV_Z : R/W; bitpos: [13:5]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_Z 0x000001FFU
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_Z_M (LPPERI_LP_I2S_TX_CLKM_DIV_Z_V << LPPERI_LP_I2S_TX_CLKM_DIV_Z_S)
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_Z_V 0x000001FFU
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_Z_S 5
|
||||
/** LPPERI_LP_I2S_TX_CLKM_DIV_Y : R/W; bitpos: [22:14]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_Y 0x000001FFU
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_Y_M (LPPERI_LP_I2S_TX_CLKM_DIV_Y_V << LPPERI_LP_I2S_TX_CLKM_DIV_Y_S)
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_Y_V 0x000001FFU
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_Y_S 14
|
||||
/** LPPERI_LP_I2S_TX_CLKM_DIV_X : R/W; bitpos: [31:23]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_X 0x000001FFU
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_X_M (LPPERI_LP_I2S_TX_CLKM_DIV_X_V << LPPERI_LP_I2S_TX_CLKM_DIV_X_S)
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_X_V 0x000001FFU
|
||||
#define LPPERI_LP_I2S_TX_CLKM_DIV_X_S 23
|
||||
|
||||
/** LPPERI_DATE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define LPPERI_DATE_REG (DR_REG_LPPERI_BASE + 0x3fc)
|
||||
/** 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
|
374
components/soc/esp32p4/include/soc/lp_peri_struct.h
Normal file
374
components/soc/esp32p4/include/soc/lp_peri_struct.h
Normal file
@ -0,0 +1,374 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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:16;
|
||||
/** ck_en_rng : R/W; bitpos: [16]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_rng:1;
|
||||
/** ck_en_lp_tsens : R/W; bitpos: [17]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_tsens:1;
|
||||
/** ck_en_lp_pms : R/W; bitpos: [18]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_pms:1;
|
||||
/** ck_en_lp_efuse : R/W; bitpos: [19]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_efuse:1;
|
||||
/** ck_en_lp_iomux : R/W; bitpos: [20]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_iomux:1;
|
||||
/** ck_en_lp_touch : R/W; bitpos: [21]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_touch:1;
|
||||
/** ck_en_lp_spi : R/W; bitpos: [22]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_spi:1;
|
||||
/** ck_en_lp_adc : R/W; bitpos: [23]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_adc:1;
|
||||
/** ck_en_lp_i2s_tx : R/W; bitpos: [24]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_i2s_tx:1;
|
||||
/** ck_en_lp_i2s_rx : R/W; bitpos: [25]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_i2s_rx:1;
|
||||
/** ck_en_lp_i2s : R/W; bitpos: [26]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_i2s:1;
|
||||
/** ck_en_lp_i2cmst : R/W; bitpos: [27]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_i2cmst:1;
|
||||
/** ck_en_lp_i2c : R/W; bitpos: [28]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_i2c:1;
|
||||
/** ck_en_lp_uart : R/W; bitpos: [29]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_uart:1;
|
||||
/** ck_en_lp_intr : R/W; bitpos: [30]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t ck_en_lp_intr:1;
|
||||
/** ck_en_lp_core : R/W; bitpos: [31]; default: 0;
|
||||
* write 1 to force on lp_core clk
|
||||
*/
|
||||
uint32_t ck_en_lp_core:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_clk_en_reg_t;
|
||||
|
||||
/** Type of core_clk_sel register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:24;
|
||||
/** lp_i2s_tx_clk_sel : R/W; bitpos: [25:24]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2s_tx_clk_sel:2;
|
||||
/** lp_i2s_rx_clk_sel : R/W; bitpos: [27:26]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2s_rx_clk_sel:2;
|
||||
/** lp_i2c_clk_sel : R/W; bitpos: [29:28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2c_clk_sel:2;
|
||||
/** lp_uart_clk_sel : R/W; bitpos: [31:30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_uart_clk_sel:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_core_clk_sel_reg_t;
|
||||
|
||||
/** Type of reset_en register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:18;
|
||||
/** rst_en_lp_tsens : R/W; bitpos: [18]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_tsens:1;
|
||||
/** rst_en_lp_pms : R/W; bitpos: [19]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_pms:1;
|
||||
/** rst_en_lp_efuse : R/W; bitpos: [20]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_efuse:1;
|
||||
/** rst_en_lp_iomux : R/W; bitpos: [21]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_iomux:1;
|
||||
/** rst_en_lp_touch : R/W; bitpos: [22]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_touch:1;
|
||||
/** rst_en_lp_spi : R/W; bitpos: [23]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_spi:1;
|
||||
/** rst_en_lp_adc : R/W; bitpos: [24]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_adc:1;
|
||||
/** rst_en_lp_i2s : R/W; bitpos: [25]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_i2s:1;
|
||||
/** rst_en_lp_i2cmst : R/W; bitpos: [26]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_i2cmst:1;
|
||||
/** rst_en_lp_i2c : R/W; bitpos: [27]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_i2c:1;
|
||||
/** rst_en_lp_uart : R/W; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_uart:1;
|
||||
/** rst_en_lp_intr : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_intr:1;
|
||||
/** rst_en_lp_rom : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_rom:1;
|
||||
/** rst_en_lp_core : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rst_en_lp_core:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_reset_en_reg_t;
|
||||
|
||||
/** Type of cpu register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** lpcore_dbgm_unavailable : R/W; bitpos: [31]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lpcore_dbgm_unavailable:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_cpu_reg_t;
|
||||
|
||||
/** Type of mem_ctrl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** lp_uart_wakeup_flag_clr : WT; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_uart_wakeup_flag_clr:1;
|
||||
/** lp_uart_wakeup_flag : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_uart_wakeup_flag:1;
|
||||
uint32_t reserved_2:27;
|
||||
/** lp_uart_wakeup_en : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_uart_wakeup_en:1;
|
||||
/** lp_uart_mem_force_pd : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_uart_mem_force_pd:1;
|
||||
/** lp_uart_mem_force_pu : R/W; bitpos: [31]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_uart_mem_force_pu:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_mem_ctrl_reg_t;
|
||||
|
||||
/** Type of adc_ctrl register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:6;
|
||||
/** sar2_clk_force_on : R/W; bitpos: [6]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t sar2_clk_force_on:1;
|
||||
/** sar1_clk_force_on : R/W; bitpos: [7]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t sar1_clk_force_on:1;
|
||||
/** lpadc_func_div_num : R/W; bitpos: [15:8]; default: 4;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lpadc_func_div_num:8;
|
||||
/** lpadc_sar2_div_num : R/W; bitpos: [23:16]; default: 4;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lpadc_sar2_div_num:8;
|
||||
/** lpadc_sar1_div_num : R/W; bitpos: [31:24]; default: 4;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lpadc_sar1_div_num:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_adc_ctrl_reg_t;
|
||||
|
||||
/** Type of lp_i2s_rxclk_div_num register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:24;
|
||||
/** lp_i2s_rx_clkm_div_num : R/W; bitpos: [31:24]; default: 2;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2s_rx_clkm_div_num:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_lp_i2s_rxclk_div_num_reg_t;
|
||||
|
||||
/** Type of lp_i2s_rxclk_div_xyz register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:4;
|
||||
/** lp_i2s_rx_clkm_div_yn1 : R/W; bitpos: [4]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2s_rx_clkm_div_yn1:1;
|
||||
/** lp_i2s_rx_clkm_div_z : R/W; bitpos: [13:5]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2s_rx_clkm_div_z:9;
|
||||
/** lp_i2s_rx_clkm_div_y : R/W; bitpos: [22:14]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2s_rx_clkm_div_y:9;
|
||||
/** lp_i2s_rx_clkm_div_x : R/W; bitpos: [31:23]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2s_rx_clkm_div_x:9;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_lp_i2s_rxclk_div_xyz_reg_t;
|
||||
|
||||
/** Type of lp_i2s_txclk_div_num register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:24;
|
||||
/** lp_i2s_tx_clkm_div_num : R/W; bitpos: [31:24]; default: 2;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2s_tx_clkm_div_num:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_lp_i2s_txclk_div_num_reg_t;
|
||||
|
||||
/** Type of lp_i2s_txclk_div_xyz register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:4;
|
||||
/** lp_i2s_tx_clkm_div_yn1 : R/W; bitpos: [4]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2s_tx_clkm_div_yn1:1;
|
||||
/** lp_i2s_tx_clkm_div_z : R/W; bitpos: [13:5]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2s_tx_clkm_div_z:9;
|
||||
/** lp_i2s_tx_clkm_div_y : R/W; bitpos: [22:14]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2s_tx_clkm_div_y:9;
|
||||
/** lp_i2s_tx_clkm_div_x : R/W; bitpos: [31:23]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t lp_i2s_tx_clkm_div_x:9;
|
||||
};
|
||||
uint32_t val;
|
||||
} lpperi_lp_i2s_txclk_div_xyz_reg_t;
|
||||
|
||||
|
||||
/** Group: Version register */
|
||||
/** Type of date register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0: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_core_clk_sel_reg_t core_clk_sel;
|
||||
volatile lpperi_reset_en_reg_t reset_en;
|
||||
volatile lpperi_cpu_reg_t cpu;
|
||||
uint32_t reserved_010[6];
|
||||
volatile lpperi_mem_ctrl_reg_t mem_ctrl;
|
||||
volatile lpperi_adc_ctrl_reg_t adc_ctrl;
|
||||
volatile lpperi_lp_i2s_rxclk_div_num_reg_t lp_i2s_rxclk_div_num;
|
||||
volatile lpperi_lp_i2s_rxclk_div_xyz_reg_t lp_i2s_rxclk_div_xyz;
|
||||
volatile lpperi_lp_i2s_txclk_div_num_reg_t lp_i2s_txclk_div_num;
|
||||
volatile lpperi_lp_i2s_txclk_div_xyz_reg_t lp_i2s_txclk_div_xyz;
|
||||
uint32_t reserved_040[239];
|
||||
volatile lpperi_date_reg_t date;
|
||||
} lpperi_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(lpperi_dev_t) == 0x400, "Invalid size of lpperi_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
1375
components/soc/esp32p4/include/soc/lp_spi_reg.h
Normal file
1375
components/soc/esp32p4/include/soc/lp_spi_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1275
components/soc/esp32p4/include/soc/lp_spi_struct.h
Normal file
1275
components/soc/esp32p4/include/soc/lp_spi_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
1349
components/soc/esp32p4/include/soc/lp_sys_reg.h
Normal file
1349
components/soc/esp32p4/include/soc/lp_sys_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1333
components/soc/esp32p4/include/soc/lp_sys_struct.h
Normal file
1333
components/soc/esp32p4/include/soc/lp_sys_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
1339
components/soc/esp32p4/include/soc/lp_uart_reg.h
Normal file
1339
components/soc/esp32p4/include/soc/lp_uart_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1103
components/soc/esp32p4/include/soc/lp_uart_struct.h
Normal file
1103
components/soc/esp32p4/include/soc/lp_uart_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
396
components/soc/esp32p4/include/soc/mipi_csi_bridge_reg.h
Normal file
396
components/soc/esp32p4/include/soc/mipi_csi_bridge_reg.h
Normal file
@ -0,0 +1,396 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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
|
||||
|
||||
/** CSI_BRIG_CLK_EN_REG register
|
||||
* csi bridge register mapping unit clock gating.
|
||||
*/
|
||||
#define CSI_BRIG_CLK_EN_REG (DR_REG_CSI_BRIG_BASE + 0x0)
|
||||
/** CSI_BRIG_CLK_EN : R/W; bitpos: [0]; default: 0;
|
||||
* 0: enable clock gating. 1: disable clock gating, clock always on.
|
||||
*/
|
||||
#define CSI_BRIG_CLK_EN (BIT(0))
|
||||
#define CSI_BRIG_CLK_EN_M (CSI_BRIG_CLK_EN_V << CSI_BRIG_CLK_EN_S)
|
||||
#define CSI_BRIG_CLK_EN_V 0x00000001U
|
||||
#define CSI_BRIG_CLK_EN_S 0
|
||||
|
||||
/** CSI_BRIG_CSI_EN_REG register
|
||||
* csi bridge enable.
|
||||
*/
|
||||
#define CSI_BRIG_CSI_EN_REG (DR_REG_CSI_BRIG_BASE + 0x4)
|
||||
/** CSI_BRIG_CSI_BRIG_EN : R/W; bitpos: [0]; default: 0;
|
||||
* 0: disable csi bridge. 1: enable csi bridge.
|
||||
*/
|
||||
#define CSI_BRIG_CSI_BRIG_EN (BIT(0))
|
||||
#define CSI_BRIG_CSI_BRIG_EN_M (CSI_BRIG_CSI_BRIG_EN_V << CSI_BRIG_CSI_BRIG_EN_S)
|
||||
#define CSI_BRIG_CSI_BRIG_EN_V 0x00000001U
|
||||
#define CSI_BRIG_CSI_BRIG_EN_S 0
|
||||
|
||||
/** CSI_BRIG_DMA_REQ_CFG_REG register
|
||||
* dma request configuration.
|
||||
*/
|
||||
#define CSI_BRIG_DMA_REQ_CFG_REG (DR_REG_CSI_BRIG_BASE + 0x8)
|
||||
/** CSI_BRIG_DMA_BURST_LEN : R/W; bitpos: [11:0]; default: 128;
|
||||
* DMA burst length.
|
||||
*/
|
||||
#define CSI_BRIG_DMA_BURST_LEN 0x00000FFFU
|
||||
#define CSI_BRIG_DMA_BURST_LEN_M (CSI_BRIG_DMA_BURST_LEN_V << CSI_BRIG_DMA_BURST_LEN_S)
|
||||
#define CSI_BRIG_DMA_BURST_LEN_V 0x00000FFFU
|
||||
#define CSI_BRIG_DMA_BURST_LEN_S 0
|
||||
/** CSI_BRIG_DMA_CFG_UPD_BY_BLK : R/W; bitpos: [12]; default: 0;
|
||||
* 1: reg_dma_burst_len & reg_dma_burst_len will be updated by dma block finish. 0:
|
||||
* updated by frame.
|
||||
*/
|
||||
#define CSI_BRIG_DMA_CFG_UPD_BY_BLK (BIT(12))
|
||||
#define CSI_BRIG_DMA_CFG_UPD_BY_BLK_M (CSI_BRIG_DMA_CFG_UPD_BY_BLK_V << CSI_BRIG_DMA_CFG_UPD_BY_BLK_S)
|
||||
#define CSI_BRIG_DMA_CFG_UPD_BY_BLK_V 0x00000001U
|
||||
#define CSI_BRIG_DMA_CFG_UPD_BY_BLK_S 12
|
||||
/** CSI_BRIG_DMA_FORCE_RD_STATUS : R/W; bitpos: [16]; default: 0;
|
||||
* 1: mask dma request when reading frame info. 0: disable mask.
|
||||
*/
|
||||
#define CSI_BRIG_DMA_FORCE_RD_STATUS (BIT(16))
|
||||
#define CSI_BRIG_DMA_FORCE_RD_STATUS_M (CSI_BRIG_DMA_FORCE_RD_STATUS_V << CSI_BRIG_DMA_FORCE_RD_STATUS_S)
|
||||
#define CSI_BRIG_DMA_FORCE_RD_STATUS_V 0x00000001U
|
||||
#define CSI_BRIG_DMA_FORCE_RD_STATUS_S 16
|
||||
|
||||
/** CSI_BRIG_BUF_FLOW_CTL_REG register
|
||||
* csi bridge buffer control.
|
||||
*/
|
||||
#define CSI_BRIG_BUF_FLOW_CTL_REG (DR_REG_CSI_BRIG_BASE + 0xc)
|
||||
/** CSI_BRIG_CSI_BUF_AFULL_THRD : R/W; bitpos: [13:0]; default: 2040;
|
||||
* buffer almost full threshold.
|
||||
*/
|
||||
#define CSI_BRIG_CSI_BUF_AFULL_THRD 0x00003FFFU
|
||||
#define CSI_BRIG_CSI_BUF_AFULL_THRD_M (CSI_BRIG_CSI_BUF_AFULL_THRD_V << CSI_BRIG_CSI_BUF_AFULL_THRD_S)
|
||||
#define CSI_BRIG_CSI_BUF_AFULL_THRD_V 0x00003FFFU
|
||||
#define CSI_BRIG_CSI_BUF_AFULL_THRD_S 0
|
||||
/** CSI_BRIG_CSI_BUF_DEPTH : RO; bitpos: [29:16]; default: 0;
|
||||
* buffer data count.
|
||||
*/
|
||||
#define CSI_BRIG_CSI_BUF_DEPTH 0x00003FFFU
|
||||
#define CSI_BRIG_CSI_BUF_DEPTH_M (CSI_BRIG_CSI_BUF_DEPTH_V << CSI_BRIG_CSI_BUF_DEPTH_S)
|
||||
#define CSI_BRIG_CSI_BUF_DEPTH_V 0x00003FFFU
|
||||
#define CSI_BRIG_CSI_BUF_DEPTH_S 16
|
||||
|
||||
/** CSI_BRIG_DATA_TYPE_CFG_REG register
|
||||
* pixel data type configuration.
|
||||
*/
|
||||
#define CSI_BRIG_DATA_TYPE_CFG_REG (DR_REG_CSI_BRIG_BASE + 0x10)
|
||||
/** CSI_BRIG_DATA_TYPE_MIN : R/W; bitpos: [5:0]; default: 24;
|
||||
* the min value of data type used for pixel filter.
|
||||
*/
|
||||
#define CSI_BRIG_DATA_TYPE_MIN 0x0000003FU
|
||||
#define CSI_BRIG_DATA_TYPE_MIN_M (CSI_BRIG_DATA_TYPE_MIN_V << CSI_BRIG_DATA_TYPE_MIN_S)
|
||||
#define CSI_BRIG_DATA_TYPE_MIN_V 0x0000003FU
|
||||
#define CSI_BRIG_DATA_TYPE_MIN_S 0
|
||||
/** CSI_BRIG_DATA_TYPE_MAX : R/W; bitpos: [13:8]; default: 47;
|
||||
* the max value of data type used for pixel filter.
|
||||
*/
|
||||
#define CSI_BRIG_DATA_TYPE_MAX 0x0000003FU
|
||||
#define CSI_BRIG_DATA_TYPE_MAX_M (CSI_BRIG_DATA_TYPE_MAX_V << CSI_BRIG_DATA_TYPE_MAX_S)
|
||||
#define CSI_BRIG_DATA_TYPE_MAX_V 0x0000003FU
|
||||
#define CSI_BRIG_DATA_TYPE_MAX_S 8
|
||||
|
||||
/** CSI_BRIG_FRAME_CFG_REG register
|
||||
* frame configuration.
|
||||
*/
|
||||
#define CSI_BRIG_FRAME_CFG_REG (DR_REG_CSI_BRIG_BASE + 0x14)
|
||||
/** CSI_BRIG_VADR_NUM : R/W; bitpos: [11:0]; default: 480;
|
||||
* vadr of frame data.
|
||||
*/
|
||||
#define CSI_BRIG_VADR_NUM 0x00000FFFU
|
||||
#define CSI_BRIG_VADR_NUM_M (CSI_BRIG_VADR_NUM_V << CSI_BRIG_VADR_NUM_S)
|
||||
#define CSI_BRIG_VADR_NUM_V 0x00000FFFU
|
||||
#define CSI_BRIG_VADR_NUM_S 0
|
||||
/** CSI_BRIG_HADR_NUM : R/W; bitpos: [23:12]; default: 480;
|
||||
* hadr of frame data.
|
||||
*/
|
||||
#define CSI_BRIG_HADR_NUM 0x00000FFFU
|
||||
#define CSI_BRIG_HADR_NUM_M (CSI_BRIG_HADR_NUM_V << CSI_BRIG_HADR_NUM_S)
|
||||
#define CSI_BRIG_HADR_NUM_V 0x00000FFFU
|
||||
#define CSI_BRIG_HADR_NUM_S 12
|
||||
/** CSI_BRIG_HAS_HSYNC_E : R/W; bitpos: [24]; default: 1;
|
||||
* 0: frame data doesn't contain hsync. 1: frame data contains hsync.
|
||||
*/
|
||||
#define CSI_BRIG_HAS_HSYNC_E (BIT(24))
|
||||
#define CSI_BRIG_HAS_HSYNC_E_M (CSI_BRIG_HAS_HSYNC_E_V << CSI_BRIG_HAS_HSYNC_E_S)
|
||||
#define CSI_BRIG_HAS_HSYNC_E_V 0x00000001U
|
||||
#define CSI_BRIG_HAS_HSYNC_E_S 24
|
||||
/** CSI_BRIG_VADR_NUM_CHECK : R/W; bitpos: [25]; default: 0;
|
||||
* 0: disable vadr check. 1: enable vadr check.
|
||||
*/
|
||||
#define CSI_BRIG_VADR_NUM_CHECK (BIT(25))
|
||||
#define CSI_BRIG_VADR_NUM_CHECK_M (CSI_BRIG_VADR_NUM_CHECK_V << CSI_BRIG_VADR_NUM_CHECK_S)
|
||||
#define CSI_BRIG_VADR_NUM_CHECK_V 0x00000001U
|
||||
#define CSI_BRIG_VADR_NUM_CHECK_S 25
|
||||
|
||||
/** CSI_BRIG_ENDIAN_MODE_REG register
|
||||
* data endianness order configuration.
|
||||
*/
|
||||
#define CSI_BRIG_ENDIAN_MODE_REG (DR_REG_CSI_BRIG_BASE + 0x18)
|
||||
/** CSI_BRIG_BYTE_ENDIAN_ORDER : R/W; bitpos: [0]; default: 0;
|
||||
* endianness order in bytes. 2'h0 is normal mode and 2'h3 is useful to YUV420(Legacy)
|
||||
* when isp is bapassed.
|
||||
*/
|
||||
#define CSI_BRIG_BYTE_ENDIAN_ORDER (BIT(0))
|
||||
#define CSI_BRIG_BYTE_ENDIAN_ORDER_M (CSI_BRIG_BYTE_ENDIAN_ORDER_V << CSI_BRIG_BYTE_ENDIAN_ORDER_S)
|
||||
#define CSI_BRIG_BYTE_ENDIAN_ORDER_V 0x00000001U
|
||||
#define CSI_BRIG_BYTE_ENDIAN_ORDER_S 0
|
||||
/** CSI_BRIG_BIT_ENDIAN_ORDER : R/W; bitpos: [1]; default: 0;
|
||||
* N/A
|
||||
*/
|
||||
#define CSI_BRIG_BIT_ENDIAN_ORDER (BIT(1))
|
||||
#define CSI_BRIG_BIT_ENDIAN_ORDER_M (CSI_BRIG_BIT_ENDIAN_ORDER_V << CSI_BRIG_BIT_ENDIAN_ORDER_S)
|
||||
#define CSI_BRIG_BIT_ENDIAN_ORDER_V 0x00000001U
|
||||
#define CSI_BRIG_BIT_ENDIAN_ORDER_S 1
|
||||
|
||||
/** CSI_BRIG_INT_RAW_REG register
|
||||
* csi bridge interrupt raw.
|
||||
*/
|
||||
#define CSI_BRIG_INT_RAW_REG (DR_REG_CSI_BRIG_BASE + 0x1c)
|
||||
/** CSI_BRIG_VADR_NUM_GT_INT_RAW : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* reg_vadr_num is greater than real interrupt raw.
|
||||
*/
|
||||
#define CSI_BRIG_VADR_NUM_GT_INT_RAW (BIT(0))
|
||||
#define CSI_BRIG_VADR_NUM_GT_INT_RAW_M (CSI_BRIG_VADR_NUM_GT_INT_RAW_V << CSI_BRIG_VADR_NUM_GT_INT_RAW_S)
|
||||
#define CSI_BRIG_VADR_NUM_GT_INT_RAW_V 0x00000001U
|
||||
#define CSI_BRIG_VADR_NUM_GT_INT_RAW_S 0
|
||||
/** CSI_BRIG_VADR_NUM_LT_INT_RAW : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* reg_vadr_num is less than real interrupt raw.
|
||||
*/
|
||||
#define CSI_BRIG_VADR_NUM_LT_INT_RAW (BIT(1))
|
||||
#define CSI_BRIG_VADR_NUM_LT_INT_RAW_M (CSI_BRIG_VADR_NUM_LT_INT_RAW_V << CSI_BRIG_VADR_NUM_LT_INT_RAW_S)
|
||||
#define CSI_BRIG_VADR_NUM_LT_INT_RAW_V 0x00000001U
|
||||
#define CSI_BRIG_VADR_NUM_LT_INT_RAW_S 1
|
||||
/** CSI_BRIG_DISCARD_INT_RAW : R/WTC/SS; bitpos: [2]; default: 0;
|
||||
* an incomplete frame of data was sent interrupt raw.
|
||||
*/
|
||||
#define CSI_BRIG_DISCARD_INT_RAW (BIT(2))
|
||||
#define CSI_BRIG_DISCARD_INT_RAW_M (CSI_BRIG_DISCARD_INT_RAW_V << CSI_BRIG_DISCARD_INT_RAW_S)
|
||||
#define CSI_BRIG_DISCARD_INT_RAW_V 0x00000001U
|
||||
#define CSI_BRIG_DISCARD_INT_RAW_S 2
|
||||
/** CSI_BRIG_CSI_BUF_OVERRUN_INT_RAW : R/WTC/SS; bitpos: [3]; default: 0;
|
||||
* buffer overrun interrupt raw.
|
||||
*/
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_RAW (BIT(3))
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_RAW_M (CSI_BRIG_CSI_BUF_OVERRUN_INT_RAW_V << CSI_BRIG_CSI_BUF_OVERRUN_INT_RAW_S)
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_RAW_V 0x00000001U
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_RAW_S 3
|
||||
/** CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_RAW : R/WTC/SS; bitpos: [4]; default: 0;
|
||||
* buffer overflow interrupt raw.
|
||||
*/
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_RAW (BIT(4))
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_RAW_M (CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_RAW_V << CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_RAW_S)
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_RAW_V 0x00000001U
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_RAW_S 4
|
||||
/** CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_RAW : R/WTC/SS; bitpos: [5]; default: 0;
|
||||
* dma configuration update complete interrupt raw.
|
||||
*/
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_RAW (BIT(5))
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_RAW_M (CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_RAW_V << CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_RAW_S)
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_RAW_V 0x00000001U
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_RAW_S 5
|
||||
|
||||
/** CSI_BRIG_INT_CLR_REG register
|
||||
* csi bridge interrupt clr.
|
||||
*/
|
||||
#define CSI_BRIG_INT_CLR_REG (DR_REG_CSI_BRIG_BASE + 0x20)
|
||||
/** CSI_BRIG_VADR_NUM_GT_REAL_INT_CLR : WT; bitpos: [0]; default: 0;
|
||||
* reg_vadr_num is greater than real interrupt clr.
|
||||
*/
|
||||
#define CSI_BRIG_VADR_NUM_GT_REAL_INT_CLR (BIT(0))
|
||||
#define CSI_BRIG_VADR_NUM_GT_REAL_INT_CLR_M (CSI_BRIG_VADR_NUM_GT_REAL_INT_CLR_V << CSI_BRIG_VADR_NUM_GT_REAL_INT_CLR_S)
|
||||
#define CSI_BRIG_VADR_NUM_GT_REAL_INT_CLR_V 0x00000001U
|
||||
#define CSI_BRIG_VADR_NUM_GT_REAL_INT_CLR_S 0
|
||||
/** CSI_BRIG_VADR_NUM_LT_REAL_INT_CLR : WT; bitpos: [1]; default: 0;
|
||||
* reg_vadr_num is less than real interrupt clr.
|
||||
*/
|
||||
#define CSI_BRIG_VADR_NUM_LT_REAL_INT_CLR (BIT(1))
|
||||
#define CSI_BRIG_VADR_NUM_LT_REAL_INT_CLR_M (CSI_BRIG_VADR_NUM_LT_REAL_INT_CLR_V << CSI_BRIG_VADR_NUM_LT_REAL_INT_CLR_S)
|
||||
#define CSI_BRIG_VADR_NUM_LT_REAL_INT_CLR_V 0x00000001U
|
||||
#define CSI_BRIG_VADR_NUM_LT_REAL_INT_CLR_S 1
|
||||
/** CSI_BRIG_DISCARD_INT_CLR : WT; bitpos: [2]; default: 0;
|
||||
* an incomplete frame of data was sent interrupt clr.
|
||||
*/
|
||||
#define CSI_BRIG_DISCARD_INT_CLR (BIT(2))
|
||||
#define CSI_BRIG_DISCARD_INT_CLR_M (CSI_BRIG_DISCARD_INT_CLR_V << CSI_BRIG_DISCARD_INT_CLR_S)
|
||||
#define CSI_BRIG_DISCARD_INT_CLR_V 0x00000001U
|
||||
#define CSI_BRIG_DISCARD_INT_CLR_S 2
|
||||
/** CSI_BRIG_CSI_BUF_OVERRUN_INT_CLR : WT; bitpos: [3]; default: 0;
|
||||
* buffer overrun interrupt clr.
|
||||
*/
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_CLR (BIT(3))
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_CLR_M (CSI_BRIG_CSI_BUF_OVERRUN_INT_CLR_V << CSI_BRIG_CSI_BUF_OVERRUN_INT_CLR_S)
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_CLR_V 0x00000001U
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_CLR_S 3
|
||||
/** CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_CLR : WT; bitpos: [4]; default: 0;
|
||||
* buffer overflow interrupt clr.
|
||||
*/
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_CLR (BIT(4))
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_CLR_M (CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_CLR_V << CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_CLR_S)
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_CLR_V 0x00000001U
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_CLR_S 4
|
||||
/** CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_CLR : WT; bitpos: [5]; default: 0;
|
||||
* dma configuration update complete interrupt clr.
|
||||
*/
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_CLR (BIT(5))
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_CLR_M (CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_CLR_V << CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_CLR_S)
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_CLR_V 0x00000001U
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_CLR_S 5
|
||||
|
||||
/** CSI_BRIG_INT_ST_REG register
|
||||
* csi bridge interrupt st.
|
||||
*/
|
||||
#define CSI_BRIG_INT_ST_REG (DR_REG_CSI_BRIG_BASE + 0x24)
|
||||
/** CSI_BRIG_VADR_NUM_GT_INT_ST : RO; bitpos: [0]; default: 0;
|
||||
* reg_vadr_num is greater than real interrupt st.
|
||||
*/
|
||||
#define CSI_BRIG_VADR_NUM_GT_INT_ST (BIT(0))
|
||||
#define CSI_BRIG_VADR_NUM_GT_INT_ST_M (CSI_BRIG_VADR_NUM_GT_INT_ST_V << CSI_BRIG_VADR_NUM_GT_INT_ST_S)
|
||||
#define CSI_BRIG_VADR_NUM_GT_INT_ST_V 0x00000001U
|
||||
#define CSI_BRIG_VADR_NUM_GT_INT_ST_S 0
|
||||
/** CSI_BRIG_VADR_NUM_LT_INT_ST : RO; bitpos: [1]; default: 0;
|
||||
* reg_vadr_num is less than real interrupt st.
|
||||
*/
|
||||
#define CSI_BRIG_VADR_NUM_LT_INT_ST (BIT(1))
|
||||
#define CSI_BRIG_VADR_NUM_LT_INT_ST_M (CSI_BRIG_VADR_NUM_LT_INT_ST_V << CSI_BRIG_VADR_NUM_LT_INT_ST_S)
|
||||
#define CSI_BRIG_VADR_NUM_LT_INT_ST_V 0x00000001U
|
||||
#define CSI_BRIG_VADR_NUM_LT_INT_ST_S 1
|
||||
/** CSI_BRIG_DISCARD_INT_ST : RO; bitpos: [2]; default: 0;
|
||||
* an incomplete frame of data was sent interrupt st.
|
||||
*/
|
||||
#define CSI_BRIG_DISCARD_INT_ST (BIT(2))
|
||||
#define CSI_BRIG_DISCARD_INT_ST_M (CSI_BRIG_DISCARD_INT_ST_V << CSI_BRIG_DISCARD_INT_ST_S)
|
||||
#define CSI_BRIG_DISCARD_INT_ST_V 0x00000001U
|
||||
#define CSI_BRIG_DISCARD_INT_ST_S 2
|
||||
/** CSI_BRIG_CSI_BUF_OVERRUN_INT_ST : RO; bitpos: [3]; default: 0;
|
||||
* buffer overrun interrupt st.
|
||||
*/
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_ST (BIT(3))
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_ST_M (CSI_BRIG_CSI_BUF_OVERRUN_INT_ST_V << CSI_BRIG_CSI_BUF_OVERRUN_INT_ST_S)
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_ST_V 0x00000001U
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_ST_S 3
|
||||
/** CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_ST : RO; bitpos: [4]; default: 0;
|
||||
* buffer overflow interrupt st.
|
||||
*/
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_ST (BIT(4))
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_ST_M (CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_ST_V << CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_ST_S)
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_ST_V 0x00000001U
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_ST_S 4
|
||||
/** CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_ST : RO; bitpos: [5]; default: 0;
|
||||
* dma configuration update complete interrupt st.
|
||||
*/
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_ST (BIT(5))
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_ST_M (CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_ST_V << CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_ST_S)
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_ST_V 0x00000001U
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_ST_S 5
|
||||
|
||||
/** CSI_BRIG_INT_ENA_REG register
|
||||
* csi bridge interrupt enable.
|
||||
*/
|
||||
#define CSI_BRIG_INT_ENA_REG (DR_REG_CSI_BRIG_BASE + 0x28)
|
||||
/** CSI_BRIG_VADR_NUM_GT_INT_ENA : R/W; bitpos: [0]; default: 0;
|
||||
* reg_vadr_num is greater than real interrupt enable.
|
||||
*/
|
||||
#define CSI_BRIG_VADR_NUM_GT_INT_ENA (BIT(0))
|
||||
#define CSI_BRIG_VADR_NUM_GT_INT_ENA_M (CSI_BRIG_VADR_NUM_GT_INT_ENA_V << CSI_BRIG_VADR_NUM_GT_INT_ENA_S)
|
||||
#define CSI_BRIG_VADR_NUM_GT_INT_ENA_V 0x00000001U
|
||||
#define CSI_BRIG_VADR_NUM_GT_INT_ENA_S 0
|
||||
/** CSI_BRIG_VADR_NUM_LT_INT_ENA : R/W; bitpos: [1]; default: 0;
|
||||
* reg_vadr_num is less than real interrupt enable.
|
||||
*/
|
||||
#define CSI_BRIG_VADR_NUM_LT_INT_ENA (BIT(1))
|
||||
#define CSI_BRIG_VADR_NUM_LT_INT_ENA_M (CSI_BRIG_VADR_NUM_LT_INT_ENA_V << CSI_BRIG_VADR_NUM_LT_INT_ENA_S)
|
||||
#define CSI_BRIG_VADR_NUM_LT_INT_ENA_V 0x00000001U
|
||||
#define CSI_BRIG_VADR_NUM_LT_INT_ENA_S 1
|
||||
/** CSI_BRIG_DISCARD_INT_ENA : R/W; bitpos: [2]; default: 0;
|
||||
* an incomplete frame of data was sent interrupt enable.
|
||||
*/
|
||||
#define CSI_BRIG_DISCARD_INT_ENA (BIT(2))
|
||||
#define CSI_BRIG_DISCARD_INT_ENA_M (CSI_BRIG_DISCARD_INT_ENA_V << CSI_BRIG_DISCARD_INT_ENA_S)
|
||||
#define CSI_BRIG_DISCARD_INT_ENA_V 0x00000001U
|
||||
#define CSI_BRIG_DISCARD_INT_ENA_S 2
|
||||
/** CSI_BRIG_CSI_BUF_OVERRUN_INT_ENA : R/W; bitpos: [3]; default: 0;
|
||||
* buffer overrun interrupt enable.
|
||||
*/
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_ENA (BIT(3))
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_ENA_M (CSI_BRIG_CSI_BUF_OVERRUN_INT_ENA_V << CSI_BRIG_CSI_BUF_OVERRUN_INT_ENA_S)
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_ENA_V 0x00000001U
|
||||
#define CSI_BRIG_CSI_BUF_OVERRUN_INT_ENA_S 3
|
||||
/** CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_ENA : R/W; bitpos: [4]; default: 0;
|
||||
* buffer overflow interrupt enable.
|
||||
*/
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_ENA (BIT(4))
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_ENA_M (CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_ENA_V << CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_ENA_S)
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_ENA_V 0x00000001U
|
||||
#define CSI_BRIG_CSI_ASYNC_FIFO_OVF_INT_ENA_S 4
|
||||
/** CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_ENA : R/W; bitpos: [5]; default: 0;
|
||||
* dma configuration update complete interrupt enable.
|
||||
*/
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_ENA (BIT(5))
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_ENA_M (CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_ENA_V << CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_ENA_S)
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_ENA_V 0x00000001U
|
||||
#define CSI_BRIG_DMA_CFG_HAS_UPDATED_INT_ENA_S 5
|
||||
|
||||
/** CSI_BRIG_DMA_REQ_INTERVAL_REG register
|
||||
* DMA interval configuration.
|
||||
*/
|
||||
#define CSI_BRIG_DMA_REQ_INTERVAL_REG (DR_REG_CSI_BRIG_BASE + 0x2c)
|
||||
/** CSI_BRIG_DMA_REQ_INTERVAL : R/W; bitpos: [15:0]; default: 1;
|
||||
* 16'b1: 1 cycle. 16'b11: 2 cycle. ... ... 16'hFFFF: 16 cycle.
|
||||
*/
|
||||
#define CSI_BRIG_DMA_REQ_INTERVAL 0x0000FFFFU
|
||||
#define CSI_BRIG_DMA_REQ_INTERVAL_M (CSI_BRIG_DMA_REQ_INTERVAL_V << CSI_BRIG_DMA_REQ_INTERVAL_S)
|
||||
#define CSI_BRIG_DMA_REQ_INTERVAL_V 0x0000FFFFU
|
||||
#define CSI_BRIG_DMA_REQ_INTERVAL_S 0
|
||||
|
||||
/** CSI_BRIG_DMABLK_SIZE_REG register
|
||||
* DMA block size configuration.
|
||||
*/
|
||||
#define CSI_BRIG_DMABLK_SIZE_REG (DR_REG_CSI_BRIG_BASE + 0x30)
|
||||
/** CSI_BRIG_DMABLK_SIZE : R/W; bitpos: [12:0]; default: 8191;
|
||||
* the number of reg_dma_burst_len in a block
|
||||
*/
|
||||
#define CSI_BRIG_DMABLK_SIZE 0x00001FFFU
|
||||
#define CSI_BRIG_DMABLK_SIZE_M (CSI_BRIG_DMABLK_SIZE_V << CSI_BRIG_DMABLK_SIZE_S)
|
||||
#define CSI_BRIG_DMABLK_SIZE_V 0x00001FFFU
|
||||
#define CSI_BRIG_DMABLK_SIZE_S 0
|
||||
|
||||
/** CSI_BRIG_HOST_CTRL_REG register
|
||||
* csi host control by csi bridge.
|
||||
*/
|
||||
#define CSI_BRIG_HOST_CTRL_REG (DR_REG_CSI_BRIG_BASE + 0x40)
|
||||
/** CSI_BRIG_CSI_ENABLECLK : R/W; bitpos: [0]; default: 1;
|
||||
* enable clock lane module of csi phy.
|
||||
*/
|
||||
#define CSI_BRIG_CSI_ENABLECLK (BIT(0))
|
||||
#define CSI_BRIG_CSI_ENABLECLK_M (CSI_BRIG_CSI_ENABLECLK_V << CSI_BRIG_CSI_ENABLECLK_S)
|
||||
#define CSI_BRIG_CSI_ENABLECLK_V 0x00000001U
|
||||
#define CSI_BRIG_CSI_ENABLECLK_S 0
|
||||
/** CSI_BRIG_CSI_CFG_CLK_EN : R/W; bitpos: [1]; default: 1;
|
||||
* enable cfg_clk of csi host module.
|
||||
*/
|
||||
#define CSI_BRIG_CSI_CFG_CLK_EN (BIT(1))
|
||||
#define CSI_BRIG_CSI_CFG_CLK_EN_M (CSI_BRIG_CSI_CFG_CLK_EN_V << CSI_BRIG_CSI_CFG_CLK_EN_S)
|
||||
#define CSI_BRIG_CSI_CFG_CLK_EN_V 0x00000001U
|
||||
#define CSI_BRIG_CSI_CFG_CLK_EN_S 1
|
||||
/** CSI_BRIG_LOOPBK_TEST_EN : R/W; bitpos: [2]; default: 0;
|
||||
* for phy test by loopback dsi phy to csi phy.
|
||||
*/
|
||||
#define CSI_BRIG_LOOPBK_TEST_EN (BIT(2))
|
||||
#define CSI_BRIG_LOOPBK_TEST_EN_M (CSI_BRIG_LOOPBK_TEST_EN_V << CSI_BRIG_LOOPBK_TEST_EN_S)
|
||||
#define CSI_BRIG_LOOPBK_TEST_EN_V 0x00000001U
|
||||
#define CSI_BRIG_LOOPBK_TEST_EN_S 2
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
371
components/soc/esp32p4/include/soc/mipi_csi_bridge_struct.h
Normal file
371
components/soc/esp32p4/include/soc/mipi_csi_bridge_struct.h
Normal file
@ -0,0 +1,371 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: csi bridge regbank clock gating control register. */
|
||||
/** Type of clk_en register
|
||||
* csi bridge register mapping unit clock gating.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_en : R/W; bitpos: [0]; default: 0;
|
||||
* 0: enable clock gating. 1: disable clock gating, clock always on.
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} csi_brig_clk_en_reg_t;
|
||||
|
||||
|
||||
/** Group: csi bridge control registers. */
|
||||
/** Type of csi_en register
|
||||
* csi bridge enable.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** csi_brig_en : R/W; bitpos: [0]; default: 0;
|
||||
* 0: disable csi bridge. 1: enable csi bridge.
|
||||
*/
|
||||
uint32_t csi_brig_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} csi_brig_csi_en_reg_t;
|
||||
|
||||
/** Type of buf_flow_ctl register
|
||||
* csi bridge buffer control.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** csi_buf_afull_thrd : R/W; bitpos: [13:0]; default: 2040;
|
||||
* buffer almost full threshold.
|
||||
*/
|
||||
uint32_t csi_buf_afull_thrd:14;
|
||||
uint32_t reserved_14:2;
|
||||
/** csi_buf_depth : RO; bitpos: [29:16]; default: 0;
|
||||
* buffer data count.
|
||||
*/
|
||||
uint32_t csi_buf_depth:14;
|
||||
uint32_t reserved_30:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} csi_brig_buf_flow_ctl_reg_t;
|
||||
|
||||
|
||||
/** Group: csi bridge dma control registers. */
|
||||
/** Type of dma_req_cfg register
|
||||
* dma request configuration.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dma_burst_len : R/W; bitpos: [11:0]; default: 128;
|
||||
* DMA burst length.
|
||||
*/
|
||||
uint32_t dma_burst_len:12;
|
||||
/** dma_cfg_upd_by_blk : R/W; bitpos: [12]; default: 0;
|
||||
* 1: reg_dma_burst_len & reg_dma_burst_len will be updated by dma block finish. 0:
|
||||
* updated by frame.
|
||||
*/
|
||||
uint32_t dma_cfg_upd_by_blk:1;
|
||||
uint32_t reserved_13:3;
|
||||
/** dma_force_rd_status : R/W; bitpos: [16]; default: 0;
|
||||
* 1: mask dma request when reading frame info. 0: disable mask.
|
||||
*/
|
||||
uint32_t dma_force_rd_status:1;
|
||||
uint32_t reserved_17:15;
|
||||
};
|
||||
uint32_t val;
|
||||
} csi_brig_dma_req_cfg_reg_t;
|
||||
|
||||
/** Type of dma_req_interval register
|
||||
* DMA interval configuration.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dma_req_interval : R/W; bitpos: [15:0]; default: 1;
|
||||
* 16'b1: 1 cycle. 16'b11: 2 cycle. ... ... 16'hFFFF: 16 cycle.
|
||||
*/
|
||||
uint32_t dma_req_interval:16;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} csi_brig_dma_req_interval_reg_t;
|
||||
|
||||
/** Type of dmablk_size register
|
||||
* DMA block size configuration.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dmablk_size : R/W; bitpos: [12:0]; default: 8191;
|
||||
* the number of reg_dma_burst_len in a block
|
||||
*/
|
||||
uint32_t dmablk_size:13;
|
||||
uint32_t reserved_13:19;
|
||||
};
|
||||
uint32_t val;
|
||||
} csi_brig_dmablk_size_reg_t;
|
||||
|
||||
|
||||
/** Group: csi bridge frame format configuration registers. */
|
||||
/** Type of data_type_cfg register
|
||||
* pixel data type configuration.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** data_type_min : R/W; bitpos: [5:0]; default: 24;
|
||||
* the min value of data type used for pixel filter.
|
||||
*/
|
||||
uint32_t data_type_min:6;
|
||||
uint32_t reserved_6:2;
|
||||
/** data_type_max : R/W; bitpos: [13:8]; default: 47;
|
||||
* the max value of data type used for pixel filter.
|
||||
*/
|
||||
uint32_t data_type_max:6;
|
||||
uint32_t reserved_14:18;
|
||||
};
|
||||
uint32_t val;
|
||||
} csi_brig_data_type_cfg_reg_t;
|
||||
|
||||
/** Type of frame_cfg register
|
||||
* frame configuration.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** vadr_num : R/W; bitpos: [11:0]; default: 480;
|
||||
* vadr of frame data.
|
||||
*/
|
||||
uint32_t vadr_num:12;
|
||||
/** hadr_num : R/W; bitpos: [23:12]; default: 480;
|
||||
* hadr of frame data.
|
||||
*/
|
||||
uint32_t hadr_num:12;
|
||||
/** has_hsync_e : R/W; bitpos: [24]; default: 1;
|
||||
* 0: frame data doesn't contain hsync. 1: frame data contains hsync.
|
||||
*/
|
||||
uint32_t has_hsync_e:1;
|
||||
/** vadr_num_check : R/W; bitpos: [25]; default: 0;
|
||||
* 0: disable vadr check. 1: enable vadr check.
|
||||
*/
|
||||
uint32_t vadr_num_check:1;
|
||||
uint32_t reserved_26:6;
|
||||
};
|
||||
uint32_t val;
|
||||
} csi_brig_frame_cfg_reg_t;
|
||||
|
||||
/** Type of endian_mode register
|
||||
* data endianness order configuration.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** byte_endian_order : R/W; bitpos: [0]; default: 0;
|
||||
* endianness order in bytes. 2'h0 is normal mode and 2'h3 is useful to YUV420(Legacy)
|
||||
* when isp is bapassed.
|
||||
*/
|
||||
uint32_t byte_endian_order:1;
|
||||
/** bit_endian_order : R/W; bitpos: [1]; default: 0;
|
||||
* N/A
|
||||
*/
|
||||
uint32_t bit_endian_order:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} csi_brig_endian_mode_reg_t;
|
||||
|
||||
|
||||
/** Group: csi bridge interrupt registers. */
|
||||
/** Type of int_raw register
|
||||
* csi bridge interrupt raw.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** vadr_num_gt_int_raw : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* reg_vadr_num is greater than real interrupt raw.
|
||||
*/
|
||||
uint32_t vadr_num_gt_int_raw:1;
|
||||
/** vadr_num_lt_int_raw : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* reg_vadr_num is less than real interrupt raw.
|
||||
*/
|
||||
uint32_t vadr_num_lt_int_raw:1;
|
||||
/** discard_int_raw : R/WTC/SS; bitpos: [2]; default: 0;
|
||||
* an incomplete frame of data was sent interrupt raw.
|
||||
*/
|
||||
uint32_t discard_int_raw:1;
|
||||
/** csi_buf_overrun_int_raw : R/WTC/SS; bitpos: [3]; default: 0;
|
||||
* buffer overrun interrupt raw.
|
||||
*/
|
||||
uint32_t csi_buf_overrun_int_raw:1;
|
||||
/** csi_async_fifo_ovf_int_raw : R/WTC/SS; bitpos: [4]; default: 0;
|
||||
* buffer overflow interrupt raw.
|
||||
*/
|
||||
uint32_t csi_async_fifo_ovf_int_raw:1;
|
||||
/** dma_cfg_has_updated_int_raw : R/WTC/SS; bitpos: [5]; default: 0;
|
||||
* dma configuration update complete interrupt raw.
|
||||
*/
|
||||
uint32_t dma_cfg_has_updated_int_raw:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} csi_brig_int_raw_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* csi bridge interrupt clr.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** vadr_num_gt_real_int_clr : WT; bitpos: [0]; default: 0;
|
||||
* reg_vadr_num is greater than real interrupt clr.
|
||||
*/
|
||||
uint32_t vadr_num_gt_real_int_clr:1;
|
||||
/** vadr_num_lt_real_int_clr : WT; bitpos: [1]; default: 0;
|
||||
* reg_vadr_num is less than real interrupt clr.
|
||||
*/
|
||||
uint32_t vadr_num_lt_real_int_clr:1;
|
||||
/** discard_int_clr : WT; bitpos: [2]; default: 0;
|
||||
* an incomplete frame of data was sent interrupt clr.
|
||||
*/
|
||||
uint32_t discard_int_clr:1;
|
||||
/** csi_buf_overrun_int_clr : WT; bitpos: [3]; default: 0;
|
||||
* buffer overrun interrupt clr.
|
||||
*/
|
||||
uint32_t csi_buf_overrun_int_clr:1;
|
||||
/** csi_async_fifo_ovf_int_clr : WT; bitpos: [4]; default: 0;
|
||||
* buffer overflow interrupt clr.
|
||||
*/
|
||||
uint32_t csi_async_fifo_ovf_int_clr:1;
|
||||
/** dma_cfg_has_updated_int_clr : WT; bitpos: [5]; default: 0;
|
||||
* dma configuration update complete interrupt clr.
|
||||
*/
|
||||
uint32_t dma_cfg_has_updated_int_clr:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} csi_brig_int_clr_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* csi bridge interrupt st.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** vadr_num_gt_int_st : RO; bitpos: [0]; default: 0;
|
||||
* reg_vadr_num is greater than real interrupt st.
|
||||
*/
|
||||
uint32_t vadr_num_gt_int_st:1;
|
||||
/** vadr_num_lt_int_st : RO; bitpos: [1]; default: 0;
|
||||
* reg_vadr_num is less than real interrupt st.
|
||||
*/
|
||||
uint32_t vadr_num_lt_int_st:1;
|
||||
/** discard_int_st : RO; bitpos: [2]; default: 0;
|
||||
* an incomplete frame of data was sent interrupt st.
|
||||
*/
|
||||
uint32_t discard_int_st:1;
|
||||
/** csi_buf_overrun_int_st : RO; bitpos: [3]; default: 0;
|
||||
* buffer overrun interrupt st.
|
||||
*/
|
||||
uint32_t csi_buf_overrun_int_st:1;
|
||||
/** csi_async_fifo_ovf_int_st : RO; bitpos: [4]; default: 0;
|
||||
* buffer overflow interrupt st.
|
||||
*/
|
||||
uint32_t csi_async_fifo_ovf_int_st:1;
|
||||
/** dma_cfg_has_updated_int_st : RO; bitpos: [5]; default: 0;
|
||||
* dma configuration update complete interrupt st.
|
||||
*/
|
||||
uint32_t dma_cfg_has_updated_int_st:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} csi_brig_int_st_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* csi bridge interrupt enable.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** vadr_num_gt_int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* reg_vadr_num is greater than real interrupt enable.
|
||||
*/
|
||||
uint32_t vadr_num_gt_int_ena:1;
|
||||
/** vadr_num_lt_int_ena : R/W; bitpos: [1]; default: 0;
|
||||
* reg_vadr_num is less than real interrupt enable.
|
||||
*/
|
||||
uint32_t vadr_num_lt_int_ena:1;
|
||||
/** discard_int_ena : R/W; bitpos: [2]; default: 0;
|
||||
* an incomplete frame of data was sent interrupt enable.
|
||||
*/
|
||||
uint32_t discard_int_ena:1;
|
||||
/** csi_buf_overrun_int_ena : R/W; bitpos: [3]; default: 0;
|
||||
* buffer overrun interrupt enable.
|
||||
*/
|
||||
uint32_t csi_buf_overrun_int_ena:1;
|
||||
/** csi_async_fifo_ovf_int_ena : R/W; bitpos: [4]; default: 0;
|
||||
* buffer overflow interrupt enable.
|
||||
*/
|
||||
uint32_t csi_async_fifo_ovf_int_ena:1;
|
||||
/** dma_cfg_has_updated_int_ena : R/W; bitpos: [5]; default: 0;
|
||||
* dma configuration update complete interrupt enable.
|
||||
*/
|
||||
uint32_t dma_cfg_has_updated_int_ena:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} csi_brig_int_ena_reg_t;
|
||||
|
||||
|
||||
/** Group: csi-host control registers from csi bridge regbank. */
|
||||
/** Type of host_ctrl register
|
||||
* csi host control by csi bridge.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** csi_enableclk : R/W; bitpos: [0]; default: 1;
|
||||
* enable clock lane module of csi phy.
|
||||
*/
|
||||
uint32_t csi_enableclk:1;
|
||||
/** csi_cfg_clk_en : R/W; bitpos: [1]; default: 1;
|
||||
* enable cfg_clk of csi host module.
|
||||
*/
|
||||
uint32_t csi_cfg_clk_en:1;
|
||||
/** loopbk_test_en : R/W; bitpos: [2]; default: 0;
|
||||
* for phy test by loopback dsi phy to csi phy.
|
||||
*/
|
||||
uint32_t loopbk_test_en:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} csi_brig_host_ctrl_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile csi_brig_clk_en_reg_t clk_en;
|
||||
volatile csi_brig_csi_en_reg_t csi_en;
|
||||
volatile csi_brig_dma_req_cfg_reg_t dma_req_cfg;
|
||||
volatile csi_brig_buf_flow_ctl_reg_t buf_flow_ctl;
|
||||
volatile csi_brig_data_type_cfg_reg_t data_type_cfg;
|
||||
volatile csi_brig_frame_cfg_reg_t frame_cfg;
|
||||
volatile csi_brig_endian_mode_reg_t endian_mode;
|
||||
volatile csi_brig_int_raw_reg_t int_raw;
|
||||
volatile csi_brig_int_clr_reg_t int_clr;
|
||||
volatile csi_brig_int_st_reg_t int_st;
|
||||
volatile csi_brig_int_ena_reg_t int_ena;
|
||||
volatile csi_brig_dma_req_interval_reg_t dma_req_interval;
|
||||
volatile csi_brig_dmablk_size_reg_t dmablk_size;
|
||||
uint32_t reserved_034[3];
|
||||
volatile csi_brig_host_ctrl_reg_t host_ctrl;
|
||||
} csi_brig_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(csi_brig_dev_t) == 0x44, "Invalid size of csi_brig_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
2627
components/soc/esp32p4/include/soc/mipi_csi_host_reg.h
Normal file
2627
components/soc/esp32p4/include/soc/mipi_csi_host_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1882
components/soc/esp32p4/include/soc/mipi_csi_host_struct.h
Normal file
1882
components/soc/esp32p4/include/soc/mipi_csi_host_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
837
components/soc/esp32p4/include/soc/mipi_dsi_bridge_reg.h
Normal file
837
components/soc/esp32p4/include/soc/mipi_dsi_bridge_reg.h
Normal file
@ -0,0 +1,837 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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
|
||||
|
||||
/** DSI_BRG_CLK_EN_REG register
|
||||
* dsi bridge clk control register
|
||||
*/
|
||||
#define DSI_BRG_CLK_EN_REG (DR_REG_DSI_BRG_BASE + 0x0)
|
||||
/** DSI_BRG_CLK_EN : R/W; bitpos: [0]; default: 0;
|
||||
* this bit configures force_on of dsi_bridge register clock gate
|
||||
*/
|
||||
#define DSI_BRG_CLK_EN (BIT(0))
|
||||
#define DSI_BRG_CLK_EN_M (DSI_BRG_CLK_EN_V << DSI_BRG_CLK_EN_S)
|
||||
#define DSI_BRG_CLK_EN_V 0x00000001U
|
||||
#define DSI_BRG_CLK_EN_S 0
|
||||
|
||||
/** DSI_BRG_EN_REG register
|
||||
* dsi bridge en register
|
||||
*/
|
||||
#define DSI_BRG_EN_REG (DR_REG_DSI_BRG_BASE + 0x4)
|
||||
/** DSI_BRG_DSI_EN : R/W; bitpos: [0]; default: 0;
|
||||
* this bit configures module enable of dsi_bridge. 0: disable, 1: enable
|
||||
*/
|
||||
#define DSI_BRG_DSI_EN (BIT(0))
|
||||
#define DSI_BRG_DSI_EN_M (DSI_BRG_DSI_EN_V << DSI_BRG_DSI_EN_S)
|
||||
#define DSI_BRG_DSI_EN_V 0x00000001U
|
||||
#define DSI_BRG_DSI_EN_S 0
|
||||
|
||||
/** DSI_BRG_DMA_REQ_CFG_REG register
|
||||
* dsi bridge dma burst len register
|
||||
*/
|
||||
#define DSI_BRG_DMA_REQ_CFG_REG (DR_REG_DSI_BRG_BASE + 0x8)
|
||||
/** DSI_BRG_DMA_BURST_LEN : R/W; bitpos: [11:0]; default: 128;
|
||||
* this field configures the num of 64-bit in one dma burst transfer, valid only when
|
||||
* dsi_bridge as flow controller
|
||||
*/
|
||||
#define DSI_BRG_DMA_BURST_LEN 0x00000FFFU
|
||||
#define DSI_BRG_DMA_BURST_LEN_M (DSI_BRG_DMA_BURST_LEN_V << DSI_BRG_DMA_BURST_LEN_S)
|
||||
#define DSI_BRG_DMA_BURST_LEN_V 0x00000FFFU
|
||||
#define DSI_BRG_DMA_BURST_LEN_S 0
|
||||
|
||||
/** DSI_BRG_RAW_NUM_CFG_REG register
|
||||
* dsi bridge raw number control register
|
||||
*/
|
||||
#define DSI_BRG_RAW_NUM_CFG_REG (DR_REG_DSI_BRG_BASE + 0xc)
|
||||
/** DSI_BRG_RAW_NUM_TOTAL : R/W; bitpos: [21:0]; default: 230400;
|
||||
* this field configures number of total pix bits/64
|
||||
*/
|
||||
#define DSI_BRG_RAW_NUM_TOTAL 0x003FFFFFU
|
||||
#define DSI_BRG_RAW_NUM_TOTAL_M (DSI_BRG_RAW_NUM_TOTAL_V << DSI_BRG_RAW_NUM_TOTAL_S)
|
||||
#define DSI_BRG_RAW_NUM_TOTAL_V 0x003FFFFFU
|
||||
#define DSI_BRG_RAW_NUM_TOTAL_S 0
|
||||
/** DSI_BRG_UNALIGN_64BIT_EN : R/W; bitpos: [22]; default: 0;
|
||||
* this field configures whether the total pix bits is a multiple of 64bits. 0: align
|
||||
* to 64-bit, 1: unalign to 64-bit
|
||||
*/
|
||||
#define DSI_BRG_UNALIGN_64BIT_EN (BIT(22))
|
||||
#define DSI_BRG_UNALIGN_64BIT_EN_M (DSI_BRG_UNALIGN_64BIT_EN_V << DSI_BRG_UNALIGN_64BIT_EN_S)
|
||||
#define DSI_BRG_UNALIGN_64BIT_EN_V 0x00000001U
|
||||
#define DSI_BRG_UNALIGN_64BIT_EN_S 22
|
||||
/** DSI_BRG_RAW_NUM_TOTAL_SET : WT; bitpos: [31]; default: 0;
|
||||
* this bit configures enable of reload reg_raw_num_total to internal cnt. 0: disable,
|
||||
* 1: enable. valid only when dsi_bridge as flow controller
|
||||
*/
|
||||
#define DSI_BRG_RAW_NUM_TOTAL_SET (BIT(31))
|
||||
#define DSI_BRG_RAW_NUM_TOTAL_SET_M (DSI_BRG_RAW_NUM_TOTAL_SET_V << DSI_BRG_RAW_NUM_TOTAL_SET_S)
|
||||
#define DSI_BRG_RAW_NUM_TOTAL_SET_V 0x00000001U
|
||||
#define DSI_BRG_RAW_NUM_TOTAL_SET_S 31
|
||||
|
||||
/** DSI_BRG_RAW_BUF_CREDIT_CTL_REG register
|
||||
* dsi bridge credit register
|
||||
*/
|
||||
#define DSI_BRG_RAW_BUF_CREDIT_CTL_REG (DR_REG_DSI_BRG_BASE + 0x10)
|
||||
/** DSI_BRG_CREDIT_THRD : R/W; bitpos: [14:0]; default: 1024;
|
||||
* this field configures the threshold whether dsi_bridge fifo can receive one more
|
||||
* 64-bit, valid only when dsi_bridge as flow controller
|
||||
*/
|
||||
#define DSI_BRG_CREDIT_THRD 0x00007FFFU
|
||||
#define DSI_BRG_CREDIT_THRD_M (DSI_BRG_CREDIT_THRD_V << DSI_BRG_CREDIT_THRD_S)
|
||||
#define DSI_BRG_CREDIT_THRD_V 0x00007FFFU
|
||||
#define DSI_BRG_CREDIT_THRD_S 0
|
||||
/** DSI_BRG_CREDIT_BURST_THRD : R/W; bitpos: [30:16]; default: 800;
|
||||
* this field configures the threshold whether dsi_bridge fifo can receive one more
|
||||
* dma burst, valid only when dsi_bridge as flow controller
|
||||
*/
|
||||
#define DSI_BRG_CREDIT_BURST_THRD 0x00007FFFU
|
||||
#define DSI_BRG_CREDIT_BURST_THRD_M (DSI_BRG_CREDIT_BURST_THRD_V << DSI_BRG_CREDIT_BURST_THRD_S)
|
||||
#define DSI_BRG_CREDIT_BURST_THRD_V 0x00007FFFU
|
||||
#define DSI_BRG_CREDIT_BURST_THRD_S 16
|
||||
/** DSI_BRG_CREDIT_RESET : R/W; bitpos: [31]; default: 0;
|
||||
* this bit configures internal credit cnt clear, 0: non, 1: reset. valid only when
|
||||
* dsi_bridge as flow controller
|
||||
*/
|
||||
#define DSI_BRG_CREDIT_RESET (BIT(31))
|
||||
#define DSI_BRG_CREDIT_RESET_M (DSI_BRG_CREDIT_RESET_V << DSI_BRG_CREDIT_RESET_S)
|
||||
#define DSI_BRG_CREDIT_RESET_V 0x00000001U
|
||||
#define DSI_BRG_CREDIT_RESET_S 31
|
||||
|
||||
/** DSI_BRG_FIFO_FLOW_STATUS_REG register
|
||||
* dsi bridge raw buffer depth register
|
||||
*/
|
||||
#define DSI_BRG_FIFO_FLOW_STATUS_REG (DR_REG_DSI_BRG_BASE + 0x14)
|
||||
/** DSI_BRG_RAW_BUF_DEPTH : RO; bitpos: [13:0]; default: 0;
|
||||
* this field configures the depth of dsi_bridge fifo depth
|
||||
*/
|
||||
#define DSI_BRG_RAW_BUF_DEPTH 0x00003FFFU
|
||||
#define DSI_BRG_RAW_BUF_DEPTH_M (DSI_BRG_RAW_BUF_DEPTH_V << DSI_BRG_RAW_BUF_DEPTH_S)
|
||||
#define DSI_BRG_RAW_BUF_DEPTH_V 0x00003FFFU
|
||||
#define DSI_BRG_RAW_BUF_DEPTH_S 0
|
||||
|
||||
/** DSI_BRG_PIXEL_TYPE_REG register
|
||||
* dsi bridge dpi type control register
|
||||
*/
|
||||
#define DSI_BRG_PIXEL_TYPE_REG (DR_REG_DSI_BRG_BASE + 0x18)
|
||||
/** DSI_BRG_RAW_TYPE : R/W; bitpos: [3:0]; default: 0;
|
||||
* this field configures the pixel type. 0: rgb888, 1:rgb666, 2:rgb565
|
||||
*/
|
||||
#define DSI_BRG_RAW_TYPE 0x0000000FU
|
||||
#define DSI_BRG_RAW_TYPE_M (DSI_BRG_RAW_TYPE_V << DSI_BRG_RAW_TYPE_S)
|
||||
#define DSI_BRG_RAW_TYPE_V 0x0000000FU
|
||||
#define DSI_BRG_RAW_TYPE_S 0
|
||||
/** DSI_BRG_DPI_CONFIG : R/W; bitpos: [5:4]; default: 0;
|
||||
* this field configures the pixel arrange type of dpi interface
|
||||
*/
|
||||
#define DSI_BRG_DPI_CONFIG 0x00000003U
|
||||
#define DSI_BRG_DPI_CONFIG_M (DSI_BRG_DPI_CONFIG_V << DSI_BRG_DPI_CONFIG_S)
|
||||
#define DSI_BRG_DPI_CONFIG_V 0x00000003U
|
||||
#define DSI_BRG_DPI_CONFIG_S 4
|
||||
/** DSI_BRG_DATA_IN_TYPE : R/W; bitpos: [6]; default: 0;
|
||||
* input data type, 0: rgb, 1: yuv
|
||||
*/
|
||||
#define DSI_BRG_DATA_IN_TYPE (BIT(6))
|
||||
#define DSI_BRG_DATA_IN_TYPE_M (DSI_BRG_DATA_IN_TYPE_V << DSI_BRG_DATA_IN_TYPE_S)
|
||||
#define DSI_BRG_DATA_IN_TYPE_V 0x00000001U
|
||||
#define DSI_BRG_DATA_IN_TYPE_S 6
|
||||
|
||||
/** DSI_BRG_DMA_BLOCK_INTERVAL_REG register
|
||||
* dsi bridge dma block interval control register
|
||||
*/
|
||||
#define DSI_BRG_DMA_BLOCK_INTERVAL_REG (DR_REG_DSI_BRG_BASE + 0x1c)
|
||||
/** DSI_BRG_DMA_BLOCK_SLOT : R/W; bitpos: [9:0]; default: 9;
|
||||
* this field configures the max block_slot_cnt
|
||||
*/
|
||||
#define DSI_BRG_DMA_BLOCK_SLOT 0x000003FFU
|
||||
#define DSI_BRG_DMA_BLOCK_SLOT_M (DSI_BRG_DMA_BLOCK_SLOT_V << DSI_BRG_DMA_BLOCK_SLOT_S)
|
||||
#define DSI_BRG_DMA_BLOCK_SLOT_V 0x000003FFU
|
||||
#define DSI_BRG_DMA_BLOCK_SLOT_S 0
|
||||
/** DSI_BRG_DMA_BLOCK_INTERVAL : R/W; bitpos: [27:10]; default: 9;
|
||||
* this field configures the max block_interval_cnt, block_interval_cnt increased by 1
|
||||
* when block_slot_cnt if full
|
||||
*/
|
||||
#define DSI_BRG_DMA_BLOCK_INTERVAL 0x0003FFFFU
|
||||
#define DSI_BRG_DMA_BLOCK_INTERVAL_M (DSI_BRG_DMA_BLOCK_INTERVAL_V << DSI_BRG_DMA_BLOCK_INTERVAL_S)
|
||||
#define DSI_BRG_DMA_BLOCK_INTERVAL_V 0x0003FFFFU
|
||||
#define DSI_BRG_DMA_BLOCK_INTERVAL_S 10
|
||||
/** DSI_BRG_RAW_NUM_TOTAL_AUTO_RELOAD : R/W; bitpos: [28]; default: 1;
|
||||
* this bit configures enable of auto reload reg_raw_num_total, 0: disable, 1: enable
|
||||
*/
|
||||
#define DSI_BRG_RAW_NUM_TOTAL_AUTO_RELOAD (BIT(28))
|
||||
#define DSI_BRG_RAW_NUM_TOTAL_AUTO_RELOAD_M (DSI_BRG_RAW_NUM_TOTAL_AUTO_RELOAD_V << DSI_BRG_RAW_NUM_TOTAL_AUTO_RELOAD_S)
|
||||
#define DSI_BRG_RAW_NUM_TOTAL_AUTO_RELOAD_V 0x00000001U
|
||||
#define DSI_BRG_RAW_NUM_TOTAL_AUTO_RELOAD_S 28
|
||||
/** DSI_BRG_DMA_BLOCK_INTERVAL_EN : R/W; bitpos: [29]; default: 1;
|
||||
* this bit configures enable of interval between dma block transfer, 0: disable, 1:
|
||||
* enable
|
||||
*/
|
||||
#define DSI_BRG_DMA_BLOCK_INTERVAL_EN (BIT(29))
|
||||
#define DSI_BRG_DMA_BLOCK_INTERVAL_EN_M (DSI_BRG_DMA_BLOCK_INTERVAL_EN_V << DSI_BRG_DMA_BLOCK_INTERVAL_EN_S)
|
||||
#define DSI_BRG_DMA_BLOCK_INTERVAL_EN_V 0x00000001U
|
||||
#define DSI_BRG_DMA_BLOCK_INTERVAL_EN_S 29
|
||||
|
||||
/** DSI_BRG_DMA_REQ_INTERVAL_REG register
|
||||
* dsi bridge dma req interval control register
|
||||
*/
|
||||
#define DSI_BRG_DMA_REQ_INTERVAL_REG (DR_REG_DSI_BRG_BASE + 0x20)
|
||||
/** DSI_BRG_DMA_REQ_INTERVAL : R/W; bitpos: [15:0]; default: 1;
|
||||
* this field configures the interval between dma req events
|
||||
*/
|
||||
#define DSI_BRG_DMA_REQ_INTERVAL 0x0000FFFFU
|
||||
#define DSI_BRG_DMA_REQ_INTERVAL_M (DSI_BRG_DMA_REQ_INTERVAL_V << DSI_BRG_DMA_REQ_INTERVAL_S)
|
||||
#define DSI_BRG_DMA_REQ_INTERVAL_V 0x0000FFFFU
|
||||
#define DSI_BRG_DMA_REQ_INTERVAL_S 0
|
||||
|
||||
/** DSI_BRG_DPI_LCD_CTL_REG register
|
||||
* dsi bridge dpi signal control register
|
||||
*/
|
||||
#define DSI_BRG_DPI_LCD_CTL_REG (DR_REG_DSI_BRG_BASE + 0x24)
|
||||
/** DSI_BRG_DPISHUTDN : R/W; bitpos: [0]; default: 0;
|
||||
* this bit configures dpishutdn signal in dpi interface
|
||||
*/
|
||||
#define DSI_BRG_DPISHUTDN (BIT(0))
|
||||
#define DSI_BRG_DPISHUTDN_M (DSI_BRG_DPISHUTDN_V << DSI_BRG_DPISHUTDN_S)
|
||||
#define DSI_BRG_DPISHUTDN_V 0x00000001U
|
||||
#define DSI_BRG_DPISHUTDN_S 0
|
||||
/** DSI_BRG_DPICOLORM : R/W; bitpos: [1]; default: 0;
|
||||
* this bit configures dpicolorm signal in dpi interface
|
||||
*/
|
||||
#define DSI_BRG_DPICOLORM (BIT(1))
|
||||
#define DSI_BRG_DPICOLORM_M (DSI_BRG_DPICOLORM_V << DSI_BRG_DPICOLORM_S)
|
||||
#define DSI_BRG_DPICOLORM_V 0x00000001U
|
||||
#define DSI_BRG_DPICOLORM_S 1
|
||||
/** DSI_BRG_DPIUPDATECFG : R/W; bitpos: [2]; default: 0;
|
||||
* this bit configures dpiupdatecfg signal in dpi interface
|
||||
*/
|
||||
#define DSI_BRG_DPIUPDATECFG (BIT(2))
|
||||
#define DSI_BRG_DPIUPDATECFG_M (DSI_BRG_DPIUPDATECFG_V << DSI_BRG_DPIUPDATECFG_S)
|
||||
#define DSI_BRG_DPIUPDATECFG_V 0x00000001U
|
||||
#define DSI_BRG_DPIUPDATECFG_S 2
|
||||
|
||||
/** DSI_BRG_DPI_RSV_DPI_DATA_REG register
|
||||
* dsi bridge dpi reserved data register
|
||||
*/
|
||||
#define DSI_BRG_DPI_RSV_DPI_DATA_REG (DR_REG_DSI_BRG_BASE + 0x28)
|
||||
/** DSI_BRG_DPI_RSV_DATA : R/W; bitpos: [29:0]; default: 16383;
|
||||
* this field controls the pixel data sent to dsi_host when dsi_bridge fifo underflow
|
||||
*/
|
||||
#define DSI_BRG_DPI_RSV_DATA 0x3FFFFFFFU
|
||||
#define DSI_BRG_DPI_RSV_DATA_M (DSI_BRG_DPI_RSV_DATA_V << DSI_BRG_DPI_RSV_DATA_S)
|
||||
#define DSI_BRG_DPI_RSV_DATA_V 0x3FFFFFFFU
|
||||
#define DSI_BRG_DPI_RSV_DATA_S 0
|
||||
|
||||
/** DSI_BRG_DPI_V_CFG0_REG register
|
||||
* dsi bridge dpi v config register 0
|
||||
*/
|
||||
#define DSI_BRG_DPI_V_CFG0_REG (DR_REG_DSI_BRG_BASE + 0x30)
|
||||
/** DSI_BRG_VTOTAL : R/W; bitpos: [11:0]; default: 525;
|
||||
* this field configures the total length of one frame (by line) for dpi output, must
|
||||
* meet: reg_vtotal > reg_vdisp+reg_vsync+reg_vbank
|
||||
*/
|
||||
#define DSI_BRG_VTOTAL 0x00000FFFU
|
||||
#define DSI_BRG_VTOTAL_M (DSI_BRG_VTOTAL_V << DSI_BRG_VTOTAL_S)
|
||||
#define DSI_BRG_VTOTAL_V 0x00000FFFU
|
||||
#define DSI_BRG_VTOTAL_S 0
|
||||
/** DSI_BRG_VDISP : R/W; bitpos: [27:16]; default: 480;
|
||||
* this field configures the length of valid line (by line) for dpi output
|
||||
*/
|
||||
#define DSI_BRG_VDISP 0x00000FFFU
|
||||
#define DSI_BRG_VDISP_M (DSI_BRG_VDISP_V << DSI_BRG_VDISP_S)
|
||||
#define DSI_BRG_VDISP_V 0x00000FFFU
|
||||
#define DSI_BRG_VDISP_S 16
|
||||
|
||||
/** DSI_BRG_DPI_V_CFG1_REG register
|
||||
* dsi bridge dpi v config register 1
|
||||
*/
|
||||
#define DSI_BRG_DPI_V_CFG1_REG (DR_REG_DSI_BRG_BASE + 0x34)
|
||||
/** DSI_BRG_VBANK : R/W; bitpos: [11:0]; default: 33;
|
||||
* this field configures the length between vsync and valid line (by line) for dpi
|
||||
* output
|
||||
*/
|
||||
#define DSI_BRG_VBANK 0x00000FFFU
|
||||
#define DSI_BRG_VBANK_M (DSI_BRG_VBANK_V << DSI_BRG_VBANK_S)
|
||||
#define DSI_BRG_VBANK_V 0x00000FFFU
|
||||
#define DSI_BRG_VBANK_S 0
|
||||
/** DSI_BRG_VSYNC : R/W; bitpos: [27:16]; default: 2;
|
||||
* this field configures the length of vsync (by line) for dpi output
|
||||
*/
|
||||
#define DSI_BRG_VSYNC 0x00000FFFU
|
||||
#define DSI_BRG_VSYNC_M (DSI_BRG_VSYNC_V << DSI_BRG_VSYNC_S)
|
||||
#define DSI_BRG_VSYNC_V 0x00000FFFU
|
||||
#define DSI_BRG_VSYNC_S 16
|
||||
|
||||
/** DSI_BRG_DPI_H_CFG0_REG register
|
||||
* dsi bridge dpi h config register 0
|
||||
*/
|
||||
#define DSI_BRG_DPI_H_CFG0_REG (DR_REG_DSI_BRG_BASE + 0x38)
|
||||
/** DSI_BRG_HTOTAL : R/W; bitpos: [11:0]; default: 800;
|
||||
* this field configures the total length of one line (by pixel num) for dpi output,
|
||||
* must meet: reg_htotal > reg_hdisp+reg_hsync+reg_hbank
|
||||
*/
|
||||
#define DSI_BRG_HTOTAL 0x00000FFFU
|
||||
#define DSI_BRG_HTOTAL_M (DSI_BRG_HTOTAL_V << DSI_BRG_HTOTAL_S)
|
||||
#define DSI_BRG_HTOTAL_V 0x00000FFFU
|
||||
#define DSI_BRG_HTOTAL_S 0
|
||||
/** DSI_BRG_HDISP : R/W; bitpos: [27:16]; default: 640;
|
||||
* this field configures the length of valid pixel data (by pixel num) for dpi output
|
||||
*/
|
||||
#define DSI_BRG_HDISP 0x00000FFFU
|
||||
#define DSI_BRG_HDISP_M (DSI_BRG_HDISP_V << DSI_BRG_HDISP_S)
|
||||
#define DSI_BRG_HDISP_V 0x00000FFFU
|
||||
#define DSI_BRG_HDISP_S 16
|
||||
|
||||
/** DSI_BRG_DPI_H_CFG1_REG register
|
||||
* dsi bridge dpi h config register 1
|
||||
*/
|
||||
#define DSI_BRG_DPI_H_CFG1_REG (DR_REG_DSI_BRG_BASE + 0x3c)
|
||||
/** DSI_BRG_HBANK : R/W; bitpos: [11:0]; default: 48;
|
||||
* this field configures the length between hsync and pixel data valid (by pixel num)
|
||||
* for dpi output
|
||||
*/
|
||||
#define DSI_BRG_HBANK 0x00000FFFU
|
||||
#define DSI_BRG_HBANK_M (DSI_BRG_HBANK_V << DSI_BRG_HBANK_S)
|
||||
#define DSI_BRG_HBANK_V 0x00000FFFU
|
||||
#define DSI_BRG_HBANK_S 0
|
||||
/** DSI_BRG_HSYNC : R/W; bitpos: [27:16]; default: 96;
|
||||
* this field configures the length of hsync (by pixel num) for dpi output
|
||||
*/
|
||||
#define DSI_BRG_HSYNC 0x00000FFFU
|
||||
#define DSI_BRG_HSYNC_M (DSI_BRG_HSYNC_V << DSI_BRG_HSYNC_S)
|
||||
#define DSI_BRG_HSYNC_V 0x00000FFFU
|
||||
#define DSI_BRG_HSYNC_S 16
|
||||
|
||||
/** DSI_BRG_DPI_MISC_CONFIG_REG register
|
||||
* dsi_bridge dpi misc config register
|
||||
*/
|
||||
#define DSI_BRG_DPI_MISC_CONFIG_REG (DR_REG_DSI_BRG_BASE + 0x40)
|
||||
/** DSI_BRG_DPI_EN : R/W; bitpos: [0]; default: 0;
|
||||
* this bit configures enable of dpi output, 0: disable, 1: enable
|
||||
*/
|
||||
#define DSI_BRG_DPI_EN (BIT(0))
|
||||
#define DSI_BRG_DPI_EN_M (DSI_BRG_DPI_EN_V << DSI_BRG_DPI_EN_S)
|
||||
#define DSI_BRG_DPI_EN_V 0x00000001U
|
||||
#define DSI_BRG_DPI_EN_S 0
|
||||
/** DSI_BRG_FIFO_UNDERRUN_DISCARD_VCNT : R/W; bitpos: [15:4]; default: 413;
|
||||
* this field configures the underrun interrupt musk, when underrun occurs and line
|
||||
* cnt is less then this field
|
||||
*/
|
||||
#define DSI_BRG_FIFO_UNDERRUN_DISCARD_VCNT 0x00000FFFU
|
||||
#define DSI_BRG_FIFO_UNDERRUN_DISCARD_VCNT_M (DSI_BRG_FIFO_UNDERRUN_DISCARD_VCNT_V << DSI_BRG_FIFO_UNDERRUN_DISCARD_VCNT_S)
|
||||
#define DSI_BRG_FIFO_UNDERRUN_DISCARD_VCNT_V 0x00000FFFU
|
||||
#define DSI_BRG_FIFO_UNDERRUN_DISCARD_VCNT_S 4
|
||||
|
||||
/** DSI_BRG_DPI_CONFIG_UPDATE_REG register
|
||||
* dsi_bridge dpi config update register
|
||||
*/
|
||||
#define DSI_BRG_DPI_CONFIG_UPDATE_REG (DR_REG_DSI_BRG_BASE + 0x44)
|
||||
/** DSI_BRG_DPI_CONFIG_UPDATE : WT; bitpos: [0]; default: 0;
|
||||
* write 1 to this bit to update dpi config register MIPI_DSI_BRG_DPI_*
|
||||
*/
|
||||
#define DSI_BRG_DPI_CONFIG_UPDATE (BIT(0))
|
||||
#define DSI_BRG_DPI_CONFIG_UPDATE_M (DSI_BRG_DPI_CONFIG_UPDATE_V << DSI_BRG_DPI_CONFIG_UPDATE_S)
|
||||
#define DSI_BRG_DPI_CONFIG_UPDATE_V 0x00000001U
|
||||
#define DSI_BRG_DPI_CONFIG_UPDATE_S 0
|
||||
|
||||
/** DSI_BRG_INT_ENA_REG register
|
||||
* dsi_bridge interrupt enable register
|
||||
*/
|
||||
#define DSI_BRG_INT_ENA_REG (DR_REG_DSI_BRG_BASE + 0x50)
|
||||
/** DSI_BRG_UNDERRUN_INT_ENA : R/W; bitpos: [0]; default: 0;
|
||||
* write 1 to enables dpi_underrun_int_st field of MIPI_DSI_BRG_INT_ST_REG controlled
|
||||
* by dpi_underrun interrupt signal
|
||||
*/
|
||||
#define DSI_BRG_UNDERRUN_INT_ENA (BIT(0))
|
||||
#define DSI_BRG_UNDERRUN_INT_ENA_M (DSI_BRG_UNDERRUN_INT_ENA_V << DSI_BRG_UNDERRUN_INT_ENA_S)
|
||||
#define DSI_BRG_UNDERRUN_INT_ENA_V 0x00000001U
|
||||
#define DSI_BRG_UNDERRUN_INT_ENA_S 0
|
||||
|
||||
/** DSI_BRG_INT_CLR_REG register
|
||||
* dsi_bridge interrupt clear register
|
||||
*/
|
||||
#define DSI_BRG_INT_CLR_REG (DR_REG_DSI_BRG_BASE + 0x54)
|
||||
/** DSI_BRG_UNDERRUN_INT_CLR : WT; bitpos: [0]; default: 0;
|
||||
* write 1 to this bit to clear dpi_underrun_int_raw field of MIPI_DSI_BRG_INT_RAW_REG
|
||||
*/
|
||||
#define DSI_BRG_UNDERRUN_INT_CLR (BIT(0))
|
||||
#define DSI_BRG_UNDERRUN_INT_CLR_M (DSI_BRG_UNDERRUN_INT_CLR_V << DSI_BRG_UNDERRUN_INT_CLR_S)
|
||||
#define DSI_BRG_UNDERRUN_INT_CLR_V 0x00000001U
|
||||
#define DSI_BRG_UNDERRUN_INT_CLR_S 0
|
||||
|
||||
/** DSI_BRG_INT_RAW_REG register
|
||||
* dsi_bridge raw interrupt register
|
||||
*/
|
||||
#define DSI_BRG_INT_RAW_REG (DR_REG_DSI_BRG_BASE + 0x58)
|
||||
/** DSI_BRG_UNDERRUN_INT_RAW : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* the raw interrupt status of dpi_underrun
|
||||
*/
|
||||
#define DSI_BRG_UNDERRUN_INT_RAW (BIT(0))
|
||||
#define DSI_BRG_UNDERRUN_INT_RAW_M (DSI_BRG_UNDERRUN_INT_RAW_V << DSI_BRG_UNDERRUN_INT_RAW_S)
|
||||
#define DSI_BRG_UNDERRUN_INT_RAW_V 0x00000001U
|
||||
#define DSI_BRG_UNDERRUN_INT_RAW_S 0
|
||||
|
||||
/** DSI_BRG_INT_ST_REG register
|
||||
* dsi_bridge masked interrupt register
|
||||
*/
|
||||
#define DSI_BRG_INT_ST_REG (DR_REG_DSI_BRG_BASE + 0x5c)
|
||||
/** DSI_BRG_UNDERRUN_INT_ST : RO; bitpos: [0]; default: 0;
|
||||
* the masked interrupt status of dpi_underrun
|
||||
*/
|
||||
#define DSI_BRG_UNDERRUN_INT_ST (BIT(0))
|
||||
#define DSI_BRG_UNDERRUN_INT_ST_M (DSI_BRG_UNDERRUN_INT_ST_V << DSI_BRG_UNDERRUN_INT_ST_S)
|
||||
#define DSI_BRG_UNDERRUN_INT_ST_V 0x00000001U
|
||||
#define DSI_BRG_UNDERRUN_INT_ST_S 0
|
||||
|
||||
/** DSI_BRG_HOST_BIST_CTL_REG register
|
||||
* dsi_bridge host bist control register
|
||||
*/
|
||||
#define DSI_BRG_HOST_BIST_CTL_REG (DR_REG_DSI_BRG_BASE + 0x60)
|
||||
/** DSI_BRG_BISTOK : RO; bitpos: [0]; default: 0;
|
||||
* bistok
|
||||
*/
|
||||
#define DSI_BRG_BISTOK (BIT(0))
|
||||
#define DSI_BRG_BISTOK_M (DSI_BRG_BISTOK_V << DSI_BRG_BISTOK_S)
|
||||
#define DSI_BRG_BISTOK_V 0x00000001U
|
||||
#define DSI_BRG_BISTOK_S 0
|
||||
/** DSI_BRG_BISTON : R/W; bitpos: [1]; default: 0;
|
||||
* biston
|
||||
*/
|
||||
#define DSI_BRG_BISTON (BIT(1))
|
||||
#define DSI_BRG_BISTON_M (DSI_BRG_BISTON_V << DSI_BRG_BISTON_S)
|
||||
#define DSI_BRG_BISTON_V 0x00000001U
|
||||
#define DSI_BRG_BISTON_S 1
|
||||
|
||||
/** DSI_BRG_HOST_TRIGGER_REV_REG register
|
||||
* dsi_bridge host trigger reverse control register
|
||||
*/
|
||||
#define DSI_BRG_HOST_TRIGGER_REV_REG (DR_REG_DSI_BRG_BASE + 0x64)
|
||||
/** DSI_BRG_TX_TRIGGER_REV_EN : R/W; bitpos: [0]; default: 0;
|
||||
* tx_trigger reverse. 0: disable, 1: enable
|
||||
*/
|
||||
#define DSI_BRG_TX_TRIGGER_REV_EN (BIT(0))
|
||||
#define DSI_BRG_TX_TRIGGER_REV_EN_M (DSI_BRG_TX_TRIGGER_REV_EN_V << DSI_BRG_TX_TRIGGER_REV_EN_S)
|
||||
#define DSI_BRG_TX_TRIGGER_REV_EN_V 0x00000001U
|
||||
#define DSI_BRG_TX_TRIGGER_REV_EN_S 0
|
||||
/** DSI_BRG_RX_TRIGGER_REV_EN : R/W; bitpos: [1]; default: 0;
|
||||
* rx_trigger reverse. 0: disable, 1: enable
|
||||
*/
|
||||
#define DSI_BRG_RX_TRIGGER_REV_EN (BIT(1))
|
||||
#define DSI_BRG_RX_TRIGGER_REV_EN_M (DSI_BRG_RX_TRIGGER_REV_EN_V << DSI_BRG_RX_TRIGGER_REV_EN_S)
|
||||
#define DSI_BRG_RX_TRIGGER_REV_EN_V 0x00000001U
|
||||
#define DSI_BRG_RX_TRIGGER_REV_EN_S 1
|
||||
|
||||
/** DSI_BRG_BLK_RAW_NUM_CFG_REG register
|
||||
* dsi_bridge block raw number control register
|
||||
*/
|
||||
#define DSI_BRG_BLK_RAW_NUM_CFG_REG (DR_REG_DSI_BRG_BASE + 0x68)
|
||||
/** DSI_BRG_BLK_RAW_NUM_TOTAL : R/W; bitpos: [21:0]; default: 230400;
|
||||
* this field configures number of total block pix bits/64
|
||||
*/
|
||||
#define DSI_BRG_BLK_RAW_NUM_TOTAL 0x003FFFFFU
|
||||
#define DSI_BRG_BLK_RAW_NUM_TOTAL_M (DSI_BRG_BLK_RAW_NUM_TOTAL_V << DSI_BRG_BLK_RAW_NUM_TOTAL_S)
|
||||
#define DSI_BRG_BLK_RAW_NUM_TOTAL_V 0x003FFFFFU
|
||||
#define DSI_BRG_BLK_RAW_NUM_TOTAL_S 0
|
||||
/** DSI_BRG_BLK_RAW_NUM_TOTAL_SET : WT; bitpos: [31]; default: 0;
|
||||
* write 1 to reload reg_blk_raw_num_total to internal cnt
|
||||
*/
|
||||
#define DSI_BRG_BLK_RAW_NUM_TOTAL_SET (BIT(31))
|
||||
#define DSI_BRG_BLK_RAW_NUM_TOTAL_SET_M (DSI_BRG_BLK_RAW_NUM_TOTAL_SET_V << DSI_BRG_BLK_RAW_NUM_TOTAL_SET_S)
|
||||
#define DSI_BRG_BLK_RAW_NUM_TOTAL_SET_V 0x00000001U
|
||||
#define DSI_BRG_BLK_RAW_NUM_TOTAL_SET_S 31
|
||||
|
||||
/** DSI_BRG_DMA_FRAME_INTERVAL_REG register
|
||||
* dsi_bridge dam frame interval control register
|
||||
*/
|
||||
#define DSI_BRG_DMA_FRAME_INTERVAL_REG (DR_REG_DSI_BRG_BASE + 0x6c)
|
||||
/** DSI_BRG_DMA_FRAME_SLOT : R/W; bitpos: [9:0]; default: 9;
|
||||
* this field configures the max frame_slot_cnt
|
||||
*/
|
||||
#define DSI_BRG_DMA_FRAME_SLOT 0x000003FFU
|
||||
#define DSI_BRG_DMA_FRAME_SLOT_M (DSI_BRG_DMA_FRAME_SLOT_V << DSI_BRG_DMA_FRAME_SLOT_S)
|
||||
#define DSI_BRG_DMA_FRAME_SLOT_V 0x000003FFU
|
||||
#define DSI_BRG_DMA_FRAME_SLOT_S 0
|
||||
/** DSI_BRG_DMA_FRAME_INTERVAL : R/W; bitpos: [27:10]; default: 9;
|
||||
* this field configures the max frame_interval_cnt, frame_interval_cnt increased by 1
|
||||
* when frame_slot_cnt if full
|
||||
*/
|
||||
#define DSI_BRG_DMA_FRAME_INTERVAL 0x0003FFFFU
|
||||
#define DSI_BRG_DMA_FRAME_INTERVAL_M (DSI_BRG_DMA_FRAME_INTERVAL_V << DSI_BRG_DMA_FRAME_INTERVAL_S)
|
||||
#define DSI_BRG_DMA_FRAME_INTERVAL_V 0x0003FFFFU
|
||||
#define DSI_BRG_DMA_FRAME_INTERVAL_S 10
|
||||
/** DSI_BRG_DMA_MULTIBLK_EN : R/W; bitpos: [28]; default: 0;
|
||||
* this bit configures enable multi-blk transfer, 0: disable, 1: enable
|
||||
*/
|
||||
#define DSI_BRG_DMA_MULTIBLK_EN (BIT(28))
|
||||
#define DSI_BRG_DMA_MULTIBLK_EN_M (DSI_BRG_DMA_MULTIBLK_EN_V << DSI_BRG_DMA_MULTIBLK_EN_S)
|
||||
#define DSI_BRG_DMA_MULTIBLK_EN_V 0x00000001U
|
||||
#define DSI_BRG_DMA_MULTIBLK_EN_S 28
|
||||
/** DSI_BRG_DMA_FRAME_INTERVAL_EN : R/W; bitpos: [29]; default: 1;
|
||||
* this bit configures enable interval between frame transfer, 0: disable, 1: enable
|
||||
*/
|
||||
#define DSI_BRG_DMA_FRAME_INTERVAL_EN (BIT(29))
|
||||
#define DSI_BRG_DMA_FRAME_INTERVAL_EN_M (DSI_BRG_DMA_FRAME_INTERVAL_EN_V << DSI_BRG_DMA_FRAME_INTERVAL_EN_S)
|
||||
#define DSI_BRG_DMA_FRAME_INTERVAL_EN_V 0x00000001U
|
||||
#define DSI_BRG_DMA_FRAME_INTERVAL_EN_S 29
|
||||
|
||||
/** DSI_BRG_MEM_AUX_CTRL_REG register
|
||||
* dsi_bridge mem aux control register
|
||||
*/
|
||||
#define DSI_BRG_MEM_AUX_CTRL_REG (DR_REG_DSI_BRG_BASE + 0x70)
|
||||
/** DSI_BRG_DSI_MEM_AUX_CTRL : R/W; bitpos: [13:0]; default: 4896;
|
||||
* this field configures dsi_bridge fifo memory aux ctrl
|
||||
*/
|
||||
#define DSI_BRG_DSI_MEM_AUX_CTRL 0x00003FFFU
|
||||
#define DSI_BRG_DSI_MEM_AUX_CTRL_M (DSI_BRG_DSI_MEM_AUX_CTRL_V << DSI_BRG_DSI_MEM_AUX_CTRL_S)
|
||||
#define DSI_BRG_DSI_MEM_AUX_CTRL_V 0x00003FFFU
|
||||
#define DSI_BRG_DSI_MEM_AUX_CTRL_S 0
|
||||
|
||||
/** DSI_BRG_RDN_ECO_CS_REG register
|
||||
* dsi_bridge rdn eco cs register
|
||||
*/
|
||||
#define DSI_BRG_RDN_ECO_CS_REG (DR_REG_DSI_BRG_BASE + 0x74)
|
||||
/** DSI_BRG_RDN_ECO_EN : R/W; bitpos: [0]; default: 0;
|
||||
* rdn_eco_en
|
||||
*/
|
||||
#define DSI_BRG_RDN_ECO_EN (BIT(0))
|
||||
#define DSI_BRG_RDN_ECO_EN_M (DSI_BRG_RDN_ECO_EN_V << DSI_BRG_RDN_ECO_EN_S)
|
||||
#define DSI_BRG_RDN_ECO_EN_V 0x00000001U
|
||||
#define DSI_BRG_RDN_ECO_EN_S 0
|
||||
/** DSI_BRG_RDN_ECO_RESULT : RO; bitpos: [1]; default: 0;
|
||||
* rdn_eco_result
|
||||
*/
|
||||
#define DSI_BRG_RDN_ECO_RESULT (BIT(1))
|
||||
#define DSI_BRG_RDN_ECO_RESULT_M (DSI_BRG_RDN_ECO_RESULT_V << DSI_BRG_RDN_ECO_RESULT_S)
|
||||
#define DSI_BRG_RDN_ECO_RESULT_V 0x00000001U
|
||||
#define DSI_BRG_RDN_ECO_RESULT_S 1
|
||||
|
||||
/** DSI_BRG_RDN_ECO_LOW_REG register
|
||||
* dsi_bridge rdn eco all low register
|
||||
*/
|
||||
#define DSI_BRG_RDN_ECO_LOW_REG (DR_REG_DSI_BRG_BASE + 0x78)
|
||||
/** DSI_BRG_RDN_ECO_LOW : R/W; bitpos: [31:0]; default: 0;
|
||||
* rdn_eco_low
|
||||
*/
|
||||
#define DSI_BRG_RDN_ECO_LOW 0xFFFFFFFFU
|
||||
#define DSI_BRG_RDN_ECO_LOW_M (DSI_BRG_RDN_ECO_LOW_V << DSI_BRG_RDN_ECO_LOW_S)
|
||||
#define DSI_BRG_RDN_ECO_LOW_V 0xFFFFFFFFU
|
||||
#define DSI_BRG_RDN_ECO_LOW_S 0
|
||||
|
||||
/** DSI_BRG_RDN_ECO_HIGH_REG register
|
||||
* dsi_bridge rdn eco all high register
|
||||
*/
|
||||
#define DSI_BRG_RDN_ECO_HIGH_REG (DR_REG_DSI_BRG_BASE + 0x7c)
|
||||
/** DSI_BRG_RDN_ECO_HIGH : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* rdn_eco_high
|
||||
*/
|
||||
#define DSI_BRG_RDN_ECO_HIGH 0xFFFFFFFFU
|
||||
#define DSI_BRG_RDN_ECO_HIGH_M (DSI_BRG_RDN_ECO_HIGH_V << DSI_BRG_RDN_ECO_HIGH_S)
|
||||
#define DSI_BRG_RDN_ECO_HIGH_V 0xFFFFFFFFU
|
||||
#define DSI_BRG_RDN_ECO_HIGH_S 0
|
||||
|
||||
/** DSI_BRG_HOST_CTRL_REG register
|
||||
* dsi_bridge host control register
|
||||
*/
|
||||
#define DSI_BRG_HOST_CTRL_REG (DR_REG_DSI_BRG_BASE + 0x80)
|
||||
/** DSI_BRG_DSI_CFG_REF_CLK_EN : R/W; bitpos: [0]; default: 1;
|
||||
* this bit configures the clk enable refclk and cfg_clk of dsi_host. 0: disable, 1:
|
||||
* enable
|
||||
*/
|
||||
#define DSI_BRG_DSI_CFG_REF_CLK_EN (BIT(0))
|
||||
#define DSI_BRG_DSI_CFG_REF_CLK_EN_M (DSI_BRG_DSI_CFG_REF_CLK_EN_V << DSI_BRG_DSI_CFG_REF_CLK_EN_S)
|
||||
#define DSI_BRG_DSI_CFG_REF_CLK_EN_V 0x00000001U
|
||||
#define DSI_BRG_DSI_CFG_REF_CLK_EN_S 0
|
||||
|
||||
/** DSI_BRG_MEM_CLK_CTRL_REG register
|
||||
* dsi_bridge mem force on control register
|
||||
*/
|
||||
#define DSI_BRG_MEM_CLK_CTRL_REG (DR_REG_DSI_BRG_BASE + 0x84)
|
||||
/** DSI_BRG_DSI_BRIDGE_MEM_CLK_FORCE_ON : R/W; bitpos: [0]; default: 0;
|
||||
* this bit configures the clock force on of dsi_bridge fifo memory. 0: disable, 1:
|
||||
* force on
|
||||
*/
|
||||
#define DSI_BRG_DSI_BRIDGE_MEM_CLK_FORCE_ON (BIT(0))
|
||||
#define DSI_BRG_DSI_BRIDGE_MEM_CLK_FORCE_ON_M (DSI_BRG_DSI_BRIDGE_MEM_CLK_FORCE_ON_V << DSI_BRG_DSI_BRIDGE_MEM_CLK_FORCE_ON_S)
|
||||
#define DSI_BRG_DSI_BRIDGE_MEM_CLK_FORCE_ON_V 0x00000001U
|
||||
#define DSI_BRG_DSI_BRIDGE_MEM_CLK_FORCE_ON_S 0
|
||||
/** DSI_BRG_DSI_MEM_CLK_FORCE_ON : R/W; bitpos: [1]; default: 0;
|
||||
* this bit configures the clock force on of dpi fifo memory. 0: disable, 1: force on
|
||||
*/
|
||||
#define DSI_BRG_DSI_MEM_CLK_FORCE_ON (BIT(1))
|
||||
#define DSI_BRG_DSI_MEM_CLK_FORCE_ON_M (DSI_BRG_DSI_MEM_CLK_FORCE_ON_V << DSI_BRG_DSI_MEM_CLK_FORCE_ON_S)
|
||||
#define DSI_BRG_DSI_MEM_CLK_FORCE_ON_V 0x00000001U
|
||||
#define DSI_BRG_DSI_MEM_CLK_FORCE_ON_S 1
|
||||
|
||||
/** DSI_BRG_DMA_FLOW_CTRL_REG register
|
||||
* dsi_bridge dma flow controller register
|
||||
*/
|
||||
#define DSI_BRG_DMA_FLOW_CTRL_REG (DR_REG_DSI_BRG_BASE + 0x88)
|
||||
/** DSI_BRG_DSI_DMA_FLOW_CONTROLLER : R/W; bitpos: [0]; default: 1;
|
||||
* this bit configures the flow controller, 0: dmac as flow controller, 1:dsi_bridge
|
||||
* as flow controller
|
||||
*/
|
||||
#define DSI_BRG_DSI_DMA_FLOW_CONTROLLER (BIT(0))
|
||||
#define DSI_BRG_DSI_DMA_FLOW_CONTROLLER_M (DSI_BRG_DSI_DMA_FLOW_CONTROLLER_V << DSI_BRG_DSI_DMA_FLOW_CONTROLLER_S)
|
||||
#define DSI_BRG_DSI_DMA_FLOW_CONTROLLER_V 0x00000001U
|
||||
#define DSI_BRG_DSI_DMA_FLOW_CONTROLLER_S 0
|
||||
/** DSI_BRG_DMA_FLOW_MULTIBLK_NUM : R/W; bitpos: [7:4]; default: 1;
|
||||
* this field configures the num of blocks when multi-blk is enable and dmac as flow
|
||||
* controller
|
||||
*/
|
||||
#define DSI_BRG_DMA_FLOW_MULTIBLK_NUM 0x0000000FU
|
||||
#define DSI_BRG_DMA_FLOW_MULTIBLK_NUM_M (DSI_BRG_DMA_FLOW_MULTIBLK_NUM_V << DSI_BRG_DMA_FLOW_MULTIBLK_NUM_S)
|
||||
#define DSI_BRG_DMA_FLOW_MULTIBLK_NUM_V 0x0000000FU
|
||||
#define DSI_BRG_DMA_FLOW_MULTIBLK_NUM_S 4
|
||||
|
||||
/** DSI_BRG_RAW_BUF_ALMOST_EMPTY_THRD_REG register
|
||||
* dsi_bridge buffer empty threshold register
|
||||
*/
|
||||
#define DSI_BRG_RAW_BUF_ALMOST_EMPTY_THRD_REG (DR_REG_DSI_BRG_BASE + 0x8c)
|
||||
/** DSI_BRG_DSI_RAW_BUF_ALMOST_EMPTY_THRD : R/W; bitpos: [10:0]; default: 512;
|
||||
* this field configures the fifo almost empty threshold, is valid only when dmac as
|
||||
* flow controller
|
||||
*/
|
||||
#define DSI_BRG_DSI_RAW_BUF_ALMOST_EMPTY_THRD 0x000007FFU
|
||||
#define DSI_BRG_DSI_RAW_BUF_ALMOST_EMPTY_THRD_M (DSI_BRG_DSI_RAW_BUF_ALMOST_EMPTY_THRD_V << DSI_BRG_DSI_RAW_BUF_ALMOST_EMPTY_THRD_S)
|
||||
#define DSI_BRG_DSI_RAW_BUF_ALMOST_EMPTY_THRD_V 0x000007FFU
|
||||
#define DSI_BRG_DSI_RAW_BUF_ALMOST_EMPTY_THRD_S 0
|
||||
|
||||
/** DSI_BRG_YUV_CFG_REG register
|
||||
* dsi_bridge yuv format config register
|
||||
*/
|
||||
#define DSI_BRG_YUV_CFG_REG (DR_REG_DSI_BRG_BASE + 0x90)
|
||||
/** DSI_BRG_PROTOCAL : R/W; bitpos: [0]; default: 0;
|
||||
* this bit configures yuv protoocl, 0: bt.601, 1: bt.709
|
||||
*/
|
||||
#define DSI_BRG_PROTOCAL (BIT(0))
|
||||
#define DSI_BRG_PROTOCAL_M (DSI_BRG_PROTOCAL_V << DSI_BRG_PROTOCAL_S)
|
||||
#define DSI_BRG_PROTOCAL_V 0x00000001U
|
||||
#define DSI_BRG_PROTOCAL_S 0
|
||||
/** DSI_BRG_YUV_PIX_ENDIAN : R/W; bitpos: [1]; default: 0;
|
||||
* this bit configures yuv pixel endian, 0: y0u0y1v1y2u2y3v3, 1: y3u3y2v2y1u1y0v0
|
||||
*/
|
||||
#define DSI_BRG_YUV_PIX_ENDIAN (BIT(1))
|
||||
#define DSI_BRG_YUV_PIX_ENDIAN_M (DSI_BRG_YUV_PIX_ENDIAN_V << DSI_BRG_YUV_PIX_ENDIAN_S)
|
||||
#define DSI_BRG_YUV_PIX_ENDIAN_V 0x00000001U
|
||||
#define DSI_BRG_YUV_PIX_ENDIAN_S 1
|
||||
/** DSI_BRG_YUV422_FORMAT : R/W; bitpos: [3:2]; default: 0;
|
||||
* this field configures yuv422 store format, 0: yuyv, 1: yvyu, 2: uyvy, 3: vyuy
|
||||
*/
|
||||
#define DSI_BRG_YUV422_FORMAT 0x00000003U
|
||||
#define DSI_BRG_YUV422_FORMAT_M (DSI_BRG_YUV422_FORMAT_V << DSI_BRG_YUV422_FORMAT_S)
|
||||
#define DSI_BRG_YUV422_FORMAT_V 0x00000003U
|
||||
#define DSI_BRG_YUV422_FORMAT_S 2
|
||||
|
||||
/** DSI_BRG_PHY_LP_LOOPBACK_CTRL_REG register
|
||||
* dsi phy lp_loopback test ctrl
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_CTRL_REG (DR_REG_DSI_BRG_BASE + 0x94)
|
||||
/** DSI_BRG_PHY_LP_TXDATAESC_1 : R/W; bitpos: [7:0]; default: 0;
|
||||
* txdataesc_1 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_TXDATAESC_1 0x000000FFU
|
||||
#define DSI_BRG_PHY_LP_TXDATAESC_1_M (DSI_BRG_PHY_LP_TXDATAESC_1_V << DSI_BRG_PHY_LP_TXDATAESC_1_S)
|
||||
#define DSI_BRG_PHY_LP_TXDATAESC_1_V 0x000000FFU
|
||||
#define DSI_BRG_PHY_LP_TXDATAESC_1_S 0
|
||||
/** DSI_BRG_PHY_LP_TXREQUESTESC_1 : R/W; bitpos: [8]; default: 0;
|
||||
* txrequestesc_1 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_TXREQUESTESC_1 (BIT(8))
|
||||
#define DSI_BRG_PHY_LP_TXREQUESTESC_1_M (DSI_BRG_PHY_LP_TXREQUESTESC_1_V << DSI_BRG_PHY_LP_TXREQUESTESC_1_S)
|
||||
#define DSI_BRG_PHY_LP_TXREQUESTESC_1_V 0x00000001U
|
||||
#define DSI_BRG_PHY_LP_TXREQUESTESC_1_S 8
|
||||
/** DSI_BRG_PHY_LP_TXVALIDESC_1 : R/W; bitpos: [9]; default: 0;
|
||||
* txvalidesc_1 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_TXVALIDESC_1 (BIT(9))
|
||||
#define DSI_BRG_PHY_LP_TXVALIDESC_1_M (DSI_BRG_PHY_LP_TXVALIDESC_1_V << DSI_BRG_PHY_LP_TXVALIDESC_1_S)
|
||||
#define DSI_BRG_PHY_LP_TXVALIDESC_1_V 0x00000001U
|
||||
#define DSI_BRG_PHY_LP_TXVALIDESC_1_S 9
|
||||
/** DSI_BRG_PHY_LP_TXLPDTESC_1 : R/W; bitpos: [10]; default: 0;
|
||||
* txlpdtesc_1 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_TXLPDTESC_1 (BIT(10))
|
||||
#define DSI_BRG_PHY_LP_TXLPDTESC_1_M (DSI_BRG_PHY_LP_TXLPDTESC_1_V << DSI_BRG_PHY_LP_TXLPDTESC_1_S)
|
||||
#define DSI_BRG_PHY_LP_TXLPDTESC_1_V 0x00000001U
|
||||
#define DSI_BRG_PHY_LP_TXLPDTESC_1_S 10
|
||||
/** DSI_BRG_PHY_LP_BASEDIR_1 : R/W; bitpos: [11]; default: 0;
|
||||
* basedir_1 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_BASEDIR_1 (BIT(11))
|
||||
#define DSI_BRG_PHY_LP_BASEDIR_1_M (DSI_BRG_PHY_LP_BASEDIR_1_V << DSI_BRG_PHY_LP_BASEDIR_1_S)
|
||||
#define DSI_BRG_PHY_LP_BASEDIR_1_V 0x00000001U
|
||||
#define DSI_BRG_PHY_LP_BASEDIR_1_S 11
|
||||
/** DSI_BRG_PHY_LP_TXDATAESC_0 : R/W; bitpos: [23:16]; default: 0;
|
||||
* txdataesc_0 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_TXDATAESC_0 0x000000FFU
|
||||
#define DSI_BRG_PHY_LP_TXDATAESC_0_M (DSI_BRG_PHY_LP_TXDATAESC_0_V << DSI_BRG_PHY_LP_TXDATAESC_0_S)
|
||||
#define DSI_BRG_PHY_LP_TXDATAESC_0_V 0x000000FFU
|
||||
#define DSI_BRG_PHY_LP_TXDATAESC_0_S 16
|
||||
/** DSI_BRG_PHY_LP_TXREQUESTESC_0 : R/W; bitpos: [24]; default: 0;
|
||||
* txrequestesc_0 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_TXREQUESTESC_0 (BIT(24))
|
||||
#define DSI_BRG_PHY_LP_TXREQUESTESC_0_M (DSI_BRG_PHY_LP_TXREQUESTESC_0_V << DSI_BRG_PHY_LP_TXREQUESTESC_0_S)
|
||||
#define DSI_BRG_PHY_LP_TXREQUESTESC_0_V 0x00000001U
|
||||
#define DSI_BRG_PHY_LP_TXREQUESTESC_0_S 24
|
||||
/** DSI_BRG_PHY_LP_TXVALIDESC_0 : R/W; bitpos: [25]; default: 0;
|
||||
* txvalidesc_0 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_TXVALIDESC_0 (BIT(25))
|
||||
#define DSI_BRG_PHY_LP_TXVALIDESC_0_M (DSI_BRG_PHY_LP_TXVALIDESC_0_V << DSI_BRG_PHY_LP_TXVALIDESC_0_S)
|
||||
#define DSI_BRG_PHY_LP_TXVALIDESC_0_V 0x00000001U
|
||||
#define DSI_BRG_PHY_LP_TXVALIDESC_0_S 25
|
||||
/** DSI_BRG_PHY_LP_TXLPDTESC_0 : R/W; bitpos: [26]; default: 0;
|
||||
* txlpdtesc_0 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_TXLPDTESC_0 (BIT(26))
|
||||
#define DSI_BRG_PHY_LP_TXLPDTESC_0_M (DSI_BRG_PHY_LP_TXLPDTESC_0_V << DSI_BRG_PHY_LP_TXLPDTESC_0_S)
|
||||
#define DSI_BRG_PHY_LP_TXLPDTESC_0_V 0x00000001U
|
||||
#define DSI_BRG_PHY_LP_TXLPDTESC_0_S 26
|
||||
/** DSI_BRG_PHY_LP_BASEDIR_0 : R/W; bitpos: [27]; default: 0;
|
||||
* basedir_0 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_BASEDIR_0 (BIT(27))
|
||||
#define DSI_BRG_PHY_LP_BASEDIR_0_M (DSI_BRG_PHY_LP_BASEDIR_0_V << DSI_BRG_PHY_LP_BASEDIR_0_S)
|
||||
#define DSI_BRG_PHY_LP_BASEDIR_0_V 0x00000001U
|
||||
#define DSI_BRG_PHY_LP_BASEDIR_0_S 27
|
||||
/** DSI_BRG_PHY_LP_LOOPBACK_CHECK : WT; bitpos: [28]; default: 0;
|
||||
* dsi phy lp_loopback test start check
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_CHECK (BIT(28))
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_CHECK_M (DSI_BRG_PHY_LP_LOOPBACK_CHECK_V << DSI_BRG_PHY_LP_LOOPBACK_CHECK_S)
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_CHECK_V 0x00000001U
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_CHECK_S 28
|
||||
/** DSI_BRG_PHY_LP_LOOPBACK_CHECK_DONE : RO; bitpos: [29]; default: 0;
|
||||
* dsi phy lp_loopback test check done
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_CHECK_DONE (BIT(29))
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_CHECK_DONE_M (DSI_BRG_PHY_LP_LOOPBACK_CHECK_DONE_V << DSI_BRG_PHY_LP_LOOPBACK_CHECK_DONE_S)
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_CHECK_DONE_V 0x00000001U
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_CHECK_DONE_S 29
|
||||
/** DSI_BRG_PHY_LP_LOOPBACK_EN : R/W; bitpos: [30]; default: 0;
|
||||
* dsi phy lp_loopback ctrl en
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_EN (BIT(30))
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_EN_M (DSI_BRG_PHY_LP_LOOPBACK_EN_V << DSI_BRG_PHY_LP_LOOPBACK_EN_S)
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_EN_V 0x00000001U
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_EN_S 30
|
||||
/** DSI_BRG_PHY_LP_LOOPBACK_OK : RO; bitpos: [31]; default: 0;
|
||||
* result of dsi phy lp_loopback test
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_OK (BIT(31))
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_OK_M (DSI_BRG_PHY_LP_LOOPBACK_OK_V << DSI_BRG_PHY_LP_LOOPBACK_OK_S)
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_OK_V 0x00000001U
|
||||
#define DSI_BRG_PHY_LP_LOOPBACK_OK_S 31
|
||||
|
||||
/** DSI_BRG_PHY_HS_LOOPBACK_CTRL_REG register
|
||||
* dsi phy hp_loopback test ctrl
|
||||
*/
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_CTRL_REG (DR_REG_DSI_BRG_BASE + 0x98)
|
||||
/** DSI_BRG_PHY_HS_TXDATAHS_1 : R/W; bitpos: [7:0]; default: 0;
|
||||
* txdatahs_1 ctrl when enable dsi phy hs_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_HS_TXDATAHS_1 0x000000FFU
|
||||
#define DSI_BRG_PHY_HS_TXDATAHS_1_M (DSI_BRG_PHY_HS_TXDATAHS_1_V << DSI_BRG_PHY_HS_TXDATAHS_1_S)
|
||||
#define DSI_BRG_PHY_HS_TXDATAHS_1_V 0x000000FFU
|
||||
#define DSI_BRG_PHY_HS_TXDATAHS_1_S 0
|
||||
/** DSI_BRG_PHY_HS_TXREQUESTDATAHS_1 : R/W; bitpos: [8]; default: 0;
|
||||
* txrequestdatahs_1 ctrl when enable dsi phy hs_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_HS_TXREQUESTDATAHS_1 (BIT(8))
|
||||
#define DSI_BRG_PHY_HS_TXREQUESTDATAHS_1_M (DSI_BRG_PHY_HS_TXREQUESTDATAHS_1_V << DSI_BRG_PHY_HS_TXREQUESTDATAHS_1_S)
|
||||
#define DSI_BRG_PHY_HS_TXREQUESTDATAHS_1_V 0x00000001U
|
||||
#define DSI_BRG_PHY_HS_TXREQUESTDATAHS_1_S 8
|
||||
/** DSI_BRG_PHY_HS_BASEDIR_1 : R/W; bitpos: [9]; default: 1;
|
||||
* basedir_1 ctrl when enable dsi phy hs_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_HS_BASEDIR_1 (BIT(9))
|
||||
#define DSI_BRG_PHY_HS_BASEDIR_1_M (DSI_BRG_PHY_HS_BASEDIR_1_V << DSI_BRG_PHY_HS_BASEDIR_1_S)
|
||||
#define DSI_BRG_PHY_HS_BASEDIR_1_V 0x00000001U
|
||||
#define DSI_BRG_PHY_HS_BASEDIR_1_S 9
|
||||
/** DSI_BRG_PHY_HS_TXDATAHS_0 : R/W; bitpos: [23:16]; default: 0;
|
||||
* txdatahs_0 ctrl when enable dsi phy hs_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_HS_TXDATAHS_0 0x000000FFU
|
||||
#define DSI_BRG_PHY_HS_TXDATAHS_0_M (DSI_BRG_PHY_HS_TXDATAHS_0_V << DSI_BRG_PHY_HS_TXDATAHS_0_S)
|
||||
#define DSI_BRG_PHY_HS_TXDATAHS_0_V 0x000000FFU
|
||||
#define DSI_BRG_PHY_HS_TXDATAHS_0_S 16
|
||||
/** DSI_BRG_PHY_HS_TXREQUESTDATAHS_0 : R/W; bitpos: [24]; default: 0;
|
||||
* txrequestdatahs_0 ctrl when enable dsi phy hs_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_HS_TXREQUESTDATAHS_0 (BIT(24))
|
||||
#define DSI_BRG_PHY_HS_TXREQUESTDATAHS_0_M (DSI_BRG_PHY_HS_TXREQUESTDATAHS_0_V << DSI_BRG_PHY_HS_TXREQUESTDATAHS_0_S)
|
||||
#define DSI_BRG_PHY_HS_TXREQUESTDATAHS_0_V 0x00000001U
|
||||
#define DSI_BRG_PHY_HS_TXREQUESTDATAHS_0_S 24
|
||||
/** DSI_BRG_PHY_HS_BASEDIR_0 : R/W; bitpos: [25]; default: 0;
|
||||
* basedir_0 ctrl when enable dsi phy hs_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_HS_BASEDIR_0 (BIT(25))
|
||||
#define DSI_BRG_PHY_HS_BASEDIR_0_M (DSI_BRG_PHY_HS_BASEDIR_0_V << DSI_BRG_PHY_HS_BASEDIR_0_S)
|
||||
#define DSI_BRG_PHY_HS_BASEDIR_0_V 0x00000001U
|
||||
#define DSI_BRG_PHY_HS_BASEDIR_0_S 25
|
||||
/** DSI_BRG_PHY_HS_TXREQUESTHSCLK : R/W; bitpos: [27]; default: 0;
|
||||
* txrequesthsclk when enable dsi phy hs_loopback_test
|
||||
*/
|
||||
#define DSI_BRG_PHY_HS_TXREQUESTHSCLK (BIT(27))
|
||||
#define DSI_BRG_PHY_HS_TXREQUESTHSCLK_M (DSI_BRG_PHY_HS_TXREQUESTHSCLK_V << DSI_BRG_PHY_HS_TXREQUESTHSCLK_S)
|
||||
#define DSI_BRG_PHY_HS_TXREQUESTHSCLK_V 0x00000001U
|
||||
#define DSI_BRG_PHY_HS_TXREQUESTHSCLK_S 27
|
||||
/** DSI_BRG_PHY_HS_LOOPBACK_CHECK : WT; bitpos: [28]; default: 0;
|
||||
* dsi phy hs_loopback test start check
|
||||
*/
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_CHECK (BIT(28))
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_CHECK_M (DSI_BRG_PHY_HS_LOOPBACK_CHECK_V << DSI_BRG_PHY_HS_LOOPBACK_CHECK_S)
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_CHECK_V 0x00000001U
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_CHECK_S 28
|
||||
/** DSI_BRG_PHY_HS_LOOPBACK_CHECK_DONE : RO; bitpos: [29]; default: 0;
|
||||
* dsi phy hs_loopback test check done
|
||||
*/
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_CHECK_DONE (BIT(29))
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_CHECK_DONE_M (DSI_BRG_PHY_HS_LOOPBACK_CHECK_DONE_V << DSI_BRG_PHY_HS_LOOPBACK_CHECK_DONE_S)
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_CHECK_DONE_V 0x00000001U
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_CHECK_DONE_S 29
|
||||
/** DSI_BRG_PHY_HS_LOOPBACK_EN : R/W; bitpos: [30]; default: 0;
|
||||
* dsi phy hs_loopback ctrl en
|
||||
*/
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_EN (BIT(30))
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_EN_M (DSI_BRG_PHY_HS_LOOPBACK_EN_V << DSI_BRG_PHY_HS_LOOPBACK_EN_S)
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_EN_V 0x00000001U
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_EN_S 30
|
||||
/** DSI_BRG_PHY_HS_LOOPBACK_OK : RO; bitpos: [31]; default: 0;
|
||||
* result of dsi phy hs_loopback test
|
||||
*/
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_OK (BIT(31))
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_OK_M (DSI_BRG_PHY_HS_LOOPBACK_OK_V << DSI_BRG_PHY_HS_LOOPBACK_OK_S)
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_OK_V 0x00000001U
|
||||
#define DSI_BRG_PHY_HS_LOOPBACK_OK_S 31
|
||||
|
||||
/** DSI_BRG_PHY_LOOPBACK_CNT_REG register
|
||||
* loopback test cnt
|
||||
*/
|
||||
#define DSI_BRG_PHY_LOOPBACK_CNT_REG (DR_REG_DSI_BRG_BASE + 0x9c)
|
||||
/** DSI_BRG_PHY_HS_CHECK_CNT_TH : R/W; bitpos: [7:0]; default: 64;
|
||||
* hs_loopback test check cnt
|
||||
*/
|
||||
#define DSI_BRG_PHY_HS_CHECK_CNT_TH 0x000000FFU
|
||||
#define DSI_BRG_PHY_HS_CHECK_CNT_TH_M (DSI_BRG_PHY_HS_CHECK_CNT_TH_V << DSI_BRG_PHY_HS_CHECK_CNT_TH_S)
|
||||
#define DSI_BRG_PHY_HS_CHECK_CNT_TH_V 0x000000FFU
|
||||
#define DSI_BRG_PHY_HS_CHECK_CNT_TH_S 0
|
||||
/** DSI_BRG_PHY_LP_CHECK_CNT_TH : R/W; bitpos: [23:16]; default: 64;
|
||||
* lp_loopback test check cnt
|
||||
*/
|
||||
#define DSI_BRG_PHY_LP_CHECK_CNT_TH 0x000000FFU
|
||||
#define DSI_BRG_PHY_LP_CHECK_CNT_TH_M (DSI_BRG_PHY_LP_CHECK_CNT_TH_V << DSI_BRG_PHY_LP_CHECK_CNT_TH_S)
|
||||
#define DSI_BRG_PHY_LP_CHECK_CNT_TH_V 0x000000FFU
|
||||
#define DSI_BRG_PHY_LP_CHECK_CNT_TH_S 16
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
816
components/soc/esp32p4/include/soc/mipi_dsi_bridge_struct.h
Normal file
816
components/soc/esp32p4/include/soc/mipi_dsi_bridge_struct.h
Normal file
@ -0,0 +1,816 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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 clk_en register
|
||||
* dsi bridge clk control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_en : R/W; bitpos: [0]; default: 0;
|
||||
* this bit configures force_on of dsi_bridge register clock gate
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_clk_en_reg_t;
|
||||
|
||||
/** Type of en register
|
||||
* dsi bridge en register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dsi_en : R/W; bitpos: [0]; default: 0;
|
||||
* this bit configures module enable of dsi_bridge. 0: disable, 1: enable
|
||||
*/
|
||||
uint32_t dsi_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_en_reg_t;
|
||||
|
||||
/** Type of dma_req_cfg register
|
||||
* dsi bridge dma burst len register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dma_burst_len : R/W; bitpos: [11:0]; default: 128;
|
||||
* this field configures the num of 64-bit in one dma burst transfer, valid only when
|
||||
* dsi_bridge as flow controller
|
||||
*/
|
||||
uint32_t dma_burst_len:12;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_dma_req_cfg_reg_t;
|
||||
|
||||
/** Type of raw_num_cfg register
|
||||
* dsi bridge raw number control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** raw_num_total : R/W; bitpos: [21:0]; default: 230400;
|
||||
* this field configures number of total pix bits/64
|
||||
*/
|
||||
uint32_t raw_num_total:22;
|
||||
/** unalign_64bit_en : R/W; bitpos: [22]; default: 0;
|
||||
* this field configures whether the total pix bits is a multiple of 64bits. 0: align
|
||||
* to 64-bit, 1: unalign to 64-bit
|
||||
*/
|
||||
uint32_t unalign_64bit_en:1;
|
||||
uint32_t reserved_23:8;
|
||||
/** raw_num_total_set : WT; bitpos: [31]; default: 0;
|
||||
* this bit configures enable of reload reg_raw_num_total to internal cnt. 0: disable,
|
||||
* 1: enable. valid only when dsi_bridge as flow controller
|
||||
*/
|
||||
uint32_t raw_num_total_set:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_raw_num_cfg_reg_t;
|
||||
|
||||
/** Type of raw_buf_credit_ctl register
|
||||
* dsi bridge credit register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** credit_thrd : R/W; bitpos: [14:0]; default: 1024;
|
||||
* this field configures the threshold whether dsi_bridge fifo can receive one more
|
||||
* 64-bit, valid only when dsi_bridge as flow controller
|
||||
*/
|
||||
uint32_t credit_thrd:15;
|
||||
uint32_t reserved_15:1;
|
||||
/** credit_burst_thrd : R/W; bitpos: [30:16]; default: 800;
|
||||
* this field configures the threshold whether dsi_bridge fifo can receive one more
|
||||
* dma burst, valid only when dsi_bridge as flow controller
|
||||
*/
|
||||
uint32_t credit_burst_thrd:15;
|
||||
/** credit_reset : R/W; bitpos: [31]; default: 0;
|
||||
* this bit configures internal credit cnt clear, 0: non, 1: reset. valid only when
|
||||
* dsi_bridge as flow controller
|
||||
*/
|
||||
uint32_t credit_reset:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_raw_buf_credit_ctl_reg_t;
|
||||
|
||||
/** Type of pixel_type register
|
||||
* dsi bridge dpi type control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** raw_type : R/W; bitpos: [3:0]; default: 0;
|
||||
* this field configures the pixel type. 0: rgb888, 1:rgb666, 2:rgb565
|
||||
*/
|
||||
uint32_t raw_type:4;
|
||||
/** dpi_config : R/W; bitpos: [5:4]; default: 0;
|
||||
* this field configures the pixel arrange type of dpi interface
|
||||
*/
|
||||
uint32_t dpi_config:2;
|
||||
/** data_in_type : R/W; bitpos: [6]; default: 0;
|
||||
* input data type, 0: rgb, 1: yuv
|
||||
*/
|
||||
uint32_t data_in_type:1;
|
||||
uint32_t reserved_7:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_pixel_type_reg_t;
|
||||
|
||||
/** Type of dma_block_interval register
|
||||
* dsi bridge dma block interval control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dma_block_slot : R/W; bitpos: [9:0]; default: 9;
|
||||
* this field configures the max block_slot_cnt
|
||||
*/
|
||||
uint32_t dma_block_slot:10;
|
||||
/** dma_block_interval : R/W; bitpos: [27:10]; default: 9;
|
||||
* this field configures the max block_interval_cnt, block_interval_cnt increased by 1
|
||||
* when block_slot_cnt if full
|
||||
*/
|
||||
uint32_t dma_block_interval:18;
|
||||
/** raw_num_total_auto_reload : R/W; bitpos: [28]; default: 1;
|
||||
* this bit configures enable of auto reload reg_raw_num_total, 0: disable, 1: enable
|
||||
*/
|
||||
uint32_t raw_num_total_auto_reload:1;
|
||||
/** dma_block_interval_en : R/W; bitpos: [29]; default: 1;
|
||||
* this bit configures enable of interval between dma block transfer, 0: disable, 1:
|
||||
* enable
|
||||
*/
|
||||
uint32_t dma_block_interval_en:1;
|
||||
uint32_t reserved_30:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_dma_block_interval_reg_t;
|
||||
|
||||
/** Type of dma_req_interval register
|
||||
* dsi bridge dma req interval control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dma_req_interval : R/W; bitpos: [15:0]; default: 1;
|
||||
* this field configures the interval between dma req events
|
||||
*/
|
||||
uint32_t dma_req_interval:16;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_dma_req_interval_reg_t;
|
||||
|
||||
/** Type of dpi_lcd_ctl register
|
||||
* dsi bridge dpi signal control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dpishutdn : R/W; bitpos: [0]; default: 0;
|
||||
* this bit configures dpishutdn signal in dpi interface
|
||||
*/
|
||||
uint32_t dpishutdn:1;
|
||||
/** dpicolorm : R/W; bitpos: [1]; default: 0;
|
||||
* this bit configures dpicolorm signal in dpi interface
|
||||
*/
|
||||
uint32_t dpicolorm:1;
|
||||
/** dpiupdatecfg : R/W; bitpos: [2]; default: 0;
|
||||
* this bit configures dpiupdatecfg signal in dpi interface
|
||||
*/
|
||||
uint32_t dpiupdatecfg:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_dpi_lcd_ctl_reg_t;
|
||||
|
||||
/** Type of dpi_rsv_dpi_data register
|
||||
* dsi bridge dpi reserved data register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dpi_rsv_data : R/W; bitpos: [29:0]; default: 16383;
|
||||
* this field controls the pixel data sent to dsi_host when dsi_bridge fifo underflow
|
||||
*/
|
||||
uint32_t dpi_rsv_data:30;
|
||||
uint32_t reserved_30:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_dpi_rsv_dpi_data_reg_t;
|
||||
|
||||
/** Type of dpi_v_cfg0 register
|
||||
* dsi bridge dpi v config register 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** vtotal : R/W; bitpos: [11:0]; default: 525;
|
||||
* this field configures the total length of one frame (by line) for dpi output, must
|
||||
* meet: reg_vtotal > reg_vdisp+reg_vsync+reg_vbank
|
||||
*/
|
||||
uint32_t vtotal:12;
|
||||
uint32_t reserved_12:4;
|
||||
/** vdisp : R/W; bitpos: [27:16]; default: 480;
|
||||
* this field configures the length of valid line (by line) for dpi output
|
||||
*/
|
||||
uint32_t vdisp:12;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_dpi_v_cfg0_reg_t;
|
||||
|
||||
/** Type of dpi_v_cfg1 register
|
||||
* dsi bridge dpi v config register 1
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** vbank : R/W; bitpos: [11:0]; default: 33;
|
||||
* this field configures the length between vsync and valid line (by line) for dpi
|
||||
* output
|
||||
*/
|
||||
uint32_t vbank:12;
|
||||
uint32_t reserved_12:4;
|
||||
/** vsync : R/W; bitpos: [27:16]; default: 2;
|
||||
* this field configures the length of vsync (by line) for dpi output
|
||||
*/
|
||||
uint32_t vsync:12;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_dpi_v_cfg1_reg_t;
|
||||
|
||||
/** Type of dpi_h_cfg0 register
|
||||
* dsi bridge dpi h config register 0
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** htotal : R/W; bitpos: [11:0]; default: 800;
|
||||
* this field configures the total length of one line (by pixel num) for dpi output,
|
||||
* must meet: reg_htotal > reg_hdisp+reg_hsync+reg_hbank
|
||||
*/
|
||||
uint32_t htotal:12;
|
||||
uint32_t reserved_12:4;
|
||||
/** hdisp : R/W; bitpos: [27:16]; default: 640;
|
||||
* this field configures the length of valid pixel data (by pixel num) for dpi output
|
||||
*/
|
||||
uint32_t hdisp:12;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_dpi_h_cfg0_reg_t;
|
||||
|
||||
/** Type of dpi_h_cfg1 register
|
||||
* dsi bridge dpi h config register 1
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** hbank : R/W; bitpos: [11:0]; default: 48;
|
||||
* this field configures the length between hsync and pixel data valid (by pixel num)
|
||||
* for dpi output
|
||||
*/
|
||||
uint32_t hbank:12;
|
||||
uint32_t reserved_12:4;
|
||||
/** hsync : R/W; bitpos: [27:16]; default: 96;
|
||||
* this field configures the length of hsync (by pixel num) for dpi output
|
||||
*/
|
||||
uint32_t hsync:12;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_dpi_h_cfg1_reg_t;
|
||||
|
||||
/** Type of dpi_misc_config register
|
||||
* dsi_bridge dpi misc config register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dpi_en : R/W; bitpos: [0]; default: 0;
|
||||
* this bit configures enable of dpi output, 0: disable, 1: enable
|
||||
*/
|
||||
uint32_t dpi_en:1;
|
||||
uint32_t reserved_1:3;
|
||||
/** fifo_underrun_discard_vcnt : R/W; bitpos: [15:4]; default: 413;
|
||||
* this field configures the underrun interrupt musk, when underrun occurs and line
|
||||
* cnt is less then this field
|
||||
*/
|
||||
uint32_t fifo_underrun_discard_vcnt:12;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_dpi_misc_config_reg_t;
|
||||
|
||||
/** Type of dpi_config_update register
|
||||
* dsi_bridge dpi config update register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dpi_config_update : WT; bitpos: [0]; default: 0;
|
||||
* write 1 to this bit to update dpi config register MIPI_DSI_BRG_DPI_*
|
||||
*/
|
||||
uint32_t dpi_config_update:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_dpi_config_update_reg_t;
|
||||
|
||||
/** Type of host_trigger_rev register
|
||||
* dsi_bridge host trigger reverse control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tx_trigger_rev_en : R/W; bitpos: [0]; default: 0;
|
||||
* tx_trigger reverse. 0: disable, 1: enable
|
||||
*/
|
||||
uint32_t tx_trigger_rev_en:1;
|
||||
/** rx_trigger_rev_en : R/W; bitpos: [1]; default: 0;
|
||||
* rx_trigger reverse. 0: disable, 1: enable
|
||||
*/
|
||||
uint32_t rx_trigger_rev_en:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_host_trigger_rev_reg_t;
|
||||
|
||||
/** Type of blk_raw_num_cfg register
|
||||
* dsi_bridge block raw number control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** blk_raw_num_total : R/W; bitpos: [21:0]; default: 230400;
|
||||
* this field configures number of total block pix bits/64
|
||||
*/
|
||||
uint32_t blk_raw_num_total:22;
|
||||
uint32_t reserved_22:9;
|
||||
/** blk_raw_num_total_set : WT; bitpos: [31]; default: 0;
|
||||
* write 1 to reload reg_blk_raw_num_total to internal cnt
|
||||
*/
|
||||
uint32_t blk_raw_num_total_set:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_blk_raw_num_cfg_reg_t;
|
||||
|
||||
/** Type of dma_frame_interval register
|
||||
* dsi_bridge dam frame interval control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dma_frame_slot : R/W; bitpos: [9:0]; default: 9;
|
||||
* this field configures the max frame_slot_cnt
|
||||
*/
|
||||
uint32_t dma_frame_slot:10;
|
||||
/** dma_frame_interval : R/W; bitpos: [27:10]; default: 9;
|
||||
* this field configures the max frame_interval_cnt, frame_interval_cnt increased by 1
|
||||
* when frame_slot_cnt if full
|
||||
*/
|
||||
uint32_t dma_frame_interval:18;
|
||||
/** dma_multiblk_en : R/W; bitpos: [28]; default: 0;
|
||||
* this bit configures enable multi-blk transfer, 0: disable, 1: enable
|
||||
*/
|
||||
uint32_t dma_multiblk_en:1;
|
||||
/** dma_frame_interval_en : R/W; bitpos: [29]; default: 1;
|
||||
* this bit configures enable interval between frame transfer, 0: disable, 1: enable
|
||||
*/
|
||||
uint32_t dma_frame_interval_en:1;
|
||||
uint32_t reserved_30:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_dma_frame_interval_reg_t;
|
||||
|
||||
/** Type of mem_aux_ctrl register
|
||||
* dsi_bridge mem aux control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dsi_mem_aux_ctrl : R/W; bitpos: [13:0]; default: 4896;
|
||||
* this field configures dsi_bridge fifo memory aux ctrl
|
||||
*/
|
||||
uint32_t dsi_mem_aux_ctrl:14;
|
||||
uint32_t reserved_14:18;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_mem_aux_ctrl_reg_t;
|
||||
|
||||
/** Type of rdn_eco_low register
|
||||
* dsi_bridge rdn eco all low register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rdn_eco_low : R/W; bitpos: [31:0]; default: 0;
|
||||
* rdn_eco_low
|
||||
*/
|
||||
uint32_t rdn_eco_low:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_rdn_eco_low_reg_t;
|
||||
|
||||
/** Type of rdn_eco_high register
|
||||
* dsi_bridge rdn eco all high register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rdn_eco_high : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* rdn_eco_high
|
||||
*/
|
||||
uint32_t rdn_eco_high:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_rdn_eco_high_reg_t;
|
||||
|
||||
/** Type of host_ctrl register
|
||||
* dsi_bridge host control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dsi_cfg_ref_clk_en : R/W; bitpos: [0]; default: 1;
|
||||
* this bit configures the clk enable refclk and cfg_clk of dsi_host. 0: disable, 1:
|
||||
* enable
|
||||
*/
|
||||
uint32_t dsi_cfg_ref_clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_host_ctrl_reg_t;
|
||||
|
||||
/** Type of mem_clk_ctrl register
|
||||
* dsi_bridge mem force on control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dsi_bridge_mem_clk_force_on : R/W; bitpos: [0]; default: 0;
|
||||
* this bit configures the clock force on of dsi_bridge fifo memory. 0: disable, 1:
|
||||
* force on
|
||||
*/
|
||||
uint32_t dsi_bridge_mem_clk_force_on:1;
|
||||
/** dsi_mem_clk_force_on : R/W; bitpos: [1]; default: 0;
|
||||
* this bit configures the clock force on of dpi fifo memory. 0: disable, 1: force on
|
||||
*/
|
||||
uint32_t dsi_mem_clk_force_on:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_mem_clk_ctrl_reg_t;
|
||||
|
||||
/** Type of dma_flow_ctrl register
|
||||
* dsi_bridge dma flow controller register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dsi_dma_flow_controller : R/W; bitpos: [0]; default: 1;
|
||||
* this bit configures the flow controller, 0: dmac as flow controller, 1:dsi_bridge
|
||||
* as flow controller
|
||||
*/
|
||||
uint32_t dsi_dma_flow_controller:1;
|
||||
uint32_t reserved_1:3;
|
||||
/** dma_flow_multiblk_num : R/W; bitpos: [7:4]; default: 1;
|
||||
* this field configures the num of blocks when multi-blk is enable and dmac as flow
|
||||
* controller
|
||||
*/
|
||||
uint32_t dma_flow_multiblk_num:4;
|
||||
uint32_t reserved_8:24;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_dma_flow_ctrl_reg_t;
|
||||
|
||||
/** Type of raw_buf_almost_empty_thrd register
|
||||
* dsi_bridge buffer empty threshold register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dsi_raw_buf_almost_empty_thrd : R/W; bitpos: [10:0]; default: 512;
|
||||
* this field configures the fifo almost empty threshold, is valid only when dmac as
|
||||
* flow controller
|
||||
*/
|
||||
uint32_t dsi_raw_buf_almost_empty_thrd:11;
|
||||
uint32_t reserved_11:21;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_raw_buf_almost_empty_thrd_reg_t;
|
||||
|
||||
/** Type of yuv_cfg register
|
||||
* dsi_bridge yuv format config register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** protocal : R/W; bitpos: [0]; default: 0;
|
||||
* this bit configures yuv protoocl, 0: bt.601, 1: bt.709
|
||||
*/
|
||||
uint32_t protocal:1;
|
||||
/** yuv_pix_endian : R/W; bitpos: [1]; default: 0;
|
||||
* this bit configures yuv pixel endian, 0: y0u0y1v1y2u2y3v3, 1: y3u3y2v2y1u1y0v0
|
||||
*/
|
||||
uint32_t yuv_pix_endian:1;
|
||||
/** yuv422_format : R/W; bitpos: [3:2]; default: 0;
|
||||
* this field configures yuv422 store format, 0: yuyv, 1: yvyu, 2: uyvy, 3: vyuy
|
||||
*/
|
||||
uint32_t yuv422_format:2;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_yuv_cfg_reg_t;
|
||||
|
||||
/** Type of phy_lp_loopback_ctrl register
|
||||
* dsi phy lp_loopback test ctrl
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** phy_lp_txdataesc_1 : R/W; bitpos: [7:0]; default: 0;
|
||||
* txdataesc_1 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
uint32_t phy_lp_txdataesc_1:8;
|
||||
/** phy_lp_txrequestesc_1 : R/W; bitpos: [8]; default: 0;
|
||||
* txrequestesc_1 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
uint32_t phy_lp_txrequestesc_1:1;
|
||||
/** phy_lp_txvalidesc_1 : R/W; bitpos: [9]; default: 0;
|
||||
* txvalidesc_1 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
uint32_t phy_lp_txvalidesc_1:1;
|
||||
/** phy_lp_txlpdtesc_1 : R/W; bitpos: [10]; default: 0;
|
||||
* txlpdtesc_1 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
uint32_t phy_lp_txlpdtesc_1:1;
|
||||
/** phy_lp_basedir_1 : R/W; bitpos: [11]; default: 0;
|
||||
* basedir_1 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
uint32_t phy_lp_basedir_1:1;
|
||||
uint32_t reserved_12:4;
|
||||
/** phy_lp_txdataesc_0 : R/W; bitpos: [23:16]; default: 0;
|
||||
* txdataesc_0 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
uint32_t phy_lp_txdataesc_0:8;
|
||||
/** phy_lp_txrequestesc_0 : R/W; bitpos: [24]; default: 0;
|
||||
* txrequestesc_0 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
uint32_t phy_lp_txrequestesc_0:1;
|
||||
/** phy_lp_txvalidesc_0 : R/W; bitpos: [25]; default: 0;
|
||||
* txvalidesc_0 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
uint32_t phy_lp_txvalidesc_0:1;
|
||||
/** phy_lp_txlpdtesc_0 : R/W; bitpos: [26]; default: 0;
|
||||
* txlpdtesc_0 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
uint32_t phy_lp_txlpdtesc_0:1;
|
||||
/** phy_lp_basedir_0 : R/W; bitpos: [27]; default: 0;
|
||||
* basedir_0 ctrl when enable dsi phy lp_loopback_test
|
||||
*/
|
||||
uint32_t phy_lp_basedir_0:1;
|
||||
/** phy_lp_loopback_check : WT; bitpos: [28]; default: 0;
|
||||
* dsi phy lp_loopback test start check
|
||||
*/
|
||||
uint32_t phy_lp_loopback_check:1;
|
||||
/** phy_lp_loopback_check_done : RO; bitpos: [29]; default: 0;
|
||||
* dsi phy lp_loopback test check done
|
||||
*/
|
||||
uint32_t phy_lp_loopback_check_done:1;
|
||||
/** phy_lp_loopback_en : R/W; bitpos: [30]; default: 0;
|
||||
* dsi phy lp_loopback ctrl en
|
||||
*/
|
||||
uint32_t phy_lp_loopback_en:1;
|
||||
/** phy_lp_loopback_ok : RO; bitpos: [31]; default: 0;
|
||||
* result of dsi phy lp_loopback test
|
||||
*/
|
||||
uint32_t phy_lp_loopback_ok:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_phy_lp_loopback_ctrl_reg_t;
|
||||
|
||||
/** Type of phy_hs_loopback_ctrl register
|
||||
* dsi phy hp_loopback test ctrl
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** phy_hs_txdatahs_1 : R/W; bitpos: [7:0]; default: 0;
|
||||
* txdatahs_1 ctrl when enable dsi phy hs_loopback_test
|
||||
*/
|
||||
uint32_t phy_hs_txdatahs_1:8;
|
||||
/** phy_hs_txrequestdatahs_1 : R/W; bitpos: [8]; default: 0;
|
||||
* txrequestdatahs_1 ctrl when enable dsi phy hs_loopback_test
|
||||
*/
|
||||
uint32_t phy_hs_txrequestdatahs_1:1;
|
||||
/** phy_hs_basedir_1 : R/W; bitpos: [9]; default: 1;
|
||||
* basedir_1 ctrl when enable dsi phy hs_loopback_test
|
||||
*/
|
||||
uint32_t phy_hs_basedir_1:1;
|
||||
uint32_t reserved_10:6;
|
||||
/** phy_hs_txdatahs_0 : R/W; bitpos: [23:16]; default: 0;
|
||||
* txdatahs_0 ctrl when enable dsi phy hs_loopback_test
|
||||
*/
|
||||
uint32_t phy_hs_txdatahs_0:8;
|
||||
/** phy_hs_txrequestdatahs_0 : R/W; bitpos: [24]; default: 0;
|
||||
* txrequestdatahs_0 ctrl when enable dsi phy hs_loopback_test
|
||||
*/
|
||||
uint32_t phy_hs_txrequestdatahs_0:1;
|
||||
/** phy_hs_basedir_0 : R/W; bitpos: [25]; default: 0;
|
||||
* basedir_0 ctrl when enable dsi phy hs_loopback_test
|
||||
*/
|
||||
uint32_t phy_hs_basedir_0:1;
|
||||
uint32_t reserved_26:1;
|
||||
/** phy_hs_txrequesthsclk : R/W; bitpos: [27]; default: 0;
|
||||
* txrequesthsclk when enable dsi phy hs_loopback_test
|
||||
*/
|
||||
uint32_t phy_hs_txrequesthsclk:1;
|
||||
/** phy_hs_loopback_check : WT; bitpos: [28]; default: 0;
|
||||
* dsi phy hs_loopback test start check
|
||||
*/
|
||||
uint32_t phy_hs_loopback_check:1;
|
||||
/** phy_hs_loopback_check_done : RO; bitpos: [29]; default: 0;
|
||||
* dsi phy hs_loopback test check done
|
||||
*/
|
||||
uint32_t phy_hs_loopback_check_done:1;
|
||||
/** phy_hs_loopback_en : R/W; bitpos: [30]; default: 0;
|
||||
* dsi phy hs_loopback ctrl en
|
||||
*/
|
||||
uint32_t phy_hs_loopback_en:1;
|
||||
/** phy_hs_loopback_ok : RO; bitpos: [31]; default: 0;
|
||||
* result of dsi phy hs_loopback test
|
||||
*/
|
||||
uint32_t phy_hs_loopback_ok:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_phy_hs_loopback_ctrl_reg_t;
|
||||
|
||||
/** Type of phy_loopback_cnt register
|
||||
* loopback test cnt
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** phy_hs_check_cnt_th : R/W; bitpos: [7:0]; default: 64;
|
||||
* hs_loopback test check cnt
|
||||
*/
|
||||
uint32_t phy_hs_check_cnt_th:8;
|
||||
uint32_t reserved_8:8;
|
||||
/** phy_lp_check_cnt_th : R/W; bitpos: [23:16]; default: 64;
|
||||
* lp_loopback test check cnt
|
||||
*/
|
||||
uint32_t phy_lp_check_cnt_th:8;
|
||||
uint32_t reserved_24:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_phy_loopback_cnt_reg_t;
|
||||
|
||||
|
||||
/** Group: Status Registers */
|
||||
/** Type of fifo_flow_status register
|
||||
* dsi bridge raw buffer depth register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** raw_buf_depth : RO; bitpos: [13:0]; default: 0;
|
||||
* this field configures the depth of dsi_bridge fifo depth
|
||||
*/
|
||||
uint32_t raw_buf_depth:14;
|
||||
uint32_t reserved_14:18;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_fifo_flow_status_reg_t;
|
||||
|
||||
/** Type of host_bist_ctl register
|
||||
* dsi_bridge host bist control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** bistok : RO; bitpos: [0]; default: 0;
|
||||
* bistok
|
||||
*/
|
||||
uint32_t bistok:1;
|
||||
/** biston : R/W; bitpos: [1]; default: 0;
|
||||
* biston
|
||||
*/
|
||||
uint32_t biston:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_host_bist_ctl_reg_t;
|
||||
|
||||
/** Type of rdn_eco_cs register
|
||||
* dsi_bridge rdn eco cs register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rdn_eco_en : R/W; bitpos: [0]; default: 0;
|
||||
* rdn_eco_en
|
||||
*/
|
||||
uint32_t rdn_eco_en:1;
|
||||
/** rdn_eco_result : RO; bitpos: [1]; default: 0;
|
||||
* rdn_eco_result
|
||||
*/
|
||||
uint32_t rdn_eco_result:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_rdn_eco_cs_reg_t;
|
||||
|
||||
|
||||
/** Group: Interrupt Registers */
|
||||
/** Type of int_ena register
|
||||
* dsi_bridge interrupt enable register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** underrun_int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* write 1 to enables dpi_underrun_int_st field of MIPI_DSI_BRG_INT_ST_REG controlled
|
||||
* by dpi_underrun interrupt signal
|
||||
*/
|
||||
uint32_t underrun_int_ena:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_int_ena_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* dsi_bridge interrupt clear register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** underrun_int_clr : WT; bitpos: [0]; default: 0;
|
||||
* write 1 to this bit to clear dpi_underrun_int_raw field of MIPI_DSI_BRG_INT_RAW_REG
|
||||
*/
|
||||
uint32_t underrun_int_clr:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_int_clr_reg_t;
|
||||
|
||||
/** Type of int_raw register
|
||||
* dsi_bridge raw interrupt register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** underrun_int_raw : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* the raw interrupt status of dpi_underrun
|
||||
*/
|
||||
uint32_t underrun_int_raw:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_int_raw_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* dsi_bridge masked interrupt register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** underrun_int_st : RO; bitpos: [0]; default: 0;
|
||||
* the masked interrupt status of dpi_underrun
|
||||
*/
|
||||
uint32_t underrun_int_st:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} dsi_brg_int_st_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile dsi_brg_clk_en_reg_t clk_en;
|
||||
volatile dsi_brg_en_reg_t en;
|
||||
volatile dsi_brg_dma_req_cfg_reg_t dma_req_cfg;
|
||||
volatile dsi_brg_raw_num_cfg_reg_t raw_num_cfg;
|
||||
volatile dsi_brg_raw_buf_credit_ctl_reg_t raw_buf_credit_ctl;
|
||||
volatile dsi_brg_fifo_flow_status_reg_t fifo_flow_status;
|
||||
volatile dsi_brg_pixel_type_reg_t pixel_type;
|
||||
volatile dsi_brg_dma_block_interval_reg_t dma_block_interval;
|
||||
volatile dsi_brg_dma_req_interval_reg_t dma_req_interval;
|
||||
volatile dsi_brg_dpi_lcd_ctl_reg_t dpi_lcd_ctl;
|
||||
volatile dsi_brg_dpi_rsv_dpi_data_reg_t dpi_rsv_dpi_data;
|
||||
uint32_t reserved_02c;
|
||||
volatile dsi_brg_dpi_v_cfg0_reg_t dpi_v_cfg0;
|
||||
volatile dsi_brg_dpi_v_cfg1_reg_t dpi_v_cfg1;
|
||||
volatile dsi_brg_dpi_h_cfg0_reg_t dpi_h_cfg0;
|
||||
volatile dsi_brg_dpi_h_cfg1_reg_t dpi_h_cfg1;
|
||||
volatile dsi_brg_dpi_misc_config_reg_t dpi_misc_config;
|
||||
volatile dsi_brg_dpi_config_update_reg_t dpi_config_update;
|
||||
uint32_t reserved_048[2];
|
||||
volatile dsi_brg_int_ena_reg_t int_ena;
|
||||
volatile dsi_brg_int_clr_reg_t int_clr;
|
||||
volatile dsi_brg_int_raw_reg_t int_raw;
|
||||
volatile dsi_brg_int_st_reg_t int_st;
|
||||
volatile dsi_brg_host_bist_ctl_reg_t host_bist_ctl;
|
||||
volatile dsi_brg_host_trigger_rev_reg_t host_trigger_rev;
|
||||
volatile dsi_brg_blk_raw_num_cfg_reg_t blk_raw_num_cfg;
|
||||
volatile dsi_brg_dma_frame_interval_reg_t dma_frame_interval;
|
||||
volatile dsi_brg_mem_aux_ctrl_reg_t mem_aux_ctrl;
|
||||
volatile dsi_brg_rdn_eco_cs_reg_t rdn_eco_cs;
|
||||
volatile dsi_brg_rdn_eco_low_reg_t rdn_eco_low;
|
||||
volatile dsi_brg_rdn_eco_high_reg_t rdn_eco_high;
|
||||
volatile dsi_brg_host_ctrl_reg_t host_ctrl;
|
||||
volatile dsi_brg_mem_clk_ctrl_reg_t mem_clk_ctrl;
|
||||
volatile dsi_brg_dma_flow_ctrl_reg_t dma_flow_ctrl;
|
||||
volatile dsi_brg_raw_buf_almost_empty_thrd_reg_t raw_buf_almost_empty_thrd;
|
||||
volatile dsi_brg_yuv_cfg_reg_t yuv_cfg;
|
||||
volatile dsi_brg_phy_lp_loopback_ctrl_reg_t phy_lp_loopback_ctrl;
|
||||
volatile dsi_brg_phy_hs_loopback_ctrl_reg_t phy_hs_loopback_ctrl;
|
||||
volatile dsi_brg_phy_loopback_cnt_reg_t phy_loopback_cnt;
|
||||
} dsi_brg_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(dsi_brg_dev_t) == 0xa0, "Invalid size of dsi_brg_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
2360
components/soc/esp32p4/include/soc/mipi_dsi_host_reg.h
Normal file
2360
components/soc/esp32p4/include/soc/mipi_dsi_host_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
2006
components/soc/esp32p4/include/soc/mipi_dsi_host_struct.h
Normal file
2006
components/soc/esp32p4/include/soc/mipi_dsi_host_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
480
components/soc/esp32p4/include/soc/parl_io_reg.h
Normal file
480
components/soc/esp32p4/include/soc/parl_io_reg.h
Normal file
@ -0,0 +1,480 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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 bit 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_EOF_GEN_SEL : R/W; bitpos: [13]; default: 0;
|
||||
* Configures the tx eof generated mechanism. 1'b0: eof generated by data bit length.
|
||||
* 1'b1: eof generated by DMA eof.
|
||||
*/
|
||||
#define PARL_IO_TX_EOF_GEN_SEL (BIT(13))
|
||||
#define PARL_IO_TX_EOF_GEN_SEL_M (PARL_IO_TX_EOF_GEN_SEL_V << PARL_IO_TX_EOF_GEN_SEL_S)
|
||||
#define PARL_IO_TX_EOF_GEN_SEL_V 0x00000001U
|
||||
#define PARL_IO_TX_EOF_GEN_SEL_S 13
|
||||
/** 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:8]; default: 0;
|
||||
* Indicates the cycle number of reading Rx FIFO.
|
||||
*/
|
||||
#define PARL_IO_RX_CNT 0x0000001FU
|
||||
#define PARL_IO_RX_CNT_M (PARL_IO_RX_CNT_V << PARL_IO_RX_CNT_S)
|
||||
#define PARL_IO_RX_CNT_V 0x0000001FU
|
||||
#define PARL_IO_RX_CNT_S 8
|
||||
/** 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: 35725920;
|
||||
* 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
|
508
components/soc/esp32p4/include/soc/parl_io_struct.h
Normal file
508
components/soc/esp32p4/include/soc/parl_io_struct.h
Normal file
@ -0,0 +1,508 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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 bit 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:13;
|
||||
/** tx_eof_gen_sel : R/W; bitpos: [13]; default: 0;
|
||||
* Configures the tx eof generated mechanism. 1'b0: eof generated by data bit length.
|
||||
* 1'b1: eof generated by DMA eof.
|
||||
*/
|
||||
uint32_t tx_eof_gen_sel:1;
|
||||
/** 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:8;
|
||||
/** rx_cnt : RO; bitpos: [12:8]; default: 0;
|
||||
* Indicates the cycle number of reading Rx FIFO.
|
||||
*/
|
||||
uint32_t rx_cnt:5;
|
||||
/** 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: 35725920;
|
||||
* 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;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(parl_io_dev_t) == 0x400, "Invalid size of parl_io_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
332
components/soc/esp32p4/include/soc/pau_reg.h
Normal file
332
components/soc/esp32p4/include/soc/pau_reg.h
Normal file
@ -0,0 +1,332 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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_INT_ENA_REG register
|
||||
* Read only register for error and done
|
||||
*/
|
||||
#define PAU_INT_ENA_REG (DR_REG_PAU_BASE + 0x30)
|
||||
/** 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 + 0x34)
|
||||
/** 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 + 0x38)
|
||||
/** 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 + 0x3c)
|
||||
/** 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
|
338
components/soc/esp32p4/include/soc/pau_struct.h
Normal file
338
components/soc/esp32p4/include/soc/pau_struct.h
Normal file
@ -0,0 +1,338 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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 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_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_040[239];
|
||||
volatile pau_date_reg_t date;
|
||||
} pau_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(pau_dev_t) == 0x400, "Invalid size of pau_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
1346
components/soc/esp32p4/include/soc/pcnt_reg.h
Normal file
1346
components/soc/esp32p4/include/soc/pcnt_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
503
components/soc/esp32p4/include/soc/pcnt_struct.h
Normal file
503
components/soc/esp32p4/include/soc/pcnt_struct.h
Normal file
@ -0,0 +1,503 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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_un : 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_un:10;
|
||||
/** filter_en_un : R/W; bitpos: [10]; default: 1;
|
||||
* This is the enable bit for unit n's input filter.
|
||||
*/
|
||||
uint32_t filter_en_un:1;
|
||||
/** thr_zero_en_un : R/W; bitpos: [11]; default: 1;
|
||||
* This is the enable bit for unit n's zero comparator.
|
||||
*/
|
||||
uint32_t thr_zero_en_un:1;
|
||||
/** thr_h_lim_en_un : R/W; bitpos: [12]; default: 1;
|
||||
* This is the enable bit for unit n's thr_h_lim comparator. Configures it to enable
|
||||
* the high limit interrupt.
|
||||
*/
|
||||
uint32_t thr_h_lim_en_un:1;
|
||||
/** thr_l_lim_en_un : R/W; bitpos: [13]; default: 1;
|
||||
* This is the enable bit for unit n's thr_l_lim comparator. Configures it to enable
|
||||
* the low limit interrupt.
|
||||
*/
|
||||
uint32_t thr_l_lim_en_un:1;
|
||||
/** thr_thres0_en_un : R/W; bitpos: [14]; default: 0;
|
||||
* This is the enable bit for unit n's thres0 comparator.
|
||||
*/
|
||||
uint32_t thr_thres0_en_un:1;
|
||||
/** thr_thres1_en_un : R/W; bitpos: [15]; default: 0;
|
||||
* This is the enable bit for unit n's thres1 comparator.
|
||||
*/
|
||||
uint32_t thr_thres1_en_un:1;
|
||||
/** ch0_neg_mode_un : 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_un:2;
|
||||
/** ch0_pos_mode_un : 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_un:2;
|
||||
/** ch0_hctrl_mode_un : 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_un:2;
|
||||
/** ch0_lctrl_mode_un : 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_un:2;
|
||||
/** ch1_neg_mode_un : 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_un:2;
|
||||
/** ch1_pos_mode_un : 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_un:2;
|
||||
/** ch1_hctrl_mode_un : 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_un:2;
|
||||
/** ch1_lctrl_mode_un : 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_un: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_un : R/W; bitpos: [15:0]; default: 0;
|
||||
* This register is used to configure the thres0 value for unit n.
|
||||
*/
|
||||
uint32_t cnt_thres0_un:16;
|
||||
/** cnt_thres1_un : R/W; bitpos: [31:16]; default: 0;
|
||||
* This register is used to configure the thres1 value for unit n.
|
||||
*/
|
||||
uint32_t cnt_thres1_un: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_un : R/W; bitpos: [15:0]; default: 0;
|
||||
* This register is used to configure the thr_h_lim value for unit n. When pcnt
|
||||
* reaches this value, the counter will be cleared to 0.
|
||||
*/
|
||||
uint32_t cnt_h_lim_un:16;
|
||||
/** cnt_l_lim_un : R/W; bitpos: [31:16]; default: 0;
|
||||
* This register is used to configure the thr_l_lim value for unit n. When pcnt
|
||||
* reaches this value, the counter will be cleared to 0.
|
||||
*/
|
||||
uint32_t cnt_l_lim_un: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;
|
||||
/** dalta_change_en_u0 : R/W; bitpos: [8]; default: 0;
|
||||
* Configures this bit to enable unit 0's step comparator.
|
||||
*/
|
||||
uint32_t dalta_change_en_u0:1;
|
||||
/** dalta_change_en_u1 : R/W; bitpos: [9]; default: 0;
|
||||
* Configures this bit to enable unit 1's step comparator.
|
||||
*/
|
||||
uint32_t dalta_change_en_u1:1;
|
||||
/** dalta_change_en_u2 : R/W; bitpos: [10]; default: 0;
|
||||
* Configures this bit to enable unit 2's step comparator.
|
||||
*/
|
||||
uint32_t dalta_change_en_u2:1;
|
||||
/** dalta_change_en_u3 : R/W; bitpos: [11]; default: 0;
|
||||
* Configures this bit to enable unit 3's step comparator.
|
||||
*/
|
||||
uint32_t dalta_change_en_u3:1;
|
||||
uint32_t reserved_12:4;
|
||||
/** 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;
|
||||
|
||||
/** Type of u3_change_conf register
|
||||
* Configuration register for unit $n's step value.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cnt_step_u3 : R/W; bitpos: [15:0]; default: 0;
|
||||
* Configures the step value for unit 3.
|
||||
*/
|
||||
uint32_t cnt_step_u3:16;
|
||||
/** cnt_step_lim_u3 : R/W; bitpos: [31:16]; default: 0;
|
||||
* Configures the step limit value for unit 3.
|
||||
*/
|
||||
uint32_t cnt_step_lim_u3:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_u3_change_conf_reg_t;
|
||||
|
||||
/** Type of u2_change_conf register
|
||||
* Configuration register for unit $n's step value.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cnt_step_u2 : R/W; bitpos: [15:0]; default: 0;
|
||||
* Configures the step value for unit 2.
|
||||
*/
|
||||
uint32_t cnt_step_u2:16;
|
||||
/** cnt_step_lim_u2 : R/W; bitpos: [31:16]; default: 0;
|
||||
* Configures the step limit value for unit 2.
|
||||
*/
|
||||
uint32_t cnt_step_lim_u2:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_u2_change_conf_reg_t;
|
||||
|
||||
/** Type of u1_change_conf register
|
||||
* Configuration register for unit $n's step value.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cnt_step_u1 : R/W; bitpos: [15:0]; default: 0;
|
||||
* Configures the step value for unit 1.
|
||||
*/
|
||||
uint32_t cnt_step_u1:16;
|
||||
/** cnt_step_lim_u1 : R/W; bitpos: [31:16]; default: 0;
|
||||
* Configures the step limit value for unit 1.
|
||||
*/
|
||||
uint32_t cnt_step_lim_u1:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_u1_change_conf_reg_t;
|
||||
|
||||
/** Type of u0_change_conf register
|
||||
* Configuration register for unit $n's step value.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cnt_step_u0 : R/W; bitpos: [15:0]; default: 0;
|
||||
* Configures the step value for unit 0.
|
||||
*/
|
||||
uint32_t cnt_step_u0:16;
|
||||
/** cnt_step_lim_u0 : R/W; bitpos: [31:16]; default: 0;
|
||||
* Configures the step limit value for unit 0.
|
||||
*/
|
||||
uint32_t cnt_step_lim_u0:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_u0_change_conf_reg_t;
|
||||
|
||||
|
||||
/** Group: Status Register */
|
||||
/** Type of un_cnt register
|
||||
* Counter value for unit n
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** pulse_cnt_un : RO; bitpos: [15:0]; default: 0;
|
||||
* This register stores the current pulse count value for unit n.
|
||||
*/
|
||||
uint32_t pulse_cnt_un: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_un : 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_un:2;
|
||||
/** cnt_thr_thres1_lat_un : 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_un:1;
|
||||
/** cnt_thr_thres0_lat_un : 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_un:1;
|
||||
/** cnt_thr_l_lim_lat_un : 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_un:1;
|
||||
/** cnt_thr_h_lim_lat_un : 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_un:1;
|
||||
/** cnt_thr_zero_lat_un : 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_un: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 : R/WTC/SS; 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 : R/WTC/SS; 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 : R/WTC/SS; 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 : R/WTC/SS; 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 : WT; 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 : WT; 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 : WT; 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 : WT; 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: 571021568;
|
||||
* This is the PCNT version control register.
|
||||
*/
|
||||
uint32_t date:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} pcnt_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile pcnt_un_conf0_reg_t u0_conf0;
|
||||
volatile pcnt_un_conf1_reg_t u0_conf1;
|
||||
volatile pcnt_un_conf2_reg_t u0_conf2;
|
||||
volatile pcnt_un_conf0_reg_t u1_conf0;
|
||||
volatile pcnt_un_conf1_reg_t u1_conf1;
|
||||
volatile pcnt_un_conf2_reg_t u1_conf2;
|
||||
volatile pcnt_un_conf0_reg_t u2_conf0;
|
||||
volatile pcnt_un_conf1_reg_t u2_conf1;
|
||||
volatile pcnt_un_conf2_reg_t u2_conf2;
|
||||
volatile pcnt_un_conf0_reg_t u3_conf0;
|
||||
volatile pcnt_un_conf1_reg_t u3_conf1;
|
||||
volatile pcnt_un_conf2_reg_t u3_conf2;
|
||||
volatile pcnt_un_cnt_reg_t un_cnt[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 un_status[4];
|
||||
volatile pcnt_ctrl_reg_t ctrl;
|
||||
volatile pcnt_u3_change_conf_reg_t u3_change_conf;
|
||||
volatile pcnt_u2_change_conf_reg_t u2_change_conf;
|
||||
volatile pcnt_u1_change_conf_reg_t u1_change_conf;
|
||||
volatile pcnt_u0_change_conf_reg_t u0_change_conf;
|
||||
uint32_t reserved_074[34];
|
||||
volatile pcnt_date_reg_t date;
|
||||
} pcnt_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(pcnt_dev_t) == 0x100, "Invalid size of pcnt_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
4839
components/soc/esp32p4/include/soc/pmu_reg.h
Normal file
4839
components/soc/esp32p4/include/soc/pmu_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
3883
components/soc/esp32p4/include/soc/pmu_struct.h
Normal file
3883
components/soc/esp32p4/include/soc/pmu_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
1033
components/soc/esp32p4/include/soc/ppa_reg.h
Normal file
1033
components/soc/esp32p4/include/soc/ppa_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
908
components/soc/esp32p4/include/soc/ppa_struct.h
Normal file
908
components/soc/esp32p4/include/soc/ppa_struct.h
Normal file
@ -0,0 +1,908 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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 blend0_clut_data register
|
||||
* CLUT sram data read/write register in background plane of blender
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rdwr_word_blend0_clut : R/W; bitpos: [31:0]; default: 0;
|
||||
* Write and read data to/from CLUT RAM in background plane of blender engine through
|
||||
* this field in fifo mode.
|
||||
*/
|
||||
uint32_t rdwr_word_blend0_clut:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_blend0_clut_data_reg_t;
|
||||
|
||||
/** Type of blend1_clut_data register
|
||||
* CLUT sram data read/write register in foreground plane of blender
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rdwr_word_blend1_clut : R/W; bitpos: [31:0]; default: 0;
|
||||
* Write and read data to/from CLUT RAM in foreground plane of blender engine through
|
||||
* this field in fifo mode.
|
||||
*/
|
||||
uint32_t rdwr_word_blend1_clut:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_blend1_clut_data_reg_t;
|
||||
|
||||
/** Type of clut_conf register
|
||||
* CLUT configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** apb_fifo_mask : R/W; bitpos: [0]; default: 0;
|
||||
* 1'b0: fifo mode to wr/rd clut0/clut1 RAM through register
|
||||
* PPA_SR_CLUT_DATA_REG/PPA_BLEND0_CLUT_DATA_REG/PPA_BLEND1_CLUT_DATA_REG. 1'b1:
|
||||
* memory mode to wr/rd sr/blend0/blend1 clut RAM. The bit 11 and 10 of the waddr
|
||||
* should be 01 to access sr clut and should be 10 to access blend0 clut and should be
|
||||
* 11 to access blend 1 clut in memory mode.
|
||||
*/
|
||||
uint32_t apb_fifo_mask:1;
|
||||
/** blend0_clut_mem_rst : R/W; bitpos: [1]; default: 0;
|
||||
* Write 1 then write 0 to this bit to reset BLEND0 CLUT.
|
||||
*/
|
||||
uint32_t blend0_clut_mem_rst:1;
|
||||
/** blend1_clut_mem_rst : R/W; bitpos: [2]; default: 0;
|
||||
* Write 1 then write 0 to this bit to reset BLEND1 CLUT.
|
||||
*/
|
||||
uint32_t blend1_clut_mem_rst:1;
|
||||
/** blend0_clut_mem_rdaddr_rst : R/W; bitpos: [3]; default: 0;
|
||||
* Write 1 then write 0 to reset the read address of BLEND0 CLUT in fifo mode.
|
||||
*/
|
||||
uint32_t blend0_clut_mem_rdaddr_rst:1;
|
||||
/** blend1_clut_mem_rdaddr_rst : R/W; bitpos: [4]; default: 0;
|
||||
* Write 1 then write 0 to reset the read address of BLEND1 CLUT in fifo mode.
|
||||
*/
|
||||
uint32_t blend1_clut_mem_rdaddr_rst:1;
|
||||
/** blend0_clut_mem_force_pd : R/W; bitpos: [5]; default: 0;
|
||||
* 1: force power down BLEND CLUT memory.
|
||||
*/
|
||||
uint32_t blend0_clut_mem_force_pd:1;
|
||||
/** blend0_clut_mem_force_pu : R/W; bitpos: [6]; default: 0;
|
||||
* 1: force power up BLEND CLUT memory.
|
||||
*/
|
||||
uint32_t blend0_clut_mem_force_pu:1;
|
||||
/** blend0_clut_mem_clk_ena : R/W; bitpos: [7]; default: 0;
|
||||
* 1: Force clock on for BLEND CLUT memory.
|
||||
*/
|
||||
uint32_t blend0_clut_mem_clk_ena:1;
|
||||
uint32_t reserved_8:24;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_clut_conf_reg_t;
|
||||
|
||||
/** Type of sr_color_mode register
|
||||
* Scaling and rotating engine color mode register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sr_rx_cm : R/W; bitpos: [3:0]; default: 0;
|
||||
* The source image color mode for Scaling and Rotating engine Rx. 0: ARGB8888. 1:
|
||||
* RGB888. 2: RGB565. 8: YUV420. others: Reserved.
|
||||
*/
|
||||
uint32_t sr_rx_cm:4;
|
||||
/** sr_tx_cm : R/W; bitpos: [7:4]; default: 0;
|
||||
* The destination image color mode for Scaling and Rotating engine Tx. 0: ARGB8888.
|
||||
* 1: RGB888. 2: RGB565. 8: YUV420. others: Reserved.
|
||||
*/
|
||||
uint32_t sr_tx_cm:4;
|
||||
/** yuv_rx_range : R/W; bitpos: [8]; default: 0;
|
||||
* YUV input range when reg_sr_rx_cm is 4'd8. 0: limit range. 1: full range
|
||||
*/
|
||||
uint32_t yuv_rx_range:1;
|
||||
/** yuv_tx_range : R/W; bitpos: [9]; default: 0;
|
||||
* YUV output range when reg_sr_tx_cm is 4'd8. 0: limit range. 1: full range
|
||||
*/
|
||||
uint32_t yuv_tx_range:1;
|
||||
/** yuv2rgb_protocal : R/W; bitpos: [10]; default: 0;
|
||||
* YUV to RGB protocal when reg_sr_rx_cm is 4'd8. 0: BT601. 1: BT709
|
||||
*/
|
||||
uint32_t yuv2rgb_protocal:1;
|
||||
/** rgb2yuv_protocal : R/W; bitpos: [11]; default: 0;
|
||||
* RGB to YUV protocal when reg_sr_tx_cm is 4'd8. 0: BT601. 1: BT709
|
||||
*/
|
||||
uint32_t rgb2yuv_protocal:1;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_sr_color_mode_reg_t;
|
||||
|
||||
/** Type of blend_color_mode register
|
||||
* blending engine color mode register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** blend0_rx_cm : R/W; bitpos: [3:0]; default: 0;
|
||||
* The source image color mode for background plane. 0: ARGB8888. 1: RGB888. 2:
|
||||
* RGB565. 3: Reserved. 4: L8. 5: L4.
|
||||
*/
|
||||
uint32_t blend0_rx_cm:4;
|
||||
/** blend1_rx_cm : R/W; bitpos: [7:4]; default: 0;
|
||||
* The source image color mode for foreground plane. 0: ARGB8888. 1: RGB888. 2:
|
||||
* RGB565. 3: Reserved. 4: L8. 5: L4. 6: A8. 7: A4.
|
||||
*/
|
||||
uint32_t blend1_rx_cm:4;
|
||||
/** blend_tx_cm : R/W; bitpos: [11:8]; default: 0;
|
||||
* The destination image color mode for output of blender. 0: ARGB8888. 1: RGB888. 2:
|
||||
* RGB565. 3: Reserved..
|
||||
*/
|
||||
uint32_t blend_tx_cm:4;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_blend_color_mode_reg_t;
|
||||
|
||||
/** Type of sr_byte_order register
|
||||
* Scaling and rotating engine byte order register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sr_rx_byte_swap_en : R/W; bitpos: [0]; default: 0;
|
||||
* Set this bit to 1 the data into Rx channel 0 would be swapped in byte. The Byte0
|
||||
* and Byte1 would be swapped while byte 2 and byte 3 would be swappped.
|
||||
*/
|
||||
uint32_t sr_rx_byte_swap_en:1;
|
||||
/** sr_rx_rgb_swap_en : R/W; bitpos: [1]; default: 0;
|
||||
* Set this bit to 1 the data into Rx channel 0 would be swapped in rgb. It means rgb
|
||||
* would be swap to bgr.
|
||||
*/
|
||||
uint32_t sr_rx_rgb_swap_en:1;
|
||||
/** sr_macro_bk_ro_bypass : R/W; bitpos: [2]; default: 0;
|
||||
* Set this bit to 1 to bypass the macro block order function. This function is used
|
||||
* to improve efficient accessing external memory.
|
||||
*/
|
||||
uint32_t sr_macro_bk_ro_bypass:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_sr_byte_order_reg_t;
|
||||
|
||||
/** Type of blend_byte_order register
|
||||
* Blending engine byte order register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** blend0_rx_byte_swap_en : R/W; bitpos: [0]; default: 0;
|
||||
* Set this bit to 1 the data into Rx channel 0 would be swapped in byte. The Byte0
|
||||
* and Byte1 would be swapped while byte 2 and byte 3 would be swappped.
|
||||
*/
|
||||
uint32_t blend0_rx_byte_swap_en:1;
|
||||
/** blend1_rx_byte_swap_en : R/W; bitpos: [1]; default: 0;
|
||||
* Set this bit to 1 the data into Rx channel 0 would be swapped in byte. The Byte0
|
||||
* and Byte1 would be swapped while byte 2 and byte 3 would be swappped.
|
||||
*/
|
||||
uint32_t blend1_rx_byte_swap_en:1;
|
||||
/** blend0_rx_rgb_swap_en : R/W; bitpos: [2]; default: 0;
|
||||
* Set this bit to 1 the data into Rx channel 0 would be swapped in rgb. It means rgb
|
||||
* would be swap to bgr.
|
||||
*/
|
||||
uint32_t blend0_rx_rgb_swap_en:1;
|
||||
/** blend1_rx_rgb_swap_en : R/W; bitpos: [3]; default: 0;
|
||||
* Set this bit to 1 the data into Rx channel 0 would be swapped in rgb. It means rgb
|
||||
* would be swap to bgr.
|
||||
*/
|
||||
uint32_t blend1_rx_rgb_swap_en:1;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_blend_byte_order_reg_t;
|
||||
|
||||
/** Type of blend_trans_mode register
|
||||
* Blending engine mode configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** blend_en : R/W; bitpos: [0]; default: 0;
|
||||
* Set this bit to enable alpha blending.
|
||||
*/
|
||||
uint32_t blend_en:1;
|
||||
/** blend_bypass : R/W; bitpos: [1]; default: 0;
|
||||
* Set this bit to bypass blender. Then background date would be output.
|
||||
*/
|
||||
uint32_t blend_bypass:1;
|
||||
/** blend_fix_pixel_fill_en : R/W; bitpos: [2]; default: 0;
|
||||
* This bit is used to enable fix pixel filling. When this mode is enable only Tx
|
||||
* channel is work and the output pixel is configured by PPA_OUT_FIX_PIXEL.
|
||||
*/
|
||||
uint32_t blend_fix_pixel_fill_en:1;
|
||||
/** blend_trans_mode_update : WT; bitpos: [3]; default: 0;
|
||||
* Set this bit to update the transfer mode. Only the bit is set the transfer mode is
|
||||
* valid.
|
||||
*/
|
||||
uint32_t blend_trans_mode_update:1;
|
||||
/** blend_rst : R/W; bitpos: [4]; default: 0;
|
||||
* write 1 then write 0 to reset blending engine.
|
||||
*/
|
||||
uint32_t blend_rst:1;
|
||||
uint32_t reserved_5:27;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_blend_trans_mode_reg_t;
|
||||
|
||||
/** Type of sr_fix_alpha register
|
||||
* Scaling and rotating engine alpha override register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sr_rx_fix_alpha : R/W; bitpos: [7:0]; default: 128;
|
||||
* The value would replace the alpha value in received pixel for Scaling and Rotating
|
||||
* engine when PPA_SR_RX_ALPHA_CONF_EN is enabled.
|
||||
*/
|
||||
uint32_t sr_rx_fix_alpha:8;
|
||||
/** sr_rx_alpha_mod : R/W; bitpos: [9:8]; default: 0;
|
||||
* Alpha mode. 0/3: not replace alpha. 1: replace alpha with PPA_SR_FIX_ALPHA. 2:
|
||||
* Original alpha multiply with PPA_SR_FIX_ALPHA/256.
|
||||
*/
|
||||
uint32_t sr_rx_alpha_mod:2;
|
||||
/** sr_rx_alpha_inv : R/W; bitpos: [10]; default: 0;
|
||||
* Set this bit to invert the original alpha value. When RX color mode is
|
||||
* RGB565/RGB88. The original alpha value is 255.
|
||||
*/
|
||||
uint32_t sr_rx_alpha_inv:1;
|
||||
uint32_t reserved_11:21;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_sr_fix_alpha_reg_t;
|
||||
|
||||
/** Type of blend_tx_size register
|
||||
* Fix pixel filling mode image size register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** blend_hb : R/W; bitpos: [13:0]; default: 0;
|
||||
* The horizontal width of image block that would be filled in fix pixel filling mode.
|
||||
* The unit is pixel
|
||||
*/
|
||||
uint32_t blend_hb:14;
|
||||
/** blend_vb : R/W; bitpos: [27:14]; default: 0;
|
||||
* The vertical width of image block that would be filled in fix pixel filling mode.
|
||||
* The unit is pixel
|
||||
*/
|
||||
uint32_t blend_vb:14;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_blend_tx_size_reg_t;
|
||||
|
||||
/** Type of blend_fix_alpha register
|
||||
* Blending engine alpha override register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** blend0_rx_fix_alpha : R/W; bitpos: [7:0]; default: 128;
|
||||
* The value would replace the alpha value in received pixel for background plane of
|
||||
* blender when PPA_BLEND0_RX_ALPHA_CONF_EN is enabled.
|
||||
*/
|
||||
uint32_t blend0_rx_fix_alpha:8;
|
||||
/** blend1_rx_fix_alpha : R/W; bitpos: [15:8]; default: 128;
|
||||
* The value would replace the alpha value in received pixel for foreground plane of
|
||||
* blender when PPA_BLEND1_RX_ALPHA_CONF_EN is enabled.
|
||||
*/
|
||||
uint32_t blend1_rx_fix_alpha:8;
|
||||
/** blend0_rx_alpha_mod : R/W; bitpos: [17:16]; default: 0;
|
||||
* Alpha mode. 0/3: not replace alpha. 1: replace alpha with PPA_SR_FIX_ALPHA. 2:
|
||||
* Original alpha multiply with PPA_SR_FIX_ALPHA/256.
|
||||
*/
|
||||
uint32_t blend0_rx_alpha_mod:2;
|
||||
/** blend1_rx_alpha_mod : R/W; bitpos: [19:18]; default: 0;
|
||||
* Alpha mode. 0/3: not replace alpha. 1: replace alpha with PPA_SR_FIX_ALPHA. 2:
|
||||
* Original alpha multiply with PPA_SR_FIX_ALPHA/256.
|
||||
*/
|
||||
uint32_t blend1_rx_alpha_mod:2;
|
||||
/** blend0_rx_alpha_inv : R/W; bitpos: [20]; default: 0;
|
||||
* Set this bit to invert the original alpha value. When RX color mode is
|
||||
* RGB565/RGB88. The original alpha value is 255.
|
||||
*/
|
||||
uint32_t blend0_rx_alpha_inv:1;
|
||||
/** blend1_rx_alpha_inv : R/W; bitpos: [21]; default: 0;
|
||||
* Set this bit to invert the original alpha value. When RX color mode is
|
||||
* RGB565/RGB88. The original alpha value is 255.
|
||||
*/
|
||||
uint32_t blend1_rx_alpha_inv:1;
|
||||
uint32_t reserved_22:10;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_blend_fix_alpha_reg_t;
|
||||
|
||||
/** Type of blend_rgb register
|
||||
* RGB color register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** blend1_rx_b : R/W; bitpos: [7:0]; default: 128;
|
||||
* blue color for A4/A8 mode.
|
||||
*/
|
||||
uint32_t blend1_rx_b:8;
|
||||
/** blend1_rx_g : R/W; bitpos: [15:8]; default: 128;
|
||||
* green color for A4/A8 mode.
|
||||
*/
|
||||
uint32_t blend1_rx_g:8;
|
||||
/** blend1_rx_r : R/W; bitpos: [23:16]; default: 128;
|
||||
* red color for A4/A8 mode.
|
||||
*/
|
||||
uint32_t blend1_rx_r:8;
|
||||
uint32_t reserved_24:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_blend_rgb_reg_t;
|
||||
|
||||
/** Type of blend_fix_pixel register
|
||||
* Blending engine fix pixel register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** blend_tx_fix_pixel : R/W; bitpos: [31:0]; default: 0;
|
||||
* The configure fix pixel in fix pixel filling mode for blender engine.
|
||||
*/
|
||||
uint32_t blend_tx_fix_pixel:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_blend_fix_pixel_reg_t;
|
||||
|
||||
/** Type of ck_fg_low register
|
||||
* foreground color key lower threshold
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** colorkey_fg_b_low : R/W; bitpos: [7:0]; default: 255;
|
||||
* color key lower threshold of foreground b channel
|
||||
*/
|
||||
uint32_t colorkey_fg_b_low:8;
|
||||
/** colorkey_fg_g_low : R/W; bitpos: [15:8]; default: 255;
|
||||
* color key lower threshold of foreground g channel
|
||||
*/
|
||||
uint32_t colorkey_fg_g_low:8;
|
||||
/** colorkey_fg_r_low : R/W; bitpos: [23:16]; default: 255;
|
||||
* color key lower threshold of foreground r channel
|
||||
*/
|
||||
uint32_t colorkey_fg_r_low:8;
|
||||
uint32_t reserved_24:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_ck_fg_low_reg_t;
|
||||
|
||||
/** Type of ck_fg_high register
|
||||
* foreground color key higher threshold
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** colorkey_fg_b_high : R/W; bitpos: [7:0]; default: 0;
|
||||
* color key higher threshold of foreground b channel
|
||||
*/
|
||||
uint32_t colorkey_fg_b_high:8;
|
||||
/** colorkey_fg_g_high : R/W; bitpos: [15:8]; default: 0;
|
||||
* color key higher threshold of foreground g channel
|
||||
*/
|
||||
uint32_t colorkey_fg_g_high:8;
|
||||
/** colorkey_fg_r_high : R/W; bitpos: [23:16]; default: 0;
|
||||
* color key higher threshold of foreground r channel
|
||||
*/
|
||||
uint32_t colorkey_fg_r_high:8;
|
||||
uint32_t reserved_24:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_ck_fg_high_reg_t;
|
||||
|
||||
/** Type of ck_bg_low register
|
||||
* background color key lower threshold
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** colorkey_bg_b_low : R/W; bitpos: [7:0]; default: 255;
|
||||
* color key lower threshold of background b channel
|
||||
*/
|
||||
uint32_t colorkey_bg_b_low:8;
|
||||
/** colorkey_bg_g_low : R/W; bitpos: [15:8]; default: 255;
|
||||
* color key lower threshold of background g channel
|
||||
*/
|
||||
uint32_t colorkey_bg_g_low:8;
|
||||
/** colorkey_bg_r_low : R/W; bitpos: [23:16]; default: 255;
|
||||
* color key lower threshold of background r channel
|
||||
*/
|
||||
uint32_t colorkey_bg_r_low:8;
|
||||
uint32_t reserved_24:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_ck_bg_low_reg_t;
|
||||
|
||||
/** Type of ck_bg_high register
|
||||
* background color key higher threshold
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** colorkey_bg_b_high : R/W; bitpos: [7:0]; default: 0;
|
||||
* color key higher threshold of background b channel
|
||||
*/
|
||||
uint32_t colorkey_bg_b_high:8;
|
||||
/** colorkey_bg_g_high : R/W; bitpos: [15:8]; default: 0;
|
||||
* color key higher threshold of background g channel
|
||||
*/
|
||||
uint32_t colorkey_bg_g_high:8;
|
||||
/** colorkey_bg_r_high : R/W; bitpos: [23:16]; default: 0;
|
||||
* color key higher threshold of background r channel
|
||||
*/
|
||||
uint32_t colorkey_bg_r_high:8;
|
||||
uint32_t reserved_24:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_ck_bg_high_reg_t;
|
||||
|
||||
/** Type of ck_default register
|
||||
* default value when foreground and background both in color key range
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** colorkey_default_b : R/W; bitpos: [7:0]; default: 0;
|
||||
* default B channle value of color key
|
||||
*/
|
||||
uint32_t colorkey_default_b:8;
|
||||
/** colorkey_default_g : R/W; bitpos: [15:8]; default: 0;
|
||||
* default G channle value of color key
|
||||
*/
|
||||
uint32_t colorkey_default_g:8;
|
||||
/** colorkey_default_r : R/W; bitpos: [23:16]; default: 0;
|
||||
* default R channle value of color key
|
||||
*/
|
||||
uint32_t colorkey_default_r:8;
|
||||
/** colorkey_fg_bg_reverse : R/W; bitpos: [24]; default: 0;
|
||||
* when pixel in bg ck range but not in fg ck range, 0: the result is bg, 1: the
|
||||
* result is fg
|
||||
*/
|
||||
uint32_t colorkey_fg_bg_reverse:1;
|
||||
uint32_t reserved_25:7;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_ck_default_reg_t;
|
||||
|
||||
/** Type of sr_scal_rotate register
|
||||
* Scaling and rotating coefficient register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sr_scal_x_int : R/W; bitpos: [7:0]; default: 1;
|
||||
* The integrated part of scaling coefficient in X direction.
|
||||
*/
|
||||
uint32_t sr_scal_x_int:8;
|
||||
/** sr_scal_x_frag : R/W; bitpos: [11:8]; default: 0;
|
||||
* The fragment part of scaling coefficient in X direction.
|
||||
*/
|
||||
uint32_t sr_scal_x_frag:4;
|
||||
/** sr_scal_y_int : R/W; bitpos: [19:12]; default: 1;
|
||||
* The integrated part of scaling coefficient in Y direction.
|
||||
*/
|
||||
uint32_t sr_scal_y_int:8;
|
||||
/** sr_scal_y_frag : R/W; bitpos: [23:20]; default: 0;
|
||||
* The fragment part of scaling coefficient in Y direction.
|
||||
*/
|
||||
uint32_t sr_scal_y_frag:4;
|
||||
/** sr_rotate_angle : R/W; bitpos: [25:24]; default: 0;
|
||||
* The rotate angle. 0: 0 degree. 1: 90 degree. 2: 180 degree. 3: 270 degree.
|
||||
*/
|
||||
uint32_t sr_rotate_angle:2;
|
||||
/** scal_rotate_rst : R/W; bitpos: [26]; default: 0;
|
||||
* Write 1 then write 0 to this bit to reset scaling and rotating engine.
|
||||
*/
|
||||
uint32_t scal_rotate_rst:1;
|
||||
/** scal_rotate_start : WT; bitpos: [27]; default: 0;
|
||||
* Write 1 to enable scaling and rotating engine after parameter is configured.
|
||||
*/
|
||||
uint32_t scal_rotate_start:1;
|
||||
/** sr_mirror_x : R/W; bitpos: [28]; default: 0;
|
||||
* Image mirror in X direction. 0: disable, 1: enable
|
||||
*/
|
||||
uint32_t sr_mirror_x:1;
|
||||
/** sr_mirror_y : R/W; bitpos: [29]; default: 0;
|
||||
* Image mirror in Y direction. 0: disable, 1: enable
|
||||
*/
|
||||
uint32_t sr_mirror_y:1;
|
||||
uint32_t reserved_30:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_sr_scal_rotate_reg_t;
|
||||
|
||||
/** Type of sr_mem_pd register
|
||||
* SR memory power done register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sr_mem_clk_ena : R/W; bitpos: [0]; default: 0;
|
||||
* Set this bit to force clock enable of scaling and rotating engine's data memory.
|
||||
*/
|
||||
uint32_t sr_mem_clk_ena:1;
|
||||
/** sr_mem_force_pd : R/W; bitpos: [1]; default: 0;
|
||||
* Set this bit to force power down scaling and rotating engine's data memory.
|
||||
*/
|
||||
uint32_t sr_mem_force_pd:1;
|
||||
/** sr_mem_force_pu : R/W; bitpos: [2]; default: 0;
|
||||
* Set this bit to force power up scaling and rotating engine's data memory.
|
||||
*/
|
||||
uint32_t sr_mem_force_pu:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_sr_mem_pd_reg_t;
|
||||
|
||||
/** Type of reg_conf register
|
||||
* Register clock enable register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clk_en : R/W; bitpos: [0]; default: 0;
|
||||
* PPA register clock gate enable signal.
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_reg_conf_reg_t;
|
||||
|
||||
/** Type of eco_low register
|
||||
* Reserved.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rnd_eco_low : R/W; bitpos: [31:0]; default: 0;
|
||||
* Reserved.
|
||||
*/
|
||||
uint32_t rnd_eco_low:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_eco_low_reg_t;
|
||||
|
||||
/** Type of eco_high register
|
||||
* Reserved.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rnd_eco_high : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* Reserved.
|
||||
*/
|
||||
uint32_t rnd_eco_high:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_eco_high_reg_t;
|
||||
|
||||
/** Type of sram_ctrl register
|
||||
* PPA SRAM Control Register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** mem_aux_ctrl : R/W; bitpos: [13:0]; default: 4896;
|
||||
* Control signals
|
||||
*/
|
||||
uint32_t mem_aux_ctrl:14;
|
||||
uint32_t reserved_14:18;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_sram_ctrl_reg_t;
|
||||
|
||||
|
||||
/** Group: Interrupt Registers */
|
||||
/** Type of int_raw register
|
||||
* Raw status interrupt
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sr_eof_int_raw : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* The raw interrupt bit turns to high level when scaling and rotating engine
|
||||
* calculate one frame image.
|
||||
*/
|
||||
uint32_t sr_eof_int_raw:1;
|
||||
/** blend_eof_int_raw : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* The raw interrupt bit turns to high level when blending engine calculate one frame
|
||||
* image.
|
||||
*/
|
||||
uint32_t blend_eof_int_raw:1;
|
||||
/** sr_param_cfg_err_int_raw : R/WTC/SS; bitpos: [2]; default: 0;
|
||||
* The raw interrupt bit turns to high level when the configured scaling and rotating
|
||||
* coefficient is wrong. User can check the reasons through register
|
||||
* PPA_SR_PARAM_ERR_ST_REG.
|
||||
*/
|
||||
uint32_t sr_param_cfg_err_int_raw:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_int_raw_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* Masked interrupt
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sr_eof_int_st : RO; bitpos: [0]; default: 0;
|
||||
* The raw interrupt status bit for the PPA_SR_EOF_INT interrupt.
|
||||
*/
|
||||
uint32_t sr_eof_int_st:1;
|
||||
/** blend_eof_int_st : RO; bitpos: [1]; default: 0;
|
||||
* The raw interrupt status bit for the PPA_BLEND_EOF_INT interrupt.
|
||||
*/
|
||||
uint32_t blend_eof_int_st:1;
|
||||
/** sr_param_cfg_err_int_st : RO; bitpos: [2]; default: 0;
|
||||
* The raw interrupt status bit for the PPA_SR_RX_YSCAL_ERR_INT interrupt.
|
||||
*/
|
||||
uint32_t sr_param_cfg_err_int_st:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_int_st_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* Interrupt enable bits
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sr_eof_int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* The interrupt enable bit for the PPA_SR_EOF_INT interrupt.
|
||||
*/
|
||||
uint32_t sr_eof_int_ena:1;
|
||||
/** blend_eof_int_ena : R/W; bitpos: [1]; default: 0;
|
||||
* The interrupt enable bit for the PPA_BLEND_EOF_INT interrupt.
|
||||
*/
|
||||
uint32_t blend_eof_int_ena:1;
|
||||
/** sr_param_cfg_err_int_ena : R/W; bitpos: [2]; default: 0;
|
||||
* The interrupt enable bit for the PPA_SR_RX_YSCAL_ERR_INT interrupt.
|
||||
*/
|
||||
uint32_t sr_param_cfg_err_int_ena:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_int_ena_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* Interrupt clear bits
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sr_eof_int_clr : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear the PPA_SR_EOF_INT interrupt.
|
||||
*/
|
||||
uint32_t sr_eof_int_clr:1;
|
||||
/** blend_eof_int_clr : WT; bitpos: [1]; default: 0;
|
||||
* Set this bit to clear the PPA_BLEND_EOF_INT interrupt.
|
||||
*/
|
||||
uint32_t blend_eof_int_clr:1;
|
||||
/** sr_param_cfg_err_int_clr : WT; bitpos: [2]; default: 0;
|
||||
* Set this bit to clear the PPA_SR_RX_YSCAL_ERR_INT interrupt.
|
||||
*/
|
||||
uint32_t sr_param_cfg_err_int_clr:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_int_clr_reg_t;
|
||||
|
||||
|
||||
/** Group: Status Registers */
|
||||
/** Type of clut_cnt register
|
||||
* BLEND CLUT write counter register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** blend0_clut_cnt : RO; bitpos: [8:0]; default: 0;
|
||||
* The write data counter of BLEND0 CLUT in fifo mode.
|
||||
*/
|
||||
uint32_t blend0_clut_cnt:9;
|
||||
/** blend1_clut_cnt : RO; bitpos: [17:9]; default: 0;
|
||||
* The write data counter of BLEND1 CLUT in fifo mode.
|
||||
*/
|
||||
uint32_t blend1_clut_cnt:9;
|
||||
uint32_t reserved_18:14;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_clut_cnt_reg_t;
|
||||
|
||||
/** Type of blend_st register
|
||||
* Blending engine status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** blend_size_diff_st : RO; bitpos: [0]; default: 0;
|
||||
* 1: indicate the size of two image is different.
|
||||
*/
|
||||
uint32_t blend_size_diff_st:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_blend_st_reg_t;
|
||||
|
||||
/** Type of sr_param_err_st register
|
||||
* Scaling and rotating coefficient error register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tx_dscr_vb_err_st : RO; bitpos: [0]; default: 0;
|
||||
* The error is that the scaled VB plus the offset of Y coordinate in 2DDMA receive
|
||||
* descriptor is larger than VA in 2DDMA receive descriptor.
|
||||
*/
|
||||
uint32_t tx_dscr_vb_err_st:1;
|
||||
/** tx_dscr_hb_err_st : RO; bitpos: [1]; default: 0;
|
||||
* The error is that the scaled HB plus the offset of X coordinate in 2DDMA receive
|
||||
* descriptor is larger than HA in 2DDMA receive descriptor.
|
||||
*/
|
||||
uint32_t tx_dscr_hb_err_st:1;
|
||||
/** y_rx_scal_equal_0_err_st : RO; bitpos: [2]; default: 0;
|
||||
* The error is that the PPA_SR_SCAL_Y_INT and PPA_SR_CAL_Y_FRAG both are 0.
|
||||
*/
|
||||
uint32_t y_rx_scal_equal_0_err_st:1;
|
||||
/** rx_dscr_vb_err_st : RO; bitpos: [3]; default: 0;
|
||||
* The error is that VB in 2DDMA receive descriptor plus the offset of Y coordinate in
|
||||
* 2DDMA transmit descriptor is larger than VA in 2DDMA transmit descriptor
|
||||
*/
|
||||
uint32_t rx_dscr_vb_err_st:1;
|
||||
/** ydst_len_too_samll_err_st : RO; bitpos: [4]; default: 0;
|
||||
* The error is that the scaled image width is 0. For example. when source width is
|
||||
* 14. scaled value is 1/16. and no rotate operation. then scaled width would be 0 as
|
||||
* the result would be floored.
|
||||
*/
|
||||
uint32_t ydst_len_too_samll_err_st:1;
|
||||
/** ydst_len_too_large_err_st : RO; bitpos: [5]; default: 0;
|
||||
* The error is that the scaled width is larger than (2^13 - 1).
|
||||
*/
|
||||
uint32_t ydst_len_too_large_err_st:1;
|
||||
/** x_rx_scal_equal_0_err_st : RO; bitpos: [6]; default: 0;
|
||||
* The error is that the scaled image height is 0.
|
||||
*/
|
||||
uint32_t x_rx_scal_equal_0_err_st:1;
|
||||
/** rx_dscr_hb_err_st : RO; bitpos: [7]; default: 0;
|
||||
* The error is that the HB in 2DDMA transmit descriptor plus the offset of X
|
||||
* coordinate in 2DDMA transmit descriptor is larger than HA in 2DDMA transmit
|
||||
* descriptor.
|
||||
*/
|
||||
uint32_t rx_dscr_hb_err_st:1;
|
||||
/** xdst_len_too_samll_err_st : RO; bitpos: [8]; default: 0;
|
||||
* The error is that the scaled image height is 0. For example. when source height is
|
||||
* 14. scaled value is 1/16. and no rotate operation. then scaled height would be 0 as
|
||||
* the result would be floored.
|
||||
*/
|
||||
uint32_t xdst_len_too_samll_err_st:1;
|
||||
/** xdst_len_too_large_err_st : RO; bitpos: [9]; default: 0;
|
||||
* The error is that the scaled image height is larger than (2^13 - 1).
|
||||
*/
|
||||
uint32_t xdst_len_too_large_err_st:1;
|
||||
/** x_yuv420_rx_scale_err_st : RO; bitpos: [10]; default: 0;
|
||||
* The error is that the ha/hb/x param in dma2d descriptor is an odd num when enable
|
||||
* yuv420 rx
|
||||
*/
|
||||
uint32_t x_yuv420_rx_scale_err_st:1;
|
||||
/** y_yuv420_rx_scale_err_st : RO; bitpos: [11]; default: 0;
|
||||
* The error is that the va/vb/y param in dma2d descriptor is an odd num when enable
|
||||
* yuv420 rx
|
||||
*/
|
||||
uint32_t y_yuv420_rx_scale_err_st:1;
|
||||
/** x_yuv420_tx_scale_err_st : RO; bitpos: [12]; default: 0;
|
||||
* The error is that the ha/hb/x param in dma2d descriptor is an odd num when enable
|
||||
* yuv420 tx
|
||||
*/
|
||||
uint32_t x_yuv420_tx_scale_err_st:1;
|
||||
/** y_yuv420_tx_scale_err_st : RO; bitpos: [13]; default: 0;
|
||||
* The error is that the va/vb/y param in dma2d descriptor is an odd num when enable
|
||||
* yuv420 tx
|
||||
*/
|
||||
uint32_t y_yuv420_tx_scale_err_st:1;
|
||||
uint32_t reserved_14:18;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_sr_param_err_st_reg_t;
|
||||
|
||||
/** Type of sr_status register
|
||||
* SR FSM register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sr_rx_dscr_sample_state : RO; bitpos: [1:0]; default: 0;
|
||||
* Reserved.
|
||||
*/
|
||||
uint32_t sr_rx_dscr_sample_state:2;
|
||||
/** sr_rx_scan_state : RO; bitpos: [3:2]; default: 0;
|
||||
* Reserved.
|
||||
*/
|
||||
uint32_t sr_rx_scan_state:2;
|
||||
/** sr_tx_dscr_sample_state : RO; bitpos: [5:4]; default: 0;
|
||||
* Reserved.
|
||||
*/
|
||||
uint32_t sr_tx_dscr_sample_state:2;
|
||||
/** sr_tx_scan_state : RO; bitpos: [8:6]; default: 0;
|
||||
* Reserved.
|
||||
*/
|
||||
uint32_t sr_tx_scan_state:3;
|
||||
uint32_t reserved_9:23;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_sr_status_reg_t;
|
||||
|
||||
/** Type of eco_cell_ctrl register
|
||||
* Reserved.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rdn_result : RO; bitpos: [0]; default: 0;
|
||||
* Reserved.
|
||||
*/
|
||||
uint32_t rdn_result:1;
|
||||
/** rdn_ena : R/W; bitpos: [1]; default: 0;
|
||||
* Reserved.
|
||||
*/
|
||||
uint32_t rdn_ena:1;
|
||||
uint32_t reserved_2:30;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_eco_cell_ctrl_reg_t;
|
||||
|
||||
|
||||
/** Group: Version Register */
|
||||
/** Type of date register
|
||||
* PPA Version register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [31:0]; default: 36716609;
|
||||
* register version.
|
||||
*/
|
||||
uint32_t date:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} ppa_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile ppa_blend0_clut_data_reg_t blend0_clut_data;
|
||||
volatile ppa_blend1_clut_data_reg_t blend1_clut_data;
|
||||
uint32_t reserved_008;
|
||||
volatile ppa_clut_conf_reg_t clut_conf;
|
||||
volatile ppa_int_raw_reg_t int_raw;
|
||||
volatile ppa_int_st_reg_t int_st;
|
||||
volatile ppa_int_ena_reg_t int_ena;
|
||||
volatile ppa_int_clr_reg_t int_clr;
|
||||
volatile ppa_sr_color_mode_reg_t sr_color_mode;
|
||||
volatile ppa_blend_color_mode_reg_t blend_color_mode;
|
||||
volatile ppa_sr_byte_order_reg_t sr_byte_order;
|
||||
volatile ppa_blend_byte_order_reg_t blend_byte_order;
|
||||
uint32_t reserved_030;
|
||||
volatile ppa_blend_trans_mode_reg_t blend_trans_mode;
|
||||
volatile ppa_sr_fix_alpha_reg_t sr_fix_alpha;
|
||||
volatile ppa_blend_tx_size_reg_t blend_tx_size;
|
||||
volatile ppa_blend_fix_alpha_reg_t blend_fix_alpha;
|
||||
uint32_t reserved_044;
|
||||
volatile ppa_blend_rgb_reg_t blend_rgb;
|
||||
volatile ppa_blend_fix_pixel_reg_t blend_fix_pixel;
|
||||
volatile ppa_ck_fg_low_reg_t ck_fg_low;
|
||||
volatile ppa_ck_fg_high_reg_t ck_fg_high;
|
||||
volatile ppa_ck_bg_low_reg_t ck_bg_low;
|
||||
volatile ppa_ck_bg_high_reg_t ck_bg_high;
|
||||
volatile ppa_ck_default_reg_t ck_default;
|
||||
volatile ppa_sr_scal_rotate_reg_t sr_scal_rotate;
|
||||
volatile ppa_sr_mem_pd_reg_t sr_mem_pd;
|
||||
volatile ppa_reg_conf_reg_t reg_conf;
|
||||
volatile ppa_clut_cnt_reg_t clut_cnt;
|
||||
volatile ppa_blend_st_reg_t blend_st;
|
||||
volatile ppa_sr_param_err_st_reg_t sr_param_err_st;
|
||||
volatile ppa_sr_status_reg_t sr_status;
|
||||
volatile ppa_eco_low_reg_t eco_low;
|
||||
volatile ppa_eco_high_reg_t eco_high;
|
||||
volatile ppa_eco_cell_ctrl_reg_t eco_cell_ctrl;
|
||||
volatile ppa_sram_ctrl_reg_t sram_ctrl;
|
||||
uint32_t reserved_090[28];
|
||||
volatile ppa_date_reg_t date;
|
||||
} ppa_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(ppa_dev_t) == 0x104, "Invalid size of ppa_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
3639
components/soc/esp32p4/include/soc/pvt_reg.h
Normal file
3639
components/soc/esp32p4/include/soc/pvt_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
3098
components/soc/esp32p4/include/soc/pvt_struct.h
Normal file
3098
components/soc/esp32p4/include/soc/pvt_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
4514
components/soc/esp32p4/include/soc/pwm_reg.h
Normal file
4514
components/soc/esp32p4/include/soc/pwm_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
2166
components/soc/esp32p4/include/soc/pwm_struct.h
Normal file
2166
components/soc/esp32p4/include/soc/pwm_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
2799
components/soc/esp32p4/include/soc/rmt_reg.h
Normal file
2799
components/soc/esp32p4/include/soc/rmt_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1076
components/soc/esp32p4/include/soc/rmt_struct.h
Normal file
1076
components/soc/esp32p4/include/soc/rmt_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
233
components/soc/esp32p4/include/soc/rsa_reg.h
Normal file
233
components/soc/esp32p4/include/soc/rsa_reg.h
Normal file
@ -0,0 +1,233 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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
|
||||
|
||||
/** RSA_M_MEM register
|
||||
* Represents M
|
||||
*/
|
||||
#define RSA_M_MEM (DR_REG_RSA_BASE + 0x0)
|
||||
#define RSA_M_MEM_SIZE_BYTES 16
|
||||
|
||||
/** RSA_Z_MEM register
|
||||
* Represents Z
|
||||
*/
|
||||
#define RSA_Z_MEM (DR_REG_RSA_BASE + 0x200)
|
||||
#define RSA_Z_MEM_SIZE_BYTES 16
|
||||
|
||||
/** RSA_Y_MEM register
|
||||
* Represents Y
|
||||
*/
|
||||
#define RSA_Y_MEM (DR_REG_RSA_BASE + 0x400)
|
||||
#define RSA_Y_MEM_SIZE_BYTES 16
|
||||
|
||||
/** RSA_X_MEM register
|
||||
* Represents X
|
||||
*/
|
||||
#define RSA_X_MEM (DR_REG_RSA_BASE + 0x600)
|
||||
#define RSA_X_MEM_SIZE_BYTES 16
|
||||
|
||||
/** RSA_M_PRIME_REG register
|
||||
* Represents M’
|
||||
*/
|
||||
#define RSA_M_PRIME_REG (DR_REG_RSA_BASE + 0x800)
|
||||
/** RSA_M_PRIME : R/W; bitpos: [31:0]; default: 0;
|
||||
* Represents M’
|
||||
*/
|
||||
#define RSA_M_PRIME 0xFFFFFFFFU
|
||||
#define RSA_M_PRIME_M (RSA_M_PRIME_V << RSA_M_PRIME_S)
|
||||
#define RSA_M_PRIME_V 0xFFFFFFFFU
|
||||
#define RSA_M_PRIME_S 0
|
||||
|
||||
/** RSA_MODE_REG register
|
||||
* Configures RSA length
|
||||
*/
|
||||
#define RSA_MODE_REG (DR_REG_RSA_BASE + 0x804)
|
||||
/** RSA_MODE : R/W; bitpos: [6:0]; default: 0;
|
||||
* Configures the RSA length.
|
||||
*/
|
||||
#define RSA_MODE 0x0000007FU
|
||||
#define RSA_MODE_M (RSA_MODE_V << RSA_MODE_S)
|
||||
#define RSA_MODE_V 0x0000007FU
|
||||
#define RSA_MODE_S 0
|
||||
|
||||
/** RSA_QUERY_CLEAN_REG register
|
||||
* RSA clean register
|
||||
*/
|
||||
#define RSA_QUERY_CLEAN_REG (DR_REG_RSA_BASE + 0x808)
|
||||
/** RSA_QUERY_CLEAN : RO; bitpos: [0]; default: 0;
|
||||
* Represents whether or not the RSA memory completes initialization.
|
||||
*
|
||||
* 0: Not complete
|
||||
*
|
||||
* 1: Completed
|
||||
*
|
||||
*/
|
||||
#define RSA_QUERY_CLEAN (BIT(0))
|
||||
#define RSA_QUERY_CLEAN_M (RSA_QUERY_CLEAN_V << RSA_QUERY_CLEAN_S)
|
||||
#define RSA_QUERY_CLEAN_V 0x00000001U
|
||||
#define RSA_QUERY_CLEAN_S 0
|
||||
|
||||
/** RSA_SET_START_MODEXP_REG register
|
||||
* Starts modular exponentiation
|
||||
*/
|
||||
#define RSA_SET_START_MODEXP_REG (DR_REG_RSA_BASE + 0x80c)
|
||||
/** RSA_SET_START_MODEXP : WT; bitpos: [0]; default: 0;
|
||||
* Configure whether or not to start the modular exponentiation.
|
||||
*
|
||||
* 0: No effect
|
||||
*
|
||||
* 1: Start
|
||||
*
|
||||
*/
|
||||
#define RSA_SET_START_MODEXP (BIT(0))
|
||||
#define RSA_SET_START_MODEXP_M (RSA_SET_START_MODEXP_V << RSA_SET_START_MODEXP_S)
|
||||
#define RSA_SET_START_MODEXP_V 0x00000001U
|
||||
#define RSA_SET_START_MODEXP_S 0
|
||||
|
||||
/** RSA_SET_START_MODMULT_REG register
|
||||
* Starts modular multiplication
|
||||
*/
|
||||
#define RSA_SET_START_MODMULT_REG (DR_REG_RSA_BASE + 0x810)
|
||||
/** RSA_SET_START_MODMULT : WT; bitpos: [0]; default: 0;
|
||||
* Configure whether or not to start the modular multiplication.
|
||||
*
|
||||
* 0: No effect
|
||||
*
|
||||
* 1: Start
|
||||
*
|
||||
*/
|
||||
#define RSA_SET_START_MODMULT (BIT(0))
|
||||
#define RSA_SET_START_MODMULT_M (RSA_SET_START_MODMULT_V << RSA_SET_START_MODMULT_S)
|
||||
#define RSA_SET_START_MODMULT_V 0x00000001U
|
||||
#define RSA_SET_START_MODMULT_S 0
|
||||
|
||||
/** RSA_SET_START_MULT_REG register
|
||||
* Starts multiplication
|
||||
*/
|
||||
#define RSA_SET_START_MULT_REG (DR_REG_RSA_BASE + 0x814)
|
||||
/** RSA_SET_START_MULT : WT; bitpos: [0]; default: 0;
|
||||
* Configure whether or not to start the multiplication.
|
||||
*
|
||||
* 0: No effect
|
||||
*
|
||||
* 1: Start
|
||||
*
|
||||
*/
|
||||
#define RSA_SET_START_MULT (BIT(0))
|
||||
#define RSA_SET_START_MULT_M (RSA_SET_START_MULT_V << RSA_SET_START_MULT_S)
|
||||
#define RSA_SET_START_MULT_V 0x00000001U
|
||||
#define RSA_SET_START_MULT_S 0
|
||||
|
||||
/** RSA_QUERY_IDLE_REG register
|
||||
* Represents the RSA status
|
||||
*/
|
||||
#define RSA_QUERY_IDLE_REG (DR_REG_RSA_BASE + 0x818)
|
||||
/** RSA_QUERY_IDLE : RO; bitpos: [0]; default: 0;
|
||||
* Represents the RSA status.
|
||||
*
|
||||
* 0: Busy
|
||||
*
|
||||
* 1: Idle
|
||||
*
|
||||
*/
|
||||
#define RSA_QUERY_IDLE (BIT(0))
|
||||
#define RSA_QUERY_IDLE_M (RSA_QUERY_IDLE_V << RSA_QUERY_IDLE_S)
|
||||
#define RSA_QUERY_IDLE_V 0x00000001U
|
||||
#define RSA_QUERY_IDLE_S 0
|
||||
|
||||
/** RSA_INT_CLR_REG register
|
||||
* Clears RSA interrupt
|
||||
*/
|
||||
#define RSA_INT_CLR_REG (DR_REG_RSA_BASE + 0x81c)
|
||||
/** RSA_CLEAR_INTERRUPT : WT; bitpos: [0]; default: 0;
|
||||
* Write 1 to clear the RSA interrupt.
|
||||
*/
|
||||
#define RSA_CLEAR_INTERRUPT (BIT(0))
|
||||
#define RSA_CLEAR_INTERRUPT_M (RSA_CLEAR_INTERRUPT_V << RSA_CLEAR_INTERRUPT_S)
|
||||
#define RSA_CLEAR_INTERRUPT_V 0x00000001U
|
||||
#define RSA_CLEAR_INTERRUPT_S 0
|
||||
|
||||
/** RSA_CONSTANT_TIME_REG register
|
||||
* Configures the constant_time option
|
||||
*/
|
||||
#define RSA_CONSTANT_TIME_REG (DR_REG_RSA_BASE + 0x820)
|
||||
/** RSA_CONSTANT_TIME : R/W; bitpos: [0]; default: 1;
|
||||
* Configures the constant_time option.
|
||||
*
|
||||
* 0: Acceleration
|
||||
*
|
||||
* 1: No acceleration (default)
|
||||
*
|
||||
*/
|
||||
#define RSA_CONSTANT_TIME (BIT(0))
|
||||
#define RSA_CONSTANT_TIME_M (RSA_CONSTANT_TIME_V << RSA_CONSTANT_TIME_S)
|
||||
#define RSA_CONSTANT_TIME_V 0x00000001U
|
||||
#define RSA_CONSTANT_TIME_S 0
|
||||
|
||||
/** RSA_SEARCH_ENABLE_REG register
|
||||
* Configures the search option
|
||||
*/
|
||||
#define RSA_SEARCH_ENABLE_REG (DR_REG_RSA_BASE + 0x824)
|
||||
/** RSA_SEARCH_ENABLE : R/W; bitpos: [0]; default: 0;
|
||||
* Configure the search option.
|
||||
*
|
||||
* 0: No acceleration (default)
|
||||
*
|
||||
* 1: Acceleration
|
||||
*
|
||||
* This option should be used together with RSA_SEARCH_POS.
|
||||
*/
|
||||
#define RSA_SEARCH_ENABLE (BIT(0))
|
||||
#define RSA_SEARCH_ENABLE_M (RSA_SEARCH_ENABLE_V << RSA_SEARCH_ENABLE_S)
|
||||
#define RSA_SEARCH_ENABLE_V 0x00000001U
|
||||
#define RSA_SEARCH_ENABLE_S 0
|
||||
|
||||
/** RSA_SEARCH_POS_REG register
|
||||
* Configures the search position
|
||||
*/
|
||||
#define RSA_SEARCH_POS_REG (DR_REG_RSA_BASE + 0x828)
|
||||
/** RSA_SEARCH_POS : R/W; bitpos: [11:0]; default: 0;
|
||||
* Configures the starting address to start search. This field should be used together
|
||||
* with RSA_SEARCH_ENABLE. The field is only valid when RSA_SEARCH_ENABLE is high.
|
||||
*/
|
||||
#define RSA_SEARCH_POS 0x00000FFFU
|
||||
#define RSA_SEARCH_POS_M (RSA_SEARCH_POS_V << RSA_SEARCH_POS_S)
|
||||
#define RSA_SEARCH_POS_V 0x00000FFFU
|
||||
#define RSA_SEARCH_POS_S 0
|
||||
|
||||
/** RSA_INT_ENA_REG register
|
||||
* Enables the RSA interrupt
|
||||
*/
|
||||
#define RSA_INT_ENA_REG (DR_REG_RSA_BASE + 0x82c)
|
||||
/** RSA_INT_ENA : R/W; bitpos: [0]; default: 0;
|
||||
* Write 1 to enable the RSA interrupt.
|
||||
*/
|
||||
#define RSA_INT_ENA (BIT(0))
|
||||
#define RSA_INT_ENA_M (RSA_INT_ENA_V << RSA_INT_ENA_S)
|
||||
#define RSA_INT_ENA_V 0x00000001U
|
||||
#define RSA_INT_ENA_S 0
|
||||
|
||||
/** RSA_DATE_REG register
|
||||
* Version control register
|
||||
*/
|
||||
#define RSA_DATE_REG (DR_REG_RSA_BASE + 0x830)
|
||||
/** RSA_DATE : R/W; bitpos: [29:0]; default: 538969624;
|
||||
* Version control register.
|
||||
*/
|
||||
#define RSA_DATE 0x3FFFFFFFU
|
||||
#define RSA_DATE_M (RSA_DATE_V << RSA_DATE_S)
|
||||
#define RSA_DATE_V 0x3FFFFFFFU
|
||||
#define RSA_DATE_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
272
components/soc/esp32p4/include/soc/rsa_struct.h
Normal file
272
components/soc/esp32p4/include/soc/rsa_struct.h
Normal file
@ -0,0 +1,272 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: Memory */
|
||||
|
||||
/** Group: Control / Configuration Registers */
|
||||
/** Type of m_prime register
|
||||
* Represents M’
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** m_prime : R/W; bitpos: [31:0]; default: 0;
|
||||
* Represents M’
|
||||
*/
|
||||
uint32_t m_prime:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} rsa_m_prime_reg_t;
|
||||
|
||||
/** Type of mode register
|
||||
* Configures RSA length
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** mode : R/W; bitpos: [6:0]; default: 0;
|
||||
* Configures the RSA length.
|
||||
*/
|
||||
uint32_t mode:7;
|
||||
uint32_t reserved_7:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} rsa_mode_reg_t;
|
||||
|
||||
/** Type of set_start_modexp register
|
||||
* Starts modular exponentiation
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_start_modexp : WT; bitpos: [0]; default: 0;
|
||||
* Configure whether or not to start the modular exponentiation.
|
||||
*
|
||||
* 0: No effect
|
||||
*
|
||||
* 1: Start
|
||||
*
|
||||
*/
|
||||
uint32_t set_start_modexp:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} rsa_set_start_modexp_reg_t;
|
||||
|
||||
/** Type of set_start_modmult register
|
||||
* Starts modular multiplication
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_start_modmult : WT; bitpos: [0]; default: 0;
|
||||
* Configure whether or not to start the modular multiplication.
|
||||
*
|
||||
* 0: No effect
|
||||
*
|
||||
* 1: Start
|
||||
*
|
||||
*/
|
||||
uint32_t set_start_modmult:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} rsa_set_start_modmult_reg_t;
|
||||
|
||||
/** Type of set_start_mult register
|
||||
* Starts multiplication
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** set_start_mult : WT; bitpos: [0]; default: 0;
|
||||
* Configure whether or not to start the multiplication.
|
||||
*
|
||||
* 0: No effect
|
||||
*
|
||||
* 1: Start
|
||||
*
|
||||
*/
|
||||
uint32_t set_start_mult:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} rsa_set_start_mult_reg_t;
|
||||
|
||||
/** Type of query_idle register
|
||||
* Represents the RSA status
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** query_idle : RO; bitpos: [0]; default: 0;
|
||||
* Represents the RSA status.
|
||||
*
|
||||
* 0: Busy
|
||||
*
|
||||
* 1: Idle
|
||||
*
|
||||
*/
|
||||
uint32_t query_idle:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} rsa_query_idle_reg_t;
|
||||
|
||||
/** Type of constant_time register
|
||||
* Configures the constant_time option
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** constant_time : R/W; bitpos: [0]; default: 1;
|
||||
* Configures the constant_time option.
|
||||
*
|
||||
* 0: Acceleration
|
||||
*
|
||||
* 1: No acceleration (default)
|
||||
*
|
||||
*/
|
||||
uint32_t constant_time:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} rsa_constant_time_reg_t;
|
||||
|
||||
/** Type of search_enable register
|
||||
* Configures the search option
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** search_enable : R/W; bitpos: [0]; default: 0;
|
||||
* Configure the search option.
|
||||
*
|
||||
* 0: No acceleration (default)
|
||||
*
|
||||
* 1: Acceleration
|
||||
*
|
||||
* This option should be used together with RSA_SEARCH_POS.
|
||||
*/
|
||||
uint32_t search_enable:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} rsa_search_enable_reg_t;
|
||||
|
||||
/** Type of search_pos register
|
||||
* Configures the search position
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** search_pos : R/W; bitpos: [11:0]; default: 0;
|
||||
* Configures the starting address to start search. This field should be used together
|
||||
* with RSA_SEARCH_ENABLE. The field is only valid when RSA_SEARCH_ENABLE is high.
|
||||
*/
|
||||
uint32_t search_pos:12;
|
||||
uint32_t reserved_12:20;
|
||||
};
|
||||
uint32_t val;
|
||||
} rsa_search_pos_reg_t;
|
||||
|
||||
|
||||
/** Group: Status Register */
|
||||
/** Type of query_clean register
|
||||
* RSA clean register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** query_clean : RO; bitpos: [0]; default: 0;
|
||||
* Represents whether or not the RSA memory completes initialization.
|
||||
*
|
||||
* 0: Not complete
|
||||
*
|
||||
* 1: Completed
|
||||
*
|
||||
*/
|
||||
uint32_t query_clean:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} rsa_query_clean_reg_t;
|
||||
|
||||
|
||||
/** Group: Interrupt Registers */
|
||||
/** Type of int_clr register
|
||||
* Clears RSA interrupt
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clear_interrupt : WT; bitpos: [0]; default: 0;
|
||||
* Write 1 to clear the RSA interrupt.
|
||||
*/
|
||||
uint32_t clear_interrupt:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} rsa_int_clr_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* Enables the RSA interrupt
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* Write 1 to enable the RSA interrupt.
|
||||
*/
|
||||
uint32_t int_ena:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} rsa_int_ena_reg_t;
|
||||
|
||||
|
||||
/** Group: Version Control Register */
|
||||
/** Type of date register
|
||||
* Version control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [29:0]; default: 538969624;
|
||||
* Version control register.
|
||||
*/
|
||||
uint32_t date:30;
|
||||
uint32_t reserved_30:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} rsa_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile uint32_t m[4];
|
||||
uint32_t reserved_010[124];
|
||||
volatile uint32_t z[4];
|
||||
uint32_t reserved_210[124];
|
||||
volatile uint32_t y[4];
|
||||
uint32_t reserved_410[124];
|
||||
volatile uint32_t x[4];
|
||||
uint32_t reserved_610[124];
|
||||
volatile rsa_m_prime_reg_t m_prime;
|
||||
volatile rsa_mode_reg_t mode;
|
||||
volatile rsa_query_clean_reg_t query_clean;
|
||||
volatile rsa_set_start_modexp_reg_t set_start_modexp;
|
||||
volatile rsa_set_start_modmult_reg_t set_start_modmult;
|
||||
volatile rsa_set_start_mult_reg_t set_start_mult;
|
||||
volatile rsa_query_idle_reg_t query_idle;
|
||||
volatile rsa_int_clr_reg_t int_clr;
|
||||
volatile rsa_constant_time_reg_t constant_time;
|
||||
volatile rsa_search_enable_reg_t search_enable;
|
||||
volatile rsa_search_pos_reg_t search_pos;
|
||||
volatile rsa_int_ena_reg_t int_ena;
|
||||
volatile rsa_date_reg_t date;
|
||||
} rsa_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(rsa_dev_t) == 0x834, "Invalid size of rsa_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
342
components/soc/esp32p4/include/soc/rtc_timer_reg.h
Normal file
342
components/soc/esp32p4/include/soc/rtc_timer_reg.h
Normal file
@ -0,0 +1,342 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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
|
||||
|
||||
/** RTC_TIMER_TAR0_LOW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_TAR0_LOW_REG (DR_REG_RTC_TIMER_BASE + 0x0)
|
||||
/** RTC_TIMER_MAIN_TIMER_TAR_LOW0 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_LOW0 0xFFFFFFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_LOW0_M (RTC_TIMER_MAIN_TIMER_TAR_LOW0_V << RTC_TIMER_MAIN_TIMER_TAR_LOW0_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_LOW0_V 0xFFFFFFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_LOW0_S 0
|
||||
|
||||
/** RTC_TIMER_TAR0_HIGH_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_TAR0_HIGH_REG (DR_REG_RTC_TIMER_BASE + 0x4)
|
||||
/** RTC_TIMER_MAIN_TIMER_TAR_HIGH0 : R/W; bitpos: [15:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_HIGH0 0x0000FFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_HIGH0_M (RTC_TIMER_MAIN_TIMER_TAR_HIGH0_V << RTC_TIMER_MAIN_TIMER_TAR_HIGH0_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_HIGH0_V 0x0000FFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_HIGH0_S 0
|
||||
/** RTC_TIMER_MAIN_TIMER_TAR_EN0 : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_EN0 (BIT(31))
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_EN0_M (RTC_TIMER_MAIN_TIMER_TAR_EN0_V << RTC_TIMER_MAIN_TIMER_TAR_EN0_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_EN0_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_EN0_S 31
|
||||
|
||||
/** RTC_TIMER_TAR1_LOW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_TAR1_LOW_REG (DR_REG_RTC_TIMER_BASE + 0x8)
|
||||
/** RTC_TIMER_MAIN_TIMER_TAR_LOW1 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_LOW1 0xFFFFFFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_LOW1_M (RTC_TIMER_MAIN_TIMER_TAR_LOW1_V << RTC_TIMER_MAIN_TIMER_TAR_LOW1_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_LOW1_V 0xFFFFFFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_LOW1_S 0
|
||||
|
||||
/** RTC_TIMER_TAR1_HIGH_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_TAR1_HIGH_REG (DR_REG_RTC_TIMER_BASE + 0xc)
|
||||
/** RTC_TIMER_MAIN_TIMER_TAR_HIGH1 : R/W; bitpos: [15:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_HIGH1 0x0000FFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_HIGH1_M (RTC_TIMER_MAIN_TIMER_TAR_HIGH1_V << RTC_TIMER_MAIN_TIMER_TAR_HIGH1_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_HIGH1_V 0x0000FFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_HIGH1_S 0
|
||||
/** RTC_TIMER_MAIN_TIMER_TAR_EN1 : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_EN1 (BIT(31))
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_EN1_M (RTC_TIMER_MAIN_TIMER_TAR_EN1_V << RTC_TIMER_MAIN_TIMER_TAR_EN1_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_EN1_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_TAR_EN1_S 31
|
||||
|
||||
/** RTC_TIMER_UPDATE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_UPDATE_REG (DR_REG_RTC_TIMER_BASE + 0x10)
|
||||
/** RTC_TIMER_MAIN_TIMER_UPDATE : WT; bitpos: [28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_UPDATE (BIT(28))
|
||||
#define RTC_TIMER_MAIN_TIMER_UPDATE_M (RTC_TIMER_MAIN_TIMER_UPDATE_V << RTC_TIMER_MAIN_TIMER_UPDATE_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_UPDATE_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_UPDATE_S 28
|
||||
/** RTC_TIMER_MAIN_TIMER_XTAL_OFF : R/W; bitpos: [29]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_XTAL_OFF (BIT(29))
|
||||
#define RTC_TIMER_MAIN_TIMER_XTAL_OFF_M (RTC_TIMER_MAIN_TIMER_XTAL_OFF_V << RTC_TIMER_MAIN_TIMER_XTAL_OFF_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_XTAL_OFF_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_XTAL_OFF_S 29
|
||||
/** RTC_TIMER_MAIN_TIMER_SYS_STALL : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_SYS_STALL (BIT(30))
|
||||
#define RTC_TIMER_MAIN_TIMER_SYS_STALL_M (RTC_TIMER_MAIN_TIMER_SYS_STALL_V << RTC_TIMER_MAIN_TIMER_SYS_STALL_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_SYS_STALL_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_SYS_STALL_S 30
|
||||
/** RTC_TIMER_MAIN_TIMER_SYS_RST : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_SYS_RST (BIT(31))
|
||||
#define RTC_TIMER_MAIN_TIMER_SYS_RST_M (RTC_TIMER_MAIN_TIMER_SYS_RST_V << RTC_TIMER_MAIN_TIMER_SYS_RST_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_SYS_RST_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_SYS_RST_S 31
|
||||
|
||||
/** RTC_TIMER_MAIN_BUF0_LOW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_BUF0_LOW_REG (DR_REG_RTC_TIMER_BASE + 0x14)
|
||||
/** RTC_TIMER_MAIN_TIMER_BUF0_LOW : RO; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF0_LOW 0xFFFFFFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF0_LOW_M (RTC_TIMER_MAIN_TIMER_BUF0_LOW_V << RTC_TIMER_MAIN_TIMER_BUF0_LOW_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF0_LOW_V 0xFFFFFFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF0_LOW_S 0
|
||||
|
||||
/** RTC_TIMER_MAIN_BUF0_HIGH_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_BUF0_HIGH_REG (DR_REG_RTC_TIMER_BASE + 0x18)
|
||||
/** RTC_TIMER_MAIN_TIMER_BUF0_HIGH : RO; bitpos: [15:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF0_HIGH 0x0000FFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF0_HIGH_M (RTC_TIMER_MAIN_TIMER_BUF0_HIGH_V << RTC_TIMER_MAIN_TIMER_BUF0_HIGH_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF0_HIGH_V 0x0000FFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF0_HIGH_S 0
|
||||
|
||||
/** RTC_TIMER_MAIN_BUF1_LOW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_BUF1_LOW_REG (DR_REG_RTC_TIMER_BASE + 0x1c)
|
||||
/** RTC_TIMER_MAIN_TIMER_BUF1_LOW : RO; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF1_LOW 0xFFFFFFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF1_LOW_M (RTC_TIMER_MAIN_TIMER_BUF1_LOW_V << RTC_TIMER_MAIN_TIMER_BUF1_LOW_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF1_LOW_V 0xFFFFFFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF1_LOW_S 0
|
||||
|
||||
/** RTC_TIMER_MAIN_BUF1_HIGH_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_BUF1_HIGH_REG (DR_REG_RTC_TIMER_BASE + 0x20)
|
||||
/** RTC_TIMER_MAIN_TIMER_BUF1_HIGH : RO; bitpos: [15:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF1_HIGH 0x0000FFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF1_HIGH_M (RTC_TIMER_MAIN_TIMER_BUF1_HIGH_V << RTC_TIMER_MAIN_TIMER_BUF1_HIGH_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF1_HIGH_V 0x0000FFFFU
|
||||
#define RTC_TIMER_MAIN_TIMER_BUF1_HIGH_S 0
|
||||
|
||||
/** RTC_TIMER_MAIN_OVERFLOW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_OVERFLOW_REG (DR_REG_RTC_TIMER_BASE + 0x24)
|
||||
/** RTC_TIMER_MAIN_TIMER_ALARM_LOAD : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_ALARM_LOAD (BIT(31))
|
||||
#define RTC_TIMER_MAIN_TIMER_ALARM_LOAD_M (RTC_TIMER_MAIN_TIMER_ALARM_LOAD_V << RTC_TIMER_MAIN_TIMER_ALARM_LOAD_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_ALARM_LOAD_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_ALARM_LOAD_S 31
|
||||
|
||||
/** RTC_TIMER_INT_RAW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_INT_RAW_REG (DR_REG_RTC_TIMER_BASE + 0x28)
|
||||
/** RTC_TIMER_OVERFLOW_RAW : R/WTC/SS; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_OVERFLOW_RAW (BIT(30))
|
||||
#define RTC_TIMER_OVERFLOW_RAW_M (RTC_TIMER_OVERFLOW_RAW_V << RTC_TIMER_OVERFLOW_RAW_S)
|
||||
#define RTC_TIMER_OVERFLOW_RAW_V 0x00000001U
|
||||
#define RTC_TIMER_OVERFLOW_RAW_S 30
|
||||
/** RTC_TIMER_SOC_WAKEUP_INT_RAW : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_RAW (BIT(31))
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_RAW_M (RTC_TIMER_SOC_WAKEUP_INT_RAW_V << RTC_TIMER_SOC_WAKEUP_INT_RAW_S)
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_RAW_V 0x00000001U
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_RAW_S 31
|
||||
|
||||
/** RTC_TIMER_INT_ST_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_INT_ST_REG (DR_REG_RTC_TIMER_BASE + 0x2c)
|
||||
/** RTC_TIMER_OVERFLOW_ST : RO; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_OVERFLOW_ST (BIT(30))
|
||||
#define RTC_TIMER_OVERFLOW_ST_M (RTC_TIMER_OVERFLOW_ST_V << RTC_TIMER_OVERFLOW_ST_S)
|
||||
#define RTC_TIMER_OVERFLOW_ST_V 0x00000001U
|
||||
#define RTC_TIMER_OVERFLOW_ST_S 30
|
||||
/** RTC_TIMER_SOC_WAKEUP_INT_ST : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_ST (BIT(31))
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_ST_M (RTC_TIMER_SOC_WAKEUP_INT_ST_V << RTC_TIMER_SOC_WAKEUP_INT_ST_S)
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_ST_V 0x00000001U
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_ST_S 31
|
||||
|
||||
/** RTC_TIMER_INT_ENA_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_INT_ENA_REG (DR_REG_RTC_TIMER_BASE + 0x30)
|
||||
/** RTC_TIMER_OVERFLOW_ENA : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_OVERFLOW_ENA (BIT(30))
|
||||
#define RTC_TIMER_OVERFLOW_ENA_M (RTC_TIMER_OVERFLOW_ENA_V << RTC_TIMER_OVERFLOW_ENA_S)
|
||||
#define RTC_TIMER_OVERFLOW_ENA_V 0x00000001U
|
||||
#define RTC_TIMER_OVERFLOW_ENA_S 30
|
||||
/** RTC_TIMER_SOC_WAKEUP_INT_ENA : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_ENA (BIT(31))
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_ENA_M (RTC_TIMER_SOC_WAKEUP_INT_ENA_V << RTC_TIMER_SOC_WAKEUP_INT_ENA_S)
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_ENA_V 0x00000001U
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_ENA_S 31
|
||||
|
||||
/** RTC_TIMER_INT_CLR_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_INT_CLR_REG (DR_REG_RTC_TIMER_BASE + 0x34)
|
||||
/** RTC_TIMER_OVERFLOW_CLR : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_OVERFLOW_CLR (BIT(30))
|
||||
#define RTC_TIMER_OVERFLOW_CLR_M (RTC_TIMER_OVERFLOW_CLR_V << RTC_TIMER_OVERFLOW_CLR_S)
|
||||
#define RTC_TIMER_OVERFLOW_CLR_V 0x00000001U
|
||||
#define RTC_TIMER_OVERFLOW_CLR_S 30
|
||||
/** RTC_TIMER_SOC_WAKEUP_INT_CLR : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_CLR (BIT(31))
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_CLR_M (RTC_TIMER_SOC_WAKEUP_INT_CLR_V << RTC_TIMER_SOC_WAKEUP_INT_CLR_S)
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_CLR_V 0x00000001U
|
||||
#define RTC_TIMER_SOC_WAKEUP_INT_CLR_S 31
|
||||
|
||||
/** RTC_TIMER_LP_INT_RAW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_LP_INT_RAW_REG (DR_REG_RTC_TIMER_BASE + 0x38)
|
||||
/** RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_RAW : R/WTC/SS; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_RAW (BIT(30))
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_RAW_M (RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_RAW_V << RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_RAW_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_RAW_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_RAW_S 30
|
||||
/** RTC_TIMER_MAIN_TIMER_LP_INT_RAW : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_RAW (BIT(31))
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_RAW_M (RTC_TIMER_MAIN_TIMER_LP_INT_RAW_V << RTC_TIMER_MAIN_TIMER_LP_INT_RAW_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_RAW_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_RAW_S 31
|
||||
|
||||
/** RTC_TIMER_LP_INT_ST_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_LP_INT_ST_REG (DR_REG_RTC_TIMER_BASE + 0x3c)
|
||||
/** RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_ST : RO; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_ST (BIT(30))
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_ST_M (RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_ST_V << RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_ST_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_ST_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_ST_S 30
|
||||
/** RTC_TIMER_MAIN_TIMER_LP_INT_ST : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_ST (BIT(31))
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_ST_M (RTC_TIMER_MAIN_TIMER_LP_INT_ST_V << RTC_TIMER_MAIN_TIMER_LP_INT_ST_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_ST_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_ST_S 31
|
||||
|
||||
/** RTC_TIMER_LP_INT_ENA_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_LP_INT_ENA_REG (DR_REG_RTC_TIMER_BASE + 0x40)
|
||||
/** RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_ENA : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_ENA (BIT(30))
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_ENA_M (RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_ENA_V << RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_ENA_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_ENA_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_ENA_S 30
|
||||
/** RTC_TIMER_MAIN_TIMER_LP_INT_ENA : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_ENA (BIT(31))
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_ENA_M (RTC_TIMER_MAIN_TIMER_LP_INT_ENA_V << RTC_TIMER_MAIN_TIMER_LP_INT_ENA_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_ENA_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_ENA_S 31
|
||||
|
||||
/** RTC_TIMER_LP_INT_CLR_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_LP_INT_CLR_REG (DR_REG_RTC_TIMER_BASE + 0x44)
|
||||
/** RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_CLR : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_CLR (BIT(30))
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_CLR_M (RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_CLR_V << RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_CLR_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_CLR_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_OVERFLOW_LP_INT_CLR_S 30
|
||||
/** RTC_TIMER_MAIN_TIMER_LP_INT_CLR : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_CLR (BIT(31))
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_CLR_M (RTC_TIMER_MAIN_TIMER_LP_INT_CLR_V << RTC_TIMER_MAIN_TIMER_LP_INT_CLR_S)
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_CLR_V 0x00000001U
|
||||
#define RTC_TIMER_MAIN_TIMER_LP_INT_CLR_S 31
|
||||
|
||||
/** RTC_TIMER_DATE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_DATE_REG (DR_REG_RTC_TIMER_BASE + 0x3fc)
|
||||
/** RTC_TIMER_DATE : R/W; bitpos: [30:0]; default: 34672976;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_DATE 0x7FFFFFFFU
|
||||
#define RTC_TIMER_DATE_M (RTC_TIMER_DATE_V << RTC_TIMER_DATE_S)
|
||||
#define RTC_TIMER_DATE_V 0x7FFFFFFFU
|
||||
#define RTC_TIMER_DATE_S 0
|
||||
/** RTC_TIMER_CLK_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_TIMER_CLK_EN (BIT(31))
|
||||
#define RTC_TIMER_CLK_EN_M (RTC_TIMER_CLK_EN_V << RTC_TIMER_CLK_EN_S)
|
||||
#define RTC_TIMER_CLK_EN_V 0x00000001U
|
||||
#define RTC_TIMER_CLK_EN_S 31
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
362
components/soc/esp32p4/include/soc/rtc_timer_struct.h
Normal file
362
components/soc/esp32p4/include/soc/rtc_timer_struct.h
Normal file
@ -0,0 +1,362 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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;
|
||||
} rtc_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;
|
||||
} rtc_timer_tar0_high_reg_t;
|
||||
|
||||
/** Type of tar1_low register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** main_timer_tar_low1 : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_tar_low1:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtc_timer_tar1_low_reg_t;
|
||||
|
||||
/** Type of tar1_high register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** main_timer_tar_high1 : R/W; bitpos: [15:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_tar_high1:16;
|
||||
uint32_t reserved_16:15;
|
||||
/** main_timer_tar_en1 : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_tar_en1:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtc_timer_tar1_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_timer_int_clr_reg_t;
|
||||
|
||||
/** Type of lp_int_raw register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** main_timer_overflow_lp_int_raw : R/WTC/SS; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_overflow_lp_int_raw:1;
|
||||
/** main_timer_lp_int_raw : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_lp_int_raw:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtc_timer_lp_int_raw_reg_t;
|
||||
|
||||
/** Type of lp_int_st register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** main_timer_overflow_lp_int_st : RO; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_overflow_lp_int_st:1;
|
||||
/** main_timer_lp_int_st : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_lp_int_st:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtc_timer_lp_int_st_reg_t;
|
||||
|
||||
/** Type of lp_int_ena register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** main_timer_overflow_lp_int_ena : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_overflow_lp_int_ena:1;
|
||||
/** main_timer_lp_int_ena : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_lp_int_ena:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtc_timer_lp_int_ena_reg_t;
|
||||
|
||||
/** Type of lp_int_clr register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** main_timer_overflow_lp_int_clr : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_overflow_lp_int_clr:1;
|
||||
/** main_timer_lp_int_clr : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t main_timer_lp_int_clr:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtc_timer_lp_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;
|
||||
} rtc_timer_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile rtc_timer_tar0_low_reg_t tar0_low;
|
||||
volatile rtc_timer_tar0_high_reg_t tar0_high;
|
||||
volatile rtc_timer_tar1_low_reg_t tar1_low;
|
||||
volatile rtc_timer_tar1_high_reg_t tar1_high;
|
||||
volatile rtc_timer_update_reg_t update;
|
||||
volatile rtc_timer_main_buf0_low_reg_t main_buf0_low;
|
||||
volatile rtc_timer_main_buf0_high_reg_t main_buf0_high;
|
||||
volatile rtc_timer_main_buf1_low_reg_t main_buf1_low;
|
||||
volatile rtc_timer_main_buf1_high_reg_t main_buf1_high;
|
||||
volatile rtc_timer_main_overflow_reg_t main_overflow;
|
||||
volatile rtc_timer_int_raw_reg_t int_raw;
|
||||
volatile rtc_timer_int_st_reg_t int_st;
|
||||
volatile rtc_timer_int_ena_reg_t int_ena;
|
||||
volatile rtc_timer_int_clr_reg_t int_clr;
|
||||
volatile rtc_timer_lp_int_raw_reg_t lp_int_raw;
|
||||
volatile rtc_timer_lp_int_st_reg_t lp_int_st;
|
||||
volatile rtc_timer_lp_int_ena_reg_t lp_int_ena;
|
||||
volatile rtc_timer_lp_int_clr_reg_t lp_int_clr;
|
||||
uint32_t reserved_048[237];
|
||||
volatile rtc_timer_date_reg_t date;
|
||||
} rtc_timer_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(rtc_timer_dev_t) == 0x400, "Invalid size of rtc_timer_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
324
components/soc/esp32p4/include/soc/rtc_wdt_reg.h
Normal file
324
components/soc/esp32p4/include/soc/rtc_wdt_reg.h
Normal file
@ -0,0 +1,324 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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
|
||||
|
||||
/** RTC_WDT_CONFIG0_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_CONFIG0_REG (DR_REG_RTC_WDT_BASE + 0x0)
|
||||
/** RTC_WDT_WDT_PAUSE_IN_SLP : R/W; bitpos: [9]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_PAUSE_IN_SLP (BIT(9))
|
||||
#define RTC_WDT_WDT_PAUSE_IN_SLP_M (RTC_WDT_WDT_PAUSE_IN_SLP_V << RTC_WDT_WDT_PAUSE_IN_SLP_S)
|
||||
#define RTC_WDT_WDT_PAUSE_IN_SLP_V 0x00000001U
|
||||
#define RTC_WDT_WDT_PAUSE_IN_SLP_S 9
|
||||
/** RTC_WDT_WDT_APPCPU_RESET_EN : R/W; bitpos: [10]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_APPCPU_RESET_EN (BIT(10))
|
||||
#define RTC_WDT_WDT_APPCPU_RESET_EN_M (RTC_WDT_WDT_APPCPU_RESET_EN_V << RTC_WDT_WDT_APPCPU_RESET_EN_S)
|
||||
#define RTC_WDT_WDT_APPCPU_RESET_EN_V 0x00000001U
|
||||
#define RTC_WDT_WDT_APPCPU_RESET_EN_S 10
|
||||
/** RTC_WDT_WDT_PROCPU_RESET_EN : R/W; bitpos: [11]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_PROCPU_RESET_EN (BIT(11))
|
||||
#define RTC_WDT_WDT_PROCPU_RESET_EN_M (RTC_WDT_WDT_PROCPU_RESET_EN_V << RTC_WDT_WDT_PROCPU_RESET_EN_S)
|
||||
#define RTC_WDT_WDT_PROCPU_RESET_EN_V 0x00000001U
|
||||
#define RTC_WDT_WDT_PROCPU_RESET_EN_S 11
|
||||
/** RTC_WDT_WDT_FLASHBOOT_MOD_EN : R/W; bitpos: [12]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_FLASHBOOT_MOD_EN (BIT(12))
|
||||
#define RTC_WDT_WDT_FLASHBOOT_MOD_EN_M (RTC_WDT_WDT_FLASHBOOT_MOD_EN_V << RTC_WDT_WDT_FLASHBOOT_MOD_EN_S)
|
||||
#define RTC_WDT_WDT_FLASHBOOT_MOD_EN_V 0x00000001U
|
||||
#define RTC_WDT_WDT_FLASHBOOT_MOD_EN_S 12
|
||||
/** RTC_WDT_WDT_SYS_RESET_LENGTH : R/W; bitpos: [15:13]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_SYS_RESET_LENGTH 0x00000007U
|
||||
#define RTC_WDT_WDT_SYS_RESET_LENGTH_M (RTC_WDT_WDT_SYS_RESET_LENGTH_V << RTC_WDT_WDT_SYS_RESET_LENGTH_S)
|
||||
#define RTC_WDT_WDT_SYS_RESET_LENGTH_V 0x00000007U
|
||||
#define RTC_WDT_WDT_SYS_RESET_LENGTH_S 13
|
||||
/** RTC_WDT_WDT_CPU_RESET_LENGTH : R/W; bitpos: [18:16]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_CPU_RESET_LENGTH 0x00000007U
|
||||
#define RTC_WDT_WDT_CPU_RESET_LENGTH_M (RTC_WDT_WDT_CPU_RESET_LENGTH_V << RTC_WDT_WDT_CPU_RESET_LENGTH_S)
|
||||
#define RTC_WDT_WDT_CPU_RESET_LENGTH_V 0x00000007U
|
||||
#define RTC_WDT_WDT_CPU_RESET_LENGTH_S 16
|
||||
/** RTC_WDT_WDT_STG3 : R/W; bitpos: [21:19]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_STG3 0x00000007U
|
||||
#define RTC_WDT_WDT_STG3_M (RTC_WDT_WDT_STG3_V << RTC_WDT_WDT_STG3_S)
|
||||
#define RTC_WDT_WDT_STG3_V 0x00000007U
|
||||
#define RTC_WDT_WDT_STG3_S 19
|
||||
/** RTC_WDT_WDT_STG2 : R/W; bitpos: [24:22]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_STG2 0x00000007U
|
||||
#define RTC_WDT_WDT_STG2_M (RTC_WDT_WDT_STG2_V << RTC_WDT_WDT_STG2_S)
|
||||
#define RTC_WDT_WDT_STG2_V 0x00000007U
|
||||
#define RTC_WDT_WDT_STG2_S 22
|
||||
/** RTC_WDT_WDT_STG1 : R/W; bitpos: [27:25]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_STG1 0x00000007U
|
||||
#define RTC_WDT_WDT_STG1_M (RTC_WDT_WDT_STG1_V << RTC_WDT_WDT_STG1_S)
|
||||
#define RTC_WDT_WDT_STG1_V 0x00000007U
|
||||
#define RTC_WDT_WDT_STG1_S 25
|
||||
/** RTC_WDT_WDT_STG0 : R/W; bitpos: [30:28]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_STG0 0x00000007U
|
||||
#define RTC_WDT_WDT_STG0_M (RTC_WDT_WDT_STG0_V << RTC_WDT_WDT_STG0_S)
|
||||
#define RTC_WDT_WDT_STG0_V 0x00000007U
|
||||
#define RTC_WDT_WDT_STG0_S 28
|
||||
/** RTC_WDT_WDT_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_EN (BIT(31))
|
||||
#define RTC_WDT_WDT_EN_M (RTC_WDT_WDT_EN_V << RTC_WDT_WDT_EN_S)
|
||||
#define RTC_WDT_WDT_EN_V 0x00000001U
|
||||
#define RTC_WDT_WDT_EN_S 31
|
||||
|
||||
/** RTC_WDT_CONFIG1_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_CONFIG1_REG (DR_REG_RTC_WDT_BASE + 0x4)
|
||||
/** RTC_WDT_WDT_STG0_HOLD : R/W; bitpos: [31:0]; default: 200000;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_STG0_HOLD 0xFFFFFFFFU
|
||||
#define RTC_WDT_WDT_STG0_HOLD_M (RTC_WDT_WDT_STG0_HOLD_V << RTC_WDT_WDT_STG0_HOLD_S)
|
||||
#define RTC_WDT_WDT_STG0_HOLD_V 0xFFFFFFFFU
|
||||
#define RTC_WDT_WDT_STG0_HOLD_S 0
|
||||
|
||||
/** RTC_WDT_CONFIG2_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_CONFIG2_REG (DR_REG_RTC_WDT_BASE + 0x8)
|
||||
/** RTC_WDT_WDT_STG1_HOLD : R/W; bitpos: [31:0]; default: 80000;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_STG1_HOLD 0xFFFFFFFFU
|
||||
#define RTC_WDT_WDT_STG1_HOLD_M (RTC_WDT_WDT_STG1_HOLD_V << RTC_WDT_WDT_STG1_HOLD_S)
|
||||
#define RTC_WDT_WDT_STG1_HOLD_V 0xFFFFFFFFU
|
||||
#define RTC_WDT_WDT_STG1_HOLD_S 0
|
||||
|
||||
/** RTC_WDT_CONFIG3_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_CONFIG3_REG (DR_REG_RTC_WDT_BASE + 0xc)
|
||||
/** RTC_WDT_WDT_STG2_HOLD : R/W; bitpos: [31:0]; default: 4095;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_STG2_HOLD 0xFFFFFFFFU
|
||||
#define RTC_WDT_WDT_STG2_HOLD_M (RTC_WDT_WDT_STG2_HOLD_V << RTC_WDT_WDT_STG2_HOLD_S)
|
||||
#define RTC_WDT_WDT_STG2_HOLD_V 0xFFFFFFFFU
|
||||
#define RTC_WDT_WDT_STG2_HOLD_S 0
|
||||
|
||||
/** RTC_WDT_CONFIG4_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_CONFIG4_REG (DR_REG_RTC_WDT_BASE + 0x10)
|
||||
/** RTC_WDT_WDT_STG3_HOLD : R/W; bitpos: [31:0]; default: 4095;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_STG3_HOLD 0xFFFFFFFFU
|
||||
#define RTC_WDT_WDT_STG3_HOLD_M (RTC_WDT_WDT_STG3_HOLD_V << RTC_WDT_WDT_STG3_HOLD_S)
|
||||
#define RTC_WDT_WDT_STG3_HOLD_V 0xFFFFFFFFU
|
||||
#define RTC_WDT_WDT_STG3_HOLD_S 0
|
||||
|
||||
/** RTC_WDT_FEED_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_FEED_REG (DR_REG_RTC_WDT_BASE + 0x14)
|
||||
/** RTC_WDT_FEED : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_FEED (BIT(31))
|
||||
#define RTC_WDT_FEED_M (RTC_WDT_FEED_V << RTC_WDT_FEED_S)
|
||||
#define RTC_WDT_FEED_V 0x00000001U
|
||||
#define RTC_WDT_FEED_S 31
|
||||
|
||||
/** RTC_WDT_WPROTECT_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WPROTECT_REG (DR_REG_RTC_WDT_BASE + 0x18)
|
||||
/** RTC_WDT_WDT_WKEY : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_WDT_WKEY 0xFFFFFFFFU
|
||||
#define RTC_WDT_WDT_WKEY_M (RTC_WDT_WDT_WKEY_V << RTC_WDT_WDT_WKEY_S)
|
||||
#define RTC_WDT_WDT_WKEY_V 0xFFFFFFFFU
|
||||
#define RTC_WDT_WDT_WKEY_S 0
|
||||
|
||||
/** RTC_WDT_SWD_CONFIG_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_SWD_CONFIG_REG (DR_REG_RTC_WDT_BASE + 0x1c)
|
||||
/** RTC_WDT_SWD_RESET_FLAG : RO; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_SWD_RESET_FLAG (BIT(0))
|
||||
#define RTC_WDT_SWD_RESET_FLAG_M (RTC_WDT_SWD_RESET_FLAG_V << RTC_WDT_SWD_RESET_FLAG_S)
|
||||
#define RTC_WDT_SWD_RESET_FLAG_V 0x00000001U
|
||||
#define RTC_WDT_SWD_RESET_FLAG_S 0
|
||||
/** RTC_WDT_SWD_AUTO_FEED_EN : R/W; bitpos: [18]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_SWD_AUTO_FEED_EN (BIT(18))
|
||||
#define RTC_WDT_SWD_AUTO_FEED_EN_M (RTC_WDT_SWD_AUTO_FEED_EN_V << RTC_WDT_SWD_AUTO_FEED_EN_S)
|
||||
#define RTC_WDT_SWD_AUTO_FEED_EN_V 0x00000001U
|
||||
#define RTC_WDT_SWD_AUTO_FEED_EN_S 18
|
||||
/** RTC_WDT_SWD_RST_FLAG_CLR : WT; bitpos: [19]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_SWD_RST_FLAG_CLR (BIT(19))
|
||||
#define RTC_WDT_SWD_RST_FLAG_CLR_M (RTC_WDT_SWD_RST_FLAG_CLR_V << RTC_WDT_SWD_RST_FLAG_CLR_S)
|
||||
#define RTC_WDT_SWD_RST_FLAG_CLR_V 0x00000001U
|
||||
#define RTC_WDT_SWD_RST_FLAG_CLR_S 19
|
||||
/** RTC_WDT_SWD_SIGNAL_WIDTH : R/W; bitpos: [29:20]; default: 300;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_SWD_SIGNAL_WIDTH 0x000003FFU
|
||||
#define RTC_WDT_SWD_SIGNAL_WIDTH_M (RTC_WDT_SWD_SIGNAL_WIDTH_V << RTC_WDT_SWD_SIGNAL_WIDTH_S)
|
||||
#define RTC_WDT_SWD_SIGNAL_WIDTH_V 0x000003FFU
|
||||
#define RTC_WDT_SWD_SIGNAL_WIDTH_S 20
|
||||
/** RTC_WDT_SWD_DISABLE : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_SWD_DISABLE (BIT(30))
|
||||
#define RTC_WDT_SWD_DISABLE_M (RTC_WDT_SWD_DISABLE_V << RTC_WDT_SWD_DISABLE_S)
|
||||
#define RTC_WDT_SWD_DISABLE_V 0x00000001U
|
||||
#define RTC_WDT_SWD_DISABLE_S 30
|
||||
/** RTC_WDT_SWD_FEED : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_SWD_FEED (BIT(31))
|
||||
#define RTC_WDT_SWD_FEED_M (RTC_WDT_SWD_FEED_V << RTC_WDT_SWD_FEED_S)
|
||||
#define RTC_WDT_SWD_FEED_V 0x00000001U
|
||||
#define RTC_WDT_SWD_FEED_S 31
|
||||
|
||||
/** RTC_WDT_SWD_WPROTECT_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_SWD_WPROTECT_REG (DR_REG_RTC_WDT_BASE + 0x20)
|
||||
/** RTC_WDT_SWD_WKEY : R/W; bitpos: [31:0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_SWD_WKEY 0xFFFFFFFFU
|
||||
#define RTC_WDT_SWD_WKEY_M (RTC_WDT_SWD_WKEY_V << RTC_WDT_SWD_WKEY_S)
|
||||
#define RTC_WDT_SWD_WKEY_V 0xFFFFFFFFU
|
||||
#define RTC_WDT_SWD_WKEY_S 0
|
||||
|
||||
/** RTC_WDT_INT_RAW_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_INT_RAW_REG (DR_REG_RTC_WDT_BASE + 0x24)
|
||||
/** RTC_WDT_SUPER_WDT_INT_RAW : R/WTC/SS; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_SUPER_WDT_INT_RAW (BIT(30))
|
||||
#define RTC_WDT_SUPER_WDT_INT_RAW_M (RTC_WDT_SUPER_WDT_INT_RAW_V << RTC_WDT_SUPER_WDT_INT_RAW_S)
|
||||
#define RTC_WDT_SUPER_WDT_INT_RAW_V 0x00000001U
|
||||
#define RTC_WDT_SUPER_WDT_INT_RAW_S 30
|
||||
/** RTC_WDT_LP_WDT_INT_RAW : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_LP_WDT_INT_RAW (BIT(31))
|
||||
#define RTC_WDT_LP_WDT_INT_RAW_M (RTC_WDT_LP_WDT_INT_RAW_V << RTC_WDT_LP_WDT_INT_RAW_S)
|
||||
#define RTC_WDT_LP_WDT_INT_RAW_V 0x00000001U
|
||||
#define RTC_WDT_LP_WDT_INT_RAW_S 31
|
||||
|
||||
/** RTC_WDT_INT_ST_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_INT_ST_REG (DR_REG_RTC_WDT_BASE + 0x28)
|
||||
/** RTC_WDT_SUPER_WDT_INT_ST : RO; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_SUPER_WDT_INT_ST (BIT(30))
|
||||
#define RTC_WDT_SUPER_WDT_INT_ST_M (RTC_WDT_SUPER_WDT_INT_ST_V << RTC_WDT_SUPER_WDT_INT_ST_S)
|
||||
#define RTC_WDT_SUPER_WDT_INT_ST_V 0x00000001U
|
||||
#define RTC_WDT_SUPER_WDT_INT_ST_S 30
|
||||
/** RTC_WDT_LP_WDT_INT_ST : RO; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_LP_WDT_INT_ST (BIT(31))
|
||||
#define RTC_WDT_LP_WDT_INT_ST_M (RTC_WDT_LP_WDT_INT_ST_V << RTC_WDT_LP_WDT_INT_ST_S)
|
||||
#define RTC_WDT_LP_WDT_INT_ST_V 0x00000001U
|
||||
#define RTC_WDT_LP_WDT_INT_ST_S 31
|
||||
|
||||
/** RTC_WDT_INT_ENA_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_INT_ENA_REG (DR_REG_RTC_WDT_BASE + 0x2c)
|
||||
/** RTC_WDT_SUPER_WDT_INT_ENA : R/W; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_SUPER_WDT_INT_ENA (BIT(30))
|
||||
#define RTC_WDT_SUPER_WDT_INT_ENA_M (RTC_WDT_SUPER_WDT_INT_ENA_V << RTC_WDT_SUPER_WDT_INT_ENA_S)
|
||||
#define RTC_WDT_SUPER_WDT_INT_ENA_V 0x00000001U
|
||||
#define RTC_WDT_SUPER_WDT_INT_ENA_S 30
|
||||
/** RTC_WDT_LP_WDT_INT_ENA : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_LP_WDT_INT_ENA (BIT(31))
|
||||
#define RTC_WDT_LP_WDT_INT_ENA_M (RTC_WDT_LP_WDT_INT_ENA_V << RTC_WDT_LP_WDT_INT_ENA_S)
|
||||
#define RTC_WDT_LP_WDT_INT_ENA_V 0x00000001U
|
||||
#define RTC_WDT_LP_WDT_INT_ENA_S 31
|
||||
|
||||
/** RTC_WDT_INT_CLR_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_INT_CLR_REG (DR_REG_RTC_WDT_BASE + 0x30)
|
||||
/** RTC_WDT_SUPER_WDT_INT_CLR : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_SUPER_WDT_INT_CLR (BIT(30))
|
||||
#define RTC_WDT_SUPER_WDT_INT_CLR_M (RTC_WDT_SUPER_WDT_INT_CLR_V << RTC_WDT_SUPER_WDT_INT_CLR_S)
|
||||
#define RTC_WDT_SUPER_WDT_INT_CLR_V 0x00000001U
|
||||
#define RTC_WDT_SUPER_WDT_INT_CLR_S 30
|
||||
/** RTC_WDT_LP_WDT_INT_CLR : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_LP_WDT_INT_CLR (BIT(31))
|
||||
#define RTC_WDT_LP_WDT_INT_CLR_M (RTC_WDT_LP_WDT_INT_CLR_V << RTC_WDT_LP_WDT_INT_CLR_S)
|
||||
#define RTC_WDT_LP_WDT_INT_CLR_V 0x00000001U
|
||||
#define RTC_WDT_LP_WDT_INT_CLR_S 31
|
||||
|
||||
/** RTC_WDT_DATE_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_DATE_REG (DR_REG_RTC_WDT_BASE + 0x3fc)
|
||||
/** RTC_WDT_LP_WDT_DATE : R/W; bitpos: [30:0]; default: 34676864;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_LP_WDT_DATE 0x7FFFFFFFU
|
||||
#define RTC_WDT_LP_WDT_DATE_M (RTC_WDT_LP_WDT_DATE_V << RTC_WDT_LP_WDT_DATE_S)
|
||||
#define RTC_WDT_LP_WDT_DATE_V 0x7FFFFFFFU
|
||||
#define RTC_WDT_LP_WDT_DATE_S 0
|
||||
/** RTC_WDT_CLK_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTC_WDT_CLK_EN (BIT(31))
|
||||
#define RTC_WDT_CLK_EN_M (RTC_WDT_CLK_EN_V << RTC_WDT_CLK_EN_S)
|
||||
#define RTC_WDT_CLK_EN_V 0x00000001U
|
||||
#define RTC_WDT_CLK_EN_S 31
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
309
components/soc/esp32p4/include/soc/rtc_wdt_struct.h
Normal file
309
components/soc/esp32p4/include/soc/rtc_wdt_struct.h
Normal file
@ -0,0 +1,309 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_wdt_config4_reg_t;
|
||||
|
||||
/** Type of feed register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** feed : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t feed:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_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;
|
||||
} rtc_wdt_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile rtc_wdt_config0_reg_t config0;
|
||||
volatile rtc_wdt_config1_reg_t config1;
|
||||
volatile rtc_wdt_config2_reg_t config2;
|
||||
volatile rtc_wdt_config3_reg_t config3;
|
||||
volatile rtc_wdt_config4_reg_t config4;
|
||||
volatile rtc_wdt_feed_reg_t feed;
|
||||
volatile rtc_wdt_wprotect_reg_t wprotect;
|
||||
volatile rtc_wdt_swd_config_reg_t swd_config;
|
||||
volatile rtc_wdt_swd_wprotect_reg_t swd_wprotect;
|
||||
volatile rtc_wdt_int_raw_reg_t int_raw;
|
||||
volatile rtc_wdt_int_st_reg_t int_st;
|
||||
volatile rtc_wdt_int_ena_reg_t int_ena;
|
||||
volatile rtc_wdt_int_clr_reg_t int_clr;
|
||||
uint32_t reserved_034[242];
|
||||
volatile rtc_wdt_date_reg_t date;
|
||||
} rtc_wdt_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(rtc_wdt_dev_t) == 0x400, "Invalid size of rtc_wdt_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
704
components/soc/esp32p4/include/soc/rtcadc_reg.h
Normal file
704
components/soc/esp32p4/include/soc/rtcadc_reg.h
Normal file
@ -0,0 +1,704 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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
|
||||
|
||||
/** RTCADC_READER1_CTRL_REG register
|
||||
* Control the read operation of ADC1.
|
||||
*/
|
||||
#define RTCADC_READER1_CTRL_REG (DR_REG_RTCADC_BASE + 0x0)
|
||||
/** RTCADC_SAR1_CLK_DIV : R/W; bitpos: [7:0]; default: 2;
|
||||
* Clock divider.
|
||||
*/
|
||||
#define RTCADC_SAR1_CLK_DIV 0x000000FFU
|
||||
#define RTCADC_SAR1_CLK_DIV_M (RTCADC_SAR1_CLK_DIV_V << RTCADC_SAR1_CLK_DIV_S)
|
||||
#define RTCADC_SAR1_CLK_DIV_V 0x000000FFU
|
||||
#define RTCADC_SAR1_CLK_DIV_S 0
|
||||
/** RTCADC_SAR1_DATA_INV : R/W; bitpos: [28]; default: 0;
|
||||
* Invert SAR ADC1 data.
|
||||
*/
|
||||
#define RTCADC_SAR1_DATA_INV (BIT(28))
|
||||
#define RTCADC_SAR1_DATA_INV_M (RTCADC_SAR1_DATA_INV_V << RTCADC_SAR1_DATA_INV_S)
|
||||
#define RTCADC_SAR1_DATA_INV_V 0x00000001U
|
||||
#define RTCADC_SAR1_DATA_INV_S 28
|
||||
/** RTCADC_SAR1_INT_EN : R/W; bitpos: [29]; default: 1;
|
||||
* Enable saradc1 to send out interrupt.
|
||||
*/
|
||||
#define RTCADC_SAR1_INT_EN (BIT(29))
|
||||
#define RTCADC_SAR1_INT_EN_M (RTCADC_SAR1_INT_EN_V << RTCADC_SAR1_INT_EN_S)
|
||||
#define RTCADC_SAR1_INT_EN_V 0x00000001U
|
||||
#define RTCADC_SAR1_INT_EN_S 29
|
||||
/** RTCADC_SAR1_EN_PAD_FORCE_ENABLE : R/W; bitpos: [31:30]; default: 0;
|
||||
* Force enable adc en_pad to analog circuit 2'b11: force enable .
|
||||
*/
|
||||
#define RTCADC_SAR1_EN_PAD_FORCE_ENABLE 0x00000003U
|
||||
#define RTCADC_SAR1_EN_PAD_FORCE_ENABLE_M (RTCADC_SAR1_EN_PAD_FORCE_ENABLE_V << RTCADC_SAR1_EN_PAD_FORCE_ENABLE_S)
|
||||
#define RTCADC_SAR1_EN_PAD_FORCE_ENABLE_V 0x00000003U
|
||||
#define RTCADC_SAR1_EN_PAD_FORCE_ENABLE_S 30
|
||||
|
||||
/** RTCADC_MEAS1_CTRL2_REG register
|
||||
* ADC1 configuration registers.
|
||||
*/
|
||||
#define RTCADC_MEAS1_CTRL2_REG (DR_REG_RTCADC_BASE + 0xc)
|
||||
/** RTCADC_MEAS1_DATA_SAR : RO; bitpos: [15:0]; default: 0;
|
||||
* SAR ADC1 data.
|
||||
*/
|
||||
#define RTCADC_MEAS1_DATA_SAR 0x0000FFFFU
|
||||
#define RTCADC_MEAS1_DATA_SAR_M (RTCADC_MEAS1_DATA_SAR_V << RTCADC_MEAS1_DATA_SAR_S)
|
||||
#define RTCADC_MEAS1_DATA_SAR_V 0x0000FFFFU
|
||||
#define RTCADC_MEAS1_DATA_SAR_S 0
|
||||
/** RTCADC_MEAS1_DONE_SAR : RO; bitpos: [16]; default: 0;
|
||||
* SAR ADC1 conversion done indication.
|
||||
*/
|
||||
#define RTCADC_MEAS1_DONE_SAR (BIT(16))
|
||||
#define RTCADC_MEAS1_DONE_SAR_M (RTCADC_MEAS1_DONE_SAR_V << RTCADC_MEAS1_DONE_SAR_S)
|
||||
#define RTCADC_MEAS1_DONE_SAR_V 0x00000001U
|
||||
#define RTCADC_MEAS1_DONE_SAR_S 16
|
||||
/** RTCADC_MEAS1_START_SAR : R/W; bitpos: [17]; default: 0;
|
||||
* SAR ADC1 controller (in RTC) starts conversion.
|
||||
*/
|
||||
#define RTCADC_MEAS1_START_SAR (BIT(17))
|
||||
#define RTCADC_MEAS1_START_SAR_M (RTCADC_MEAS1_START_SAR_V << RTCADC_MEAS1_START_SAR_S)
|
||||
#define RTCADC_MEAS1_START_SAR_V 0x00000001U
|
||||
#define RTCADC_MEAS1_START_SAR_S 17
|
||||
/** RTCADC_MEAS1_START_FORCE : R/W; bitpos: [18]; default: 0;
|
||||
* 1: SAR ADC1 controller (in RTC) is started by SW.
|
||||
*/
|
||||
#define RTCADC_MEAS1_START_FORCE (BIT(18))
|
||||
#define RTCADC_MEAS1_START_FORCE_M (RTCADC_MEAS1_START_FORCE_V << RTCADC_MEAS1_START_FORCE_S)
|
||||
#define RTCADC_MEAS1_START_FORCE_V 0x00000001U
|
||||
#define RTCADC_MEAS1_START_FORCE_S 18
|
||||
/** RTCADC_SAR1_EN_PAD : R/W; bitpos: [30:19]; default: 0;
|
||||
* SAR ADC1 pad enable bitmap.
|
||||
*/
|
||||
#define RTCADC_SAR1_EN_PAD 0x00000FFFU
|
||||
#define RTCADC_SAR1_EN_PAD_M (RTCADC_SAR1_EN_PAD_V << RTCADC_SAR1_EN_PAD_S)
|
||||
#define RTCADC_SAR1_EN_PAD_V 0x00000FFFU
|
||||
#define RTCADC_SAR1_EN_PAD_S 19
|
||||
/** RTCADC_SAR1_EN_PAD_FORCE : R/W; bitpos: [31]; default: 0;
|
||||
* 1: SAR ADC1 pad enable bitmap is controlled by SW.
|
||||
*/
|
||||
#define RTCADC_SAR1_EN_PAD_FORCE (BIT(31))
|
||||
#define RTCADC_SAR1_EN_PAD_FORCE_M (RTCADC_SAR1_EN_PAD_FORCE_V << RTCADC_SAR1_EN_PAD_FORCE_S)
|
||||
#define RTCADC_SAR1_EN_PAD_FORCE_V 0x00000001U
|
||||
#define RTCADC_SAR1_EN_PAD_FORCE_S 31
|
||||
|
||||
/** RTCADC_MEAS1_MUX_REG register
|
||||
* SAR ADC1 MUX register.
|
||||
*/
|
||||
#define RTCADC_MEAS1_MUX_REG (DR_REG_RTCADC_BASE + 0x10)
|
||||
/** RTCADC_SAR1_DIG_FORCE : R/W; bitpos: [31]; default: 0;
|
||||
* 1: SAR ADC1 controlled by DIG ADC1 CTRL.
|
||||
*/
|
||||
#define RTCADC_SAR1_DIG_FORCE (BIT(31))
|
||||
#define RTCADC_SAR1_DIG_FORCE_M (RTCADC_SAR1_DIG_FORCE_V << RTCADC_SAR1_DIG_FORCE_S)
|
||||
#define RTCADC_SAR1_DIG_FORCE_V 0x00000001U
|
||||
#define RTCADC_SAR1_DIG_FORCE_S 31
|
||||
|
||||
/** RTCADC_ATTEN1_REG register
|
||||
* ADC1 attenuation registers.
|
||||
*/
|
||||
#define RTCADC_ATTEN1_REG (DR_REG_RTCADC_BASE + 0x14)
|
||||
/** RTCADC_SAR1_ATTEN : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* 2-bit attenuation for each pad.
|
||||
*/
|
||||
#define RTCADC_SAR1_ATTEN 0xFFFFFFFFU
|
||||
#define RTCADC_SAR1_ATTEN_M (RTCADC_SAR1_ATTEN_V << RTCADC_SAR1_ATTEN_S)
|
||||
#define RTCADC_SAR1_ATTEN_V 0xFFFFFFFFU
|
||||
#define RTCADC_SAR1_ATTEN_S 0
|
||||
|
||||
/** RTCADC_READER2_CTRL_REG register
|
||||
* Control the read operation of ADC2.
|
||||
*/
|
||||
#define RTCADC_READER2_CTRL_REG (DR_REG_RTCADC_BASE + 0x24)
|
||||
/** RTCADC_SAR2_CLK_DIV : R/W; bitpos: [7:0]; default: 2;
|
||||
* Clock divider.
|
||||
*/
|
||||
#define RTCADC_SAR2_CLK_DIV 0x000000FFU
|
||||
#define RTCADC_SAR2_CLK_DIV_M (RTCADC_SAR2_CLK_DIV_V << RTCADC_SAR2_CLK_DIV_S)
|
||||
#define RTCADC_SAR2_CLK_DIV_V 0x000000FFU
|
||||
#define RTCADC_SAR2_CLK_DIV_S 0
|
||||
/** RTCADC_SAR2_WAIT_ARB_CYCLE : R/W; bitpos: [17:16]; default: 1;
|
||||
* Wait arbit stable after sar_done.
|
||||
*/
|
||||
#define RTCADC_SAR2_WAIT_ARB_CYCLE 0x00000003U
|
||||
#define RTCADC_SAR2_WAIT_ARB_CYCLE_M (RTCADC_SAR2_WAIT_ARB_CYCLE_V << RTCADC_SAR2_WAIT_ARB_CYCLE_S)
|
||||
#define RTCADC_SAR2_WAIT_ARB_CYCLE_V 0x00000003U
|
||||
#define RTCADC_SAR2_WAIT_ARB_CYCLE_S 16
|
||||
/** RTCADC_SAR2_EN_PAD_FORCE_ENABLE : R/W; bitpos: [28:27]; default: 0;
|
||||
* Force enable adc en_pad to analog circuit 2'b11: force enable .
|
||||
*/
|
||||
#define RTCADC_SAR2_EN_PAD_FORCE_ENABLE 0x00000003U
|
||||
#define RTCADC_SAR2_EN_PAD_FORCE_ENABLE_M (RTCADC_SAR2_EN_PAD_FORCE_ENABLE_V << RTCADC_SAR2_EN_PAD_FORCE_ENABLE_S)
|
||||
#define RTCADC_SAR2_EN_PAD_FORCE_ENABLE_V 0x00000003U
|
||||
#define RTCADC_SAR2_EN_PAD_FORCE_ENABLE_S 27
|
||||
/** RTCADC_SAR2_DATA_INV : R/W; bitpos: [29]; default: 0;
|
||||
* Invert SAR ADC2 data.
|
||||
*/
|
||||
#define RTCADC_SAR2_DATA_INV (BIT(29))
|
||||
#define RTCADC_SAR2_DATA_INV_M (RTCADC_SAR2_DATA_INV_V << RTCADC_SAR2_DATA_INV_S)
|
||||
#define RTCADC_SAR2_DATA_INV_V 0x00000001U
|
||||
#define RTCADC_SAR2_DATA_INV_S 29
|
||||
/** RTCADC_SAR2_INT_EN : R/W; bitpos: [30]; default: 1;
|
||||
* Enable saradc2 to send out interrupt.
|
||||
*/
|
||||
#define RTCADC_SAR2_INT_EN (BIT(30))
|
||||
#define RTCADC_SAR2_INT_EN_M (RTCADC_SAR2_INT_EN_V << RTCADC_SAR2_INT_EN_S)
|
||||
#define RTCADC_SAR2_INT_EN_V 0x00000001U
|
||||
#define RTCADC_SAR2_INT_EN_S 30
|
||||
|
||||
/** RTCADC_MEAS2_CTRL1_REG register
|
||||
* ADC2 configuration registers.
|
||||
*/
|
||||
#define RTCADC_MEAS2_CTRL1_REG (DR_REG_RTCADC_BASE + 0x2c)
|
||||
/** RTCADC_SAR2_CNTL_STATE : RO; bitpos: [2:0]; default: 0;
|
||||
* saradc2_cntl_fsm.
|
||||
*/
|
||||
#define RTCADC_SAR2_CNTL_STATE 0x00000007U
|
||||
#define RTCADC_SAR2_CNTL_STATE_M (RTCADC_SAR2_CNTL_STATE_V << RTCADC_SAR2_CNTL_STATE_S)
|
||||
#define RTCADC_SAR2_CNTL_STATE_V 0x00000007U
|
||||
#define RTCADC_SAR2_CNTL_STATE_S 0
|
||||
/** RTCADC_SAR2_PWDET_CAL_EN : R/W; bitpos: [3]; default: 0;
|
||||
* RTC control pwdet enable.
|
||||
*/
|
||||
#define RTCADC_SAR2_PWDET_CAL_EN (BIT(3))
|
||||
#define RTCADC_SAR2_PWDET_CAL_EN_M (RTCADC_SAR2_PWDET_CAL_EN_V << RTCADC_SAR2_PWDET_CAL_EN_S)
|
||||
#define RTCADC_SAR2_PWDET_CAL_EN_V 0x00000001U
|
||||
#define RTCADC_SAR2_PWDET_CAL_EN_S 3
|
||||
/** RTCADC_SAR2_PKDET_CAL_EN : R/W; bitpos: [4]; default: 0;
|
||||
* RTC control pkdet enable.
|
||||
*/
|
||||
#define RTCADC_SAR2_PKDET_CAL_EN (BIT(4))
|
||||
#define RTCADC_SAR2_PKDET_CAL_EN_M (RTCADC_SAR2_PKDET_CAL_EN_V << RTCADC_SAR2_PKDET_CAL_EN_S)
|
||||
#define RTCADC_SAR2_PKDET_CAL_EN_V 0x00000001U
|
||||
#define RTCADC_SAR2_PKDET_CAL_EN_S 4
|
||||
/** RTCADC_SAR2_EN_TEST : R/W; bitpos: [5]; default: 0;
|
||||
* SAR2_EN_TEST.
|
||||
*/
|
||||
#define RTCADC_SAR2_EN_TEST (BIT(5))
|
||||
#define RTCADC_SAR2_EN_TEST_M (RTCADC_SAR2_EN_TEST_V << RTCADC_SAR2_EN_TEST_S)
|
||||
#define RTCADC_SAR2_EN_TEST_V 0x00000001U
|
||||
#define RTCADC_SAR2_EN_TEST_S 5
|
||||
|
||||
/** RTCADC_MEAS2_CTRL2_REG register
|
||||
* ADC2 configuration registers.
|
||||
*/
|
||||
#define RTCADC_MEAS2_CTRL2_REG (DR_REG_RTCADC_BASE + 0x30)
|
||||
/** RTCADC_MEAS2_DATA_SAR : RO; bitpos: [15:0]; default: 0;
|
||||
* SAR ADC2 data.
|
||||
*/
|
||||
#define RTCADC_MEAS2_DATA_SAR 0x0000FFFFU
|
||||
#define RTCADC_MEAS2_DATA_SAR_M (RTCADC_MEAS2_DATA_SAR_V << RTCADC_MEAS2_DATA_SAR_S)
|
||||
#define RTCADC_MEAS2_DATA_SAR_V 0x0000FFFFU
|
||||
#define RTCADC_MEAS2_DATA_SAR_S 0
|
||||
/** RTCADC_MEAS2_DONE_SAR : RO; bitpos: [16]; default: 0;
|
||||
* SAR ADC2 conversion done indication.
|
||||
*/
|
||||
#define RTCADC_MEAS2_DONE_SAR (BIT(16))
|
||||
#define RTCADC_MEAS2_DONE_SAR_M (RTCADC_MEAS2_DONE_SAR_V << RTCADC_MEAS2_DONE_SAR_S)
|
||||
#define RTCADC_MEAS2_DONE_SAR_V 0x00000001U
|
||||
#define RTCADC_MEAS2_DONE_SAR_S 16
|
||||
/** RTCADC_MEAS2_START_SAR : R/W; bitpos: [17]; default: 0;
|
||||
* SAR ADC2 controller (in RTC) starts conversion.
|
||||
*/
|
||||
#define RTCADC_MEAS2_START_SAR (BIT(17))
|
||||
#define RTCADC_MEAS2_START_SAR_M (RTCADC_MEAS2_START_SAR_V << RTCADC_MEAS2_START_SAR_S)
|
||||
#define RTCADC_MEAS2_START_SAR_V 0x00000001U
|
||||
#define RTCADC_MEAS2_START_SAR_S 17
|
||||
/** RTCADC_MEAS2_START_FORCE : R/W; bitpos: [18]; default: 0;
|
||||
* 1: SAR ADC2 controller (in RTC) is started by SW.
|
||||
*/
|
||||
#define RTCADC_MEAS2_START_FORCE (BIT(18))
|
||||
#define RTCADC_MEAS2_START_FORCE_M (RTCADC_MEAS2_START_FORCE_V << RTCADC_MEAS2_START_FORCE_S)
|
||||
#define RTCADC_MEAS2_START_FORCE_V 0x00000001U
|
||||
#define RTCADC_MEAS2_START_FORCE_S 18
|
||||
/** RTCADC_SAR2_EN_PAD : R/W; bitpos: [30:19]; default: 0;
|
||||
* SAR ADC2 pad enable bitmap.
|
||||
*/
|
||||
#define RTCADC_SAR2_EN_PAD 0x00000FFFU
|
||||
#define RTCADC_SAR2_EN_PAD_M (RTCADC_SAR2_EN_PAD_V << RTCADC_SAR2_EN_PAD_S)
|
||||
#define RTCADC_SAR2_EN_PAD_V 0x00000FFFU
|
||||
#define RTCADC_SAR2_EN_PAD_S 19
|
||||
/** RTCADC_SAR2_EN_PAD_FORCE : R/W; bitpos: [31]; default: 0;
|
||||
* 1: SAR ADC2 pad enable bitmap is controlled by SW.
|
||||
*/
|
||||
#define RTCADC_SAR2_EN_PAD_FORCE (BIT(31))
|
||||
#define RTCADC_SAR2_EN_PAD_FORCE_M (RTCADC_SAR2_EN_PAD_FORCE_V << RTCADC_SAR2_EN_PAD_FORCE_S)
|
||||
#define RTCADC_SAR2_EN_PAD_FORCE_V 0x00000001U
|
||||
#define RTCADC_SAR2_EN_PAD_FORCE_S 31
|
||||
|
||||
/** RTCADC_MEAS2_MUX_REG register
|
||||
* SAR ADC2 MUX register.
|
||||
*/
|
||||
#define RTCADC_MEAS2_MUX_REG (DR_REG_RTCADC_BASE + 0x34)
|
||||
/** RTCADC_SAR2_PWDET_CCT : R/W; bitpos: [30:28]; default: 0;
|
||||
* SAR2_PWDET_CCT.
|
||||
*/
|
||||
#define RTCADC_SAR2_PWDET_CCT 0x00000007U
|
||||
#define RTCADC_SAR2_PWDET_CCT_M (RTCADC_SAR2_PWDET_CCT_V << RTCADC_SAR2_PWDET_CCT_S)
|
||||
#define RTCADC_SAR2_PWDET_CCT_V 0x00000007U
|
||||
#define RTCADC_SAR2_PWDET_CCT_S 28
|
||||
/** RTCADC_SAR2_RTC_FORCE : R/W; bitpos: [31]; default: 0;
|
||||
* In sleep, force to use rtc to control ADC.
|
||||
*/
|
||||
#define RTCADC_SAR2_RTC_FORCE (BIT(31))
|
||||
#define RTCADC_SAR2_RTC_FORCE_M (RTCADC_SAR2_RTC_FORCE_V << RTCADC_SAR2_RTC_FORCE_S)
|
||||
#define RTCADC_SAR2_RTC_FORCE_V 0x00000001U
|
||||
#define RTCADC_SAR2_RTC_FORCE_S 31
|
||||
|
||||
/** RTCADC_ATTEN2_REG register
|
||||
* ADC1 attenuation registers.
|
||||
*/
|
||||
#define RTCADC_ATTEN2_REG (DR_REG_RTCADC_BASE + 0x38)
|
||||
/** RTCADC_SAR2_ATTEN : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* 2-bit attenuation for each pad.
|
||||
*/
|
||||
#define RTCADC_SAR2_ATTEN 0xFFFFFFFFU
|
||||
#define RTCADC_SAR2_ATTEN_M (RTCADC_SAR2_ATTEN_V << RTCADC_SAR2_ATTEN_S)
|
||||
#define RTCADC_SAR2_ATTEN_V 0xFFFFFFFFU
|
||||
#define RTCADC_SAR2_ATTEN_S 0
|
||||
|
||||
/** RTCADC_FORCE_WPD_SAR_REG register
|
||||
* In sleep, force to use rtc to control ADC
|
||||
*/
|
||||
#define RTCADC_FORCE_WPD_SAR_REG (DR_REG_RTCADC_BASE + 0x3c)
|
||||
/** RTCADC_FORCE_XPD_SAR1 : R/W; bitpos: [1:0]; default: 0;
|
||||
* 2'b11:software control, force on. 2'b10:software control, force off. 2'b0x:hardware
|
||||
* control.
|
||||
*/
|
||||
#define RTCADC_FORCE_XPD_SAR1 0x00000003U
|
||||
#define RTCADC_FORCE_XPD_SAR1_M (RTCADC_FORCE_XPD_SAR1_V << RTCADC_FORCE_XPD_SAR1_S)
|
||||
#define RTCADC_FORCE_XPD_SAR1_V 0x00000003U
|
||||
#define RTCADC_FORCE_XPD_SAR1_S 0
|
||||
/** RTCADC_FORCE_XPD_SAR2 : R/W; bitpos: [3:2]; default: 0;
|
||||
* 2'b11:software control, force on. 2'b10:software control, force off. 2'b0x:hardware
|
||||
* control.
|
||||
*/
|
||||
#define RTCADC_FORCE_XPD_SAR2 0x00000003U
|
||||
#define RTCADC_FORCE_XPD_SAR2_M (RTCADC_FORCE_XPD_SAR2_V << RTCADC_FORCE_XPD_SAR2_S)
|
||||
#define RTCADC_FORCE_XPD_SAR2_V 0x00000003U
|
||||
#define RTCADC_FORCE_XPD_SAR2_S 2
|
||||
|
||||
/** RTCADC_COCPU_INT_RAW_REG register
|
||||
* Interrupt raw registers.
|
||||
*/
|
||||
#define RTCADC_COCPU_INT_RAW_REG (DR_REG_RTCADC_BASE + 0x48)
|
||||
/** RTCADC_COCPU_SARADC1_INT_RAW : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* ADC1 Conversion is done, int raw.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_INT_RAW (BIT(0))
|
||||
#define RTCADC_COCPU_SARADC1_INT_RAW_M (RTCADC_COCPU_SARADC1_INT_RAW_V << RTCADC_COCPU_SARADC1_INT_RAW_S)
|
||||
#define RTCADC_COCPU_SARADC1_INT_RAW_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_INT_RAW_S 0
|
||||
/** RTCADC_COCPU_SARADC2_INT_RAW : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* ADC2 Conversion is done, int raw.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_INT_RAW (BIT(1))
|
||||
#define RTCADC_COCPU_SARADC2_INT_RAW_M (RTCADC_COCPU_SARADC2_INT_RAW_V << RTCADC_COCPU_SARADC2_INT_RAW_S)
|
||||
#define RTCADC_COCPU_SARADC2_INT_RAW_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_INT_RAW_S 1
|
||||
/** RTCADC_COCPU_SARADC1_ERROR_INT_RAW : R/WTC/SS; bitpos: [2]; default: 0;
|
||||
* An errro occurs from ADC1, int raw.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_RAW (BIT(2))
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_RAW_M (RTCADC_COCPU_SARADC1_ERROR_INT_RAW_V << RTCADC_COCPU_SARADC1_ERROR_INT_RAW_S)
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_RAW_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_RAW_S 2
|
||||
/** RTCADC_COCPU_SARADC2_ERROR_INT_RAW : R/WTC/SS; bitpos: [3]; default: 0;
|
||||
* An errro occurs from ADC2, int raw.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_RAW (BIT(3))
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_RAW_M (RTCADC_COCPU_SARADC2_ERROR_INT_RAW_V << RTCADC_COCPU_SARADC2_ERROR_INT_RAW_S)
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_RAW_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_RAW_S 3
|
||||
/** RTCADC_COCPU_SARADC1_WAKE_INT_RAW : R/WTC/SS; bitpos: [4]; default: 0;
|
||||
* A wakeup event is triggered from ADC1, int raw.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_RAW (BIT(4))
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_RAW_M (RTCADC_COCPU_SARADC1_WAKE_INT_RAW_V << RTCADC_COCPU_SARADC1_WAKE_INT_RAW_S)
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_RAW_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_RAW_S 4
|
||||
/** RTCADC_COCPU_SARADC2_WAKE_INT_RAW : R/WTC/SS; bitpos: [5]; default: 0;
|
||||
* A wakeup event is triggered from ADC2, int raw.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_RAW (BIT(5))
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_RAW_M (RTCADC_COCPU_SARADC2_WAKE_INT_RAW_V << RTCADC_COCPU_SARADC2_WAKE_INT_RAW_S)
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_RAW_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_RAW_S 5
|
||||
|
||||
/** RTCADC_INT_ENA_REG register
|
||||
* Interrupt enable registers.
|
||||
*/
|
||||
#define RTCADC_INT_ENA_REG (DR_REG_RTCADC_BASE + 0x4c)
|
||||
/** RTCADC_COCPU_SARADC1_INT_ENA : R/WTC; bitpos: [0]; default: 0;
|
||||
* ADC1 Conversion is done, int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_INT_ENA (BIT(0))
|
||||
#define RTCADC_COCPU_SARADC1_INT_ENA_M (RTCADC_COCPU_SARADC1_INT_ENA_V << RTCADC_COCPU_SARADC1_INT_ENA_S)
|
||||
#define RTCADC_COCPU_SARADC1_INT_ENA_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_INT_ENA_S 0
|
||||
/** RTCADC_COCPU_SARADC2_INT_ENA : R/WTC; bitpos: [1]; default: 0;
|
||||
* ADC2 Conversion is done, int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_INT_ENA (BIT(1))
|
||||
#define RTCADC_COCPU_SARADC2_INT_ENA_M (RTCADC_COCPU_SARADC2_INT_ENA_V << RTCADC_COCPU_SARADC2_INT_ENA_S)
|
||||
#define RTCADC_COCPU_SARADC2_INT_ENA_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_INT_ENA_S 1
|
||||
/** RTCADC_COCPU_SARADC1_ERROR_INT_ENA : R/WTC; bitpos: [2]; default: 0;
|
||||
* An errro occurs from ADC1, int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ENA (BIT(2))
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ENA_M (RTCADC_COCPU_SARADC1_ERROR_INT_ENA_V << RTCADC_COCPU_SARADC1_ERROR_INT_ENA_S)
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ENA_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ENA_S 2
|
||||
/** RTCADC_COCPU_SARADC2_ERROR_INT_ENA : R/WTC; bitpos: [3]; default: 0;
|
||||
* An errro occurs from ADC2, int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ENA (BIT(3))
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ENA_M (RTCADC_COCPU_SARADC2_ERROR_INT_ENA_V << RTCADC_COCPU_SARADC2_ERROR_INT_ENA_S)
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ENA_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ENA_S 3
|
||||
/** RTCADC_COCPU_SARADC1_WAKE_INT_ENA : R/WTC; bitpos: [4]; default: 0;
|
||||
* A wakeup event is triggered from ADC1, int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ENA (BIT(4))
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ENA_M (RTCADC_COCPU_SARADC1_WAKE_INT_ENA_V << RTCADC_COCPU_SARADC1_WAKE_INT_ENA_S)
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ENA_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ENA_S 4
|
||||
/** RTCADC_COCPU_SARADC2_WAKE_INT_ENA : R/WTC; bitpos: [5]; default: 0;
|
||||
* A wakeup event is triggered from ADC2, int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ENA (BIT(5))
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ENA_M (RTCADC_COCPU_SARADC2_WAKE_INT_ENA_V << RTCADC_COCPU_SARADC2_WAKE_INT_ENA_S)
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ENA_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ENA_S 5
|
||||
|
||||
/** RTCADC_INT_ST_REG register
|
||||
* Interrupt status registers.
|
||||
*/
|
||||
#define RTCADC_INT_ST_REG (DR_REG_RTCADC_BASE + 0x50)
|
||||
/** RTCADC_COCPU_SARADC1_INT_ST : RO; bitpos: [0]; default: 0;
|
||||
* ADC1 Conversion is done, int status.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_INT_ST (BIT(0))
|
||||
#define RTCADC_COCPU_SARADC1_INT_ST_M (RTCADC_COCPU_SARADC1_INT_ST_V << RTCADC_COCPU_SARADC1_INT_ST_S)
|
||||
#define RTCADC_COCPU_SARADC1_INT_ST_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_INT_ST_S 0
|
||||
/** RTCADC_COCPU_SARADC2_INT_ST : RO; bitpos: [1]; default: 0;
|
||||
* ADC2 Conversion is done, int status.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_INT_ST (BIT(1))
|
||||
#define RTCADC_COCPU_SARADC2_INT_ST_M (RTCADC_COCPU_SARADC2_INT_ST_V << RTCADC_COCPU_SARADC2_INT_ST_S)
|
||||
#define RTCADC_COCPU_SARADC2_INT_ST_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_INT_ST_S 1
|
||||
/** RTCADC_COCPU_SARADC1_ERROR_INT_ST : RO; bitpos: [2]; default: 0;
|
||||
* An errro occurs from ADC1, int status.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ST (BIT(2))
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ST_M (RTCADC_COCPU_SARADC1_ERROR_INT_ST_V << RTCADC_COCPU_SARADC1_ERROR_INT_ST_S)
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ST_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ST_S 2
|
||||
/** RTCADC_COCPU_SARADC2_ERROR_INT_ST : RO; bitpos: [3]; default: 0;
|
||||
* An errro occurs from ADC2, int status.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ST (BIT(3))
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ST_M (RTCADC_COCPU_SARADC2_ERROR_INT_ST_V << RTCADC_COCPU_SARADC2_ERROR_INT_ST_S)
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ST_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ST_S 3
|
||||
/** RTCADC_COCPU_SARADC1_WAKE_INT_ST : RO; bitpos: [4]; default: 0;
|
||||
* A wakeup event is triggered from ADC1, int status.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ST (BIT(4))
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ST_M (RTCADC_COCPU_SARADC1_WAKE_INT_ST_V << RTCADC_COCPU_SARADC1_WAKE_INT_ST_S)
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ST_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ST_S 4
|
||||
/** RTCADC_COCPU_SARADC2_WAKE_INT_ST : RO; bitpos: [5]; default: 0;
|
||||
* A wakeup event is triggered from ADC2, int status.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ST (BIT(5))
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ST_M (RTCADC_COCPU_SARADC2_WAKE_INT_ST_V << RTCADC_COCPU_SARADC2_WAKE_INT_ST_S)
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ST_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ST_S 5
|
||||
|
||||
/** RTCADC_INT_CLR_REG register
|
||||
* Interrupt clear registers.
|
||||
*/
|
||||
#define RTCADC_INT_CLR_REG (DR_REG_RTCADC_BASE + 0x54)
|
||||
/** RTCADC_COCPU_SARADC1_INT_CLR : WT; bitpos: [0]; default: 0;
|
||||
* ADC1 Conversion is done, int clear.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_INT_CLR (BIT(0))
|
||||
#define RTCADC_COCPU_SARADC1_INT_CLR_M (RTCADC_COCPU_SARADC1_INT_CLR_V << RTCADC_COCPU_SARADC1_INT_CLR_S)
|
||||
#define RTCADC_COCPU_SARADC1_INT_CLR_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_INT_CLR_S 0
|
||||
/** RTCADC_COCPU_SARADC2_INT_CLR : WT; bitpos: [1]; default: 0;
|
||||
* ADC2 Conversion is done, int clear.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_INT_CLR (BIT(1))
|
||||
#define RTCADC_COCPU_SARADC2_INT_CLR_M (RTCADC_COCPU_SARADC2_INT_CLR_V << RTCADC_COCPU_SARADC2_INT_CLR_S)
|
||||
#define RTCADC_COCPU_SARADC2_INT_CLR_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_INT_CLR_S 1
|
||||
/** RTCADC_COCPU_SARADC1_ERROR_INT_CLR : WT; bitpos: [2]; default: 0;
|
||||
* An errro occurs from ADC1, int clear.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_CLR (BIT(2))
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_CLR_M (RTCADC_COCPU_SARADC1_ERROR_INT_CLR_V << RTCADC_COCPU_SARADC1_ERROR_INT_CLR_S)
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_CLR_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_CLR_S 2
|
||||
/** RTCADC_COCPU_SARADC2_ERROR_INT_CLR : WT; bitpos: [3]; default: 0;
|
||||
* An errro occurs from ADC2, int clear.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_CLR (BIT(3))
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_CLR_M (RTCADC_COCPU_SARADC2_ERROR_INT_CLR_V << RTCADC_COCPU_SARADC2_ERROR_INT_CLR_S)
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_CLR_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_CLR_S 3
|
||||
/** RTCADC_COCPU_SARADC1_WAKE_INT_CLR : WT; bitpos: [4]; default: 0;
|
||||
* A wakeup event is triggered from ADC1, int clear.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_CLR (BIT(4))
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_CLR_M (RTCADC_COCPU_SARADC1_WAKE_INT_CLR_V << RTCADC_COCPU_SARADC1_WAKE_INT_CLR_S)
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_CLR_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_CLR_S 4
|
||||
/** RTCADC_COCPU_SARADC2_WAKE_INT_CLR : WT; bitpos: [5]; default: 0;
|
||||
* A wakeup event is triggered from ADC2, int clear.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_CLR (BIT(5))
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_CLR_M (RTCADC_COCPU_SARADC2_WAKE_INT_CLR_V << RTCADC_COCPU_SARADC2_WAKE_INT_CLR_S)
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_CLR_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_CLR_S 5
|
||||
|
||||
/** RTCADC_INT_ENA_W1TS_REG register
|
||||
* Interrupt enable assert registers.
|
||||
*/
|
||||
#define RTCADC_INT_ENA_W1TS_REG (DR_REG_RTCADC_BASE + 0x58)
|
||||
/** RTCADC_COCPU_SARADC1_INT_ENA_W1TS : WT; bitpos: [0]; default: 0;
|
||||
* ADC1 Conversion is done, write 1 to assert int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_INT_ENA_W1TS (BIT(0))
|
||||
#define RTCADC_COCPU_SARADC1_INT_ENA_W1TS_M (RTCADC_COCPU_SARADC1_INT_ENA_W1TS_V << RTCADC_COCPU_SARADC1_INT_ENA_W1TS_S)
|
||||
#define RTCADC_COCPU_SARADC1_INT_ENA_W1TS_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_INT_ENA_W1TS_S 0
|
||||
/** RTCADC_COCPU_SARADC2_INT_ENA_W1TS : WT; bitpos: [1]; default: 0;
|
||||
* ADC2 Conversion is done, write 1 to assert int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_INT_ENA_W1TS (BIT(1))
|
||||
#define RTCADC_COCPU_SARADC2_INT_ENA_W1TS_M (RTCADC_COCPU_SARADC2_INT_ENA_W1TS_V << RTCADC_COCPU_SARADC2_INT_ENA_W1TS_S)
|
||||
#define RTCADC_COCPU_SARADC2_INT_ENA_W1TS_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_INT_ENA_W1TS_S 1
|
||||
/** RTCADC_COCPU_SARADC1_ERROR_INT_ENA_W1TS : WT; bitpos: [2]; default: 0;
|
||||
* An errro occurs from ADC1, write 1 to assert int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ENA_W1TS (BIT(2))
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ENA_W1TS_M (RTCADC_COCPU_SARADC1_ERROR_INT_ENA_W1TS_V << RTCADC_COCPU_SARADC1_ERROR_INT_ENA_W1TS_S)
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ENA_W1TS_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ENA_W1TS_S 2
|
||||
/** RTCADC_COCPU_SARADC2_ERROR_INT_ENA_W1TS : WT; bitpos: [3]; default: 0;
|
||||
* An errro occurs from ADC2, write 1 to assert int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ENA_W1TS (BIT(3))
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ENA_W1TS_M (RTCADC_COCPU_SARADC2_ERROR_INT_ENA_W1TS_V << RTCADC_COCPU_SARADC2_ERROR_INT_ENA_W1TS_S)
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ENA_W1TS_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ENA_W1TS_S 3
|
||||
/** RTCADC_COCPU_SARADC1_WAKE_INT_ENA_W1TS : WT; bitpos: [4]; default: 0;
|
||||
* A wakeup event is triggered from ADC1, write 1 to assert int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ENA_W1TS (BIT(4))
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ENA_W1TS_M (RTCADC_COCPU_SARADC1_WAKE_INT_ENA_W1TS_V << RTCADC_COCPU_SARADC1_WAKE_INT_ENA_W1TS_S)
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ENA_W1TS_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ENA_W1TS_S 4
|
||||
/** RTCADC_COCPU_SARADC2_WAKE_INT_ENA_W1TS : WT; bitpos: [5]; default: 0;
|
||||
* A wakeup event is triggered from ADC2, write 1 to assert int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ENA_W1TS (BIT(5))
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ENA_W1TS_M (RTCADC_COCPU_SARADC2_WAKE_INT_ENA_W1TS_V << RTCADC_COCPU_SARADC2_WAKE_INT_ENA_W1TS_S)
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ENA_W1TS_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ENA_W1TS_S 5
|
||||
|
||||
/** RTCADC_INT_ENA_W1TC_REG register
|
||||
* Interrupt enable deassert registers.
|
||||
*/
|
||||
#define RTCADC_INT_ENA_W1TC_REG (DR_REG_RTCADC_BASE + 0x5c)
|
||||
/** RTCADC_COCPU_SARADC1_INT_ENA_W1TC : WT; bitpos: [0]; default: 0;
|
||||
* ADC1 Conversion is done, write 1 to deassert int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_INT_ENA_W1TC (BIT(0))
|
||||
#define RTCADC_COCPU_SARADC1_INT_ENA_W1TC_M (RTCADC_COCPU_SARADC1_INT_ENA_W1TC_V << RTCADC_COCPU_SARADC1_INT_ENA_W1TC_S)
|
||||
#define RTCADC_COCPU_SARADC1_INT_ENA_W1TC_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_INT_ENA_W1TC_S 0
|
||||
/** RTCADC_COCPU_SARADC2_INT_ENA_W1TC : WT; bitpos: [1]; default: 0;
|
||||
* ADC2 Conversion is done, write 1 to deassert int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_INT_ENA_W1TC (BIT(1))
|
||||
#define RTCADC_COCPU_SARADC2_INT_ENA_W1TC_M (RTCADC_COCPU_SARADC2_INT_ENA_W1TC_V << RTCADC_COCPU_SARADC2_INT_ENA_W1TC_S)
|
||||
#define RTCADC_COCPU_SARADC2_INT_ENA_W1TC_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_INT_ENA_W1TC_S 1
|
||||
/** RTCADC_COCPU_SARADC1_ERROR_INT_ENA_W1TC : WT; bitpos: [2]; default: 0;
|
||||
* An errro occurs from ADC1, write 1 to deassert int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ENA_W1TC (BIT(2))
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ENA_W1TC_M (RTCADC_COCPU_SARADC1_ERROR_INT_ENA_W1TC_V << RTCADC_COCPU_SARADC1_ERROR_INT_ENA_W1TC_S)
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ENA_W1TC_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_ERROR_INT_ENA_W1TC_S 2
|
||||
/** RTCADC_COCPU_SARADC2_ERROR_INT_ENA_W1TC : WT; bitpos: [3]; default: 0;
|
||||
* An errro occurs from ADC2, write 1 to deassert int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ENA_W1TC (BIT(3))
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ENA_W1TC_M (RTCADC_COCPU_SARADC2_ERROR_INT_ENA_W1TC_V << RTCADC_COCPU_SARADC2_ERROR_INT_ENA_W1TC_S)
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ENA_W1TC_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_ERROR_INT_ENA_W1TC_S 3
|
||||
/** RTCADC_COCPU_SARADC1_WAKE_INT_ENA_W1TC : WT; bitpos: [4]; default: 0;
|
||||
* A wakeup event is triggered from ADC1, write 1 to deassert int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ENA_W1TC (BIT(4))
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ENA_W1TC_M (RTCADC_COCPU_SARADC1_WAKE_INT_ENA_W1TC_V << RTCADC_COCPU_SARADC1_WAKE_INT_ENA_W1TC_S)
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ENA_W1TC_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC1_WAKE_INT_ENA_W1TC_S 4
|
||||
/** RTCADC_COCPU_SARADC2_WAKE_INT_ENA_W1TC : WT; bitpos: [5]; default: 0;
|
||||
* A wakeup event is triggered from ADC2, write 1 to deassert int enable.
|
||||
*/
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ENA_W1TC (BIT(5))
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ENA_W1TC_M (RTCADC_COCPU_SARADC2_WAKE_INT_ENA_W1TC_V << RTCADC_COCPU_SARADC2_WAKE_INT_ENA_W1TC_S)
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ENA_W1TC_V 0x00000001U
|
||||
#define RTCADC_COCPU_SARADC2_WAKE_INT_ENA_W1TC_S 5
|
||||
|
||||
/** RTCADC_WAKEUP1_REG register
|
||||
* ADC1 wakeup configuration registers.
|
||||
*/
|
||||
#define RTCADC_WAKEUP1_REG (DR_REG_RTCADC_BASE + 0x60)
|
||||
/** RTCADC_SAR1_WAKEUP_TH_LOW : R/W; bitpos: [11:0]; default: 0;
|
||||
* Lower threshold.
|
||||
*/
|
||||
#define RTCADC_SAR1_WAKEUP_TH_LOW 0x00000FFFU
|
||||
#define RTCADC_SAR1_WAKEUP_TH_LOW_M (RTCADC_SAR1_WAKEUP_TH_LOW_V << RTCADC_SAR1_WAKEUP_TH_LOW_S)
|
||||
#define RTCADC_SAR1_WAKEUP_TH_LOW_V 0x00000FFFU
|
||||
#define RTCADC_SAR1_WAKEUP_TH_LOW_S 0
|
||||
/** RTCADC_SAR1_WAKEUP_TH_HIGH : R/W; bitpos: [25:14]; default: 4095;
|
||||
* Upper threshold.
|
||||
*/
|
||||
#define RTCADC_SAR1_WAKEUP_TH_HIGH 0x00000FFFU
|
||||
#define RTCADC_SAR1_WAKEUP_TH_HIGH_M (RTCADC_SAR1_WAKEUP_TH_HIGH_V << RTCADC_SAR1_WAKEUP_TH_HIGH_S)
|
||||
#define RTCADC_SAR1_WAKEUP_TH_HIGH_V 0x00000FFFU
|
||||
#define RTCADC_SAR1_WAKEUP_TH_HIGH_S 14
|
||||
/** RTCADC_SAR1_WAKEUP_OVER_UPPER_TH : RO; bitpos: [29]; default: 0;
|
||||
* Indicates that this wakeup event arose from exceeding upper threshold.
|
||||
*/
|
||||
#define RTCADC_SAR1_WAKEUP_OVER_UPPER_TH (BIT(29))
|
||||
#define RTCADC_SAR1_WAKEUP_OVER_UPPER_TH_M (RTCADC_SAR1_WAKEUP_OVER_UPPER_TH_V << RTCADC_SAR1_WAKEUP_OVER_UPPER_TH_S)
|
||||
#define RTCADC_SAR1_WAKEUP_OVER_UPPER_TH_V 0x00000001U
|
||||
#define RTCADC_SAR1_WAKEUP_OVER_UPPER_TH_S 29
|
||||
/** RTCADC_SAR1_WAKEUP_EN : R/W; bitpos: [30]; default: 0;
|
||||
* Wakeup function enable.
|
||||
*/
|
||||
#define RTCADC_SAR1_WAKEUP_EN (BIT(30))
|
||||
#define RTCADC_SAR1_WAKEUP_EN_M (RTCADC_SAR1_WAKEUP_EN_V << RTCADC_SAR1_WAKEUP_EN_S)
|
||||
#define RTCADC_SAR1_WAKEUP_EN_V 0x00000001U
|
||||
#define RTCADC_SAR1_WAKEUP_EN_S 30
|
||||
/** RTCADC_SAR1_WAKEUP_MODE : R/W; bitpos: [31]; default: 0;
|
||||
* 0:absolute value comparison mode. 1: relative value comparison mode.
|
||||
*/
|
||||
#define RTCADC_SAR1_WAKEUP_MODE (BIT(31))
|
||||
#define RTCADC_SAR1_WAKEUP_MODE_M (RTCADC_SAR1_WAKEUP_MODE_V << RTCADC_SAR1_WAKEUP_MODE_S)
|
||||
#define RTCADC_SAR1_WAKEUP_MODE_V 0x00000001U
|
||||
#define RTCADC_SAR1_WAKEUP_MODE_S 31
|
||||
|
||||
/** RTCADC_WAKEUP2_REG register
|
||||
* ADC2 wakeup configuration registers.
|
||||
*/
|
||||
#define RTCADC_WAKEUP2_REG (DR_REG_RTCADC_BASE + 0x64)
|
||||
/** RTCADC_SAR2_WAKEUP_TH_LOW : R/W; bitpos: [11:0]; default: 0;
|
||||
* Lower threshold.
|
||||
*/
|
||||
#define RTCADC_SAR2_WAKEUP_TH_LOW 0x00000FFFU
|
||||
#define RTCADC_SAR2_WAKEUP_TH_LOW_M (RTCADC_SAR2_WAKEUP_TH_LOW_V << RTCADC_SAR2_WAKEUP_TH_LOW_S)
|
||||
#define RTCADC_SAR2_WAKEUP_TH_LOW_V 0x00000FFFU
|
||||
#define RTCADC_SAR2_WAKEUP_TH_LOW_S 0
|
||||
/** RTCADC_SAR2_WAKEUP_TH_HIGH : R/W; bitpos: [25:14]; default: 4095;
|
||||
* Upper threshold.
|
||||
*/
|
||||
#define RTCADC_SAR2_WAKEUP_TH_HIGH 0x00000FFFU
|
||||
#define RTCADC_SAR2_WAKEUP_TH_HIGH_M (RTCADC_SAR2_WAKEUP_TH_HIGH_V << RTCADC_SAR2_WAKEUP_TH_HIGH_S)
|
||||
#define RTCADC_SAR2_WAKEUP_TH_HIGH_V 0x00000FFFU
|
||||
#define RTCADC_SAR2_WAKEUP_TH_HIGH_S 14
|
||||
/** RTCADC_SAR2_WAKEUP_OVER_UPPER_TH : RO; bitpos: [29]; default: 0;
|
||||
* Indicates that this wakeup event arose from exceeding upper threshold.
|
||||
*/
|
||||
#define RTCADC_SAR2_WAKEUP_OVER_UPPER_TH (BIT(29))
|
||||
#define RTCADC_SAR2_WAKEUP_OVER_UPPER_TH_M (RTCADC_SAR2_WAKEUP_OVER_UPPER_TH_V << RTCADC_SAR2_WAKEUP_OVER_UPPER_TH_S)
|
||||
#define RTCADC_SAR2_WAKEUP_OVER_UPPER_TH_V 0x00000001U
|
||||
#define RTCADC_SAR2_WAKEUP_OVER_UPPER_TH_S 29
|
||||
/** RTCADC_SAR2_WAKEUP_EN : R/W; bitpos: [30]; default: 0;
|
||||
* Wakeup function enable.
|
||||
*/
|
||||
#define RTCADC_SAR2_WAKEUP_EN (BIT(30))
|
||||
#define RTCADC_SAR2_WAKEUP_EN_M (RTCADC_SAR2_WAKEUP_EN_V << RTCADC_SAR2_WAKEUP_EN_S)
|
||||
#define RTCADC_SAR2_WAKEUP_EN_V 0x00000001U
|
||||
#define RTCADC_SAR2_WAKEUP_EN_S 30
|
||||
/** RTCADC_SAR2_WAKEUP_MODE : R/W; bitpos: [31]; default: 0;
|
||||
* 0:absolute value comparison mode. 1: relative value comparison mode.
|
||||
*/
|
||||
#define RTCADC_SAR2_WAKEUP_MODE (BIT(31))
|
||||
#define RTCADC_SAR2_WAKEUP_MODE_M (RTCADC_SAR2_WAKEUP_MODE_V << RTCADC_SAR2_WAKEUP_MODE_S)
|
||||
#define RTCADC_SAR2_WAKEUP_MODE_V 0x00000001U
|
||||
#define RTCADC_SAR2_WAKEUP_MODE_S 31
|
||||
|
||||
/** RTCADC_WAKEUP_SEL_REG register
|
||||
* Wakeup source select register.
|
||||
*/
|
||||
#define RTCADC_WAKEUP_SEL_REG (DR_REG_RTCADC_BASE + 0x68)
|
||||
/** RTCADC_SAR_WAKEUP_SEL : R/W; bitpos: [0]; default: 0;
|
||||
* 0: ADC1. 1: ADC2.
|
||||
*/
|
||||
#define RTCADC_SAR_WAKEUP_SEL (BIT(0))
|
||||
#define RTCADC_SAR_WAKEUP_SEL_M (RTCADC_SAR_WAKEUP_SEL_V << RTCADC_SAR_WAKEUP_SEL_S)
|
||||
#define RTCADC_SAR_WAKEUP_SEL_V 0x00000001U
|
||||
#define RTCADC_SAR_WAKEUP_SEL_S 0
|
||||
|
||||
/** RTCADC_SAR1_HW_WAKEUP_REG register
|
||||
* Hardware automatic sampling registers for wakeup function.
|
||||
*/
|
||||
#define RTCADC_SAR1_HW_WAKEUP_REG (DR_REG_RTCADC_BASE + 0x6c)
|
||||
/** RTCADC_ADC1_HW_READ_EN_I : R/W; bitpos: [0]; default: 0;
|
||||
* Enable hardware automatic sampling.
|
||||
*/
|
||||
#define RTCADC_ADC1_HW_READ_EN_I (BIT(0))
|
||||
#define RTCADC_ADC1_HW_READ_EN_I_M (RTCADC_ADC1_HW_READ_EN_I_V << RTCADC_ADC1_HW_READ_EN_I_S)
|
||||
#define RTCADC_ADC1_HW_READ_EN_I_V 0x00000001U
|
||||
#define RTCADC_ADC1_HW_READ_EN_I_S 0
|
||||
/** RTCADC_ADC1_HW_READ_RATE_I : R/W; bitpos: [16:1]; default: 100;
|
||||
* Hardware automatic sampling rate.
|
||||
*/
|
||||
#define RTCADC_ADC1_HW_READ_RATE_I 0x0000FFFFU
|
||||
#define RTCADC_ADC1_HW_READ_RATE_I_M (RTCADC_ADC1_HW_READ_RATE_I_V << RTCADC_ADC1_HW_READ_RATE_I_S)
|
||||
#define RTCADC_ADC1_HW_READ_RATE_I_V 0x0000FFFFU
|
||||
#define RTCADC_ADC1_HW_READ_RATE_I_S 1
|
||||
|
||||
/** RTCADC_SAR2_HW_WAKEUP_REG register
|
||||
* Hardware automatic sampling registers for wakeup function.
|
||||
*/
|
||||
#define RTCADC_SAR2_HW_WAKEUP_REG (DR_REG_RTCADC_BASE + 0x70)
|
||||
/** RTCADC_ADC2_HW_READ_EN_I : R/W; bitpos: [0]; default: 0;
|
||||
* Enable hardware automatic sampling.
|
||||
*/
|
||||
#define RTCADC_ADC2_HW_READ_EN_I (BIT(0))
|
||||
#define RTCADC_ADC2_HW_READ_EN_I_M (RTCADC_ADC2_HW_READ_EN_I_V << RTCADC_ADC2_HW_READ_EN_I_S)
|
||||
#define RTCADC_ADC2_HW_READ_EN_I_V 0x00000001U
|
||||
#define RTCADC_ADC2_HW_READ_EN_I_S 0
|
||||
/** RTCADC_ADC2_HW_READ_RATE_I : R/W; bitpos: [16:1]; default: 100;
|
||||
* Hardware automatic sampling rate.
|
||||
*/
|
||||
#define RTCADC_ADC2_HW_READ_RATE_I 0x0000FFFFU
|
||||
#define RTCADC_ADC2_HW_READ_RATE_I_M (RTCADC_ADC2_HW_READ_RATE_I_V << RTCADC_ADC2_HW_READ_RATE_I_S)
|
||||
#define RTCADC_ADC2_HW_READ_RATE_I_V 0x0000FFFFU
|
||||
#define RTCADC_ADC2_HW_READ_RATE_I_S 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
602
components/soc/esp32p4/include/soc/rtcadc_struct.h
Normal file
602
components/soc/esp32p4/include/soc/rtcadc_struct.h
Normal file
@ -0,0 +1,602 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: ADC1 control registers. */
|
||||
/** Type of reader1_ctrl register
|
||||
* Control the read operation of ADC1.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sar1_clk_div : R/W; bitpos: [7:0]; default: 2;
|
||||
* Clock divider.
|
||||
*/
|
||||
uint32_t sar1_clk_div:8;
|
||||
uint32_t reserved_8:20;
|
||||
/** sar1_data_inv : R/W; bitpos: [28]; default: 0;
|
||||
* Invert SAR ADC1 data.
|
||||
*/
|
||||
uint32_t sar1_data_inv:1;
|
||||
/** sar1_int_en : R/W; bitpos: [29]; default: 1;
|
||||
* Enable saradc1 to send out interrupt.
|
||||
*/
|
||||
uint32_t sar1_int_en:1;
|
||||
/** sar1_en_pad_force_enable : R/W; bitpos: [31:30]; default: 0;
|
||||
* Force enable adc en_pad to analog circuit 2'b11: force enable .
|
||||
*/
|
||||
uint32_t sar1_en_pad_force_enable:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_reader1_ctrl_reg_t;
|
||||
|
||||
/** Type of meas1_ctrl2 register
|
||||
* ADC1 configuration registers.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** meas1_data_sar : RO; bitpos: [15:0]; default: 0;
|
||||
* SAR ADC1 data.
|
||||
*/
|
||||
uint32_t meas1_data_sar:16;
|
||||
/** meas1_done_sar : RO; bitpos: [16]; default: 0;
|
||||
* SAR ADC1 conversion done indication.
|
||||
*/
|
||||
uint32_t meas1_done_sar:1;
|
||||
/** meas1_start_sar : R/W; bitpos: [17]; default: 0;
|
||||
* SAR ADC1 controller (in RTC) starts conversion.
|
||||
*/
|
||||
uint32_t meas1_start_sar:1;
|
||||
/** meas1_start_force : R/W; bitpos: [18]; default: 0;
|
||||
* 1: SAR ADC1 controller (in RTC) is started by SW.
|
||||
*/
|
||||
uint32_t meas1_start_force:1;
|
||||
/** sar1_en_pad : R/W; bitpos: [30:19]; default: 0;
|
||||
* SAR ADC1 pad enable bitmap.
|
||||
*/
|
||||
uint32_t sar1_en_pad:12;
|
||||
/** sar1_en_pad_force : R/W; bitpos: [31]; default: 0;
|
||||
* 1: SAR ADC1 pad enable bitmap is controlled by SW.
|
||||
*/
|
||||
uint32_t sar1_en_pad_force:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_meas1_ctrl2_reg_t;
|
||||
|
||||
/** Type of meas1_mux register
|
||||
* SAR ADC1 MUX register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** sar1_dig_force : R/W; bitpos: [31]; default: 0;
|
||||
* 1: SAR ADC1 controlled by DIG ADC1 CTRL.
|
||||
*/
|
||||
uint32_t sar1_dig_force:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_meas1_mux_reg_t;
|
||||
|
||||
/** Type of atten1 register
|
||||
* ADC1 attenuation registers.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sar1_atten : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* 2-bit attenuation for each pad.
|
||||
*/
|
||||
uint32_t sar1_atten:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_atten1_reg_t;
|
||||
|
||||
|
||||
/** Group: ADC2 control registers. */
|
||||
/** Type of reader2_ctrl register
|
||||
* Control the read operation of ADC2.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sar2_clk_div : R/W; bitpos: [7:0]; default: 2;
|
||||
* Clock divider.
|
||||
*/
|
||||
uint32_t sar2_clk_div:8;
|
||||
uint32_t reserved_8:8;
|
||||
/** sar2_wait_arb_cycle : R/W; bitpos: [17:16]; default: 1;
|
||||
* Wait arbit stable after sar_done.
|
||||
*/
|
||||
uint32_t sar2_wait_arb_cycle:2;
|
||||
uint32_t reserved_18:9;
|
||||
/** sar2_en_pad_force_enable : R/W; bitpos: [28:27]; default: 0;
|
||||
* Force enable adc en_pad to analog circuit 2'b11: force enable .
|
||||
*/
|
||||
uint32_t sar2_en_pad_force_enable:2;
|
||||
/** sar2_data_inv : R/W; bitpos: [29]; default: 0;
|
||||
* Invert SAR ADC2 data.
|
||||
*/
|
||||
uint32_t sar2_data_inv:1;
|
||||
/** sar2_int_en : R/W; bitpos: [30]; default: 1;
|
||||
* Enable saradc2 to send out interrupt.
|
||||
*/
|
||||
uint32_t sar2_int_en:1;
|
||||
uint32_t reserved_31:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_reader2_ctrl_reg_t;
|
||||
|
||||
/** Type of meas2_ctrl1 register
|
||||
* ADC2 configuration registers.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sar2_cntl_state : RO; bitpos: [2:0]; default: 0;
|
||||
* saradc2_cntl_fsm.
|
||||
*/
|
||||
uint32_t sar2_cntl_state:3;
|
||||
/** sar2_pwdet_cal_en : R/W; bitpos: [3]; default: 0;
|
||||
* RTC control pwdet enable.
|
||||
*/
|
||||
uint32_t sar2_pwdet_cal_en:1;
|
||||
/** sar2_pkdet_cal_en : R/W; bitpos: [4]; default: 0;
|
||||
* RTC control pkdet enable.
|
||||
*/
|
||||
uint32_t sar2_pkdet_cal_en:1;
|
||||
/** sar2_en_test : R/W; bitpos: [5]; default: 0;
|
||||
* SAR2_EN_TEST.
|
||||
*/
|
||||
uint32_t sar2_en_test:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_meas2_ctrl1_reg_t;
|
||||
|
||||
/** Type of meas2_ctrl2 register
|
||||
* ADC2 configuration registers.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** meas2_data_sar : RO; bitpos: [15:0]; default: 0;
|
||||
* SAR ADC2 data.
|
||||
*/
|
||||
uint32_t meas2_data_sar:16;
|
||||
/** meas2_done_sar : RO; bitpos: [16]; default: 0;
|
||||
* SAR ADC2 conversion done indication.
|
||||
*/
|
||||
uint32_t meas2_done_sar:1;
|
||||
/** meas2_start_sar : R/W; bitpos: [17]; default: 0;
|
||||
* SAR ADC2 controller (in RTC) starts conversion.
|
||||
*/
|
||||
uint32_t meas2_start_sar:1;
|
||||
/** meas2_start_force : R/W; bitpos: [18]; default: 0;
|
||||
* 1: SAR ADC2 controller (in RTC) is started by SW.
|
||||
*/
|
||||
uint32_t meas2_start_force:1;
|
||||
/** sar2_en_pad : R/W; bitpos: [30:19]; default: 0;
|
||||
* SAR ADC2 pad enable bitmap.
|
||||
*/
|
||||
uint32_t sar2_en_pad:12;
|
||||
/** sar2_en_pad_force : R/W; bitpos: [31]; default: 0;
|
||||
* 1: SAR ADC2 pad enable bitmap is controlled by SW.
|
||||
*/
|
||||
uint32_t sar2_en_pad_force:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_meas2_ctrl2_reg_t;
|
||||
|
||||
/** Type of meas2_mux register
|
||||
* SAR ADC2 MUX register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:28;
|
||||
/** sar2_pwdet_cct : R/W; bitpos: [30:28]; default: 0;
|
||||
* SAR2_PWDET_CCT.
|
||||
*/
|
||||
uint32_t sar2_pwdet_cct:3;
|
||||
/** sar2_rtc_force : R/W; bitpos: [31]; default: 0;
|
||||
* In sleep, force to use rtc to control ADC.
|
||||
*/
|
||||
uint32_t sar2_rtc_force:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_meas2_mux_reg_t;
|
||||
|
||||
/** Type of atten2 register
|
||||
* ADC1 attenuation registers.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sar2_atten : R/W; bitpos: [31:0]; default: 4294967295;
|
||||
* 2-bit attenuation for each pad.
|
||||
*/
|
||||
uint32_t sar2_atten:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_atten2_reg_t;
|
||||
|
||||
|
||||
/** Group: ADC XPD control. */
|
||||
/** Type of force_wpd_sar register
|
||||
* In sleep, force to use rtc to control ADC
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** force_xpd_sar1 : R/W; bitpos: [1:0]; default: 0;
|
||||
* 2'b11:software control, force on. 2'b10:software control, force off. 2'b0x:hardware
|
||||
* control.
|
||||
*/
|
||||
uint32_t force_xpd_sar1:2;
|
||||
/** force_xpd_sar2 : R/W; bitpos: [3:2]; default: 0;
|
||||
* 2'b11:software control, force on. 2'b10:software control, force off. 2'b0x:hardware
|
||||
* control.
|
||||
*/
|
||||
uint32_t force_xpd_sar2:2;
|
||||
uint32_t reserved_4:28;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_force_wpd_sar_reg_t;
|
||||
|
||||
|
||||
/** Group: RTCADC interrupt registers. */
|
||||
/** Type of cocpu_int_raw register
|
||||
* Interrupt raw registers.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cocpu_saradc1_int_raw : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* ADC1 Conversion is done, int raw.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_int_raw:1;
|
||||
/** cocpu_saradc2_int_raw : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* ADC2 Conversion is done, int raw.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_int_raw:1;
|
||||
/** cocpu_saradc1_error_int_raw : R/WTC/SS; bitpos: [2]; default: 0;
|
||||
* An errro occurs from ADC1, int raw.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_error_int_raw:1;
|
||||
/** cocpu_saradc2_error_int_raw : R/WTC/SS; bitpos: [3]; default: 0;
|
||||
* An errro occurs from ADC2, int raw.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_error_int_raw:1;
|
||||
/** cocpu_saradc1_wake_int_raw : R/WTC/SS; bitpos: [4]; default: 0;
|
||||
* A wakeup event is triggered from ADC1, int raw.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_wake_int_raw:1;
|
||||
/** cocpu_saradc2_wake_int_raw : R/WTC/SS; bitpos: [5]; default: 0;
|
||||
* A wakeup event is triggered from ADC2, int raw.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_wake_int_raw:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_cocpu_int_raw_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* Interrupt enable registers.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cocpu_saradc1_int_ena : R/WTC; bitpos: [0]; default: 0;
|
||||
* ADC1 Conversion is done, int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_int_ena:1;
|
||||
/** cocpu_saradc2_int_ena : R/WTC; bitpos: [1]; default: 0;
|
||||
* ADC2 Conversion is done, int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_int_ena:1;
|
||||
/** cocpu_saradc1_error_int_ena : R/WTC; bitpos: [2]; default: 0;
|
||||
* An errro occurs from ADC1, int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_error_int_ena:1;
|
||||
/** cocpu_saradc2_error_int_ena : R/WTC; bitpos: [3]; default: 0;
|
||||
* An errro occurs from ADC2, int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_error_int_ena:1;
|
||||
/** cocpu_saradc1_wake_int_ena : R/WTC; bitpos: [4]; default: 0;
|
||||
* A wakeup event is triggered from ADC1, int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_wake_int_ena:1;
|
||||
/** cocpu_saradc2_wake_int_ena : R/WTC; bitpos: [5]; default: 0;
|
||||
* A wakeup event is triggered from ADC2, int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_wake_int_ena:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_int_ena_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* Interrupt status registers.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cocpu_saradc1_int_st : RO; bitpos: [0]; default: 0;
|
||||
* ADC1 Conversion is done, int status.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_int_st:1;
|
||||
/** cocpu_saradc2_int_st : RO; bitpos: [1]; default: 0;
|
||||
* ADC2 Conversion is done, int status.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_int_st:1;
|
||||
/** cocpu_saradc1_error_int_st : RO; bitpos: [2]; default: 0;
|
||||
* An errro occurs from ADC1, int status.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_error_int_st:1;
|
||||
/** cocpu_saradc2_error_int_st : RO; bitpos: [3]; default: 0;
|
||||
* An errro occurs from ADC2, int status.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_error_int_st:1;
|
||||
/** cocpu_saradc1_wake_int_st : RO; bitpos: [4]; default: 0;
|
||||
* A wakeup event is triggered from ADC1, int status.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_wake_int_st:1;
|
||||
/** cocpu_saradc2_wake_int_st : RO; bitpos: [5]; default: 0;
|
||||
* A wakeup event is triggered from ADC2, int status.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_wake_int_st:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_int_st_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* Interrupt clear registers.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cocpu_saradc1_int_clr : WT; bitpos: [0]; default: 0;
|
||||
* ADC1 Conversion is done, int clear.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_int_clr:1;
|
||||
/** cocpu_saradc2_int_clr : WT; bitpos: [1]; default: 0;
|
||||
* ADC2 Conversion is done, int clear.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_int_clr:1;
|
||||
/** cocpu_saradc1_error_int_clr : WT; bitpos: [2]; default: 0;
|
||||
* An errro occurs from ADC1, int clear.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_error_int_clr:1;
|
||||
/** cocpu_saradc2_error_int_clr : WT; bitpos: [3]; default: 0;
|
||||
* An errro occurs from ADC2, int clear.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_error_int_clr:1;
|
||||
/** cocpu_saradc1_wake_int_clr : WT; bitpos: [4]; default: 0;
|
||||
* A wakeup event is triggered from ADC1, int clear.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_wake_int_clr:1;
|
||||
/** cocpu_saradc2_wake_int_clr : WT; bitpos: [5]; default: 0;
|
||||
* A wakeup event is triggered from ADC2, int clear.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_wake_int_clr:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_int_clr_reg_t;
|
||||
|
||||
/** Type of int_ena_w1ts register
|
||||
* Interrupt enable assert registers.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cocpu_saradc1_int_ena_w1ts : WT; bitpos: [0]; default: 0;
|
||||
* ADC1 Conversion is done, write 1 to assert int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_int_ena_w1ts:1;
|
||||
/** cocpu_saradc2_int_ena_w1ts : WT; bitpos: [1]; default: 0;
|
||||
* ADC2 Conversion is done, write 1 to assert int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_int_ena_w1ts:1;
|
||||
/** cocpu_saradc1_error_int_ena_w1ts : WT; bitpos: [2]; default: 0;
|
||||
* An errro occurs from ADC1, write 1 to assert int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_error_int_ena_w1ts:1;
|
||||
/** cocpu_saradc2_error_int_ena_w1ts : WT; bitpos: [3]; default: 0;
|
||||
* An errro occurs from ADC2, write 1 to assert int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_error_int_ena_w1ts:1;
|
||||
/** cocpu_saradc1_wake_int_ena_w1ts : WT; bitpos: [4]; default: 0;
|
||||
* A wakeup event is triggered from ADC1, write 1 to assert int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_wake_int_ena_w1ts:1;
|
||||
/** cocpu_saradc2_wake_int_ena_w1ts : WT; bitpos: [5]; default: 0;
|
||||
* A wakeup event is triggered from ADC2, write 1 to assert int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_wake_int_ena_w1ts:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_int_ena_w1ts_reg_t;
|
||||
|
||||
/** Type of int_ena_w1tc register
|
||||
* Interrupt enable deassert registers.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cocpu_saradc1_int_ena_w1tc : WT; bitpos: [0]; default: 0;
|
||||
* ADC1 Conversion is done, write 1 to deassert int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_int_ena_w1tc:1;
|
||||
/** cocpu_saradc2_int_ena_w1tc : WT; bitpos: [1]; default: 0;
|
||||
* ADC2 Conversion is done, write 1 to deassert int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_int_ena_w1tc:1;
|
||||
/** cocpu_saradc1_error_int_ena_w1tc : WT; bitpos: [2]; default: 0;
|
||||
* An errro occurs from ADC1, write 1 to deassert int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_error_int_ena_w1tc:1;
|
||||
/** cocpu_saradc2_error_int_ena_w1tc : WT; bitpos: [3]; default: 0;
|
||||
* An errro occurs from ADC2, write 1 to deassert int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_error_int_ena_w1tc:1;
|
||||
/** cocpu_saradc1_wake_int_ena_w1tc : WT; bitpos: [4]; default: 0;
|
||||
* A wakeup event is triggered from ADC1, write 1 to deassert int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc1_wake_int_ena_w1tc:1;
|
||||
/** cocpu_saradc2_wake_int_ena_w1tc : WT; bitpos: [5]; default: 0;
|
||||
* A wakeup event is triggered from ADC2, write 1 to deassert int enable.
|
||||
*/
|
||||
uint32_t cocpu_saradc2_wake_int_ena_w1tc:1;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_int_ena_w1tc_reg_t;
|
||||
|
||||
|
||||
/** Group: RTCADC wakeup control registers. */
|
||||
/** Type of wakeup1 register
|
||||
* ADC1 wakeup configuration registers.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sar1_wakeup_th_low : R/W; bitpos: [11:0]; default: 0;
|
||||
* Lower threshold.
|
||||
*/
|
||||
uint32_t sar1_wakeup_th_low:12;
|
||||
uint32_t reserved_12:2;
|
||||
/** sar1_wakeup_th_high : R/W; bitpos: [25:14]; default: 4095;
|
||||
* Upper threshold.
|
||||
*/
|
||||
uint32_t sar1_wakeup_th_high:12;
|
||||
uint32_t reserved_26:3;
|
||||
/** sar1_wakeup_over_upper_th : RO; bitpos: [29]; default: 0;
|
||||
* Indicates that this wakeup event arose from exceeding upper threshold.
|
||||
*/
|
||||
uint32_t sar1_wakeup_over_upper_th:1;
|
||||
/** sar1_wakeup_en : R/W; bitpos: [30]; default: 0;
|
||||
* Wakeup function enable.
|
||||
*/
|
||||
uint32_t sar1_wakeup_en:1;
|
||||
/** sar1_wakeup_mode : R/W; bitpos: [31]; default: 0;
|
||||
* 0:absolute value comparison mode. 1: relative value comparison mode.
|
||||
*/
|
||||
uint32_t sar1_wakeup_mode:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_wakeup1_reg_t;
|
||||
|
||||
/** Type of wakeup2 register
|
||||
* ADC2 wakeup configuration registers.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sar2_wakeup_th_low : R/W; bitpos: [11:0]; default: 0;
|
||||
* Lower threshold.
|
||||
*/
|
||||
uint32_t sar2_wakeup_th_low:12;
|
||||
uint32_t reserved_12:2;
|
||||
/** sar2_wakeup_th_high : R/W; bitpos: [25:14]; default: 4095;
|
||||
* Upper threshold.
|
||||
*/
|
||||
uint32_t sar2_wakeup_th_high:12;
|
||||
uint32_t reserved_26:3;
|
||||
/** sar2_wakeup_over_upper_th : RO; bitpos: [29]; default: 0;
|
||||
* Indicates that this wakeup event arose from exceeding upper threshold.
|
||||
*/
|
||||
uint32_t sar2_wakeup_over_upper_th:1;
|
||||
/** sar2_wakeup_en : R/W; bitpos: [30]; default: 0;
|
||||
* Wakeup function enable.
|
||||
*/
|
||||
uint32_t sar2_wakeup_en:1;
|
||||
/** sar2_wakeup_mode : R/W; bitpos: [31]; default: 0;
|
||||
* 0:absolute value comparison mode. 1: relative value comparison mode.
|
||||
*/
|
||||
uint32_t sar2_wakeup_mode:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_wakeup2_reg_t;
|
||||
|
||||
/** Type of wakeup_sel register
|
||||
* Wakeup source select register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** sar_wakeup_sel : R/W; bitpos: [0]; default: 0;
|
||||
* 0: ADC1. 1: ADC2.
|
||||
*/
|
||||
uint32_t sar_wakeup_sel:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_wakeup_sel_reg_t;
|
||||
|
||||
/** Type of sar1_hw_wakeup register
|
||||
* Hardware automatic sampling registers for wakeup function.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** adc1_hw_read_en_i : R/W; bitpos: [0]; default: 0;
|
||||
* Enable hardware automatic sampling.
|
||||
*/
|
||||
uint32_t adc1_hw_read_en_i:1;
|
||||
/** adc1_hw_read_rate_i : R/W; bitpos: [16:1]; default: 100;
|
||||
* Hardware automatic sampling rate.
|
||||
*/
|
||||
uint32_t adc1_hw_read_rate_i:16;
|
||||
uint32_t reserved_17:15;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_sar1_hw_wakeup_reg_t;
|
||||
|
||||
/** Type of sar2_hw_wakeup register
|
||||
* Hardware automatic sampling registers for wakeup function.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** adc2_hw_read_en_i : R/W; bitpos: [0]; default: 0;
|
||||
* Enable hardware automatic sampling.
|
||||
*/
|
||||
uint32_t adc2_hw_read_en_i:1;
|
||||
/** adc2_hw_read_rate_i : R/W; bitpos: [16:1]; default: 100;
|
||||
* Hardware automatic sampling rate.
|
||||
*/
|
||||
uint32_t adc2_hw_read_rate_i:16;
|
||||
uint32_t reserved_17:15;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtcadc_sar2_hw_wakeup_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile rtcadc_reader1_ctrl_reg_t reader1_ctrl;
|
||||
uint32_t reserved_004[2];
|
||||
volatile rtcadc_meas1_ctrl2_reg_t meas1_ctrl2;
|
||||
volatile rtcadc_meas1_mux_reg_t meas1_mux;
|
||||
volatile rtcadc_atten1_reg_t atten1;
|
||||
uint32_t reserved_018[3];
|
||||
volatile rtcadc_reader2_ctrl_reg_t reader2_ctrl;
|
||||
uint32_t reserved_028;
|
||||
volatile rtcadc_meas2_ctrl1_reg_t meas2_ctrl1;
|
||||
volatile rtcadc_meas2_ctrl2_reg_t meas2_ctrl2;
|
||||
volatile rtcadc_meas2_mux_reg_t meas2_mux;
|
||||
volatile rtcadc_atten2_reg_t atten2;
|
||||
volatile rtcadc_force_wpd_sar_reg_t force_wpd_sar;
|
||||
uint32_t reserved_040[2];
|
||||
volatile rtcadc_cocpu_int_raw_reg_t cocpu_int_raw;
|
||||
volatile rtcadc_int_ena_reg_t int_ena;
|
||||
volatile rtcadc_int_st_reg_t int_st;
|
||||
volatile rtcadc_int_clr_reg_t int_clr;
|
||||
volatile rtcadc_int_ena_w1ts_reg_t int_ena_w1ts;
|
||||
volatile rtcadc_int_ena_w1tc_reg_t int_ena_w1tc;
|
||||
volatile rtcadc_wakeup1_reg_t wakeup1;
|
||||
volatile rtcadc_wakeup2_reg_t wakeup2;
|
||||
volatile rtcadc_wakeup_sel_reg_t wakeup_sel;
|
||||
volatile rtcadc_sar1_hw_wakeup_reg_t sar1_hw_wakeup;
|
||||
volatile rtcadc_sar2_hw_wakeup_reg_t sar2_hw_wakeup;
|
||||
} rtcadc_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(rtcadc_dev_t) == 0x74, "Invalid size of rtcadc_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
578
components/soc/esp32p4/include/soc/rtclockcali_reg.h
Normal file
578
components/soc/esp32p4/include/soc/rtclockcali_reg.h
Normal file
@ -0,0 +1,578 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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
|
||||
|
||||
/** RTCLOCKCALI_LP_CALI_TIMER_REG register
|
||||
* need_des
|
||||
*/
|
||||
#define RTCLOCKCALI_LP_CALI_TIMER_REG (DR_REG_RTCLOCKCALI_BASE + 0x0)
|
||||
/** RTCLOCKCALI_TIMER_TARGET : R/W; bitpos: [29:0]; default: 4095;
|
||||
* need_des
|
||||
*/
|
||||
#define RTCLOCKCALI_TIMER_TARGET 0x3FFFFFFFU
|
||||
#define RTCLOCKCALI_TIMER_TARGET_M (RTCLOCKCALI_TIMER_TARGET_V << RTCLOCKCALI_TIMER_TARGET_S)
|
||||
#define RTCLOCKCALI_TIMER_TARGET_V 0x3FFFFFFFU
|
||||
#define RTCLOCKCALI_TIMER_TARGET_S 0
|
||||
/** RTCLOCKCALI_TIMER_STOP : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTCLOCKCALI_TIMER_STOP (BIT(30))
|
||||
#define RTCLOCKCALI_TIMER_STOP_M (RTCLOCKCALI_TIMER_STOP_V << RTCLOCKCALI_TIMER_STOP_S)
|
||||
#define RTCLOCKCALI_TIMER_STOP_V 0x00000001U
|
||||
#define RTCLOCKCALI_TIMER_STOP_S 30
|
||||
/** RTCLOCKCALI_TIMER_START : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTCLOCKCALI_TIMER_START (BIT(31))
|
||||
#define RTCLOCKCALI_TIMER_START_M (RTCLOCKCALI_TIMER_START_V << RTCLOCKCALI_TIMER_START_S)
|
||||
#define RTCLOCKCALI_TIMER_START_V 0x00000001U
|
||||
#define RTCLOCKCALI_TIMER_START_S 31
|
||||
|
||||
/** RTCLOCKCALI_RTCCALICFG_SLOW_REG register
|
||||
* RTC calibration configure register
|
||||
*/
|
||||
#define RTCLOCKCALI_RTCCALICFG_SLOW_REG (DR_REG_RTCLOCKCALI_BASE + 0x4)
|
||||
/** RTCLOCKCALI_RTC_CALI_START_CYCLING_SLOW : R/W; bitpos: [12]; default: 1;
|
||||
* 0: one-shot frequency calculation,1: periodic frequency calculation,
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_START_CYCLING_SLOW (BIT(12))
|
||||
#define RTCLOCKCALI_RTC_CALI_START_CYCLING_SLOW_M (RTCLOCKCALI_RTC_CALI_START_CYCLING_SLOW_V << RTCLOCKCALI_RTC_CALI_START_CYCLING_SLOW_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_START_CYCLING_SLOW_V 0x00000001U
|
||||
#define RTCLOCKCALI_RTC_CALI_START_CYCLING_SLOW_S 12
|
||||
/** RTCLOCKCALI_RTC_CALI_CLK_SEL_SLOW : R/W; bitpos: [14:13]; default: 0;
|
||||
* 0:rtc slow clock. 1:clk_8m, 2:xtal_32k.
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_CLK_SEL_SLOW 0x00000003U
|
||||
#define RTCLOCKCALI_RTC_CALI_CLK_SEL_SLOW_M (RTCLOCKCALI_RTC_CALI_CLK_SEL_SLOW_V << RTCLOCKCALI_RTC_CALI_CLK_SEL_SLOW_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_CLK_SEL_SLOW_V 0x00000003U
|
||||
#define RTCLOCKCALI_RTC_CALI_CLK_SEL_SLOW_S 13
|
||||
/** RTCLOCKCALI_RTC_CALI_RDY_SLOW : RO; bitpos: [15]; default: 0;
|
||||
* indicate one-shot frequency calculation is done.
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_RDY_SLOW (BIT(15))
|
||||
#define RTCLOCKCALI_RTC_CALI_RDY_SLOW_M (RTCLOCKCALI_RTC_CALI_RDY_SLOW_V << RTCLOCKCALI_RTC_CALI_RDY_SLOW_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_RDY_SLOW_V 0x00000001U
|
||||
#define RTCLOCKCALI_RTC_CALI_RDY_SLOW_S 15
|
||||
/** RTCLOCKCALI_RTC_CALI_MAX_SLOW : R/W; bitpos: [30:16]; default: 1;
|
||||
* Configure the time to calculate RTC slow clock's frequency.
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_MAX_SLOW 0x00007FFFU
|
||||
#define RTCLOCKCALI_RTC_CALI_MAX_SLOW_M (RTCLOCKCALI_RTC_CALI_MAX_SLOW_V << RTCLOCKCALI_RTC_CALI_MAX_SLOW_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_MAX_SLOW_V 0x00007FFFU
|
||||
#define RTCLOCKCALI_RTC_CALI_MAX_SLOW_S 16
|
||||
/** RTCLOCKCALI_RTC_CALI_START_SLOW : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to start one-shot frequency calculation.
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_START_SLOW (BIT(31))
|
||||
#define RTCLOCKCALI_RTC_CALI_START_SLOW_M (RTCLOCKCALI_RTC_CALI_START_SLOW_V << RTCLOCKCALI_RTC_CALI_START_SLOW_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_START_SLOW_V 0x00000001U
|
||||
#define RTCLOCKCALI_RTC_CALI_START_SLOW_S 31
|
||||
|
||||
/** RTCLOCKCALI_RTCCALICFG_FAST_REG register
|
||||
* RTC calibration configure register
|
||||
*/
|
||||
#define RTCLOCKCALI_RTCCALICFG_FAST_REG (DR_REG_RTCLOCKCALI_BASE + 0x8)
|
||||
/** RTCLOCKCALI_FOSC_DIV_NUM : R/W; bitpos: [11:4]; default: 0;
|
||||
* fosc clock divider number
|
||||
*/
|
||||
#define RTCLOCKCALI_FOSC_DIV_NUM 0x000000FFU
|
||||
#define RTCLOCKCALI_FOSC_DIV_NUM_M (RTCLOCKCALI_FOSC_DIV_NUM_V << RTCLOCKCALI_FOSC_DIV_NUM_S)
|
||||
#define RTCLOCKCALI_FOSC_DIV_NUM_V 0x000000FFU
|
||||
#define RTCLOCKCALI_FOSC_DIV_NUM_S 4
|
||||
/** RTCLOCKCALI_RTC_CALI_START_CYCLING_FAST : R/W; bitpos: [12]; default: 1;
|
||||
* 0: one-shot frequency calculation,1: periodic frequency calculation,
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_START_CYCLING_FAST (BIT(12))
|
||||
#define RTCLOCKCALI_RTC_CALI_START_CYCLING_FAST_M (RTCLOCKCALI_RTC_CALI_START_CYCLING_FAST_V << RTCLOCKCALI_RTC_CALI_START_CYCLING_FAST_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_START_CYCLING_FAST_V 0x00000001U
|
||||
#define RTCLOCKCALI_RTC_CALI_START_CYCLING_FAST_S 12
|
||||
/** RTCLOCKCALI_RTC_CALI_CLK_SEL_FAST : R/W; bitpos: [14:13]; default: 0;
|
||||
* 0:rtc slow clock. 1:clk_8m, 2:xtal_32k.
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_CLK_SEL_FAST 0x00000003U
|
||||
#define RTCLOCKCALI_RTC_CALI_CLK_SEL_FAST_M (RTCLOCKCALI_RTC_CALI_CLK_SEL_FAST_V << RTCLOCKCALI_RTC_CALI_CLK_SEL_FAST_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_CLK_SEL_FAST_V 0x00000003U
|
||||
#define RTCLOCKCALI_RTC_CALI_CLK_SEL_FAST_S 13
|
||||
/** RTCLOCKCALI_RTC_CALI_RDY_FAST : RO; bitpos: [15]; default: 0;
|
||||
* indicate one-shot frequency calculation is done.
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_RDY_FAST (BIT(15))
|
||||
#define RTCLOCKCALI_RTC_CALI_RDY_FAST_M (RTCLOCKCALI_RTC_CALI_RDY_FAST_V << RTCLOCKCALI_RTC_CALI_RDY_FAST_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_RDY_FAST_V 0x00000001U
|
||||
#define RTCLOCKCALI_RTC_CALI_RDY_FAST_S 15
|
||||
/** RTCLOCKCALI_RTC_CALI_MAX_FAST : R/W; bitpos: [30:16]; default: 1;
|
||||
* Configure the time to calculate RTC slow clock's frequency.
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_MAX_FAST 0x00007FFFU
|
||||
#define RTCLOCKCALI_RTC_CALI_MAX_FAST_M (RTCLOCKCALI_RTC_CALI_MAX_FAST_V << RTCLOCKCALI_RTC_CALI_MAX_FAST_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_MAX_FAST_V 0x00007FFFU
|
||||
#define RTCLOCKCALI_RTC_CALI_MAX_FAST_S 16
|
||||
/** RTCLOCKCALI_RTC_CALI_START_FAST : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to start one-shot frequency calculation.
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_START_FAST (BIT(31))
|
||||
#define RTCLOCKCALI_RTC_CALI_START_FAST_M (RTCLOCKCALI_RTC_CALI_START_FAST_V << RTCLOCKCALI_RTC_CALI_START_FAST_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_START_FAST_V 0x00000001U
|
||||
#define RTCLOCKCALI_RTC_CALI_START_FAST_S 31
|
||||
|
||||
/** RTCLOCKCALI_RTCCALICFG1_SLOW_REG register
|
||||
* RTC calibration configure1 register
|
||||
*/
|
||||
#define RTCLOCKCALI_RTCCALICFG1_SLOW_REG (DR_REG_RTCLOCKCALI_BASE + 0xc)
|
||||
/** RTCLOCKCALI_RTC_CALI_CYCLING_DATA_VLD_SLOW : RO; bitpos: [0]; default: 0;
|
||||
* indicate periodic frequency calculation is done.
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_CYCLING_DATA_VLD_SLOW (BIT(0))
|
||||
#define RTCLOCKCALI_RTC_CALI_CYCLING_DATA_VLD_SLOW_M (RTCLOCKCALI_RTC_CALI_CYCLING_DATA_VLD_SLOW_V << RTCLOCKCALI_RTC_CALI_CYCLING_DATA_VLD_SLOW_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_CYCLING_DATA_VLD_SLOW_V 0x00000001U
|
||||
#define RTCLOCKCALI_RTC_CALI_CYCLING_DATA_VLD_SLOW_S 0
|
||||
/** RTCLOCKCALI_RTC_CALI_VALUE_SLOW : RO; bitpos: [31:7]; default: 0;
|
||||
* When one-shot or periodic frequency calculation is done, read this value to
|
||||
* calculate RTC slow clock's frequency.
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_VALUE_SLOW 0x01FFFFFFU
|
||||
#define RTCLOCKCALI_RTC_CALI_VALUE_SLOW_M (RTCLOCKCALI_RTC_CALI_VALUE_SLOW_V << RTCLOCKCALI_RTC_CALI_VALUE_SLOW_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_VALUE_SLOW_V 0x01FFFFFFU
|
||||
#define RTCLOCKCALI_RTC_CALI_VALUE_SLOW_S 7
|
||||
|
||||
/** RTCLOCKCALI_RTCCALICFG1_FAST_REG register
|
||||
* RTC calibration configure1 register
|
||||
*/
|
||||
#define RTCLOCKCALI_RTCCALICFG1_FAST_REG (DR_REG_RTCLOCKCALI_BASE + 0x10)
|
||||
/** RTCLOCKCALI_RTC_CALI_CYCLING_DATA_VLD_FAST : RO; bitpos: [0]; default: 0;
|
||||
* indicate periodic frequency calculation is done.
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_CYCLING_DATA_VLD_FAST (BIT(0))
|
||||
#define RTCLOCKCALI_RTC_CALI_CYCLING_DATA_VLD_FAST_M (RTCLOCKCALI_RTC_CALI_CYCLING_DATA_VLD_FAST_V << RTCLOCKCALI_RTC_CALI_CYCLING_DATA_VLD_FAST_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_CYCLING_DATA_VLD_FAST_V 0x00000001U
|
||||
#define RTCLOCKCALI_RTC_CALI_CYCLING_DATA_VLD_FAST_S 0
|
||||
/** RTCLOCKCALI_RTC_CALI_VALUE_FAST : RO; bitpos: [31:7]; default: 0;
|
||||
* When one-shot or periodic frequency calculation is done, read this value to
|
||||
* calculate RTC slow clock's frequency.
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_VALUE_FAST 0x01FFFFFFU
|
||||
#define RTCLOCKCALI_RTC_CALI_VALUE_FAST_M (RTCLOCKCALI_RTC_CALI_VALUE_FAST_V << RTCLOCKCALI_RTC_CALI_VALUE_FAST_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_VALUE_FAST_V 0x01FFFFFFU
|
||||
#define RTCLOCKCALI_RTC_CALI_VALUE_FAST_S 7
|
||||
|
||||
/** RTCLOCKCALI_RTCCALICFG2_REG register
|
||||
* Timer group calibration register
|
||||
*/
|
||||
#define RTCLOCKCALI_RTCCALICFG2_REG (DR_REG_RTCLOCKCALI_BASE + 0x14)
|
||||
/** RTCLOCKCALI_RTC_CALI_TIMEOUT : RO; bitpos: [0]; default: 0;
|
||||
* RTC calibration timeout indicator
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_TIMEOUT (BIT(0))
|
||||
#define RTCLOCKCALI_RTC_CALI_TIMEOUT_M (RTCLOCKCALI_RTC_CALI_TIMEOUT_V << RTCLOCKCALI_RTC_CALI_TIMEOUT_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_TIMEOUT_V 0x00000001U
|
||||
#define RTCLOCKCALI_RTC_CALI_TIMEOUT_S 0
|
||||
/** RTCLOCKCALI_RTC_CALI_TIMEOUT_RST_CNT : R/W; bitpos: [6:3]; default: 3;
|
||||
* Cycles that release calibration timeout reset
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_TIMEOUT_RST_CNT 0x0000000FU
|
||||
#define RTCLOCKCALI_RTC_CALI_TIMEOUT_RST_CNT_M (RTCLOCKCALI_RTC_CALI_TIMEOUT_RST_CNT_V << RTCLOCKCALI_RTC_CALI_TIMEOUT_RST_CNT_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_TIMEOUT_RST_CNT_V 0x0000000FU
|
||||
#define RTCLOCKCALI_RTC_CALI_TIMEOUT_RST_CNT_S 3
|
||||
/** RTCLOCKCALI_RTC_CALI_TIMEOUT_THRES : R/W; bitpos: [31:7]; default: 33554431;
|
||||
* Threshold value for the RTC calibration timer. If the calibration timer's value
|
||||
* exceeds this threshold, a timeout is triggered.
|
||||
*/
|
||||
#define RTCLOCKCALI_RTC_CALI_TIMEOUT_THRES 0x01FFFFFFU
|
||||
#define RTCLOCKCALI_RTC_CALI_TIMEOUT_THRES_M (RTCLOCKCALI_RTC_CALI_TIMEOUT_THRES_V << RTCLOCKCALI_RTC_CALI_TIMEOUT_THRES_S)
|
||||
#define RTCLOCKCALI_RTC_CALI_TIMEOUT_THRES_V 0x01FFFFFFU
|
||||
#define RTCLOCKCALI_RTC_CALI_TIMEOUT_THRES_S 7
|
||||
|
||||
/** RTCLOCKCALI_DFREQ_HIGH_LIMIT_SLOW_REG register
|
||||
* RTC slow clock dfreq high limit.
|
||||
*/
|
||||
#define RTCLOCKCALI_DFREQ_HIGH_LIMIT_SLOW_REG (DR_REG_RTCLOCKCALI_BASE + 0x18)
|
||||
/** RTCLOCKCALI_COARSE_LIMIT_DIFF_SLOW : R/W; bitpos: [7:0]; default: 16;
|
||||
* When rtc_cali_value upper/lower than reg_high/low_limit +/-
|
||||
* reg_coarse_limit_diff,the step of dfreq,will use reg_coarse_step.
|
||||
*/
|
||||
#define RTCLOCKCALI_COARSE_LIMIT_DIFF_SLOW 0x000000FFU
|
||||
#define RTCLOCKCALI_COARSE_LIMIT_DIFF_SLOW_M (RTCLOCKCALI_COARSE_LIMIT_DIFF_SLOW_V << RTCLOCKCALI_COARSE_LIMIT_DIFF_SLOW_S)
|
||||
#define RTCLOCKCALI_COARSE_LIMIT_DIFF_SLOW_V 0x000000FFU
|
||||
#define RTCLOCKCALI_COARSE_LIMIT_DIFF_SLOW_S 0
|
||||
/** RTCLOCKCALI_HIGH_LIMIT_SLOW : R/W; bitpos: [31:8]; default: 267;
|
||||
* when rtc_cali_value upper than reg_high_limit,frequency of osc will increase .
|
||||
*/
|
||||
#define RTCLOCKCALI_HIGH_LIMIT_SLOW 0x00FFFFFFU
|
||||
#define RTCLOCKCALI_HIGH_LIMIT_SLOW_M (RTCLOCKCALI_HIGH_LIMIT_SLOW_V << RTCLOCKCALI_HIGH_LIMIT_SLOW_S)
|
||||
#define RTCLOCKCALI_HIGH_LIMIT_SLOW_V 0x00FFFFFFU
|
||||
#define RTCLOCKCALI_HIGH_LIMIT_SLOW_S 8
|
||||
|
||||
/** RTCLOCKCALI_DFREQ_LOW_LIMIT_SLOW_REG register
|
||||
* RTC slow clock dfreq low limit.
|
||||
*/
|
||||
#define RTCLOCKCALI_DFREQ_LOW_LIMIT_SLOW_REG (DR_REG_RTCLOCKCALI_BASE + 0x1c)
|
||||
/** RTCLOCKCALI_LOW_LIMIT_SLOW : R/W; bitpos: [31:8]; default: 266;
|
||||
* when rtc_cali_value lower than reg_low_limit,frequency of osc will decrease .
|
||||
*/
|
||||
#define RTCLOCKCALI_LOW_LIMIT_SLOW 0x00FFFFFFU
|
||||
#define RTCLOCKCALI_LOW_LIMIT_SLOW_M (RTCLOCKCALI_LOW_LIMIT_SLOW_V << RTCLOCKCALI_LOW_LIMIT_SLOW_S)
|
||||
#define RTCLOCKCALI_LOW_LIMIT_SLOW_V 0x00FFFFFFU
|
||||
#define RTCLOCKCALI_LOW_LIMIT_SLOW_S 8
|
||||
|
||||
/** RTCLOCKCALI_DFREQ_HIGH_LIMIT_FAST_REG register
|
||||
* RTC fast clock dfreq high limit.
|
||||
*/
|
||||
#define RTCLOCKCALI_DFREQ_HIGH_LIMIT_FAST_REG (DR_REG_RTCLOCKCALI_BASE + 0x20)
|
||||
/** RTCLOCKCALI_COARSE_LIMIT_DIFF_FAST : R/W; bitpos: [7:0]; default: 16;
|
||||
* When rtc_cali_value upper/lower than reg_high/low_limit +/-
|
||||
* reg_coarse_limit_diff,the step of dfreq,will use reg_coarse_step.
|
||||
*/
|
||||
#define RTCLOCKCALI_COARSE_LIMIT_DIFF_FAST 0x000000FFU
|
||||
#define RTCLOCKCALI_COARSE_LIMIT_DIFF_FAST_M (RTCLOCKCALI_COARSE_LIMIT_DIFF_FAST_V << RTCLOCKCALI_COARSE_LIMIT_DIFF_FAST_S)
|
||||
#define RTCLOCKCALI_COARSE_LIMIT_DIFF_FAST_V 0x000000FFU
|
||||
#define RTCLOCKCALI_COARSE_LIMIT_DIFF_FAST_S 0
|
||||
/** RTCLOCKCALI_HIGH_LIMIT_FAST : R/W; bitpos: [31:8]; default: 267;
|
||||
* when rtc_cali_value upper than reg_high_limit,frequency of osc will increase .
|
||||
*/
|
||||
#define RTCLOCKCALI_HIGH_LIMIT_FAST 0x00FFFFFFU
|
||||
#define RTCLOCKCALI_HIGH_LIMIT_FAST_M (RTCLOCKCALI_HIGH_LIMIT_FAST_V << RTCLOCKCALI_HIGH_LIMIT_FAST_S)
|
||||
#define RTCLOCKCALI_HIGH_LIMIT_FAST_V 0x00FFFFFFU
|
||||
#define RTCLOCKCALI_HIGH_LIMIT_FAST_S 8
|
||||
|
||||
/** RTCLOCKCALI_DFREQ_LOW_LIMIT_FAST_REG register
|
||||
* RTC fast clock dfreq low limit.
|
||||
*/
|
||||
#define RTCLOCKCALI_DFREQ_LOW_LIMIT_FAST_REG (DR_REG_RTCLOCKCALI_BASE + 0x24)
|
||||
/** RTCLOCKCALI_LOW_LIMIT_FAST : R/W; bitpos: [31:8]; default: 266;
|
||||
* when rtc_cali_value lower than reg_low_limit,frequency of osc will decrease .
|
||||
*/
|
||||
#define RTCLOCKCALI_LOW_LIMIT_FAST 0x00FFFFFFU
|
||||
#define RTCLOCKCALI_LOW_LIMIT_FAST_M (RTCLOCKCALI_LOW_LIMIT_FAST_V << RTCLOCKCALI_LOW_LIMIT_FAST_S)
|
||||
#define RTCLOCKCALI_LOW_LIMIT_FAST_V 0x00FFFFFFU
|
||||
#define RTCLOCKCALI_LOW_LIMIT_FAST_S 8
|
||||
|
||||
/** RTCLOCKCALI_DFREQ_CONF2_REG register
|
||||
* RTC DFREQ CONF2
|
||||
*/
|
||||
#define RTCLOCKCALI_DFREQ_CONF2_REG (DR_REG_RTCLOCKCALI_BASE + 0x28)
|
||||
/** RTCLOCKCALI_DREQ_UPDATE : WT; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTCLOCKCALI_DREQ_UPDATE (BIT(0))
|
||||
#define RTCLOCKCALI_DREQ_UPDATE_M (RTCLOCKCALI_DREQ_UPDATE_V << RTCLOCKCALI_DREQ_UPDATE_S)
|
||||
#define RTCLOCKCALI_DREQ_UPDATE_V 0x00000001U
|
||||
#define RTCLOCKCALI_DREQ_UPDATE_S 0
|
||||
/** RTCLOCKCALI_DREQ_INIT_32K : WT; bitpos: [2]; default: 0;
|
||||
* Initialize the vaule of 32K OSC dfreq setting.
|
||||
*/
|
||||
#define RTCLOCKCALI_DREQ_INIT_32K (BIT(2))
|
||||
#define RTCLOCKCALI_DREQ_INIT_32K_M (RTCLOCKCALI_DREQ_INIT_32K_V << RTCLOCKCALI_DREQ_INIT_32K_S)
|
||||
#define RTCLOCKCALI_DREQ_INIT_32K_V 0x00000001U
|
||||
#define RTCLOCKCALI_DREQ_INIT_32K_S 2
|
||||
/** RTCLOCKCALI_DREQ_INIT_FOSC : WT; bitpos: [3]; default: 0;
|
||||
* Initialize the vaule of FOSC dfreq setting.
|
||||
*/
|
||||
#define RTCLOCKCALI_DREQ_INIT_FOSC (BIT(3))
|
||||
#define RTCLOCKCALI_DREQ_INIT_FOSC_M (RTCLOCKCALI_DREQ_INIT_FOSC_V << RTCLOCKCALI_DREQ_INIT_FOSC_S)
|
||||
#define RTCLOCKCALI_DREQ_INIT_FOSC_V 0x00000001U
|
||||
#define RTCLOCKCALI_DREQ_INIT_FOSC_S 3
|
||||
/** RTCLOCKCALI_DREQ_INIT_SOSC : WT; bitpos: [4]; default: 0;
|
||||
* Initialize the vaule of SOSC dfreq setting.
|
||||
*/
|
||||
#define RTCLOCKCALI_DREQ_INIT_SOSC (BIT(4))
|
||||
#define RTCLOCKCALI_DREQ_INIT_SOSC_M (RTCLOCKCALI_DREQ_INIT_SOSC_V << RTCLOCKCALI_DREQ_INIT_SOSC_S)
|
||||
#define RTCLOCKCALI_DREQ_INIT_SOSC_V 0x00000001U
|
||||
#define RTCLOCKCALI_DREQ_INIT_SOSC_S 4
|
||||
/** RTCLOCKCALI_32K_DFREQ_SEL : R/W; bitpos: [5]; default: 0;
|
||||
* 1:Frequency of 32k controlled by calibration module.0:Frequency of 32k controlled
|
||||
* by register from system-register bank
|
||||
*/
|
||||
#define RTCLOCKCALI_32K_DFREQ_SEL (BIT(5))
|
||||
#define RTCLOCKCALI_32K_DFREQ_SEL_M (RTCLOCKCALI_32K_DFREQ_SEL_V << RTCLOCKCALI_32K_DFREQ_SEL_S)
|
||||
#define RTCLOCKCALI_32K_DFREQ_SEL_V 0x00000001U
|
||||
#define RTCLOCKCALI_32K_DFREQ_SEL_S 5
|
||||
/** RTCLOCKCALI_FOSC_DFREQ_SEL : R/W; bitpos: [6]; default: 0;
|
||||
* 1:Frequency of FOSC controlled by calibration module.0:Frequency of FOSC controlled
|
||||
* by register from system-register bank
|
||||
*/
|
||||
#define RTCLOCKCALI_FOSC_DFREQ_SEL (BIT(6))
|
||||
#define RTCLOCKCALI_FOSC_DFREQ_SEL_M (RTCLOCKCALI_FOSC_DFREQ_SEL_V << RTCLOCKCALI_FOSC_DFREQ_SEL_S)
|
||||
#define RTCLOCKCALI_FOSC_DFREQ_SEL_V 0x00000001U
|
||||
#define RTCLOCKCALI_FOSC_DFREQ_SEL_S 6
|
||||
/** RTCLOCKCALI_SOSC_DFREQ_SEL : R/W; bitpos: [7]; default: 0;
|
||||
* 1:Frequency of SOSC controlled by calibration module.0:Frequency of SOSC controlled
|
||||
* by register from system-register bank
|
||||
*/
|
||||
#define RTCLOCKCALI_SOSC_DFREQ_SEL (BIT(7))
|
||||
#define RTCLOCKCALI_SOSC_DFREQ_SEL_M (RTCLOCKCALI_SOSC_DFREQ_SEL_V << RTCLOCKCALI_SOSC_DFREQ_SEL_S)
|
||||
#define RTCLOCKCALI_SOSC_DFREQ_SEL_V 0x00000001U
|
||||
#define RTCLOCKCALI_SOSC_DFREQ_SEL_S 7
|
||||
/** RTCLOCKCALI_FINE_STEP : R/W; bitpos: [15:8]; default: 1;
|
||||
* Frequncy fine step.
|
||||
*/
|
||||
#define RTCLOCKCALI_FINE_STEP 0x000000FFU
|
||||
#define RTCLOCKCALI_FINE_STEP_M (RTCLOCKCALI_FINE_STEP_V << RTCLOCKCALI_FINE_STEP_S)
|
||||
#define RTCLOCKCALI_FINE_STEP_V 0x000000FFU
|
||||
#define RTCLOCKCALI_FINE_STEP_S 8
|
||||
/** RTCLOCKCALI_COARSE_STEP_FAST : R/W; bitpos: [23:16]; default: 8;
|
||||
* Frequncy coarse step,use to decrease calibration time.
|
||||
*/
|
||||
#define RTCLOCKCALI_COARSE_STEP_FAST 0x000000FFU
|
||||
#define RTCLOCKCALI_COARSE_STEP_FAST_M (RTCLOCKCALI_COARSE_STEP_FAST_V << RTCLOCKCALI_COARSE_STEP_FAST_S)
|
||||
#define RTCLOCKCALI_COARSE_STEP_FAST_V 0x000000FFU
|
||||
#define RTCLOCKCALI_COARSE_STEP_FAST_S 16
|
||||
/** RTCLOCKCALI_COARSE_STEP_SLOW : R/W; bitpos: [31:24]; default: 8;
|
||||
* Frequncy coarse step,use to decrease calibration time.
|
||||
*/
|
||||
#define RTCLOCKCALI_COARSE_STEP_SLOW 0x000000FFU
|
||||
#define RTCLOCKCALI_COARSE_STEP_SLOW_M (RTCLOCKCALI_COARSE_STEP_SLOW_V << RTCLOCKCALI_COARSE_STEP_SLOW_S)
|
||||
#define RTCLOCKCALI_COARSE_STEP_SLOW_V 0x000000FFU
|
||||
#define RTCLOCKCALI_COARSE_STEP_SLOW_S 24
|
||||
|
||||
/** RTCLOCKCALI_CALI_EN_REG register
|
||||
* Configure register.
|
||||
*/
|
||||
#define RTCLOCKCALI_CALI_EN_REG (DR_REG_RTCLOCKCALI_BASE + 0x2c)
|
||||
/** RTCLOCKCALI_CALI_EN_32K : R/W; bitpos: [0]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
#define RTCLOCKCALI_CALI_EN_32K (BIT(0))
|
||||
#define RTCLOCKCALI_CALI_EN_32K_M (RTCLOCKCALI_CALI_EN_32K_V << RTCLOCKCALI_CALI_EN_32K_S)
|
||||
#define RTCLOCKCALI_CALI_EN_32K_V 0x00000001U
|
||||
#define RTCLOCKCALI_CALI_EN_32K_S 0
|
||||
/** RTCLOCKCALI_CALI_EN_FOSC : R/W; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTCLOCKCALI_CALI_EN_FOSC (BIT(1))
|
||||
#define RTCLOCKCALI_CALI_EN_FOSC_M (RTCLOCKCALI_CALI_EN_FOSC_V << RTCLOCKCALI_CALI_EN_FOSC_S)
|
||||
#define RTCLOCKCALI_CALI_EN_FOSC_V 0x00000001U
|
||||
#define RTCLOCKCALI_CALI_EN_FOSC_S 1
|
||||
/** RTCLOCKCALI_CALI_EN_SOSC : R/W; bitpos: [2]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTCLOCKCALI_CALI_EN_SOSC (BIT(2))
|
||||
#define RTCLOCKCALI_CALI_EN_SOSC_M (RTCLOCKCALI_CALI_EN_SOSC_V << RTCLOCKCALI_CALI_EN_SOSC_S)
|
||||
#define RTCLOCKCALI_CALI_EN_SOSC_V 0x00000001U
|
||||
#define RTCLOCKCALI_CALI_EN_SOSC_S 2
|
||||
|
||||
/** RTCLOCKCALI_DFREQ_VALUE_REG register
|
||||
* Configure register.
|
||||
*/
|
||||
#define RTCLOCKCALI_DFREQ_VALUE_REG (DR_REG_RTCLOCKCALI_BASE + 0x30)
|
||||
/** RTCLOCKCALI_DREQ_32K : RO; bitpos: [11:2]; default: 172;
|
||||
* The value of dfreq num of 32k.
|
||||
*/
|
||||
#define RTCLOCKCALI_DREQ_32K 0x000003FFU
|
||||
#define RTCLOCKCALI_DREQ_32K_M (RTCLOCKCALI_DREQ_32K_V << RTCLOCKCALI_DREQ_32K_S)
|
||||
#define RTCLOCKCALI_DREQ_32K_V 0x000003FFU
|
||||
#define RTCLOCKCALI_DREQ_32K_S 2
|
||||
/** RTCLOCKCALI_DREQ_FOSC : RO; bitpos: [21:12]; default: 172;
|
||||
* The value of dfreq num of FOSC.
|
||||
*/
|
||||
#define RTCLOCKCALI_DREQ_FOSC 0x000003FFU
|
||||
#define RTCLOCKCALI_DREQ_FOSC_M (RTCLOCKCALI_DREQ_FOSC_V << RTCLOCKCALI_DREQ_FOSC_S)
|
||||
#define RTCLOCKCALI_DREQ_FOSC_V 0x000003FFU
|
||||
#define RTCLOCKCALI_DREQ_FOSC_S 12
|
||||
/** RTCLOCKCALI_DREQ_SOSC : RO; bitpos: [31:22]; default: 172;
|
||||
* The value of dfreq num of SOSC.
|
||||
*/
|
||||
#define RTCLOCKCALI_DREQ_SOSC 0x000003FFU
|
||||
#define RTCLOCKCALI_DREQ_SOSC_M (RTCLOCKCALI_DREQ_SOSC_V << RTCLOCKCALI_DREQ_SOSC_S)
|
||||
#define RTCLOCKCALI_DREQ_SOSC_V 0x000003FFU
|
||||
#define RTCLOCKCALI_DREQ_SOSC_S 22
|
||||
|
||||
/** RTCLOCKCALI_BYPASS_REG register
|
||||
* Configure register.
|
||||
*/
|
||||
#define RTCLOCKCALI_BYPASS_REG (DR_REG_RTCLOCKCALI_BASE + 0x34)
|
||||
/** RTCLOCKCALI_HP_SLEEP_AUTOCALI : R/W; bitpos: [30]; default: 0;
|
||||
* 1:Chip begin to calibrating,when into hp_sleep.0:Disable this function.
|
||||
*/
|
||||
#define RTCLOCKCALI_HP_SLEEP_AUTOCALI (BIT(30))
|
||||
#define RTCLOCKCALI_HP_SLEEP_AUTOCALI_M (RTCLOCKCALI_HP_SLEEP_AUTOCALI_V << RTCLOCKCALI_HP_SLEEP_AUTOCALI_S)
|
||||
#define RTCLOCKCALI_HP_SLEEP_AUTOCALI_V 0x00000001U
|
||||
#define RTCLOCKCALI_HP_SLEEP_AUTOCALI_S 30
|
||||
/** RTCLOCKCALI_LP_SLEEP_AUTOCALI : R/W; bitpos: [31]; default: 0;
|
||||
* 1:Chip begin to calibrating,when into lp_sleep.0:Disable this function.
|
||||
*/
|
||||
#define RTCLOCKCALI_LP_SLEEP_AUTOCALI (BIT(31))
|
||||
#define RTCLOCKCALI_LP_SLEEP_AUTOCALI_M (RTCLOCKCALI_LP_SLEEP_AUTOCALI_V << RTCLOCKCALI_LP_SLEEP_AUTOCALI_S)
|
||||
#define RTCLOCKCALI_LP_SLEEP_AUTOCALI_V 0x00000001U
|
||||
#define RTCLOCKCALI_LP_SLEEP_AUTOCALI_S 31
|
||||
|
||||
/** RTCLOCKCALI_INT_RAW_REG register
|
||||
* Configure register.
|
||||
*/
|
||||
#define RTCLOCKCALI_INT_RAW_REG (DR_REG_RTCLOCKCALI_BASE + 0x38)
|
||||
/** RTCLOCKCALI_XTAL_TIMEOUT_INT_RAW : R/WTC/SS; bitpos: [29]; default: 0;
|
||||
* Indicate the xtal timeout once happend .
|
||||
*/
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_RAW (BIT(29))
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_RAW_M (RTCLOCKCALI_XTAL_TIMEOUT_INT_RAW_V << RTCLOCKCALI_XTAL_TIMEOUT_INT_RAW_S)
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_RAW_V 0x00000001U
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_RAW_S 29
|
||||
/** RTCLOCKCALI_CALI_TIMEOUT_INT_RAW : R/WTC/SS; bitpos: [30]; default: 0;
|
||||
* Indicate the calibration timeout once happend .
|
||||
*/
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_RAW (BIT(30))
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_RAW_M (RTCLOCKCALI_CALI_TIMEOUT_INT_RAW_V << RTCLOCKCALI_CALI_TIMEOUT_INT_RAW_S)
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_RAW_V 0x00000001U
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_RAW_S 30
|
||||
/** RTCLOCKCALI_CALI_DONE_INT_RAW : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* Indicate the finish of once calibration .
|
||||
*/
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_RAW (BIT(31))
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_RAW_M (RTCLOCKCALI_CALI_DONE_INT_RAW_V << RTCLOCKCALI_CALI_DONE_INT_RAW_S)
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_RAW_V 0x00000001U
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_RAW_S 31
|
||||
|
||||
/** RTCLOCKCALI_INT_ST_REG register
|
||||
* Interrupt state register.
|
||||
*/
|
||||
#define RTCLOCKCALI_INT_ST_REG (DR_REG_RTCLOCKCALI_BASE + 0x3c)
|
||||
/** RTCLOCKCALI_XTAL_TIMEOUT_INT_ST : RO; bitpos: [29]; default: 0;
|
||||
* Interrupt state register.
|
||||
*/
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_ST (BIT(29))
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_ST_M (RTCLOCKCALI_XTAL_TIMEOUT_INT_ST_V << RTCLOCKCALI_XTAL_TIMEOUT_INT_ST_S)
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_ST_V 0x00000001U
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_ST_S 29
|
||||
/** RTCLOCKCALI_CALI_TIMEOUT_INT_ST : RO; bitpos: [30]; default: 0;
|
||||
* Interrupt state register.
|
||||
*/
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_ST (BIT(30))
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_ST_M (RTCLOCKCALI_CALI_TIMEOUT_INT_ST_V << RTCLOCKCALI_CALI_TIMEOUT_INT_ST_S)
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_ST_V 0x00000001U
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_ST_S 30
|
||||
/** RTCLOCKCALI_CALI_DONE_INT_ST : RO; bitpos: [31]; default: 0;
|
||||
* Interrupt state register.
|
||||
*/
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_ST (BIT(31))
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_ST_M (RTCLOCKCALI_CALI_DONE_INT_ST_V << RTCLOCKCALI_CALI_DONE_INT_ST_S)
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_ST_V 0x00000001U
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_ST_S 31
|
||||
|
||||
/** RTCLOCKCALI_INT_ENA_REG register
|
||||
* Configure register.
|
||||
*/
|
||||
#define RTCLOCKCALI_INT_ENA_REG (DR_REG_RTCLOCKCALI_BASE + 0x40)
|
||||
/** RTCLOCKCALI_XTAL_TIMEOUT_INT_ENA : R/W; bitpos: [29]; default: 0;
|
||||
* Interrupt enable signal.
|
||||
*/
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_ENA (BIT(29))
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_ENA_M (RTCLOCKCALI_XTAL_TIMEOUT_INT_ENA_V << RTCLOCKCALI_XTAL_TIMEOUT_INT_ENA_S)
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_ENA_V 0x00000001U
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_ENA_S 29
|
||||
/** RTCLOCKCALI_CALI_TIMEOUT_INT_ENA : R/W; bitpos: [30]; default: 0;
|
||||
* Interrupt enable signal.
|
||||
*/
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_ENA (BIT(30))
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_ENA_M (RTCLOCKCALI_CALI_TIMEOUT_INT_ENA_V << RTCLOCKCALI_CALI_TIMEOUT_INT_ENA_S)
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_ENA_V 0x00000001U
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_ENA_S 30
|
||||
/** RTCLOCKCALI_CALI_DONE_INT_ENA : R/W; bitpos: [31]; default: 0;
|
||||
* Interrupt enable signal.
|
||||
*/
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_ENA (BIT(31))
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_ENA_M (RTCLOCKCALI_CALI_DONE_INT_ENA_V << RTCLOCKCALI_CALI_DONE_INT_ENA_S)
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_ENA_V 0x00000001U
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_ENA_S 31
|
||||
|
||||
/** RTCLOCKCALI_INT_CLR_REG register
|
||||
* Configure register.
|
||||
*/
|
||||
#define RTCLOCKCALI_INT_CLR_REG (DR_REG_RTCLOCKCALI_BASE + 0x44)
|
||||
/** RTCLOCKCALI_XTAL_TIMEOUT_INT_CLR : WT; bitpos: [29]; default: 0;
|
||||
* interrupt clear signal.
|
||||
*/
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_CLR (BIT(29))
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_CLR_M (RTCLOCKCALI_XTAL_TIMEOUT_INT_CLR_V << RTCLOCKCALI_XTAL_TIMEOUT_INT_CLR_S)
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_CLR_V 0x00000001U
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_INT_CLR_S 29
|
||||
/** RTCLOCKCALI_CALI_TIMEOUT_INT_CLR : WT; bitpos: [30]; default: 0;
|
||||
* interrupt clear signal.
|
||||
*/
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_CLR (BIT(30))
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_CLR_M (RTCLOCKCALI_CALI_TIMEOUT_INT_CLR_V << RTCLOCKCALI_CALI_TIMEOUT_INT_CLR_S)
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_CLR_V 0x00000001U
|
||||
#define RTCLOCKCALI_CALI_TIMEOUT_INT_CLR_S 30
|
||||
/** RTCLOCKCALI_CALI_DONE_INT_CLR : WT; bitpos: [31]; default: 0;
|
||||
* interrupt clear signal.
|
||||
*/
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_CLR (BIT(31))
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_CLR_M (RTCLOCKCALI_CALI_DONE_INT_CLR_V << RTCLOCKCALI_CALI_DONE_INT_CLR_S)
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_CLR_V 0x00000001U
|
||||
#define RTCLOCKCALI_CALI_DONE_INT_CLR_S 31
|
||||
|
||||
/** RTCLOCKCALI_TIMEOUT_REG register
|
||||
* Configure register.
|
||||
*/
|
||||
#define RTCLOCKCALI_TIMEOUT_REG (DR_REG_RTCLOCKCALI_BASE + 0x48)
|
||||
/** RTCLOCKCALI_TIMEOUT_TARGET : R/W; bitpos: [29:0]; default: 0;
|
||||
* use to setting max calibration time .
|
||||
*/
|
||||
#define RTCLOCKCALI_TIMEOUT_TARGET 0x3FFFFFFFU
|
||||
#define RTCLOCKCALI_TIMEOUT_TARGET_M (RTCLOCKCALI_TIMEOUT_TARGET_V << RTCLOCKCALI_TIMEOUT_TARGET_S)
|
||||
#define RTCLOCKCALI_TIMEOUT_TARGET_V 0x3FFFFFFFU
|
||||
#define RTCLOCKCALI_TIMEOUT_TARGET_S 0
|
||||
/** RTCLOCKCALI_TIMEOUT_EN : R/W; bitpos: [31]; default: 0;
|
||||
* use to enable calibration time-out function ,the calibration force stopping,when
|
||||
* timeout.
|
||||
*/
|
||||
#define RTCLOCKCALI_TIMEOUT_EN (BIT(31))
|
||||
#define RTCLOCKCALI_TIMEOUT_EN_M (RTCLOCKCALI_TIMEOUT_EN_V << RTCLOCKCALI_TIMEOUT_EN_S)
|
||||
#define RTCLOCKCALI_TIMEOUT_EN_V 0x00000001U
|
||||
#define RTCLOCKCALI_TIMEOUT_EN_S 31
|
||||
|
||||
/** RTCLOCKCALI_XTAL_TIMEOUT_REG register
|
||||
* Configure register.
|
||||
*/
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_REG (DR_REG_RTCLOCKCALI_BASE + 0x4c)
|
||||
/** RTCLOCKCALI_XTAL_TIMEOUT_CNT_TARGET : R/W; bitpos: [29:14]; default: 65535;
|
||||
* use to setting max xtal monitor time .
|
||||
*/
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_CNT_TARGET 0x0000FFFFU
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_CNT_TARGET_M (RTCLOCKCALI_XTAL_TIMEOUT_CNT_TARGET_V << RTCLOCKCALI_XTAL_TIMEOUT_CNT_TARGET_S)
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_CNT_TARGET_V 0x0000FFFFU
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_CNT_TARGET_S 14
|
||||
/** RTCLOCKCALI_XTAL_TIMEOUT_CNT_STOP : WT; bitpos: [30]; default: 0;
|
||||
* use to stop XTAL time-out function ,timeout happened when xtal invalid.
|
||||
*/
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_CNT_STOP (BIT(30))
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_CNT_STOP_M (RTCLOCKCALI_XTAL_TIMEOUT_CNT_STOP_V << RTCLOCKCALI_XTAL_TIMEOUT_CNT_STOP_S)
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_CNT_STOP_V 0x00000001U
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_CNT_STOP_S 30
|
||||
/** RTCLOCKCALI_XTAL_TIMEOUT_CNT_START : WT; bitpos: [31]; default: 0;
|
||||
* use to start XTAL time-out function ,timeout happened when xtal invalid.
|
||||
*/
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_CNT_START (BIT(31))
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_CNT_START_M (RTCLOCKCALI_XTAL_TIMEOUT_CNT_START_V << RTCLOCKCALI_XTAL_TIMEOUT_CNT_START_S)
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_CNT_START_V 0x00000001U
|
||||
#define RTCLOCKCALI_XTAL_TIMEOUT_CNT_START_S 31
|
||||
|
||||
/** RTCLOCKCALI_DATE_REG register
|
||||
* Configure register.
|
||||
*/
|
||||
#define RTCLOCKCALI_DATE_REG (DR_REG_RTCLOCKCALI_BASE + 0x3fc)
|
||||
/** RTCLOCKCALI_RTCLOCKCALI_DATE : R/W; bitpos: [30:0]; default: 35660384;
|
||||
* need_des
|
||||
*/
|
||||
#define RTCLOCKCALI_RTCLOCKCALI_DATE 0x7FFFFFFFU
|
||||
#define RTCLOCKCALI_RTCLOCKCALI_DATE_M (RTCLOCKCALI_RTCLOCKCALI_DATE_V << RTCLOCKCALI_RTCLOCKCALI_DATE_S)
|
||||
#define RTCLOCKCALI_RTCLOCKCALI_DATE_V 0x7FFFFFFFU
|
||||
#define RTCLOCKCALI_RTCLOCKCALI_DATE_S 0
|
||||
/** RTCLOCKCALI_CLK_EN : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
#define RTCLOCKCALI_CLK_EN (BIT(31))
|
||||
#define RTCLOCKCALI_CLK_EN_M (RTCLOCKCALI_CLK_EN_V << RTCLOCKCALI_CLK_EN_S)
|
||||
#define RTCLOCKCALI_CLK_EN_V 0x00000001U
|
||||
#define RTCLOCKCALI_CLK_EN_S 31
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
520
components/soc/esp32p4/include/soc/rtclockcali_struct.h
Normal file
520
components/soc/esp32p4/include/soc/rtclockcali_struct.h
Normal file
@ -0,0 +1,520 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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_cali_timer register
|
||||
* need_des
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_target : R/W; bitpos: [29:0]; default: 4095;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t timer_target:30;
|
||||
/** timer_stop : WT; bitpos: [30]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t timer_stop:1;
|
||||
/** timer_start : WT; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t timer_start:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_lp_cali_timer_reg_t;
|
||||
|
||||
/** Type of dfreq_high_limit_slow register
|
||||
* RTC slow clock dfreq high limit.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** coarse_limit_diff_slow : R/W; bitpos: [7:0]; default: 16;
|
||||
* When rtc_cali_value upper/lower than reg_high/low_limit +/-
|
||||
* reg_coarse_limit_diff,the step of dfreq,will use reg_coarse_step.
|
||||
*/
|
||||
uint32_t coarse_limit_diff_slow:8;
|
||||
/** high_limit_slow : R/W; bitpos: [31:8]; default: 267;
|
||||
* when rtc_cali_value upper than reg_high_limit,frequency of osc will increase .
|
||||
*/
|
||||
uint32_t high_limit_slow:24;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_dfreq_high_limit_slow_reg_t;
|
||||
|
||||
/** Type of dfreq_low_limit_slow register
|
||||
* RTC slow clock dfreq low limit.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:8;
|
||||
/** low_limit_slow : R/W; bitpos: [31:8]; default: 266;
|
||||
* when rtc_cali_value lower than reg_low_limit,frequency of osc will decrease .
|
||||
*/
|
||||
uint32_t low_limit_slow:24;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_dfreq_low_limit_slow_reg_t;
|
||||
|
||||
/** Type of dfreq_high_limit_fast register
|
||||
* RTC fast clock dfreq high limit.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** coarse_limit_diff_fast : R/W; bitpos: [7:0]; default: 16;
|
||||
* When rtc_cali_value upper/lower than reg_high/low_limit +/-
|
||||
* reg_coarse_limit_diff,the step of dfreq,will use reg_coarse_step.
|
||||
*/
|
||||
uint32_t coarse_limit_diff_fast:8;
|
||||
/** high_limit_fast : R/W; bitpos: [31:8]; default: 267;
|
||||
* when rtc_cali_value upper than reg_high_limit,frequency of osc will increase .
|
||||
*/
|
||||
uint32_t high_limit_fast:24;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_dfreq_high_limit_fast_reg_t;
|
||||
|
||||
/** Type of dfreq_low_limit_fast register
|
||||
* RTC fast clock dfreq low limit.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:8;
|
||||
/** low_limit_fast : R/W; bitpos: [31:8]; default: 266;
|
||||
* when rtc_cali_value lower than reg_low_limit,frequency of osc will decrease .
|
||||
*/
|
||||
uint32_t low_limit_fast:24;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_dfreq_low_limit_fast_reg_t;
|
||||
|
||||
/** Type of dfreq_conf2 register
|
||||
* RTC DFREQ CONF2
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dreq_update : WT; bitpos: [0]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t dreq_update:1;
|
||||
uint32_t reserved_1:1;
|
||||
/** dreq_init_32k : WT; bitpos: [2]; default: 0;
|
||||
* Initialize the vaule of 32K OSC dfreq setting.
|
||||
*/
|
||||
uint32_t dreq_init_32k:1;
|
||||
/** dreq_init_fosc : WT; bitpos: [3]; default: 0;
|
||||
* Initialize the vaule of FOSC dfreq setting.
|
||||
*/
|
||||
uint32_t dreq_init_fosc:1;
|
||||
/** dreq_init_sosc : WT; bitpos: [4]; default: 0;
|
||||
* Initialize the vaule of SOSC dfreq setting.
|
||||
*/
|
||||
uint32_t dreq_init_sosc:1;
|
||||
/** rc32k_dfreq_sel : R/W; bitpos: [5]; default: 0;
|
||||
* 1:Frequency of 32k controlled by calibration module.0:Frequency of 32k controlled
|
||||
* by register from system-register bank
|
||||
*/
|
||||
uint32_t rc32k_dfreq_sel:1;
|
||||
/** fosc_dfreq_sel : R/W; bitpos: [6]; default: 0;
|
||||
* 1:Frequency of FOSC controlled by calibration module.0:Frequency of FOSC controlled
|
||||
* by register from system-register bank
|
||||
*/
|
||||
uint32_t fosc_dfreq_sel:1;
|
||||
/** sosc_dfreq_sel : R/W; bitpos: [7]; default: 0;
|
||||
* 1:Frequency of SOSC controlled by calibration module.0:Frequency of SOSC controlled
|
||||
* by register from system-register bank
|
||||
*/
|
||||
uint32_t sosc_dfreq_sel:1;
|
||||
/** fine_step : R/W; bitpos: [15:8]; default: 1;
|
||||
* Frequncy fine step.
|
||||
*/
|
||||
uint32_t fine_step:8;
|
||||
/** coarse_step_fast : R/W; bitpos: [23:16]; default: 8;
|
||||
* Frequncy coarse step,use to decrease calibration time.
|
||||
*/
|
||||
uint32_t coarse_step_fast:8;
|
||||
/** coarse_step_slow : R/W; bitpos: [31:24]; default: 8;
|
||||
* Frequncy coarse step,use to decrease calibration time.
|
||||
*/
|
||||
uint32_t coarse_step_slow:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_dfreq_conf2_reg_t;
|
||||
|
||||
/** Type of cali_en register
|
||||
* Configure register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** cali_en_32k : R/W; bitpos: [0]; default: 1;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t cali_en_32k:1;
|
||||
/** cali_en_fosc : R/W; bitpos: [1]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t cali_en_fosc:1;
|
||||
/** cali_en_sosc : R/W; bitpos: [2]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t cali_en_sosc:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_cali_en_reg_t;
|
||||
|
||||
/** Type of dfreq_value register
|
||||
* Configure register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:2;
|
||||
/** dreq_32k : RO; bitpos: [11:2]; default: 172;
|
||||
* The value of dfreq num of 32k.
|
||||
*/
|
||||
uint32_t dreq_32k:10;
|
||||
/** dreq_fosc : RO; bitpos: [21:12]; default: 172;
|
||||
* The value of dfreq num of FOSC.
|
||||
*/
|
||||
uint32_t dreq_fosc:10;
|
||||
/** dreq_sosc : RO; bitpos: [31:22]; default: 172;
|
||||
* The value of dfreq num of SOSC.
|
||||
*/
|
||||
uint32_t dreq_sosc:10;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_dfreq_value_reg_t;
|
||||
|
||||
/** Type of bypass register
|
||||
* Configure register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:30;
|
||||
/** hp_sleep_autocali : R/W; bitpos: [30]; default: 0;
|
||||
* 1:Chip begin to calibrating,when into hp_sleep.0:Disable this function.
|
||||
*/
|
||||
uint32_t hp_sleep_autocali:1;
|
||||
/** lp_sleep_autocali : R/W; bitpos: [31]; default: 0;
|
||||
* 1:Chip begin to calibrating,when into lp_sleep.0:Disable this function.
|
||||
*/
|
||||
uint32_t lp_sleep_autocali:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_bypass_reg_t;
|
||||
|
||||
/** Type of int_raw register
|
||||
* Configure register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:29;
|
||||
/** xtal_timeout_int_raw : R/WTC/SS; bitpos: [29]; default: 0;
|
||||
* Indicate the xtal timeout once happend .
|
||||
*/
|
||||
uint32_t xtal_timeout_int_raw:1;
|
||||
/** cali_timeout_int_raw : R/WTC/SS; bitpos: [30]; default: 0;
|
||||
* Indicate the calibration timeout once happend .
|
||||
*/
|
||||
uint32_t cali_timeout_int_raw:1;
|
||||
/** cali_done_int_raw : R/WTC/SS; bitpos: [31]; default: 0;
|
||||
* Indicate the finish of once calibration .
|
||||
*/
|
||||
uint32_t cali_done_int_raw:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_int_raw_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* Interrupt state register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:29;
|
||||
/** xtal_timeout_int_st : RO; bitpos: [29]; default: 0;
|
||||
* Interrupt state register.
|
||||
*/
|
||||
uint32_t xtal_timeout_int_st:1;
|
||||
/** cali_timeout_int_st : RO; bitpos: [30]; default: 0;
|
||||
* Interrupt state register.
|
||||
*/
|
||||
uint32_t cali_timeout_int_st:1;
|
||||
/** cali_done_int_st : RO; bitpos: [31]; default: 0;
|
||||
* Interrupt state register.
|
||||
*/
|
||||
uint32_t cali_done_int_st:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_int_st_reg_t;
|
||||
|
||||
/** Type of int_ena register
|
||||
* Configure register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:29;
|
||||
/** xtal_timeout_int_ena : R/W; bitpos: [29]; default: 0;
|
||||
* Interrupt enable signal.
|
||||
*/
|
||||
uint32_t xtal_timeout_int_ena:1;
|
||||
/** cali_timeout_int_ena : R/W; bitpos: [30]; default: 0;
|
||||
* Interrupt enable signal.
|
||||
*/
|
||||
uint32_t cali_timeout_int_ena:1;
|
||||
/** cali_done_int_ena : R/W; bitpos: [31]; default: 0;
|
||||
* Interrupt enable signal.
|
||||
*/
|
||||
uint32_t cali_done_int_ena:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_int_ena_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* Configure register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:29;
|
||||
/** xtal_timeout_int_clr : WT; bitpos: [29]; default: 0;
|
||||
* interrupt clear signal.
|
||||
*/
|
||||
uint32_t xtal_timeout_int_clr:1;
|
||||
/** cali_timeout_int_clr : WT; bitpos: [30]; default: 0;
|
||||
* interrupt clear signal.
|
||||
*/
|
||||
uint32_t cali_timeout_int_clr:1;
|
||||
/** cali_done_int_clr : WT; bitpos: [31]; default: 0;
|
||||
* interrupt clear signal.
|
||||
*/
|
||||
uint32_t cali_done_int_clr:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_int_clr_reg_t;
|
||||
|
||||
/** Type of timeout register
|
||||
* Configure register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timeout_target : R/W; bitpos: [29:0]; default: 0;
|
||||
* use to setting max calibration time .
|
||||
*/
|
||||
uint32_t timeout_target:30;
|
||||
uint32_t reserved_30:1;
|
||||
/** timeout_en : R/W; bitpos: [31]; default: 0;
|
||||
* use to enable calibration time-out function ,the calibration force stopping,when
|
||||
* timeout.
|
||||
*/
|
||||
uint32_t timeout_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_timeout_reg_t;
|
||||
|
||||
/** Type of xtal_timeout register
|
||||
* Configure register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:14;
|
||||
/** xtal_timeout_cnt_target : R/W; bitpos: [29:14]; default: 65535;
|
||||
* use to setting max xtal monitor time .
|
||||
*/
|
||||
uint32_t xtal_timeout_cnt_target:16;
|
||||
/** xtal_timeout_cnt_stop : WT; bitpos: [30]; default: 0;
|
||||
* use to stop XTAL time-out function ,timeout happened when xtal invalid.
|
||||
*/
|
||||
uint32_t xtal_timeout_cnt_stop:1;
|
||||
/** xtal_timeout_cnt_start : WT; bitpos: [31]; default: 0;
|
||||
* use to start XTAL time-out function ,timeout happened when xtal invalid.
|
||||
*/
|
||||
uint32_t xtal_timeout_cnt_start:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_xtal_timeout_reg_t;
|
||||
|
||||
/** Type of date register
|
||||
* Configure register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rtclockcali_date : R/W; bitpos: [30:0]; default: 35660384;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t rtclockcali_date:31;
|
||||
/** clk_en : R/W; bitpos: [31]; default: 0;
|
||||
* need_des
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_date_reg_t;
|
||||
|
||||
|
||||
/** Group: RTC CALI Control and configuration registers */
|
||||
/** Type of rtccalicfg_slow register
|
||||
* RTC calibration configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:12;
|
||||
/** rtc_cali_start_cycling_slow : R/W; bitpos: [12]; default: 1;
|
||||
* 0: one-shot frequency calculation,1: periodic frequency calculation,
|
||||
*/
|
||||
uint32_t rtc_cali_start_cycling_slow:1;
|
||||
/** rtc_cali_clk_sel_slow : R/W; bitpos: [14:13]; default: 0;
|
||||
* 0:rtc slow clock. 1:clk_8m, 2:xtal_32k.
|
||||
*/
|
||||
uint32_t rtc_cali_clk_sel_slow:2;
|
||||
/** rtc_cali_rdy_slow : RO; bitpos: [15]; default: 0;
|
||||
* indicate one-shot frequency calculation is done.
|
||||
*/
|
||||
uint32_t rtc_cali_rdy_slow:1;
|
||||
/** rtc_cali_max_slow : R/W; bitpos: [30:16]; default: 1;
|
||||
* Configure the time to calculate RTC slow clock's frequency.
|
||||
*/
|
||||
uint32_t rtc_cali_max_slow:15;
|
||||
/** rtc_cali_start_slow : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to start one-shot frequency calculation.
|
||||
*/
|
||||
uint32_t rtc_cali_start_slow:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_rtccalicfg_slow_reg_t;
|
||||
|
||||
/** Type of rtccalicfg_fast register
|
||||
* RTC calibration configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:4;
|
||||
/** fosc_div_num : R/W; bitpos: [11:4]; default: 0;
|
||||
* fosc clock divider number
|
||||
*/
|
||||
uint32_t fosc_div_num:8;
|
||||
/** rtc_cali_start_cycling_fast : R/W; bitpos: [12]; default: 1;
|
||||
* 0: one-shot frequency calculation,1: periodic frequency calculation,
|
||||
*/
|
||||
uint32_t rtc_cali_start_cycling_fast:1;
|
||||
/** rtc_cali_clk_sel_fast : R/W; bitpos: [14:13]; default: 0;
|
||||
* 0:rtc slow clock. 1:clk_8m, 2:xtal_32k.
|
||||
*/
|
||||
uint32_t rtc_cali_clk_sel_fast:2;
|
||||
/** rtc_cali_rdy_fast : RO; bitpos: [15]; default: 0;
|
||||
* indicate one-shot frequency calculation is done.
|
||||
*/
|
||||
uint32_t rtc_cali_rdy_fast:1;
|
||||
/** rtc_cali_max_fast : R/W; bitpos: [30:16]; default: 1;
|
||||
* Configure the time to calculate RTC slow clock's frequency.
|
||||
*/
|
||||
uint32_t rtc_cali_max_fast:15;
|
||||
/** rtc_cali_start_fast : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to start one-shot frequency calculation.
|
||||
*/
|
||||
uint32_t rtc_cali_start_fast:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_rtccalicfg_fast_reg_t;
|
||||
|
||||
/** Type of rtccalicfg1_slow register
|
||||
* RTC calibration configure1 register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rtc_cali_cycling_data_vld_slow : RO; bitpos: [0]; default: 0;
|
||||
* indicate periodic frequency calculation is done.
|
||||
*/
|
||||
uint32_t rtc_cali_cycling_data_vld_slow:1;
|
||||
uint32_t reserved_1:6;
|
||||
/** rtc_cali_value_slow : RO; bitpos: [31:7]; default: 0;
|
||||
* When one-shot or periodic frequency calculation is done, read this value to
|
||||
* calculate RTC slow clock's frequency.
|
||||
*/
|
||||
uint32_t rtc_cali_value_slow:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_rtccalicfg1_slow_reg_t;
|
||||
|
||||
/** Type of rtccalicfg1_fast register
|
||||
* RTC calibration configure1 register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rtc_cali_cycling_data_vld_fast : RO; bitpos: [0]; default: 0;
|
||||
* indicate periodic frequency calculation is done.
|
||||
*/
|
||||
uint32_t rtc_cali_cycling_data_vld_fast:1;
|
||||
uint32_t reserved_1:6;
|
||||
/** rtc_cali_value_fast : RO; bitpos: [31:7]; default: 0;
|
||||
* When one-shot or periodic frequency calculation is done, read this value to
|
||||
* calculate RTC slow clock's frequency.
|
||||
*/
|
||||
uint32_t rtc_cali_value_fast:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_rtccalicfg1_fast_reg_t;
|
||||
|
||||
/** Type of rtccalicfg2 register
|
||||
* Timer group calibration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rtc_cali_timeout : RO; bitpos: [0]; default: 0;
|
||||
* RTC calibration timeout indicator
|
||||
*/
|
||||
uint32_t rtc_cali_timeout:1;
|
||||
uint32_t reserved_1:2;
|
||||
/** rtc_cali_timeout_rst_cnt : R/W; bitpos: [6:3]; default: 3;
|
||||
* Cycles that release calibration timeout reset
|
||||
*/
|
||||
uint32_t rtc_cali_timeout_rst_cnt:4;
|
||||
/** rtc_cali_timeout_thres : R/W; bitpos: [31:7]; default: 33554431;
|
||||
* Threshold value for the RTC calibration timer. If the calibration timer's value
|
||||
* exceeds this threshold, a timeout is triggered.
|
||||
*/
|
||||
uint32_t rtc_cali_timeout_thres:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} rtclockcali_rtccalicfg2_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile rtclockcali_lp_cali_timer_reg_t lp_cali_timer;
|
||||
volatile rtclockcali_rtccalicfg_slow_reg_t rtccalicfg_slow;
|
||||
volatile rtclockcali_rtccalicfg_fast_reg_t rtccalicfg_fast;
|
||||
volatile rtclockcali_rtccalicfg1_slow_reg_t rtccalicfg1_slow;
|
||||
volatile rtclockcali_rtccalicfg1_fast_reg_t rtccalicfg1_fast;
|
||||
volatile rtclockcali_rtccalicfg2_reg_t rtccalicfg2;
|
||||
volatile rtclockcali_dfreq_high_limit_slow_reg_t dfreq_high_limit_slow;
|
||||
volatile rtclockcali_dfreq_low_limit_slow_reg_t dfreq_low_limit_slow;
|
||||
volatile rtclockcali_dfreq_high_limit_fast_reg_t dfreq_high_limit_fast;
|
||||
volatile rtclockcali_dfreq_low_limit_fast_reg_t dfreq_low_limit_fast;
|
||||
volatile rtclockcali_dfreq_conf2_reg_t dfreq_conf2;
|
||||
volatile rtclockcali_cali_en_reg_t cali_en;
|
||||
volatile rtclockcali_dfreq_value_reg_t dfreq_value;
|
||||
volatile rtclockcali_bypass_reg_t bypass;
|
||||
volatile rtclockcali_int_raw_reg_t int_raw;
|
||||
volatile rtclockcali_int_st_reg_t int_st;
|
||||
volatile rtclockcali_int_ena_reg_t int_ena;
|
||||
volatile rtclockcali_int_clr_reg_t int_clr;
|
||||
volatile rtclockcali_timeout_reg_t timeout;
|
||||
volatile rtclockcali_xtal_timeout_reg_t xtal_timeout;
|
||||
uint32_t reserved_050[235];
|
||||
volatile rtclockcali_date_reg_t date;
|
||||
} rtclockcali_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(rtclockcali_dev_t) == 0x400, "Invalid size of rtclockcali_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
1498
components/soc/esp32p4/include/soc/sdmmc_reg.h
Normal file
1498
components/soc/esp32p4/include/soc/sdmmc_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1456
components/soc/esp32p4/include/soc/sdmmc_struct.h
Normal file
1456
components/soc/esp32p4/include/soc/sdmmc_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
148
components/soc/esp32p4/include/soc/sha_reg.h
Normal file
148
components/soc/esp32p4/include/soc/sha_reg.h
Normal file
@ -0,0 +1,148 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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
|
||||
|
||||
/** SHA_MODE_REG register
|
||||
* Initial configuration register.
|
||||
*/
|
||||
#define SHA_MODE_REG (DR_REG_SHA_BASE + 0x0)
|
||||
/** SHA_MODE : R/W; bitpos: [2:0]; default: 0;
|
||||
* Sha mode.
|
||||
*/
|
||||
#define SHA_MODE 0x00000007U
|
||||
#define SHA_MODE_M (SHA_MODE_V << SHA_MODE_S)
|
||||
#define SHA_MODE_V 0x00000007U
|
||||
#define SHA_MODE_S 0
|
||||
|
||||
/** SHA_DMA_BLOCK_NUM_REG register
|
||||
* DMA configuration register 0.
|
||||
*/
|
||||
#define SHA_DMA_BLOCK_NUM_REG (DR_REG_SHA_BASE + 0xc)
|
||||
/** SHA_DMA_BLOCK_NUM : R/W; bitpos: [5:0]; default: 0;
|
||||
* Dma-sha block number.
|
||||
*/
|
||||
#define SHA_DMA_BLOCK_NUM 0x0000003FU
|
||||
#define SHA_DMA_BLOCK_NUM_M (SHA_DMA_BLOCK_NUM_V << SHA_DMA_BLOCK_NUM_S)
|
||||
#define SHA_DMA_BLOCK_NUM_V 0x0000003FU
|
||||
#define SHA_DMA_BLOCK_NUM_S 0
|
||||
|
||||
/** SHA_START_REG register
|
||||
* Typical SHA configuration register 0.
|
||||
*/
|
||||
#define SHA_START_REG (DR_REG_SHA_BASE + 0x10)
|
||||
/** SHA_START : RO; bitpos: [31:1]; default: 0;
|
||||
* Reserved.
|
||||
*/
|
||||
#define SHA_START 0x7FFFFFFFU
|
||||
#define SHA_START_M (SHA_START_V << SHA_START_S)
|
||||
#define SHA_START_V 0x7FFFFFFFU
|
||||
#define SHA_START_S 1
|
||||
|
||||
/** SHA_CONTINUE_REG register
|
||||
* Typical SHA configuration register 1.
|
||||
*/
|
||||
#define SHA_CONTINUE_REG (DR_REG_SHA_BASE + 0x14)
|
||||
/** SHA_CONTINUE : RO; bitpos: [31:1]; default: 0;
|
||||
* Reserved.
|
||||
*/
|
||||
#define SHA_CONTINUE 0x7FFFFFFFU
|
||||
#define SHA_CONTINUE_M (SHA_CONTINUE_V << SHA_CONTINUE_S)
|
||||
#define SHA_CONTINUE_V 0x7FFFFFFFU
|
||||
#define SHA_CONTINUE_S 1
|
||||
|
||||
/** SHA_BUSY_REG register
|
||||
* Busy register.
|
||||
*/
|
||||
#define SHA_BUSY_REG (DR_REG_SHA_BASE + 0x18)
|
||||
/** SHA_BUSY_STATE : RO; bitpos: [0]; default: 0;
|
||||
* Sha busy state. 1'b0: idle. 1'b1: busy.
|
||||
*/
|
||||
#define SHA_BUSY_STATE (BIT(0))
|
||||
#define SHA_BUSY_STATE_M (SHA_BUSY_STATE_V << SHA_BUSY_STATE_S)
|
||||
#define SHA_BUSY_STATE_V 0x00000001U
|
||||
#define SHA_BUSY_STATE_S 0
|
||||
|
||||
/** SHA_DMA_START_REG register
|
||||
* DMA configuration register 1.
|
||||
*/
|
||||
#define SHA_DMA_START_REG (DR_REG_SHA_BASE + 0x1c)
|
||||
/** SHA_DMA_START : WO; bitpos: [0]; default: 0;
|
||||
* Start dma-sha.
|
||||
*/
|
||||
#define SHA_DMA_START (BIT(0))
|
||||
#define SHA_DMA_START_M (SHA_DMA_START_V << SHA_DMA_START_S)
|
||||
#define SHA_DMA_START_V 0x00000001U
|
||||
#define SHA_DMA_START_S 0
|
||||
|
||||
/** SHA_DMA_CONTINUE_REG register
|
||||
* DMA configuration register 2.
|
||||
*/
|
||||
#define SHA_DMA_CONTINUE_REG (DR_REG_SHA_BASE + 0x20)
|
||||
/** SHA_DMA_CONTINUE : WO; bitpos: [0]; default: 0;
|
||||
* Continue dma-sha.
|
||||
*/
|
||||
#define SHA_DMA_CONTINUE (BIT(0))
|
||||
#define SHA_DMA_CONTINUE_M (SHA_DMA_CONTINUE_V << SHA_DMA_CONTINUE_S)
|
||||
#define SHA_DMA_CONTINUE_V 0x00000001U
|
||||
#define SHA_DMA_CONTINUE_S 0
|
||||
|
||||
/** SHA_CLEAR_IRQ_REG register
|
||||
* Interrupt clear register.
|
||||
*/
|
||||
#define SHA_CLEAR_IRQ_REG (DR_REG_SHA_BASE + 0x24)
|
||||
/** SHA_CLEAR_INTERRUPT : WO; bitpos: [0]; default: 0;
|
||||
* Clear sha interrupt.
|
||||
*/
|
||||
#define SHA_CLEAR_INTERRUPT (BIT(0))
|
||||
#define SHA_CLEAR_INTERRUPT_M (SHA_CLEAR_INTERRUPT_V << SHA_CLEAR_INTERRUPT_S)
|
||||
#define SHA_CLEAR_INTERRUPT_V 0x00000001U
|
||||
#define SHA_CLEAR_INTERRUPT_S 0
|
||||
|
||||
/** SHA_IRQ_ENA_REG register
|
||||
* Interrupt enable register.
|
||||
*/
|
||||
#define SHA_IRQ_ENA_REG (DR_REG_SHA_BASE + 0x28)
|
||||
/** SHA_INTERRUPT_ENA : R/W; bitpos: [0]; default: 0;
|
||||
* Sha interrupt enable register. 1'b0: disable(default). 1'b1: enable.
|
||||
*/
|
||||
#define SHA_INTERRUPT_ENA (BIT(0))
|
||||
#define SHA_INTERRUPT_ENA_M (SHA_INTERRUPT_ENA_V << SHA_INTERRUPT_ENA_S)
|
||||
#define SHA_INTERRUPT_ENA_V 0x00000001U
|
||||
#define SHA_INTERRUPT_ENA_S 0
|
||||
|
||||
/** SHA_DATE_REG register
|
||||
* Date register.
|
||||
*/
|
||||
#define SHA_DATE_REG (DR_REG_SHA_BASE + 0x2c)
|
||||
/** SHA_DATE : R/W; bitpos: [29:0]; default: 538972713;
|
||||
* Sha date information/ sha version information.
|
||||
*/
|
||||
#define SHA_DATE 0x3FFFFFFFU
|
||||
#define SHA_DATE_M (SHA_DATE_V << SHA_DATE_S)
|
||||
#define SHA_DATE_V 0x3FFFFFFFU
|
||||
#define SHA_DATE_S 0
|
||||
|
||||
/** SHA_H_MEM register
|
||||
* Sha H memory which contains intermediate hash or finial hash.
|
||||
*/
|
||||
#define SHA_H_MEM (DR_REG_SHA_BASE + 0x40)
|
||||
#define SHA_H_MEM_SIZE_BYTES 64
|
||||
|
||||
/** SHA_M_MEM register
|
||||
* Sha M memory which contains message.
|
||||
*/
|
||||
#define SHA_M_MEM (DR_REG_SHA_BASE + 0x80)
|
||||
#define SHA_M_MEM_SIZE_BYTES 64
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
187
components/soc/esp32p4/include/soc/sha_struct.h
Normal file
187
components/soc/esp32p4/include/soc/sha_struct.h
Normal file
@ -0,0 +1,187 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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 mode register
|
||||
* Initial configuration register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** mode : R/W; bitpos: [2:0]; default: 0;
|
||||
* Sha mode.
|
||||
*/
|
||||
uint32_t mode:3;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} sha_mode_reg_t;
|
||||
|
||||
/** Type of dma_block_num register
|
||||
* DMA configuration register 0.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dma_block_num : R/W; bitpos: [5:0]; default: 0;
|
||||
* Dma-sha block number.
|
||||
*/
|
||||
uint32_t dma_block_num:6;
|
||||
uint32_t reserved_6:26;
|
||||
};
|
||||
uint32_t val;
|
||||
} sha_dma_block_num_reg_t;
|
||||
|
||||
/** Type of start register
|
||||
* Typical SHA configuration register 0.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:1;
|
||||
/** start : RO; bitpos: [31:1]; default: 0;
|
||||
* Reserved.
|
||||
*/
|
||||
uint32_t start:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} sha_start_reg_t;
|
||||
|
||||
/** Type of continue register
|
||||
* Typical SHA configuration register 1.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:1;
|
||||
/** continue : RO; bitpos: [31:1]; default: 0;
|
||||
* Reserved.
|
||||
*/
|
||||
uint32_t conti:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} sha_continue_reg_t;
|
||||
|
||||
/** Type of dma_start register
|
||||
* DMA configuration register 1.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dma_start : WO; bitpos: [0]; default: 0;
|
||||
* Start dma-sha.
|
||||
*/
|
||||
uint32_t dma_start:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} sha_dma_start_reg_t;
|
||||
|
||||
/** Type of dma_continue register
|
||||
* DMA configuration register 2.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** dma_continue : WO; bitpos: [0]; default: 0;
|
||||
* Continue dma-sha.
|
||||
*/
|
||||
uint32_t dma_continue:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} sha_dma_continue_reg_t;
|
||||
|
||||
|
||||
/** Group: Status Register */
|
||||
/** Type of busy register
|
||||
* Busy register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** busy_state : RO; bitpos: [0]; default: 0;
|
||||
* Sha busy state. 1'b0: idle. 1'b1: busy.
|
||||
*/
|
||||
uint32_t busy_state:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} sha_busy_reg_t;
|
||||
|
||||
|
||||
/** Group: Interrupt Register */
|
||||
/** Type of clear_irq register
|
||||
* Interrupt clear register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** clear_interrupt : WO; bitpos: [0]; default: 0;
|
||||
* Clear sha interrupt.
|
||||
*/
|
||||
uint32_t clear_interrupt:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} sha_clear_irq_reg_t;
|
||||
|
||||
/** Type of irq_ena register
|
||||
* Interrupt enable register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** interrupt_ena : R/W; bitpos: [0]; default: 0;
|
||||
* Sha interrupt enable register. 1'b0: disable(default). 1'b1: enable.
|
||||
*/
|
||||
uint32_t interrupt_ena:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} sha_irq_ena_reg_t;
|
||||
|
||||
|
||||
/** Group: Version Register */
|
||||
/** Type of date register
|
||||
* Date register.
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [29:0]; default: 538972713;
|
||||
* Sha date information/ sha version information.
|
||||
*/
|
||||
uint32_t date:30;
|
||||
uint32_t reserved_30:2;
|
||||
};
|
||||
uint32_t val;
|
||||
} sha_date_reg_t;
|
||||
|
||||
|
||||
/** Group: memory type */
|
||||
|
||||
typedef struct {
|
||||
volatile sha_mode_reg_t mode;
|
||||
uint32_t reserved_004[2];
|
||||
volatile sha_dma_block_num_reg_t dma_block_num;
|
||||
volatile sha_start_reg_t start;
|
||||
volatile sha_continue_reg_t conti;
|
||||
volatile sha_busy_reg_t busy;
|
||||
volatile sha_dma_start_reg_t dma_start;
|
||||
volatile sha_dma_continue_reg_t dma_continue;
|
||||
volatile sha_clear_irq_reg_t clear_irq;
|
||||
volatile sha_irq_ena_reg_t irq_ena;
|
||||
volatile sha_date_reg_t date;
|
||||
uint32_t reserved_030[4];
|
||||
volatile uint32_t h[16];
|
||||
volatile uint32_t m[16];
|
||||
} sha_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(sha_dev_t) == 0xc0, "Invalid size of sha_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
9192
components/soc/esp32p4/include/soc/soc_etm_reg.h
Normal file
9192
components/soc/esp32p4/include/soc/soc_etm_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
6602
components/soc/esp32p4/include/soc/soc_etm_struct.h
Normal file
6602
components/soc/esp32p4/include/soc/soc_etm_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
1481
components/soc/esp32p4/include/soc/spi1_mem_c_reg.h
Normal file
1481
components/soc/esp32p4/include/soc/spi1_mem_c_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1269
components/soc/esp32p4/include/soc/spi1_mem_c_struct.h
Normal file
1269
components/soc/esp32p4/include/soc/spi1_mem_c_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
1481
components/soc/esp32p4/include/soc/spi1_mem_s_reg.h
Normal file
1481
components/soc/esp32p4/include/soc/spi1_mem_s_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1269
components/soc/esp32p4/include/soc/spi1_mem_s_struct.h
Normal file
1269
components/soc/esp32p4/include/soc/spi1_mem_s_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
2116
components/soc/esp32p4/include/soc/spi2_reg_s.h
Normal file
2116
components/soc/esp32p4/include/soc/spi2_reg_s.h
Normal file
File diff suppressed because it is too large
Load Diff
1614
components/soc/esp32p4/include/soc/spi2_s_struct.h
Normal file
1614
components/soc/esp32p4/include/soc/spi2_s_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
1830
components/soc/esp32p4/include/soc/spi3_reg.h
Normal file
1830
components/soc/esp32p4/include/soc/spi3_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
1442
components/soc/esp32p4/include/soc/spi3_struct.h
Normal file
1442
components/soc/esp32p4/include/soc/spi3_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
2737
components/soc/esp32p4/include/soc/spi_mem_c_reg.h
Normal file
2737
components/soc/esp32p4/include/soc/spi_mem_c_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
2028
components/soc/esp32p4/include/soc/spi_mem_c_struct.h
Normal file
2028
components/soc/esp32p4/include/soc/spi_mem_c_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
3113
components/soc/esp32p4/include/soc/spi_mem_s_reg.h
Normal file
3113
components/soc/esp32p4/include/soc/spi_mem_s_reg.h
Normal file
File diff suppressed because it is too large
Load Diff
2296
components/soc/esp32p4/include/soc/spi_mem_s_struct.h
Normal file
2296
components/soc/esp32p4/include/soc/spi_mem_s_struct.h
Normal file
File diff suppressed because it is too large
Load Diff
630
components/soc/esp32p4/include/soc/sys_timer_reg.h
Normal file
630
components/soc/esp32p4/include/soc/sys_timer_reg.h
Normal file
@ -0,0 +1,630 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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
|
||||
|
||||
/** SYSTIMER_CONF_REG register
|
||||
* Configure system timer clock
|
||||
*/
|
||||
#define SYSTIMER_CONF_REG (DR_REG_SYSTIMER_BASE + 0x0)
|
||||
/** SYSTIMER_ETM_EN : R/W; bitpos: [1]; default: 0;
|
||||
* enable systimer's etm task and event
|
||||
*/
|
||||
#define SYSTIMER_ETM_EN (BIT(1))
|
||||
#define SYSTIMER_ETM_EN_M (SYSTIMER_ETM_EN_V << SYSTIMER_ETM_EN_S)
|
||||
#define SYSTIMER_ETM_EN_V 0x00000001U
|
||||
#define SYSTIMER_ETM_EN_S 1
|
||||
/** SYSTIMER_TARGET2_WORK_EN : R/W; bitpos: [22]; default: 0;
|
||||
* target2 work enable
|
||||
*/
|
||||
#define SYSTIMER_TARGET2_WORK_EN (BIT(22))
|
||||
#define SYSTIMER_TARGET2_WORK_EN_M (SYSTIMER_TARGET2_WORK_EN_V << SYSTIMER_TARGET2_WORK_EN_S)
|
||||
#define SYSTIMER_TARGET2_WORK_EN_V 0x00000001U
|
||||
#define SYSTIMER_TARGET2_WORK_EN_S 22
|
||||
/** SYSTIMER_TARGET1_WORK_EN : R/W; bitpos: [23]; default: 0;
|
||||
* target1 work enable
|
||||
*/
|
||||
#define SYSTIMER_TARGET1_WORK_EN (BIT(23))
|
||||
#define SYSTIMER_TARGET1_WORK_EN_M (SYSTIMER_TARGET1_WORK_EN_V << SYSTIMER_TARGET1_WORK_EN_S)
|
||||
#define SYSTIMER_TARGET1_WORK_EN_V 0x00000001U
|
||||
#define SYSTIMER_TARGET1_WORK_EN_S 23
|
||||
/** SYSTIMER_TARGET0_WORK_EN : R/W; bitpos: [24]; default: 0;
|
||||
* target0 work enable
|
||||
*/
|
||||
#define SYSTIMER_TARGET0_WORK_EN (BIT(24))
|
||||
#define SYSTIMER_TARGET0_WORK_EN_M (SYSTIMER_TARGET0_WORK_EN_V << SYSTIMER_TARGET0_WORK_EN_S)
|
||||
#define SYSTIMER_TARGET0_WORK_EN_V 0x00000001U
|
||||
#define SYSTIMER_TARGET0_WORK_EN_S 24
|
||||
/** SYSTIMER_TIMER_UNIT1_CORE1_STALL_EN : R/W; bitpos: [25]; default: 1;
|
||||
* If timer unit1 is stalled when core1 stalled
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT1_CORE1_STALL_EN (BIT(25))
|
||||
#define SYSTIMER_TIMER_UNIT1_CORE1_STALL_EN_M (SYSTIMER_TIMER_UNIT1_CORE1_STALL_EN_V << SYSTIMER_TIMER_UNIT1_CORE1_STALL_EN_S)
|
||||
#define SYSTIMER_TIMER_UNIT1_CORE1_STALL_EN_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_UNIT1_CORE1_STALL_EN_S 25
|
||||
/** SYSTIMER_TIMER_UNIT1_CORE0_STALL_EN : R/W; bitpos: [26]; default: 1;
|
||||
* If timer unit1 is stalled when core0 stalled
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT1_CORE0_STALL_EN (BIT(26))
|
||||
#define SYSTIMER_TIMER_UNIT1_CORE0_STALL_EN_M (SYSTIMER_TIMER_UNIT1_CORE0_STALL_EN_V << SYSTIMER_TIMER_UNIT1_CORE0_STALL_EN_S)
|
||||
#define SYSTIMER_TIMER_UNIT1_CORE0_STALL_EN_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_UNIT1_CORE0_STALL_EN_S 26
|
||||
/** SYSTIMER_TIMER_UNIT0_CORE1_STALL_EN : R/W; bitpos: [27]; default: 0;
|
||||
* If timer unit0 is stalled when core1 stalled
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT0_CORE1_STALL_EN (BIT(27))
|
||||
#define SYSTIMER_TIMER_UNIT0_CORE1_STALL_EN_M (SYSTIMER_TIMER_UNIT0_CORE1_STALL_EN_V << SYSTIMER_TIMER_UNIT0_CORE1_STALL_EN_S)
|
||||
#define SYSTIMER_TIMER_UNIT0_CORE1_STALL_EN_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_UNIT0_CORE1_STALL_EN_S 27
|
||||
/** SYSTIMER_TIMER_UNIT0_CORE0_STALL_EN : R/W; bitpos: [28]; default: 0;
|
||||
* If timer unit0 is stalled when core0 stalled
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT0_CORE0_STALL_EN (BIT(28))
|
||||
#define SYSTIMER_TIMER_UNIT0_CORE0_STALL_EN_M (SYSTIMER_TIMER_UNIT0_CORE0_STALL_EN_V << SYSTIMER_TIMER_UNIT0_CORE0_STALL_EN_S)
|
||||
#define SYSTIMER_TIMER_UNIT0_CORE0_STALL_EN_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_UNIT0_CORE0_STALL_EN_S 28
|
||||
/** SYSTIMER_TIMER_UNIT1_WORK_EN : R/W; bitpos: [29]; default: 0;
|
||||
* timer unit1 work enable
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT1_WORK_EN (BIT(29))
|
||||
#define SYSTIMER_TIMER_UNIT1_WORK_EN_M (SYSTIMER_TIMER_UNIT1_WORK_EN_V << SYSTIMER_TIMER_UNIT1_WORK_EN_S)
|
||||
#define SYSTIMER_TIMER_UNIT1_WORK_EN_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_UNIT1_WORK_EN_S 29
|
||||
/** SYSTIMER_TIMER_UNIT0_WORK_EN : R/W; bitpos: [30]; default: 1;
|
||||
* timer unit0 work enable
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT0_WORK_EN (BIT(30))
|
||||
#define SYSTIMER_TIMER_UNIT0_WORK_EN_M (SYSTIMER_TIMER_UNIT0_WORK_EN_V << SYSTIMER_TIMER_UNIT0_WORK_EN_S)
|
||||
#define SYSTIMER_TIMER_UNIT0_WORK_EN_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_UNIT0_WORK_EN_S 30
|
||||
/** SYSTIMER_CLK_EN : R/W; bitpos: [31]; default: 0;
|
||||
* register file clk gating
|
||||
*/
|
||||
#define SYSTIMER_CLK_EN (BIT(31))
|
||||
#define SYSTIMER_CLK_EN_M (SYSTIMER_CLK_EN_V << SYSTIMER_CLK_EN_S)
|
||||
#define SYSTIMER_CLK_EN_V 0x00000001U
|
||||
#define SYSTIMER_CLK_EN_S 31
|
||||
|
||||
/** SYSTIMER_UNIT0_OP_REG register
|
||||
* system timer unit0 value update register
|
||||
*/
|
||||
#define SYSTIMER_UNIT0_OP_REG (DR_REG_SYSTIMER_BASE + 0x4)
|
||||
/** SYSTIMER_TIMER_UNIT0_VALUE_VALID : R/SS/WTC; bitpos: [29]; default: 0;
|
||||
* timer value is sync and valid
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT0_VALUE_VALID (BIT(29))
|
||||
#define SYSTIMER_TIMER_UNIT0_VALUE_VALID_M (SYSTIMER_TIMER_UNIT0_VALUE_VALID_V << SYSTIMER_TIMER_UNIT0_VALUE_VALID_S)
|
||||
#define SYSTIMER_TIMER_UNIT0_VALUE_VALID_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_UNIT0_VALUE_VALID_S 29
|
||||
/** SYSTIMER_TIMER_UNIT0_UPDATE : WT; bitpos: [30]; default: 0;
|
||||
* update timer_unit0
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT0_UPDATE (BIT(30))
|
||||
#define SYSTIMER_TIMER_UNIT0_UPDATE_M (SYSTIMER_TIMER_UNIT0_UPDATE_V << SYSTIMER_TIMER_UNIT0_UPDATE_S)
|
||||
#define SYSTIMER_TIMER_UNIT0_UPDATE_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_UNIT0_UPDATE_S 30
|
||||
|
||||
/** SYSTIMER_UNIT1_OP_REG register
|
||||
* system timer unit1 value update register
|
||||
*/
|
||||
#define SYSTIMER_UNIT1_OP_REG (DR_REG_SYSTIMER_BASE + 0x8)
|
||||
/** SYSTIMER_TIMER_UNIT1_VALUE_VALID : R/SS/WTC; bitpos: [29]; default: 0;
|
||||
* timer value is sync and valid
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT1_VALUE_VALID (BIT(29))
|
||||
#define SYSTIMER_TIMER_UNIT1_VALUE_VALID_M (SYSTIMER_TIMER_UNIT1_VALUE_VALID_V << SYSTIMER_TIMER_UNIT1_VALUE_VALID_S)
|
||||
#define SYSTIMER_TIMER_UNIT1_VALUE_VALID_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_UNIT1_VALUE_VALID_S 29
|
||||
/** SYSTIMER_TIMER_UNIT1_UPDATE : WT; bitpos: [30]; default: 0;
|
||||
* update timer unit1
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT1_UPDATE (BIT(30))
|
||||
#define SYSTIMER_TIMER_UNIT1_UPDATE_M (SYSTIMER_TIMER_UNIT1_UPDATE_V << SYSTIMER_TIMER_UNIT1_UPDATE_S)
|
||||
#define SYSTIMER_TIMER_UNIT1_UPDATE_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_UNIT1_UPDATE_S 30
|
||||
|
||||
/** SYSTIMER_UNIT0_LOAD_HI_REG register
|
||||
* system timer unit0 value high load register
|
||||
*/
|
||||
#define SYSTIMER_UNIT0_LOAD_HI_REG (DR_REG_SYSTIMER_BASE + 0xc)
|
||||
/** SYSTIMER_TIMER_UNIT0_LOAD_HI : R/W; bitpos: [19:0]; default: 0;
|
||||
* timer unit0 load high 20 bits
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT0_LOAD_HI 0x000FFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT0_LOAD_HI_M (SYSTIMER_TIMER_UNIT0_LOAD_HI_V << SYSTIMER_TIMER_UNIT0_LOAD_HI_S)
|
||||
#define SYSTIMER_TIMER_UNIT0_LOAD_HI_V 0x000FFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT0_LOAD_HI_S 0
|
||||
|
||||
/** SYSTIMER_UNIT0_LOAD_LO_REG register
|
||||
* system timer unit0 value low load register
|
||||
*/
|
||||
#define SYSTIMER_UNIT0_LOAD_LO_REG (DR_REG_SYSTIMER_BASE + 0x10)
|
||||
/** SYSTIMER_TIMER_UNIT0_LOAD_LO : R/W; bitpos: [31:0]; default: 0;
|
||||
* timer unit0 load low 32 bits
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT0_LOAD_LO 0xFFFFFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT0_LOAD_LO_M (SYSTIMER_TIMER_UNIT0_LOAD_LO_V << SYSTIMER_TIMER_UNIT0_LOAD_LO_S)
|
||||
#define SYSTIMER_TIMER_UNIT0_LOAD_LO_V 0xFFFFFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT0_LOAD_LO_S 0
|
||||
|
||||
/** SYSTIMER_UNIT1_LOAD_HI_REG register
|
||||
* system timer unit1 value high load register
|
||||
*/
|
||||
#define SYSTIMER_UNIT1_LOAD_HI_REG (DR_REG_SYSTIMER_BASE + 0x14)
|
||||
/** SYSTIMER_TIMER_UNIT1_LOAD_HI : R/W; bitpos: [19:0]; default: 0;
|
||||
* timer unit1 load high 20 bits
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT1_LOAD_HI 0x000FFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT1_LOAD_HI_M (SYSTIMER_TIMER_UNIT1_LOAD_HI_V << SYSTIMER_TIMER_UNIT1_LOAD_HI_S)
|
||||
#define SYSTIMER_TIMER_UNIT1_LOAD_HI_V 0x000FFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT1_LOAD_HI_S 0
|
||||
|
||||
/** SYSTIMER_UNIT1_LOAD_LO_REG register
|
||||
* system timer unit1 value low load register
|
||||
*/
|
||||
#define SYSTIMER_UNIT1_LOAD_LO_REG (DR_REG_SYSTIMER_BASE + 0x18)
|
||||
/** SYSTIMER_TIMER_UNIT1_LOAD_LO : R/W; bitpos: [31:0]; default: 0;
|
||||
* timer unit1 load low 32 bits
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT1_LOAD_LO 0xFFFFFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT1_LOAD_LO_M (SYSTIMER_TIMER_UNIT1_LOAD_LO_V << SYSTIMER_TIMER_UNIT1_LOAD_LO_S)
|
||||
#define SYSTIMER_TIMER_UNIT1_LOAD_LO_V 0xFFFFFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT1_LOAD_LO_S 0
|
||||
|
||||
/** SYSTIMER_TARGET0_HI_REG register
|
||||
* system timer comp0 value high register
|
||||
*/
|
||||
#define SYSTIMER_TARGET0_HI_REG (DR_REG_SYSTIMER_BASE + 0x1c)
|
||||
/** SYSTIMER_TIMER_TARGET0_HI : R/W; bitpos: [19:0]; default: 0;
|
||||
* timer taget0 high 20 bits
|
||||
*/
|
||||
#define SYSTIMER_TIMER_TARGET0_HI 0x000FFFFFU
|
||||
#define SYSTIMER_TIMER_TARGET0_HI_M (SYSTIMER_TIMER_TARGET0_HI_V << SYSTIMER_TIMER_TARGET0_HI_S)
|
||||
#define SYSTIMER_TIMER_TARGET0_HI_V 0x000FFFFFU
|
||||
#define SYSTIMER_TIMER_TARGET0_HI_S 0
|
||||
|
||||
/** SYSTIMER_TARGET0_LO_REG register
|
||||
* system timer comp0 value low register
|
||||
*/
|
||||
#define SYSTIMER_TARGET0_LO_REG (DR_REG_SYSTIMER_BASE + 0x20)
|
||||
/** SYSTIMER_TIMER_TARGET0_LO : R/W; bitpos: [31:0]; default: 0;
|
||||
* timer taget0 low 32 bits
|
||||
*/
|
||||
#define SYSTIMER_TIMER_TARGET0_LO 0xFFFFFFFFU
|
||||
#define SYSTIMER_TIMER_TARGET0_LO_M (SYSTIMER_TIMER_TARGET0_LO_V << SYSTIMER_TIMER_TARGET0_LO_S)
|
||||
#define SYSTIMER_TIMER_TARGET0_LO_V 0xFFFFFFFFU
|
||||
#define SYSTIMER_TIMER_TARGET0_LO_S 0
|
||||
|
||||
/** SYSTIMER_TARGET1_HI_REG register
|
||||
* system timer comp1 value high register
|
||||
*/
|
||||
#define SYSTIMER_TARGET1_HI_REG (DR_REG_SYSTIMER_BASE + 0x24)
|
||||
/** SYSTIMER_TIMER_TARGET1_HI : R/W; bitpos: [19:0]; default: 0;
|
||||
* timer taget1 high 20 bits
|
||||
*/
|
||||
#define SYSTIMER_TIMER_TARGET1_HI 0x000FFFFFU
|
||||
#define SYSTIMER_TIMER_TARGET1_HI_M (SYSTIMER_TIMER_TARGET1_HI_V << SYSTIMER_TIMER_TARGET1_HI_S)
|
||||
#define SYSTIMER_TIMER_TARGET1_HI_V 0x000FFFFFU
|
||||
#define SYSTIMER_TIMER_TARGET1_HI_S 0
|
||||
|
||||
/** SYSTIMER_TARGET1_LO_REG register
|
||||
* system timer comp1 value low register
|
||||
*/
|
||||
#define SYSTIMER_TARGET1_LO_REG (DR_REG_SYSTIMER_BASE + 0x28)
|
||||
/** SYSTIMER_TIMER_TARGET1_LO : R/W; bitpos: [31:0]; default: 0;
|
||||
* timer taget1 low 32 bits
|
||||
*/
|
||||
#define SYSTIMER_TIMER_TARGET1_LO 0xFFFFFFFFU
|
||||
#define SYSTIMER_TIMER_TARGET1_LO_M (SYSTIMER_TIMER_TARGET1_LO_V << SYSTIMER_TIMER_TARGET1_LO_S)
|
||||
#define SYSTIMER_TIMER_TARGET1_LO_V 0xFFFFFFFFU
|
||||
#define SYSTIMER_TIMER_TARGET1_LO_S 0
|
||||
|
||||
/** SYSTIMER_TARGET2_HI_REG register
|
||||
* system timer comp2 value high register
|
||||
*/
|
||||
#define SYSTIMER_TARGET2_HI_REG (DR_REG_SYSTIMER_BASE + 0x2c)
|
||||
/** SYSTIMER_TIMER_TARGET2_HI : R/W; bitpos: [19:0]; default: 0;
|
||||
* timer taget2 high 20 bits
|
||||
*/
|
||||
#define SYSTIMER_TIMER_TARGET2_HI 0x000FFFFFU
|
||||
#define SYSTIMER_TIMER_TARGET2_HI_M (SYSTIMER_TIMER_TARGET2_HI_V << SYSTIMER_TIMER_TARGET2_HI_S)
|
||||
#define SYSTIMER_TIMER_TARGET2_HI_V 0x000FFFFFU
|
||||
#define SYSTIMER_TIMER_TARGET2_HI_S 0
|
||||
|
||||
/** SYSTIMER_TARGET2_LO_REG register
|
||||
* system timer comp2 value low register
|
||||
*/
|
||||
#define SYSTIMER_TARGET2_LO_REG (DR_REG_SYSTIMER_BASE + 0x30)
|
||||
/** SYSTIMER_TIMER_TARGET2_LO : R/W; bitpos: [31:0]; default: 0;
|
||||
* timer taget2 low 32 bits
|
||||
*/
|
||||
#define SYSTIMER_TIMER_TARGET2_LO 0xFFFFFFFFU
|
||||
#define SYSTIMER_TIMER_TARGET2_LO_M (SYSTIMER_TIMER_TARGET2_LO_V << SYSTIMER_TIMER_TARGET2_LO_S)
|
||||
#define SYSTIMER_TIMER_TARGET2_LO_V 0xFFFFFFFFU
|
||||
#define SYSTIMER_TIMER_TARGET2_LO_S 0
|
||||
|
||||
/** SYSTIMER_TARGET0_CONF_REG register
|
||||
* system timer comp0 target mode register
|
||||
*/
|
||||
#define SYSTIMER_TARGET0_CONF_REG (DR_REG_SYSTIMER_BASE + 0x34)
|
||||
/** SYSTIMER_TARGET0_PERIOD : R/W; bitpos: [25:0]; default: 0;
|
||||
* target0 period
|
||||
*/
|
||||
#define SYSTIMER_TARGET0_PERIOD 0x03FFFFFFU
|
||||
#define SYSTIMER_TARGET0_PERIOD_M (SYSTIMER_TARGET0_PERIOD_V << SYSTIMER_TARGET0_PERIOD_S)
|
||||
#define SYSTIMER_TARGET0_PERIOD_V 0x03FFFFFFU
|
||||
#define SYSTIMER_TARGET0_PERIOD_S 0
|
||||
/** SYSTIMER_TARGET0_PERIOD_MODE : R/W; bitpos: [30]; default: 0;
|
||||
* Set target0 to period mode
|
||||
*/
|
||||
#define SYSTIMER_TARGET0_PERIOD_MODE (BIT(30))
|
||||
#define SYSTIMER_TARGET0_PERIOD_MODE_M (SYSTIMER_TARGET0_PERIOD_MODE_V << SYSTIMER_TARGET0_PERIOD_MODE_S)
|
||||
#define SYSTIMER_TARGET0_PERIOD_MODE_V 0x00000001U
|
||||
#define SYSTIMER_TARGET0_PERIOD_MODE_S 30
|
||||
/** SYSTIMER_TARGET0_TIMER_UNIT_SEL : R/W; bitpos: [31]; default: 0;
|
||||
* select which unit to compare
|
||||
*/
|
||||
#define SYSTIMER_TARGET0_TIMER_UNIT_SEL (BIT(31))
|
||||
#define SYSTIMER_TARGET0_TIMER_UNIT_SEL_M (SYSTIMER_TARGET0_TIMER_UNIT_SEL_V << SYSTIMER_TARGET0_TIMER_UNIT_SEL_S)
|
||||
#define SYSTIMER_TARGET0_TIMER_UNIT_SEL_V 0x00000001U
|
||||
#define SYSTIMER_TARGET0_TIMER_UNIT_SEL_S 31
|
||||
|
||||
/** SYSTIMER_TARGET1_CONF_REG register
|
||||
* system timer comp1 target mode register
|
||||
*/
|
||||
#define SYSTIMER_TARGET1_CONF_REG (DR_REG_SYSTIMER_BASE + 0x38)
|
||||
/** SYSTIMER_TARGET1_PERIOD : R/W; bitpos: [25:0]; default: 0;
|
||||
* target1 period
|
||||
*/
|
||||
#define SYSTIMER_TARGET1_PERIOD 0x03FFFFFFU
|
||||
#define SYSTIMER_TARGET1_PERIOD_M (SYSTIMER_TARGET1_PERIOD_V << SYSTIMER_TARGET1_PERIOD_S)
|
||||
#define SYSTIMER_TARGET1_PERIOD_V 0x03FFFFFFU
|
||||
#define SYSTIMER_TARGET1_PERIOD_S 0
|
||||
/** SYSTIMER_TARGET1_PERIOD_MODE : R/W; bitpos: [30]; default: 0;
|
||||
* Set target1 to period mode
|
||||
*/
|
||||
#define SYSTIMER_TARGET1_PERIOD_MODE (BIT(30))
|
||||
#define SYSTIMER_TARGET1_PERIOD_MODE_M (SYSTIMER_TARGET1_PERIOD_MODE_V << SYSTIMER_TARGET1_PERIOD_MODE_S)
|
||||
#define SYSTIMER_TARGET1_PERIOD_MODE_V 0x00000001U
|
||||
#define SYSTIMER_TARGET1_PERIOD_MODE_S 30
|
||||
/** SYSTIMER_TARGET1_TIMER_UNIT_SEL : R/W; bitpos: [31]; default: 0;
|
||||
* select which unit to compare
|
||||
*/
|
||||
#define SYSTIMER_TARGET1_TIMER_UNIT_SEL (BIT(31))
|
||||
#define SYSTIMER_TARGET1_TIMER_UNIT_SEL_M (SYSTIMER_TARGET1_TIMER_UNIT_SEL_V << SYSTIMER_TARGET1_TIMER_UNIT_SEL_S)
|
||||
#define SYSTIMER_TARGET1_TIMER_UNIT_SEL_V 0x00000001U
|
||||
#define SYSTIMER_TARGET1_TIMER_UNIT_SEL_S 31
|
||||
|
||||
/** SYSTIMER_TARGET2_CONF_REG register
|
||||
* system timer comp2 target mode register
|
||||
*/
|
||||
#define SYSTIMER_TARGET2_CONF_REG (DR_REG_SYSTIMER_BASE + 0x3c)
|
||||
/** SYSTIMER_TARGET2_PERIOD : R/W; bitpos: [25:0]; default: 0;
|
||||
* target2 period
|
||||
*/
|
||||
#define SYSTIMER_TARGET2_PERIOD 0x03FFFFFFU
|
||||
#define SYSTIMER_TARGET2_PERIOD_M (SYSTIMER_TARGET2_PERIOD_V << SYSTIMER_TARGET2_PERIOD_S)
|
||||
#define SYSTIMER_TARGET2_PERIOD_V 0x03FFFFFFU
|
||||
#define SYSTIMER_TARGET2_PERIOD_S 0
|
||||
/** SYSTIMER_TARGET2_PERIOD_MODE : R/W; bitpos: [30]; default: 0;
|
||||
* Set target2 to period mode
|
||||
*/
|
||||
#define SYSTIMER_TARGET2_PERIOD_MODE (BIT(30))
|
||||
#define SYSTIMER_TARGET2_PERIOD_MODE_M (SYSTIMER_TARGET2_PERIOD_MODE_V << SYSTIMER_TARGET2_PERIOD_MODE_S)
|
||||
#define SYSTIMER_TARGET2_PERIOD_MODE_V 0x00000001U
|
||||
#define SYSTIMER_TARGET2_PERIOD_MODE_S 30
|
||||
/** SYSTIMER_TARGET2_TIMER_UNIT_SEL : R/W; bitpos: [31]; default: 0;
|
||||
* select which unit to compare
|
||||
*/
|
||||
#define SYSTIMER_TARGET2_TIMER_UNIT_SEL (BIT(31))
|
||||
#define SYSTIMER_TARGET2_TIMER_UNIT_SEL_M (SYSTIMER_TARGET2_TIMER_UNIT_SEL_V << SYSTIMER_TARGET2_TIMER_UNIT_SEL_S)
|
||||
#define SYSTIMER_TARGET2_TIMER_UNIT_SEL_V 0x00000001U
|
||||
#define SYSTIMER_TARGET2_TIMER_UNIT_SEL_S 31
|
||||
|
||||
/** SYSTIMER_UNIT0_VALUE_HI_REG register
|
||||
* system timer unit0 value high register
|
||||
*/
|
||||
#define SYSTIMER_UNIT0_VALUE_HI_REG (DR_REG_SYSTIMER_BASE + 0x40)
|
||||
/** SYSTIMER_TIMER_UNIT0_VALUE_HI : RO; bitpos: [19:0]; default: 0;
|
||||
* timer read value high 20bits
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT0_VALUE_HI 0x000FFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT0_VALUE_HI_M (SYSTIMER_TIMER_UNIT0_VALUE_HI_V << SYSTIMER_TIMER_UNIT0_VALUE_HI_S)
|
||||
#define SYSTIMER_TIMER_UNIT0_VALUE_HI_V 0x000FFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT0_VALUE_HI_S 0
|
||||
|
||||
/** SYSTIMER_UNIT0_VALUE_LO_REG register
|
||||
* system timer unit0 value low register
|
||||
*/
|
||||
#define SYSTIMER_UNIT0_VALUE_LO_REG (DR_REG_SYSTIMER_BASE + 0x44)
|
||||
/** SYSTIMER_TIMER_UNIT0_VALUE_LO : RO; bitpos: [31:0]; default: 0;
|
||||
* timer read value low 32bits
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT0_VALUE_LO 0xFFFFFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT0_VALUE_LO_M (SYSTIMER_TIMER_UNIT0_VALUE_LO_V << SYSTIMER_TIMER_UNIT0_VALUE_LO_S)
|
||||
#define SYSTIMER_TIMER_UNIT0_VALUE_LO_V 0xFFFFFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT0_VALUE_LO_S 0
|
||||
|
||||
/** SYSTIMER_UNIT1_VALUE_HI_REG register
|
||||
* system timer unit1 value high register
|
||||
*/
|
||||
#define SYSTIMER_UNIT1_VALUE_HI_REG (DR_REG_SYSTIMER_BASE + 0x48)
|
||||
/** SYSTIMER_TIMER_UNIT1_VALUE_HI : RO; bitpos: [19:0]; default: 0;
|
||||
* timer read value high 20bits
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT1_VALUE_HI 0x000FFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT1_VALUE_HI_M (SYSTIMER_TIMER_UNIT1_VALUE_HI_V << SYSTIMER_TIMER_UNIT1_VALUE_HI_S)
|
||||
#define SYSTIMER_TIMER_UNIT1_VALUE_HI_V 0x000FFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT1_VALUE_HI_S 0
|
||||
|
||||
/** SYSTIMER_UNIT1_VALUE_LO_REG register
|
||||
* system timer unit1 value low register
|
||||
*/
|
||||
#define SYSTIMER_UNIT1_VALUE_LO_REG (DR_REG_SYSTIMER_BASE + 0x4c)
|
||||
/** SYSTIMER_TIMER_UNIT1_VALUE_LO : RO; bitpos: [31:0]; default: 0;
|
||||
* timer read value low 32bits
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT1_VALUE_LO 0xFFFFFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT1_VALUE_LO_M (SYSTIMER_TIMER_UNIT1_VALUE_LO_V << SYSTIMER_TIMER_UNIT1_VALUE_LO_S)
|
||||
#define SYSTIMER_TIMER_UNIT1_VALUE_LO_V 0xFFFFFFFFU
|
||||
#define SYSTIMER_TIMER_UNIT1_VALUE_LO_S 0
|
||||
|
||||
/** SYSTIMER_COMP0_LOAD_REG register
|
||||
* system timer comp0 conf sync register
|
||||
*/
|
||||
#define SYSTIMER_COMP0_LOAD_REG (DR_REG_SYSTIMER_BASE + 0x50)
|
||||
/** SYSTIMER_TIMER_COMP0_LOAD : WT; bitpos: [0]; default: 0;
|
||||
* timer comp0 sync enable signal
|
||||
*/
|
||||
#define SYSTIMER_TIMER_COMP0_LOAD (BIT(0))
|
||||
#define SYSTIMER_TIMER_COMP0_LOAD_M (SYSTIMER_TIMER_COMP0_LOAD_V << SYSTIMER_TIMER_COMP0_LOAD_S)
|
||||
#define SYSTIMER_TIMER_COMP0_LOAD_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_COMP0_LOAD_S 0
|
||||
|
||||
/** SYSTIMER_COMP1_LOAD_REG register
|
||||
* system timer comp1 conf sync register
|
||||
*/
|
||||
#define SYSTIMER_COMP1_LOAD_REG (DR_REG_SYSTIMER_BASE + 0x54)
|
||||
/** SYSTIMER_TIMER_COMP1_LOAD : WT; bitpos: [0]; default: 0;
|
||||
* timer comp1 sync enable signal
|
||||
*/
|
||||
#define SYSTIMER_TIMER_COMP1_LOAD (BIT(0))
|
||||
#define SYSTIMER_TIMER_COMP1_LOAD_M (SYSTIMER_TIMER_COMP1_LOAD_V << SYSTIMER_TIMER_COMP1_LOAD_S)
|
||||
#define SYSTIMER_TIMER_COMP1_LOAD_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_COMP1_LOAD_S 0
|
||||
|
||||
/** SYSTIMER_COMP2_LOAD_REG register
|
||||
* system timer comp2 conf sync register
|
||||
*/
|
||||
#define SYSTIMER_COMP2_LOAD_REG (DR_REG_SYSTIMER_BASE + 0x58)
|
||||
/** SYSTIMER_TIMER_COMP2_LOAD : WT; bitpos: [0]; default: 0;
|
||||
* timer comp2 sync enable signal
|
||||
*/
|
||||
#define SYSTIMER_TIMER_COMP2_LOAD (BIT(0))
|
||||
#define SYSTIMER_TIMER_COMP2_LOAD_M (SYSTIMER_TIMER_COMP2_LOAD_V << SYSTIMER_TIMER_COMP2_LOAD_S)
|
||||
#define SYSTIMER_TIMER_COMP2_LOAD_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_COMP2_LOAD_S 0
|
||||
|
||||
/** SYSTIMER_UNIT0_LOAD_REG register
|
||||
* system timer unit0 conf sync register
|
||||
*/
|
||||
#define SYSTIMER_UNIT0_LOAD_REG (DR_REG_SYSTIMER_BASE + 0x5c)
|
||||
/** SYSTIMER_TIMER_UNIT0_LOAD : WT; bitpos: [0]; default: 0;
|
||||
* timer unit0 sync enable signal
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT0_LOAD (BIT(0))
|
||||
#define SYSTIMER_TIMER_UNIT0_LOAD_M (SYSTIMER_TIMER_UNIT0_LOAD_V << SYSTIMER_TIMER_UNIT0_LOAD_S)
|
||||
#define SYSTIMER_TIMER_UNIT0_LOAD_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_UNIT0_LOAD_S 0
|
||||
|
||||
/** SYSTIMER_UNIT1_LOAD_REG register
|
||||
* system timer unit1 conf sync register
|
||||
*/
|
||||
#define SYSTIMER_UNIT1_LOAD_REG (DR_REG_SYSTIMER_BASE + 0x60)
|
||||
/** SYSTIMER_TIMER_UNIT1_LOAD : WT; bitpos: [0]; default: 0;
|
||||
* timer unit1 sync enable signal
|
||||
*/
|
||||
#define SYSTIMER_TIMER_UNIT1_LOAD (BIT(0))
|
||||
#define SYSTIMER_TIMER_UNIT1_LOAD_M (SYSTIMER_TIMER_UNIT1_LOAD_V << SYSTIMER_TIMER_UNIT1_LOAD_S)
|
||||
#define SYSTIMER_TIMER_UNIT1_LOAD_V 0x00000001U
|
||||
#define SYSTIMER_TIMER_UNIT1_LOAD_S 0
|
||||
|
||||
/** SYSTIMER_INT_ENA_REG register
|
||||
* systimer interrupt enable register
|
||||
*/
|
||||
#define SYSTIMER_INT_ENA_REG (DR_REG_SYSTIMER_BASE + 0x64)
|
||||
/** SYSTIMER_TARGET0_INT_ENA : R/W; bitpos: [0]; default: 0;
|
||||
* interupt0 enable
|
||||
*/
|
||||
#define SYSTIMER_TARGET0_INT_ENA (BIT(0))
|
||||
#define SYSTIMER_TARGET0_INT_ENA_M (SYSTIMER_TARGET0_INT_ENA_V << SYSTIMER_TARGET0_INT_ENA_S)
|
||||
#define SYSTIMER_TARGET0_INT_ENA_V 0x00000001U
|
||||
#define SYSTIMER_TARGET0_INT_ENA_S 0
|
||||
/** SYSTIMER_TARGET1_INT_ENA : R/W; bitpos: [1]; default: 0;
|
||||
* interupt1 enable
|
||||
*/
|
||||
#define SYSTIMER_TARGET1_INT_ENA (BIT(1))
|
||||
#define SYSTIMER_TARGET1_INT_ENA_M (SYSTIMER_TARGET1_INT_ENA_V << SYSTIMER_TARGET1_INT_ENA_S)
|
||||
#define SYSTIMER_TARGET1_INT_ENA_V 0x00000001U
|
||||
#define SYSTIMER_TARGET1_INT_ENA_S 1
|
||||
/** SYSTIMER_TARGET2_INT_ENA : R/W; bitpos: [2]; default: 0;
|
||||
* interupt2 enable
|
||||
*/
|
||||
#define SYSTIMER_TARGET2_INT_ENA (BIT(2))
|
||||
#define SYSTIMER_TARGET2_INT_ENA_M (SYSTIMER_TARGET2_INT_ENA_V << SYSTIMER_TARGET2_INT_ENA_S)
|
||||
#define SYSTIMER_TARGET2_INT_ENA_V 0x00000001U
|
||||
#define SYSTIMER_TARGET2_INT_ENA_S 2
|
||||
|
||||
/** SYSTIMER_INT_RAW_REG register
|
||||
* systimer interrupt raw register
|
||||
*/
|
||||
#define SYSTIMER_INT_RAW_REG (DR_REG_SYSTIMER_BASE + 0x68)
|
||||
/** SYSTIMER_TARGET0_INT_RAW : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* interupt0 raw
|
||||
*/
|
||||
#define SYSTIMER_TARGET0_INT_RAW (BIT(0))
|
||||
#define SYSTIMER_TARGET0_INT_RAW_M (SYSTIMER_TARGET0_INT_RAW_V << SYSTIMER_TARGET0_INT_RAW_S)
|
||||
#define SYSTIMER_TARGET0_INT_RAW_V 0x00000001U
|
||||
#define SYSTIMER_TARGET0_INT_RAW_S 0
|
||||
/** SYSTIMER_TARGET1_INT_RAW : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* interupt1 raw
|
||||
*/
|
||||
#define SYSTIMER_TARGET1_INT_RAW (BIT(1))
|
||||
#define SYSTIMER_TARGET1_INT_RAW_M (SYSTIMER_TARGET1_INT_RAW_V << SYSTIMER_TARGET1_INT_RAW_S)
|
||||
#define SYSTIMER_TARGET1_INT_RAW_V 0x00000001U
|
||||
#define SYSTIMER_TARGET1_INT_RAW_S 1
|
||||
/** SYSTIMER_TARGET2_INT_RAW : R/WTC/SS; bitpos: [2]; default: 0;
|
||||
* interupt2 raw
|
||||
*/
|
||||
#define SYSTIMER_TARGET2_INT_RAW (BIT(2))
|
||||
#define SYSTIMER_TARGET2_INT_RAW_M (SYSTIMER_TARGET2_INT_RAW_V << SYSTIMER_TARGET2_INT_RAW_S)
|
||||
#define SYSTIMER_TARGET2_INT_RAW_V 0x00000001U
|
||||
#define SYSTIMER_TARGET2_INT_RAW_S 2
|
||||
|
||||
/** SYSTIMER_INT_CLR_REG register
|
||||
* systimer interrupt clear register
|
||||
*/
|
||||
#define SYSTIMER_INT_CLR_REG (DR_REG_SYSTIMER_BASE + 0x6c)
|
||||
/** SYSTIMER_TARGET0_INT_CLR : WT; bitpos: [0]; default: 0;
|
||||
* interupt0 clear
|
||||
*/
|
||||
#define SYSTIMER_TARGET0_INT_CLR (BIT(0))
|
||||
#define SYSTIMER_TARGET0_INT_CLR_M (SYSTIMER_TARGET0_INT_CLR_V << SYSTIMER_TARGET0_INT_CLR_S)
|
||||
#define SYSTIMER_TARGET0_INT_CLR_V 0x00000001U
|
||||
#define SYSTIMER_TARGET0_INT_CLR_S 0
|
||||
/** SYSTIMER_TARGET1_INT_CLR : WT; bitpos: [1]; default: 0;
|
||||
* interupt1 clear
|
||||
*/
|
||||
#define SYSTIMER_TARGET1_INT_CLR (BIT(1))
|
||||
#define SYSTIMER_TARGET1_INT_CLR_M (SYSTIMER_TARGET1_INT_CLR_V << SYSTIMER_TARGET1_INT_CLR_S)
|
||||
#define SYSTIMER_TARGET1_INT_CLR_V 0x00000001U
|
||||
#define SYSTIMER_TARGET1_INT_CLR_S 1
|
||||
/** SYSTIMER_TARGET2_INT_CLR : WT; bitpos: [2]; default: 0;
|
||||
* interupt2 clear
|
||||
*/
|
||||
#define SYSTIMER_TARGET2_INT_CLR (BIT(2))
|
||||
#define SYSTIMER_TARGET2_INT_CLR_M (SYSTIMER_TARGET2_INT_CLR_V << SYSTIMER_TARGET2_INT_CLR_S)
|
||||
#define SYSTIMER_TARGET2_INT_CLR_V 0x00000001U
|
||||
#define SYSTIMER_TARGET2_INT_CLR_S 2
|
||||
|
||||
/** SYSTIMER_INT_ST_REG register
|
||||
* systimer interrupt status register
|
||||
*/
|
||||
#define SYSTIMER_INT_ST_REG (DR_REG_SYSTIMER_BASE + 0x70)
|
||||
/** SYSTIMER_TARGET0_INT_ST : RO; bitpos: [0]; default: 0;
|
||||
* interupt0 status
|
||||
*/
|
||||
#define SYSTIMER_TARGET0_INT_ST (BIT(0))
|
||||
#define SYSTIMER_TARGET0_INT_ST_M (SYSTIMER_TARGET0_INT_ST_V << SYSTIMER_TARGET0_INT_ST_S)
|
||||
#define SYSTIMER_TARGET0_INT_ST_V 0x00000001U
|
||||
#define SYSTIMER_TARGET0_INT_ST_S 0
|
||||
/** SYSTIMER_TARGET1_INT_ST : RO; bitpos: [1]; default: 0;
|
||||
* interupt1 status
|
||||
*/
|
||||
#define SYSTIMER_TARGET1_INT_ST (BIT(1))
|
||||
#define SYSTIMER_TARGET1_INT_ST_M (SYSTIMER_TARGET1_INT_ST_V << SYSTIMER_TARGET1_INT_ST_S)
|
||||
#define SYSTIMER_TARGET1_INT_ST_V 0x00000001U
|
||||
#define SYSTIMER_TARGET1_INT_ST_S 1
|
||||
/** SYSTIMER_TARGET2_INT_ST : RO; bitpos: [2]; default: 0;
|
||||
* interupt2 status
|
||||
*/
|
||||
#define SYSTIMER_TARGET2_INT_ST (BIT(2))
|
||||
#define SYSTIMER_TARGET2_INT_ST_M (SYSTIMER_TARGET2_INT_ST_V << SYSTIMER_TARGET2_INT_ST_S)
|
||||
#define SYSTIMER_TARGET2_INT_ST_V 0x00000001U
|
||||
#define SYSTIMER_TARGET2_INT_ST_S 2
|
||||
|
||||
/** SYSTIMER_REAL_TARGET0_LO_REG register
|
||||
* system timer comp0 actual target value low register
|
||||
*/
|
||||
#define SYSTIMER_REAL_TARGET0_LO_REG (DR_REG_SYSTIMER_BASE + 0x74)
|
||||
/** SYSTIMER_TARGET0_LO_RO : RO; bitpos: [31:0]; default: 0;
|
||||
* actual target value value low 32bits
|
||||
*/
|
||||
#define SYSTIMER_TARGET0_LO_RO 0xFFFFFFFFU
|
||||
#define SYSTIMER_TARGET0_LO_RO_M (SYSTIMER_TARGET0_LO_RO_V << SYSTIMER_TARGET0_LO_RO_S)
|
||||
#define SYSTIMER_TARGET0_LO_RO_V 0xFFFFFFFFU
|
||||
#define SYSTIMER_TARGET0_LO_RO_S 0
|
||||
|
||||
/** SYSTIMER_REAL_TARGET0_HI_REG register
|
||||
* system timer comp0 actual target value high register
|
||||
*/
|
||||
#define SYSTIMER_REAL_TARGET0_HI_REG (DR_REG_SYSTIMER_BASE + 0x78)
|
||||
/** SYSTIMER_TARGET0_HI_RO : RO; bitpos: [19:0]; default: 0;
|
||||
* actual target value value high 20bits
|
||||
*/
|
||||
#define SYSTIMER_TARGET0_HI_RO 0x000FFFFFU
|
||||
#define SYSTIMER_TARGET0_HI_RO_M (SYSTIMER_TARGET0_HI_RO_V << SYSTIMER_TARGET0_HI_RO_S)
|
||||
#define SYSTIMER_TARGET0_HI_RO_V 0x000FFFFFU
|
||||
#define SYSTIMER_TARGET0_HI_RO_S 0
|
||||
|
||||
/** SYSTIMER_REAL_TARGET1_LO_REG register
|
||||
* system timer comp1 actual target value low register
|
||||
*/
|
||||
#define SYSTIMER_REAL_TARGET1_LO_REG (DR_REG_SYSTIMER_BASE + 0x7c)
|
||||
/** SYSTIMER_TARGET1_LO_RO : RO; bitpos: [31:0]; default: 0;
|
||||
* actual target value value low 32bits
|
||||
*/
|
||||
#define SYSTIMER_TARGET1_LO_RO 0xFFFFFFFFU
|
||||
#define SYSTIMER_TARGET1_LO_RO_M (SYSTIMER_TARGET1_LO_RO_V << SYSTIMER_TARGET1_LO_RO_S)
|
||||
#define SYSTIMER_TARGET1_LO_RO_V 0xFFFFFFFFU
|
||||
#define SYSTIMER_TARGET1_LO_RO_S 0
|
||||
|
||||
/** SYSTIMER_REAL_TARGET1_HI_REG register
|
||||
* system timer comp1 actual target value high register
|
||||
*/
|
||||
#define SYSTIMER_REAL_TARGET1_HI_REG (DR_REG_SYSTIMER_BASE + 0x80)
|
||||
/** SYSTIMER_TARGET1_HI_RO : RO; bitpos: [19:0]; default: 0;
|
||||
* actual target value value high 20bits
|
||||
*/
|
||||
#define SYSTIMER_TARGET1_HI_RO 0x000FFFFFU
|
||||
#define SYSTIMER_TARGET1_HI_RO_M (SYSTIMER_TARGET1_HI_RO_V << SYSTIMER_TARGET1_HI_RO_S)
|
||||
#define SYSTIMER_TARGET1_HI_RO_V 0x000FFFFFU
|
||||
#define SYSTIMER_TARGET1_HI_RO_S 0
|
||||
|
||||
/** SYSTIMER_REAL_TARGET2_LO_REG register
|
||||
* system timer comp2 actual target value low register
|
||||
*/
|
||||
#define SYSTIMER_REAL_TARGET2_LO_REG (DR_REG_SYSTIMER_BASE + 0x84)
|
||||
/** SYSTIMER_TARGET2_LO_RO : RO; bitpos: [31:0]; default: 0;
|
||||
* actual target value value low 32bits
|
||||
*/
|
||||
#define SYSTIMER_TARGET2_LO_RO 0xFFFFFFFFU
|
||||
#define SYSTIMER_TARGET2_LO_RO_M (SYSTIMER_TARGET2_LO_RO_V << SYSTIMER_TARGET2_LO_RO_S)
|
||||
#define SYSTIMER_TARGET2_LO_RO_V 0xFFFFFFFFU
|
||||
#define SYSTIMER_TARGET2_LO_RO_S 0
|
||||
|
||||
/** SYSTIMER_REAL_TARGET2_HI_REG register
|
||||
* system timer comp2 actual target value high register
|
||||
*/
|
||||
#define SYSTIMER_REAL_TARGET2_HI_REG (DR_REG_SYSTIMER_BASE + 0x88)
|
||||
/** SYSTIMER_TARGET2_HI_RO : RO; bitpos: [19:0]; default: 0;
|
||||
* actual target value value high 20bits
|
||||
*/
|
||||
#define SYSTIMER_TARGET2_HI_RO 0x000FFFFFU
|
||||
#define SYSTIMER_TARGET2_HI_RO_M (SYSTIMER_TARGET2_HI_RO_V << SYSTIMER_TARGET2_HI_RO_S)
|
||||
#define SYSTIMER_TARGET2_HI_RO_V 0x000FFFFFU
|
||||
#define SYSTIMER_TARGET2_HI_RO_S 0
|
||||
|
||||
/** SYSTIMER_DATE_REG register
|
||||
* system timer version control register
|
||||
*/
|
||||
#define SYSTIMER_DATE_REG (DR_REG_SYSTIMER_BASE + 0xfc)
|
||||
/** SYSTIMER_DATE : R/W; bitpos: [31:0]; default: 35655795;
|
||||
* systimer register version
|
||||
*/
|
||||
#define SYSTIMER_DATE 0xFFFFFFFFU
|
||||
#define SYSTIMER_DATE_M (SYSTIMER_DATE_V << SYSTIMER_DATE_S)
|
||||
#define SYSTIMER_DATE_V 0xFFFFFFFFU
|
||||
#define SYSTIMER_DATE_S 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
682
components/soc/esp32p4/include/soc/sys_timer_struct.h
Normal file
682
components/soc/esp32p4/include/soc/sys_timer_struct.h
Normal file
@ -0,0 +1,682 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: SYSTEM TIMER CLK CONTROL REGISTER */
|
||||
/** Type of conf register
|
||||
* Configure system timer clock
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:1;
|
||||
/** etm_en : R/W; bitpos: [1]; default: 0;
|
||||
* enable systimer's etm task and event
|
||||
*/
|
||||
uint32_t etm_en:1;
|
||||
uint32_t reserved_2:20;
|
||||
/** target2_work_en : R/W; bitpos: [22]; default: 0;
|
||||
* target2 work enable
|
||||
*/
|
||||
uint32_t target2_work_en:1;
|
||||
/** target1_work_en : R/W; bitpos: [23]; default: 0;
|
||||
* target1 work enable
|
||||
*/
|
||||
uint32_t target1_work_en:1;
|
||||
/** target0_work_en : R/W; bitpos: [24]; default: 0;
|
||||
* target0 work enable
|
||||
*/
|
||||
uint32_t target0_work_en:1;
|
||||
/** timer_unit1_core1_stall_en : R/W; bitpos: [25]; default: 1;
|
||||
* If timer unit1 is stalled when core1 stalled
|
||||
*/
|
||||
uint32_t timer_unit1_core1_stall_en:1;
|
||||
/** timer_unit1_core0_stall_en : R/W; bitpos: [26]; default: 1;
|
||||
* If timer unit1 is stalled when core0 stalled
|
||||
*/
|
||||
uint32_t timer_unit1_core0_stall_en:1;
|
||||
/** timer_unit0_core1_stall_en : R/W; bitpos: [27]; default: 0;
|
||||
* If timer unit0 is stalled when core1 stalled
|
||||
*/
|
||||
uint32_t timer_unit0_core1_stall_en:1;
|
||||
/** timer_unit0_core0_stall_en : R/W; bitpos: [28]; default: 0;
|
||||
* If timer unit0 is stalled when core0 stalled
|
||||
*/
|
||||
uint32_t timer_unit0_core0_stall_en:1;
|
||||
/** timer_unit1_work_en : R/W; bitpos: [29]; default: 0;
|
||||
* timer unit1 work enable
|
||||
*/
|
||||
uint32_t timer_unit1_work_en:1;
|
||||
/** timer_unit0_work_en : R/W; bitpos: [30]; default: 1;
|
||||
* timer unit0 work enable
|
||||
*/
|
||||
uint32_t timer_unit0_work_en:1;
|
||||
/** clk_en : R/W; bitpos: [31]; default: 0;
|
||||
* register file clk gating
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_conf_reg_t;
|
||||
|
||||
|
||||
/** Group: SYSTEM TIMER UNIT0 CONTROL AND CONFIGURATION REGISTER */
|
||||
/** Type of unit0_op register
|
||||
* system timer unit0 value update register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:29;
|
||||
/** timer_unit0_value_valid : R/SS/WTC; bitpos: [29]; default: 0;
|
||||
* timer value is sync and valid
|
||||
*/
|
||||
uint32_t timer_unit0_value_valid:1;
|
||||
/** timer_unit0_update : WT; bitpos: [30]; default: 0;
|
||||
* update timer_unit0
|
||||
*/
|
||||
uint32_t timer_unit0_update:1;
|
||||
uint32_t reserved_31:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_unit0_op_reg_t;
|
||||
|
||||
/** Type of unit0_load_hi register
|
||||
* system timer unit0 value high load register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_unit0_load_hi : R/W; bitpos: [19:0]; default: 0;
|
||||
* timer unit0 load high 20 bits
|
||||
*/
|
||||
uint32_t timer_unit0_load_hi:20;
|
||||
uint32_t reserved_20:12;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_unit0_load_hi_reg_t;
|
||||
|
||||
/** Type of unit0_load_lo register
|
||||
* system timer unit0 value low load register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_unit0_load_lo : R/W; bitpos: [31:0]; default: 0;
|
||||
* timer unit0 load low 32 bits
|
||||
*/
|
||||
uint32_t timer_unit0_load_lo:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_unit0_load_lo_reg_t;
|
||||
|
||||
/** Type of unit0_value_hi register
|
||||
* system timer unit0 value high register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_unit0_value_hi : RO; bitpos: [19:0]; default: 0;
|
||||
* timer read value high 20bits
|
||||
*/
|
||||
uint32_t timer_unit0_value_hi:20;
|
||||
uint32_t reserved_20:12;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_unit0_value_hi_reg_t;
|
||||
|
||||
/** Type of unit0_value_lo register
|
||||
* system timer unit0 value low register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_unit0_value_lo : RO; bitpos: [31:0]; default: 0;
|
||||
* timer read value low 32bits
|
||||
*/
|
||||
uint32_t timer_unit0_value_lo:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_unit0_value_lo_reg_t;
|
||||
|
||||
/** Type of unit0_load register
|
||||
* system timer unit0 conf sync register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_unit0_load : WT; bitpos: [0]; default: 0;
|
||||
* timer unit0 sync enable signal
|
||||
*/
|
||||
uint32_t timer_unit0_load:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_unit0_load_reg_t;
|
||||
|
||||
|
||||
/** Group: SYSTEM TIMER UNIT1 CONTROL AND CONFIGURATION REGISTER */
|
||||
/** Type of unit1_op register
|
||||
* system timer unit1 value update register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:29;
|
||||
/** timer_unit1_value_valid : R/SS/WTC; bitpos: [29]; default: 0;
|
||||
* timer value is sync and valid
|
||||
*/
|
||||
uint32_t timer_unit1_value_valid:1;
|
||||
/** timer_unit1_update : WT; bitpos: [30]; default: 0;
|
||||
* update timer unit1
|
||||
*/
|
||||
uint32_t timer_unit1_update:1;
|
||||
uint32_t reserved_31:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_unit1_op_reg_t;
|
||||
|
||||
/** Type of unit1_load_hi register
|
||||
* system timer unit1 value high load register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_unit1_load_hi : R/W; bitpos: [19:0]; default: 0;
|
||||
* timer unit1 load high 20 bits
|
||||
*/
|
||||
uint32_t timer_unit1_load_hi:20;
|
||||
uint32_t reserved_20:12;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_unit1_load_hi_reg_t;
|
||||
|
||||
/** Type of unit1_load_lo register
|
||||
* system timer unit1 value low load register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_unit1_load_lo : R/W; bitpos: [31:0]; default: 0;
|
||||
* timer unit1 load low 32 bits
|
||||
*/
|
||||
uint32_t timer_unit1_load_lo:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_unit1_load_lo_reg_t;
|
||||
|
||||
/** Type of unit1_value_hi register
|
||||
* system timer unit1 value high register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_unit1_value_hi : RO; bitpos: [19:0]; default: 0;
|
||||
* timer read value high 20bits
|
||||
*/
|
||||
uint32_t timer_unit1_value_hi:20;
|
||||
uint32_t reserved_20:12;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_unit1_value_hi_reg_t;
|
||||
|
||||
/** Type of unit1_value_lo register
|
||||
* system timer unit1 value low register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_unit1_value_lo : RO; bitpos: [31:0]; default: 0;
|
||||
* timer read value low 32bits
|
||||
*/
|
||||
uint32_t timer_unit1_value_lo:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_unit1_value_lo_reg_t;
|
||||
|
||||
/** Type of unit1_load register
|
||||
* system timer unit1 conf sync register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_unit1_load : WT; bitpos: [0]; default: 0;
|
||||
* timer unit1 sync enable signal
|
||||
*/
|
||||
uint32_t timer_unit1_load:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_unit1_load_reg_t;
|
||||
|
||||
|
||||
/** Group: SYSTEM TIMER COMP0 CONTROL AND CONFIGURATION REGISTER */
|
||||
/** Type of target0_hi register
|
||||
* system timer comp0 value high register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_target0_hi : R/W; bitpos: [19:0]; default: 0;
|
||||
* timer taget0 high 20 bits
|
||||
*/
|
||||
uint32_t timer_target0_hi:20;
|
||||
uint32_t reserved_20:12;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_target0_hi_reg_t;
|
||||
|
||||
/** Type of target0_lo register
|
||||
* system timer comp0 value low register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_target0_lo : R/W; bitpos: [31:0]; default: 0;
|
||||
* timer taget0 low 32 bits
|
||||
*/
|
||||
uint32_t timer_target0_lo:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_target0_lo_reg_t;
|
||||
|
||||
/** Type of target0_conf register
|
||||
* system timer comp0 target mode register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** target0_period : R/W; bitpos: [25:0]; default: 0;
|
||||
* target0 period
|
||||
*/
|
||||
uint32_t target0_period:26;
|
||||
uint32_t reserved_26:4;
|
||||
/** target0_period_mode : R/W; bitpos: [30]; default: 0;
|
||||
* Set target0 to period mode
|
||||
*/
|
||||
uint32_t target0_period_mode:1;
|
||||
/** target0_timer_unit_sel : R/W; bitpos: [31]; default: 0;
|
||||
* select which unit to compare
|
||||
*/
|
||||
uint32_t target0_timer_unit_sel:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_target0_conf_reg_t;
|
||||
|
||||
/** Type of comp0_load register
|
||||
* system timer comp0 conf sync register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_comp0_load : WT; bitpos: [0]; default: 0;
|
||||
* timer comp0 sync enable signal
|
||||
*/
|
||||
uint32_t timer_comp0_load:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_comp0_load_reg_t;
|
||||
|
||||
|
||||
/** Group: SYSTEM TIMER COMP1 CONTROL AND CONFIGURATION REGISTER */
|
||||
/** Type of target1_hi register
|
||||
* system timer comp1 value high register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_target1_hi : R/W; bitpos: [19:0]; default: 0;
|
||||
* timer taget1 high 20 bits
|
||||
*/
|
||||
uint32_t timer_target1_hi:20;
|
||||
uint32_t reserved_20:12;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_target1_hi_reg_t;
|
||||
|
||||
/** Type of target1_lo register
|
||||
* system timer comp1 value low register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_target1_lo : R/W; bitpos: [31:0]; default: 0;
|
||||
* timer taget1 low 32 bits
|
||||
*/
|
||||
uint32_t timer_target1_lo:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_target1_lo_reg_t;
|
||||
|
||||
/** Type of target1_conf register
|
||||
* system timer comp1 target mode register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** target1_period : R/W; bitpos: [25:0]; default: 0;
|
||||
* target1 period
|
||||
*/
|
||||
uint32_t target1_period:26;
|
||||
uint32_t reserved_26:4;
|
||||
/** target1_period_mode : R/W; bitpos: [30]; default: 0;
|
||||
* Set target1 to period mode
|
||||
*/
|
||||
uint32_t target1_period_mode:1;
|
||||
/** target1_timer_unit_sel : R/W; bitpos: [31]; default: 0;
|
||||
* select which unit to compare
|
||||
*/
|
||||
uint32_t target1_timer_unit_sel:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_target1_conf_reg_t;
|
||||
|
||||
/** Type of comp1_load register
|
||||
* system timer comp1 conf sync register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_comp1_load : WT; bitpos: [0]; default: 0;
|
||||
* timer comp1 sync enable signal
|
||||
*/
|
||||
uint32_t timer_comp1_load:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_comp1_load_reg_t;
|
||||
|
||||
|
||||
/** Group: SYSTEM TIMER COMP2 CONTROL AND CONFIGURATION REGISTER */
|
||||
/** Type of target2_hi register
|
||||
* system timer comp2 value high register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_target2_hi : R/W; bitpos: [19:0]; default: 0;
|
||||
* timer taget2 high 20 bits
|
||||
*/
|
||||
uint32_t timer_target2_hi:20;
|
||||
uint32_t reserved_20:12;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_target2_hi_reg_t;
|
||||
|
||||
/** Type of target2_lo register
|
||||
* system timer comp2 value low register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_target2_lo : R/W; bitpos: [31:0]; default: 0;
|
||||
* timer taget2 low 32 bits
|
||||
*/
|
||||
uint32_t timer_target2_lo:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_target2_lo_reg_t;
|
||||
|
||||
/** Type of target2_conf register
|
||||
* system timer comp2 target mode register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** target2_period : R/W; bitpos: [25:0]; default: 0;
|
||||
* target2 period
|
||||
*/
|
||||
uint32_t target2_period:26;
|
||||
uint32_t reserved_26:4;
|
||||
/** target2_period_mode : R/W; bitpos: [30]; default: 0;
|
||||
* Set target2 to period mode
|
||||
*/
|
||||
uint32_t target2_period_mode:1;
|
||||
/** target2_timer_unit_sel : R/W; bitpos: [31]; default: 0;
|
||||
* select which unit to compare
|
||||
*/
|
||||
uint32_t target2_timer_unit_sel:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_target2_conf_reg_t;
|
||||
|
||||
/** Type of comp2_load register
|
||||
* system timer comp2 conf sync register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** timer_comp2_load : WT; bitpos: [0]; default: 0;
|
||||
* timer comp2 sync enable signal
|
||||
*/
|
||||
uint32_t timer_comp2_load:1;
|
||||
uint32_t reserved_1:31;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_comp2_load_reg_t;
|
||||
|
||||
|
||||
/** Group: SYSTEM TIMER INTERRUPT REGISTER */
|
||||
/** Type of int_ena register
|
||||
* systimer interrupt enable register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** target0_int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* interupt0 enable
|
||||
*/
|
||||
uint32_t target0_int_ena:1;
|
||||
/** target1_int_ena : R/W; bitpos: [1]; default: 0;
|
||||
* interupt1 enable
|
||||
*/
|
||||
uint32_t target1_int_ena:1;
|
||||
/** target2_int_ena : R/W; bitpos: [2]; default: 0;
|
||||
* interupt2 enable
|
||||
*/
|
||||
uint32_t target2_int_ena:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_int_ena_reg_t;
|
||||
|
||||
/** Type of int_raw register
|
||||
* systimer interrupt raw register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** target0_int_raw : R/WTC/SS; bitpos: [0]; default: 0;
|
||||
* interupt0 raw
|
||||
*/
|
||||
uint32_t target0_int_raw:1;
|
||||
/** target1_int_raw : R/WTC/SS; bitpos: [1]; default: 0;
|
||||
* interupt1 raw
|
||||
*/
|
||||
uint32_t target1_int_raw:1;
|
||||
/** target2_int_raw : R/WTC/SS; bitpos: [2]; default: 0;
|
||||
* interupt2 raw
|
||||
*/
|
||||
uint32_t target2_int_raw:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_int_raw_reg_t;
|
||||
|
||||
/** Type of int_clr register
|
||||
* systimer interrupt clear register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** target0_int_clr : WT; bitpos: [0]; default: 0;
|
||||
* interupt0 clear
|
||||
*/
|
||||
uint32_t target0_int_clr:1;
|
||||
/** target1_int_clr : WT; bitpos: [1]; default: 0;
|
||||
* interupt1 clear
|
||||
*/
|
||||
uint32_t target1_int_clr:1;
|
||||
/** target2_int_clr : WT; bitpos: [2]; default: 0;
|
||||
* interupt2 clear
|
||||
*/
|
||||
uint32_t target2_int_clr:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_int_clr_reg_t;
|
||||
|
||||
/** Type of int_st register
|
||||
* systimer interrupt status register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** target0_int_st : RO; bitpos: [0]; default: 0;
|
||||
* interupt0 status
|
||||
*/
|
||||
uint32_t target0_int_st:1;
|
||||
/** target1_int_st : RO; bitpos: [1]; default: 0;
|
||||
* interupt1 status
|
||||
*/
|
||||
uint32_t target1_int_st:1;
|
||||
/** target2_int_st : RO; bitpos: [2]; default: 0;
|
||||
* interupt2 status
|
||||
*/
|
||||
uint32_t target2_int_st:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_int_st_reg_t;
|
||||
|
||||
|
||||
/** Group: SYSTEM TIMER COMP0 STATUS REGISTER */
|
||||
/** Type of real_target0_lo register
|
||||
* system timer comp0 actual target value low register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** target0_lo_ro : RO; bitpos: [31:0]; default: 0;
|
||||
* actual target value value low 32bits
|
||||
*/
|
||||
uint32_t target0_lo_ro:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_real_target0_lo_reg_t;
|
||||
|
||||
/** Type of real_target0_hi register
|
||||
* system timer comp0 actual target value high register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** target0_hi_ro : RO; bitpos: [19:0]; default: 0;
|
||||
* actual target value value high 20bits
|
||||
*/
|
||||
uint32_t target0_hi_ro:20;
|
||||
uint32_t reserved_20:12;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_real_target0_hi_reg_t;
|
||||
|
||||
|
||||
/** Group: SYSTEM TIMER COMP1 STATUS REGISTER */
|
||||
/** Type of real_target1_lo register
|
||||
* system timer comp1 actual target value low register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** target1_lo_ro : RO; bitpos: [31:0]; default: 0;
|
||||
* actual target value value low 32bits
|
||||
*/
|
||||
uint32_t target1_lo_ro:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_real_target1_lo_reg_t;
|
||||
|
||||
/** Type of real_target1_hi register
|
||||
* system timer comp1 actual target value high register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** target1_hi_ro : RO; bitpos: [19:0]; default: 0;
|
||||
* actual target value value high 20bits
|
||||
*/
|
||||
uint32_t target1_hi_ro:20;
|
||||
uint32_t reserved_20:12;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_real_target1_hi_reg_t;
|
||||
|
||||
|
||||
/** Group: SYSTEM TIMER COMP2 STATUS REGISTER */
|
||||
/** Type of real_target2_lo register
|
||||
* system timer comp2 actual target value low register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** target2_lo_ro : RO; bitpos: [31:0]; default: 0;
|
||||
* actual target value value low 32bits
|
||||
*/
|
||||
uint32_t target2_lo_ro:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_real_target2_lo_reg_t;
|
||||
|
||||
/** Type of real_target2_hi register
|
||||
* system timer comp2 actual target value high register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** target2_hi_ro : RO; bitpos: [19:0]; default: 0;
|
||||
* actual target value value high 20bits
|
||||
*/
|
||||
uint32_t target2_hi_ro:20;
|
||||
uint32_t reserved_20:12;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_real_target2_hi_reg_t;
|
||||
|
||||
|
||||
/** Group: VERSION REGISTER */
|
||||
/** Type of date register
|
||||
* system timer version control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** date : R/W; bitpos: [31:0]; default: 35655795;
|
||||
* systimer register version
|
||||
*/
|
||||
uint32_t date:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} systimer_date_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile systimer_conf_reg_t conf;
|
||||
volatile systimer_unit0_op_reg_t unit0_op;
|
||||
volatile systimer_unit1_op_reg_t unit1_op;
|
||||
volatile systimer_unit0_load_hi_reg_t unit0_load_hi;
|
||||
volatile systimer_unit0_load_lo_reg_t unit0_load_lo;
|
||||
volatile systimer_unit1_load_hi_reg_t unit1_load_hi;
|
||||
volatile systimer_unit1_load_lo_reg_t unit1_load_lo;
|
||||
volatile systimer_target0_hi_reg_t target0_hi;
|
||||
volatile systimer_target0_lo_reg_t target0_lo;
|
||||
volatile systimer_target1_hi_reg_t target1_hi;
|
||||
volatile systimer_target1_lo_reg_t target1_lo;
|
||||
volatile systimer_target2_hi_reg_t target2_hi;
|
||||
volatile systimer_target2_lo_reg_t target2_lo;
|
||||
volatile systimer_target0_conf_reg_t target0_conf;
|
||||
volatile systimer_target1_conf_reg_t target1_conf;
|
||||
volatile systimer_target2_conf_reg_t target2_conf;
|
||||
volatile systimer_unit0_value_hi_reg_t unit0_value_hi;
|
||||
volatile systimer_unit0_value_lo_reg_t unit0_value_lo;
|
||||
volatile systimer_unit1_value_hi_reg_t unit1_value_hi;
|
||||
volatile systimer_unit1_value_lo_reg_t unit1_value_lo;
|
||||
volatile systimer_comp0_load_reg_t comp0_load;
|
||||
volatile systimer_comp1_load_reg_t comp1_load;
|
||||
volatile systimer_comp2_load_reg_t comp2_load;
|
||||
volatile systimer_unit0_load_reg_t unit0_load;
|
||||
volatile systimer_unit1_load_reg_t unit1_load;
|
||||
volatile systimer_int_ena_reg_t int_ena;
|
||||
volatile systimer_int_raw_reg_t int_raw;
|
||||
volatile systimer_int_clr_reg_t int_clr;
|
||||
volatile systimer_int_st_reg_t int_st;
|
||||
volatile systimer_real_target0_lo_reg_t real_target0_lo;
|
||||
volatile systimer_real_target0_hi_reg_t real_target0_hi;
|
||||
volatile systimer_real_target1_lo_reg_t real_target1_lo;
|
||||
volatile systimer_real_target1_hi_reg_t real_target1_hi;
|
||||
volatile systimer_real_target2_lo_reg_t real_target2_lo;
|
||||
volatile systimer_real_target2_hi_reg_t real_target2_hi;
|
||||
uint32_t reserved_08c[28];
|
||||
volatile systimer_date_reg_t date;
|
||||
} systimer_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(systimer_dev_t) == 0x100, "Invalid size of systimer_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
217
components/soc/esp32p4/include/soc/tcm_monitor_reg.h
Normal file
217
components/soc/esp32p4/include/soc/tcm_monitor_reg.h
Normal file
@ -0,0 +1,217 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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_MODE : R/W; bitpos: [3:0]; default: 0;
|
||||
* Bit[0] : WR monitor, BIT[1]: WORD monitor, BIT[2]: HALFWORD monitor, BIT[3]: 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 0
|
||||
/** MEM_MONITOR_LOG_MEM_LOOP_ENABLE : R/W; bitpos: [4]; 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(4))
|
||||
#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 4
|
||||
/** MEM_MONITOR_LOG_CORE_ENA : R/W; bitpos: [15:8]; default: 0;
|
||||
* enable core log
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_CORE_ENA 0x000000FFU
|
||||
#define MEM_MONITOR_LOG_CORE_ENA_M (MEM_MONITOR_LOG_CORE_ENA_V << MEM_MONITOR_LOG_CORE_ENA_S)
|
||||
#define MEM_MONITOR_LOG_CORE_ENA_V 0x000000FFU
|
||||
#define MEM_MONITOR_LOG_CORE_ENA_S 8
|
||||
/** MEM_MONITOR_LOG_DMA_0_ENA : R/W; bitpos: [23:16]; default: 0;
|
||||
* enable dma_0 log
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_DMA_0_ENA 0x000000FFU
|
||||
#define MEM_MONITOR_LOG_DMA_0_ENA_M (MEM_MONITOR_LOG_DMA_0_ENA_V << MEM_MONITOR_LOG_DMA_0_ENA_S)
|
||||
#define MEM_MONITOR_LOG_DMA_0_ENA_V 0x000000FFU
|
||||
#define MEM_MONITOR_LOG_DMA_0_ENA_S 16
|
||||
/** MEM_MONITOR_LOG_DMA_1_ENA : R/W; bitpos: [31:24]; default: 0;
|
||||
* enable dma_1 log
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_DMA_1_ENA 0x000000FFU
|
||||
#define MEM_MONITOR_LOG_DMA_1_ENA_M (MEM_MONITOR_LOG_DMA_1_ENA_V << MEM_MONITOR_LOG_DMA_1_ENA_S)
|
||||
#define MEM_MONITOR_LOG_DMA_1_ENA_V 0x000000FFU
|
||||
#define MEM_MONITOR_LOG_DMA_1_ENA_S 24
|
||||
|
||||
/** MEM_MONITOR_LOG_SETTING1_REG register
|
||||
* log config regsiter
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_SETTING1_REG (DR_REG_MEM_MONITOR_BASE + 0x4)
|
||||
/** MEM_MONITOR_LOG_DMA_2_ENA : R/W; bitpos: [7:0]; default: 0;
|
||||
* enable dma_2 log
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_DMA_2_ENA 0x000000FFU
|
||||
#define MEM_MONITOR_LOG_DMA_2_ENA_M (MEM_MONITOR_LOG_DMA_2_ENA_V << MEM_MONITOR_LOG_DMA_2_ENA_S)
|
||||
#define MEM_MONITOR_LOG_DMA_2_ENA_V 0x000000FFU
|
||||
#define MEM_MONITOR_LOG_DMA_2_ENA_S 0
|
||||
/** MEM_MONITOR_LOG_DMA_3_ENA : R/W; bitpos: [15:8]; default: 0;
|
||||
* enable dma_3 log
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_DMA_3_ENA 0x000000FFU
|
||||
#define MEM_MONITOR_LOG_DMA_3_ENA_M (MEM_MONITOR_LOG_DMA_3_ENA_V << MEM_MONITOR_LOG_DMA_3_ENA_S)
|
||||
#define MEM_MONITOR_LOG_DMA_3_ENA_V 0x000000FFU
|
||||
#define MEM_MONITOR_LOG_DMA_3_ENA_S 8
|
||||
|
||||
/** MEM_MONITOR_LOG_CHECK_DATA_REG register
|
||||
* check data regsiter
|
||||
*/
|
||||
#define MEM_MONITOR_LOG_CHECK_DATA_REG (DR_REG_MEM_MONITOR_BASE + 0x8)
|
||||
/** 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 + 0xc)
|
||||
/** 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 + 0x10)
|
||||
/** 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 + 0x14)
|
||||
/** 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 + 0x18)
|
||||
/** 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 + 0x1c)
|
||||
/** 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 + 0x20)
|
||||
/** 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 + 0x24)
|
||||
/** 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 + 0x28)
|
||||
/** 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 + 0x2c)
|
||||
/** 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: 36708896;
|
||||
* 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
|
246
components/soc/esp32p4/include/soc/tcm_monitor_struct.h
Normal file
246
components/soc/esp32p4/include/soc/tcm_monitor_struct.h
Normal file
@ -0,0 +1,246 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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_mode : R/W; bitpos: [3:0]; default: 0;
|
||||
* Bit[0] : WR monitor, BIT[1]: WORD monitor, BIT[2]: HALFWORD monitor, BIT[3]: BYTE
|
||||
* monitor
|
||||
*/
|
||||
uint32_t log_mode:4;
|
||||
/** log_mem_loop_enable : R/W; bitpos: [4]; 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_5:3;
|
||||
/** log_core_ena : R/W; bitpos: [15:8]; default: 0;
|
||||
* enable core log
|
||||
*/
|
||||
uint32_t log_core_ena:8;
|
||||
/** log_dma_0_ena : R/W; bitpos: [23:16]; default: 0;
|
||||
* enable dma_0 log
|
||||
*/
|
||||
uint32_t log_dma_0_ena:8;
|
||||
/** log_dma_1_ena : R/W; bitpos: [31:24]; default: 0;
|
||||
* enable dma_1 log
|
||||
*/
|
||||
uint32_t log_dma_1_ena:8;
|
||||
};
|
||||
uint32_t val;
|
||||
} mem_monitor_log_setting_reg_t;
|
||||
|
||||
/** Type of log_setting1 register
|
||||
* log config regsiter
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** log_dma_2_ena : R/W; bitpos: [7:0]; default: 0;
|
||||
* enable dma_2 log
|
||||
*/
|
||||
uint32_t log_dma_2_ena:8;
|
||||
/** log_dma_3_ena : R/W; bitpos: [15:8]; default: 0;
|
||||
* enable dma_3 log
|
||||
*/
|
||||
uint32_t log_dma_3_ena:8;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} mem_monitor_log_setting1_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: 36708896;
|
||||
* 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_setting1_reg_t log_setting1;
|
||||
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_030[243];
|
||||
volatile mem_monitor_date_reg_t date;
|
||||
} mem_monitor_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(mem_monitor_dev_t) == 0x400, "Invalid size of mem_monitor_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
716
components/soc/esp32p4/include/soc/timers_reg.h
Normal file
716
components/soc/esp32p4/include/soc/timers_reg.h
Normal file
@ -0,0 +1,716 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 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
|
||||
|
||||
/** TIMG_T0CONFIG_REG register
|
||||
* Timer 0 configuration register
|
||||
*/
|
||||
#define TIMG_T0CONFIG_REG (DR_REG_TIMG_BASE + 0x0)
|
||||
/** TIMG_T0_ALARM_EN : R/W/SC; bitpos: [10]; default: 0;
|
||||
* When set, the alarm is enabled. This bit is automatically cleared once an
|
||||
* alarm occurs.
|
||||
*/
|
||||
#define TIMG_T0_ALARM_EN (BIT(10))
|
||||
#define TIMG_T0_ALARM_EN_M (TIMG_T0_ALARM_EN_V << TIMG_T0_ALARM_EN_S)
|
||||
#define TIMG_T0_ALARM_EN_V 0x00000001U
|
||||
#define TIMG_T0_ALARM_EN_S 10
|
||||
/** TIMG_T0_DIVCNT_RST : WT; bitpos: [12]; default: 0;
|
||||
* When set, Timer 0 's clock divider counter will be reset.
|
||||
*/
|
||||
#define TIMG_T0_DIVCNT_RST (BIT(12))
|
||||
#define TIMG_T0_DIVCNT_RST_M (TIMG_T0_DIVCNT_RST_V << TIMG_T0_DIVCNT_RST_S)
|
||||
#define TIMG_T0_DIVCNT_RST_V 0x00000001U
|
||||
#define TIMG_T0_DIVCNT_RST_S 12
|
||||
/** TIMG_T0_DIVIDER : R/W; bitpos: [28:13]; default: 1;
|
||||
* Timer 0 clock (T0_clk) prescaler value.
|
||||
*/
|
||||
#define TIMG_T0_DIVIDER 0x0000FFFFU
|
||||
#define TIMG_T0_DIVIDER_M (TIMG_T0_DIVIDER_V << TIMG_T0_DIVIDER_S)
|
||||
#define TIMG_T0_DIVIDER_V 0x0000FFFFU
|
||||
#define TIMG_T0_DIVIDER_S 13
|
||||
/** TIMG_T0_AUTORELOAD : R/W; bitpos: [29]; default: 1;
|
||||
* When set, timer 0 auto-reload at alarm is enabled.
|
||||
*/
|
||||
#define TIMG_T0_AUTORELOAD (BIT(29))
|
||||
#define TIMG_T0_AUTORELOAD_M (TIMG_T0_AUTORELOAD_V << TIMG_T0_AUTORELOAD_S)
|
||||
#define TIMG_T0_AUTORELOAD_V 0x00000001U
|
||||
#define TIMG_T0_AUTORELOAD_S 29
|
||||
/** TIMG_T0_INCREASE : R/W; bitpos: [30]; default: 1;
|
||||
* When set, the timer 0 time-base counter will increment every clock tick. When
|
||||
* cleared, the timer 0 time-base counter will decrement.
|
||||
*/
|
||||
#define TIMG_T0_INCREASE (BIT(30))
|
||||
#define TIMG_T0_INCREASE_M (TIMG_T0_INCREASE_V << TIMG_T0_INCREASE_S)
|
||||
#define TIMG_T0_INCREASE_V 0x00000001U
|
||||
#define TIMG_T0_INCREASE_S 30
|
||||
/** TIMG_T0_EN : R/W/SS/SC; bitpos: [31]; default: 0;
|
||||
* When set, the timer 0 time-base counter is enabled.
|
||||
*/
|
||||
#define TIMG_T0_EN (BIT(31))
|
||||
#define TIMG_T0_EN_M (TIMG_T0_EN_V << TIMG_T0_EN_S)
|
||||
#define TIMG_T0_EN_V 0x00000001U
|
||||
#define TIMG_T0_EN_S 31
|
||||
|
||||
/** TIMG_T0LO_REG register
|
||||
* Timer 0 current value, low 32 bits
|
||||
*/
|
||||
#define TIMG_T0LO_REG (DR_REG_TIMG_BASE + 0x4)
|
||||
/** TIMG_T0_LO : RO; bitpos: [31:0]; default: 0;
|
||||
* After writing to TIMG_T0UPDATE_REG, the low 32 bits of the time-base counter
|
||||
* of timer 0 can be read here.
|
||||
*/
|
||||
#define TIMG_T0_LO 0xFFFFFFFFU
|
||||
#define TIMG_T0_LO_M (TIMG_T0_LO_V << TIMG_T0_LO_S)
|
||||
#define TIMG_T0_LO_V 0xFFFFFFFFU
|
||||
#define TIMG_T0_LO_S 0
|
||||
|
||||
/** TIMG_T0HI_REG register
|
||||
* Timer 0 current value, high 22 bits
|
||||
*/
|
||||
#define TIMG_T0HI_REG (DR_REG_TIMG_BASE + 0x8)
|
||||
/** TIMG_T0_HI : RO; bitpos: [21:0]; default: 0;
|
||||
* After writing to TIMG_T0UPDATE_REG, the high 22 bits of the time-base counter
|
||||
* of timer 0 can be read here.
|
||||
*/
|
||||
#define TIMG_T0_HI 0x003FFFFFU
|
||||
#define TIMG_T0_HI_M (TIMG_T0_HI_V << TIMG_T0_HI_S)
|
||||
#define TIMG_T0_HI_V 0x003FFFFFU
|
||||
#define TIMG_T0_HI_S 0
|
||||
|
||||
/** TIMG_T0UPDATE_REG register
|
||||
* Write to copy current timer value to TIMGn_T0_(LO/HI)_REG
|
||||
*/
|
||||
#define TIMG_T0UPDATE_REG (DR_REG_TIMG_BASE + 0xc)
|
||||
/** TIMG_T0_UPDATE : R/W/SC; bitpos: [31]; default: 0;
|
||||
* After writing 0 or 1 to TIMG_T0UPDATE_REG, the counter value is latched.
|
||||
*/
|
||||
#define TIMG_T0_UPDATE (BIT(31))
|
||||
#define TIMG_T0_UPDATE_M (TIMG_T0_UPDATE_V << TIMG_T0_UPDATE_S)
|
||||
#define TIMG_T0_UPDATE_V 0x00000001U
|
||||
#define TIMG_T0_UPDATE_S 31
|
||||
|
||||
/** TIMG_T0ALARMLO_REG register
|
||||
* Timer 0 alarm value, low 32 bits
|
||||
*/
|
||||
#define TIMG_T0ALARMLO_REG (DR_REG_TIMG_BASE + 0x10)
|
||||
/** TIMG_T0_ALARM_LO : R/W; bitpos: [31:0]; default: 0;
|
||||
* Timer 0 alarm trigger time-base counter value, low 32 bits.
|
||||
*/
|
||||
#define TIMG_T0_ALARM_LO 0xFFFFFFFFU
|
||||
#define TIMG_T0_ALARM_LO_M (TIMG_T0_ALARM_LO_V << TIMG_T0_ALARM_LO_S)
|
||||
#define TIMG_T0_ALARM_LO_V 0xFFFFFFFFU
|
||||
#define TIMG_T0_ALARM_LO_S 0
|
||||
|
||||
/** TIMG_T0ALARMHI_REG register
|
||||
* Timer 0 alarm value, high bits
|
||||
*/
|
||||
#define TIMG_T0ALARMHI_REG (DR_REG_TIMG_BASE + 0x14)
|
||||
/** TIMG_T0_ALARM_HI : R/W; bitpos: [21:0]; default: 0;
|
||||
* Timer 0 alarm trigger time-base counter value, high 22 bits.
|
||||
*/
|
||||
#define TIMG_T0_ALARM_HI 0x003FFFFFU
|
||||
#define TIMG_T0_ALARM_HI_M (TIMG_T0_ALARM_HI_V << TIMG_T0_ALARM_HI_S)
|
||||
#define TIMG_T0_ALARM_HI_V 0x003FFFFFU
|
||||
#define TIMG_T0_ALARM_HI_S 0
|
||||
|
||||
/** TIMG_T0LOADLO_REG register
|
||||
* Timer 0 reload value, low 32 bits
|
||||
*/
|
||||
#define TIMG_T0LOADLO_REG (DR_REG_TIMG_BASE + 0x18)
|
||||
/** TIMG_T0_LOAD_LO : R/W; bitpos: [31:0]; default: 0;
|
||||
* Low 32 bits of the value that a reload will load onto timer 0 time-base
|
||||
* Counter.
|
||||
*/
|
||||
#define TIMG_T0_LOAD_LO 0xFFFFFFFFU
|
||||
#define TIMG_T0_LOAD_LO_M (TIMG_T0_LOAD_LO_V << TIMG_T0_LOAD_LO_S)
|
||||
#define TIMG_T0_LOAD_LO_V 0xFFFFFFFFU
|
||||
#define TIMG_T0_LOAD_LO_S 0
|
||||
|
||||
/** TIMG_T0LOADHI_REG register
|
||||
* Timer 0 reload value, high 22 bits
|
||||
*/
|
||||
#define TIMG_T0LOADHI_REG (DR_REG_TIMG_BASE + 0x1c)
|
||||
/** TIMG_T0_LOAD_HI : R/W; bitpos: [21:0]; default: 0;
|
||||
* High 22 bits of the value that a reload will load onto timer 0 time-base
|
||||
* counter.
|
||||
*/
|
||||
#define TIMG_T0_LOAD_HI 0x003FFFFFU
|
||||
#define TIMG_T0_LOAD_HI_M (TIMG_T0_LOAD_HI_V << TIMG_T0_LOAD_HI_S)
|
||||
#define TIMG_T0_LOAD_HI_V 0x003FFFFFU
|
||||
#define TIMG_T0_LOAD_HI_S 0
|
||||
|
||||
/** TIMG_T0LOAD_REG register
|
||||
* Write to reload timer from TIMG_T0_(LOADLOLOADHI)_REG
|
||||
*/
|
||||
#define TIMG_T0LOAD_REG (DR_REG_TIMG_BASE + 0x20)
|
||||
/** TIMG_T0_LOAD : WT; bitpos: [31:0]; default: 0;
|
||||
*
|
||||
* Write any value to trigger a timer 0 time-base counter reload.
|
||||
*/
|
||||
#define TIMG_T0_LOAD 0xFFFFFFFFU
|
||||
#define TIMG_T0_LOAD_M (TIMG_T0_LOAD_V << TIMG_T0_LOAD_S)
|
||||
#define TIMG_T0_LOAD_V 0xFFFFFFFFU
|
||||
#define TIMG_T0_LOAD_S 0
|
||||
|
||||
/** TIMG_T1CONFIG_REG register
|
||||
* Timer 1 configuration register
|
||||
*/
|
||||
#define TIMG_T1CONFIG_REG (DR_REG_TIMG_BASE + 0x24)
|
||||
/** TIMG_T1_ALARM_EN : R/W/SC; bitpos: [10]; default: 0;
|
||||
* When set, the alarm is enabled. This bit is automatically cleared once an
|
||||
* alarm occurs.
|
||||
*/
|
||||
#define TIMG_T1_ALARM_EN (BIT(10))
|
||||
#define TIMG_T1_ALARM_EN_M (TIMG_T1_ALARM_EN_V << TIMG_T1_ALARM_EN_S)
|
||||
#define TIMG_T1_ALARM_EN_V 0x00000001U
|
||||
#define TIMG_T1_ALARM_EN_S 10
|
||||
/** TIMG_T1_DIVCNT_RST : WT; bitpos: [12]; default: 0;
|
||||
* When set, Timer 1 's clock divider counter will be reset.
|
||||
*/
|
||||
#define TIMG_T1_DIVCNT_RST (BIT(12))
|
||||
#define TIMG_T1_DIVCNT_RST_M (TIMG_T1_DIVCNT_RST_V << TIMG_T1_DIVCNT_RST_S)
|
||||
#define TIMG_T1_DIVCNT_RST_V 0x00000001U
|
||||
#define TIMG_T1_DIVCNT_RST_S 12
|
||||
/** TIMG_T1_DIVIDER : R/W; bitpos: [28:13]; default: 1;
|
||||
* Timer 1 clock (T1_clk) prescaler value.
|
||||
*/
|
||||
#define TIMG_T1_DIVIDER 0x0000FFFFU
|
||||
#define TIMG_T1_DIVIDER_M (TIMG_T1_DIVIDER_V << TIMG_T1_DIVIDER_S)
|
||||
#define TIMG_T1_DIVIDER_V 0x0000FFFFU
|
||||
#define TIMG_T1_DIVIDER_S 13
|
||||
/** TIMG_T1_AUTORELOAD : R/W; bitpos: [29]; default: 1;
|
||||
* When set, timer 1 auto-reload at alarm is enabled.
|
||||
*/
|
||||
#define TIMG_T1_AUTORELOAD (BIT(29))
|
||||
#define TIMG_T1_AUTORELOAD_M (TIMG_T1_AUTORELOAD_V << TIMG_T1_AUTORELOAD_S)
|
||||
#define TIMG_T1_AUTORELOAD_V 0x00000001U
|
||||
#define TIMG_T1_AUTORELOAD_S 29
|
||||
/** TIMG_T1_INCREASE : R/W; bitpos: [30]; default: 1;
|
||||
* When set, the timer 1 time-base counter will increment every clock tick. When
|
||||
* cleared, the timer 1 time-base counter will decrement.
|
||||
*/
|
||||
#define TIMG_T1_INCREASE (BIT(30))
|
||||
#define TIMG_T1_INCREASE_M (TIMG_T1_INCREASE_V << TIMG_T1_INCREASE_S)
|
||||
#define TIMG_T1_INCREASE_V 0x00000001U
|
||||
#define TIMG_T1_INCREASE_S 30
|
||||
/** TIMG_T1_EN : R/W/SS/SC; bitpos: [31]; default: 0;
|
||||
* When set, the timer 1 time-base counter is enabled.
|
||||
*/
|
||||
#define TIMG_T1_EN (BIT(31))
|
||||
#define TIMG_T1_EN_M (TIMG_T1_EN_V << TIMG_T1_EN_S)
|
||||
#define TIMG_T1_EN_V 0x00000001U
|
||||
#define TIMG_T1_EN_S 31
|
||||
|
||||
/** TIMG_T1LO_REG register
|
||||
* Timer 1 current value, low 32 bits
|
||||
*/
|
||||
#define TIMG_T1LO_REG (DR_REG_TIMG_BASE + 0x28)
|
||||
/** TIMG_T1_LO : RO; bitpos: [31:0]; default: 0;
|
||||
* After writing to TIMG_T1UPDATE_REG, the low 32 bits of the time-base counter
|
||||
* of timer 1 can be read here.
|
||||
*/
|
||||
#define TIMG_T1_LO 0xFFFFFFFFU
|
||||
#define TIMG_T1_LO_M (TIMG_T1_LO_V << TIMG_T1_LO_S)
|
||||
#define TIMG_T1_LO_V 0xFFFFFFFFU
|
||||
#define TIMG_T1_LO_S 0
|
||||
|
||||
/** TIMG_T1HI_REG register
|
||||
* Timer 1 current value, high 22 bits
|
||||
*/
|
||||
#define TIMG_T1HI_REG (DR_REG_TIMG_BASE + 0x2c)
|
||||
/** TIMG_T1_HI : RO; bitpos: [21:0]; default: 0;
|
||||
* After writing to TIMG_T1UPDATE_REG, the high 22 bits of the time-base counter
|
||||
* of timer 1 can be read here.
|
||||
*/
|
||||
#define TIMG_T1_HI 0x003FFFFFU
|
||||
#define TIMG_T1_HI_M (TIMG_T1_HI_V << TIMG_T1_HI_S)
|
||||
#define TIMG_T1_HI_V 0x003FFFFFU
|
||||
#define TIMG_T1_HI_S 0
|
||||
|
||||
/** TIMG_T1UPDATE_REG register
|
||||
* Write to copy current timer value to TIMGn_T1_(LO/HI)_REG
|
||||
*/
|
||||
#define TIMG_T1UPDATE_REG (DR_REG_TIMG_BASE + 0x30)
|
||||
/** TIMG_T1_UPDATE : R/W/SC; bitpos: [31]; default: 0;
|
||||
* After writing 0 or 1 to TIMG_T1UPDATE_REG, the counter value is latched.
|
||||
*/
|
||||
#define TIMG_T1_UPDATE (BIT(31))
|
||||
#define TIMG_T1_UPDATE_M (TIMG_T1_UPDATE_V << TIMG_T1_UPDATE_S)
|
||||
#define TIMG_T1_UPDATE_V 0x00000001U
|
||||
#define TIMG_T1_UPDATE_S 31
|
||||
|
||||
/** TIMG_T1ALARMLO_REG register
|
||||
* Timer 1 alarm value, low 32 bits
|
||||
*/
|
||||
#define TIMG_T1ALARMLO_REG (DR_REG_TIMG_BASE + 0x34)
|
||||
/** TIMG_T1_ALARM_LO : R/W; bitpos: [31:0]; default: 0;
|
||||
* Timer 1 alarm trigger time-base counter value, low 32 bits.
|
||||
*/
|
||||
#define TIMG_T1_ALARM_LO 0xFFFFFFFFU
|
||||
#define TIMG_T1_ALARM_LO_M (TIMG_T1_ALARM_LO_V << TIMG_T1_ALARM_LO_S)
|
||||
#define TIMG_T1_ALARM_LO_V 0xFFFFFFFFU
|
||||
#define TIMG_T1_ALARM_LO_S 0
|
||||
|
||||
/** TIMG_T1ALARMHI_REG register
|
||||
* Timer 1 alarm value, high bits
|
||||
*/
|
||||
#define TIMG_T1ALARMHI_REG (DR_REG_TIMG_BASE + 0x38)
|
||||
/** TIMG_T1_ALARM_HI : R/W; bitpos: [21:0]; default: 0;
|
||||
* Timer 1 alarm trigger time-base counter value, high 22 bits.
|
||||
*/
|
||||
#define TIMG_T1_ALARM_HI 0x003FFFFFU
|
||||
#define TIMG_T1_ALARM_HI_M (TIMG_T1_ALARM_HI_V << TIMG_T1_ALARM_HI_S)
|
||||
#define TIMG_T1_ALARM_HI_V 0x003FFFFFU
|
||||
#define TIMG_T1_ALARM_HI_S 0
|
||||
|
||||
/** TIMG_T1LOADLO_REG register
|
||||
* Timer 1 reload value, low 32 bits
|
||||
*/
|
||||
#define TIMG_T1LOADLO_REG (DR_REG_TIMG_BASE + 0x3c)
|
||||
/** TIMG_T1_LOAD_LO : R/W; bitpos: [31:0]; default: 0;
|
||||
* Low 32 bits of the value that a reload will load onto timer 1 time-base
|
||||
* Counter.
|
||||
*/
|
||||
#define TIMG_T1_LOAD_LO 0xFFFFFFFFU
|
||||
#define TIMG_T1_LOAD_LO_M (TIMG_T1_LOAD_LO_V << TIMG_T1_LOAD_LO_S)
|
||||
#define TIMG_T1_LOAD_LO_V 0xFFFFFFFFU
|
||||
#define TIMG_T1_LOAD_LO_S 0
|
||||
|
||||
/** TIMG_T1LOADHI_REG register
|
||||
* Timer 1 reload value, high 22 bits
|
||||
*/
|
||||
#define TIMG_T1LOADHI_REG (DR_REG_TIMG_BASE + 0x40)
|
||||
/** TIMG_T1_LOAD_HI : R/W; bitpos: [21:0]; default: 0;
|
||||
* High 22 bits of the value that a reload will load onto timer 1 time-base
|
||||
* counter.
|
||||
*/
|
||||
#define TIMG_T1_LOAD_HI 0x003FFFFFU
|
||||
#define TIMG_T1_LOAD_HI_M (TIMG_T1_LOAD_HI_V << TIMG_T1_LOAD_HI_S)
|
||||
#define TIMG_T1_LOAD_HI_V 0x003FFFFFU
|
||||
#define TIMG_T1_LOAD_HI_S 0
|
||||
|
||||
/** TIMG_T1LOAD_REG register
|
||||
* Write to reload timer from TIMG_T1_(LOADLOLOADHI)_REG
|
||||
*/
|
||||
#define TIMG_T1LOAD_REG (DR_REG_TIMG_BASE + 0x44)
|
||||
/** TIMG_T1_LOAD : WT; bitpos: [31:0]; default: 0;
|
||||
*
|
||||
* Write any value to trigger a timer 1 time-base counter reload.
|
||||
*/
|
||||
#define TIMG_T1_LOAD 0xFFFFFFFFU
|
||||
#define TIMG_T1_LOAD_M (TIMG_T1_LOAD_V << TIMG_T1_LOAD_S)
|
||||
#define TIMG_T1_LOAD_V 0xFFFFFFFFU
|
||||
#define TIMG_T1_LOAD_S 0
|
||||
|
||||
/** TIMG_WDTCONFIG0_REG register
|
||||
* Watchdog timer configuration register
|
||||
*/
|
||||
#define TIMG_WDTCONFIG0_REG (DR_REG_TIMG_BASE + 0x48)
|
||||
/** TIMG_WDT_APPCPU_RESET_EN : R/W; bitpos: [12]; default: 0;
|
||||
* WDT reset CPU enable.
|
||||
*/
|
||||
#define TIMG_WDT_APPCPU_RESET_EN (BIT(12))
|
||||
#define TIMG_WDT_APPCPU_RESET_EN_M (TIMG_WDT_APPCPU_RESET_EN_V << TIMG_WDT_APPCPU_RESET_EN_S)
|
||||
#define TIMG_WDT_APPCPU_RESET_EN_V 0x00000001U
|
||||
#define TIMG_WDT_APPCPU_RESET_EN_S 12
|
||||
/** TIMG_WDT_PROCPU_RESET_EN : R/W; bitpos: [13]; default: 0;
|
||||
* WDT reset CPU enable.
|
||||
*/
|
||||
#define TIMG_WDT_PROCPU_RESET_EN (BIT(13))
|
||||
#define TIMG_WDT_PROCPU_RESET_EN_M (TIMG_WDT_PROCPU_RESET_EN_V << TIMG_WDT_PROCPU_RESET_EN_S)
|
||||
#define TIMG_WDT_PROCPU_RESET_EN_V 0x00000001U
|
||||
#define TIMG_WDT_PROCPU_RESET_EN_S 13
|
||||
/** TIMG_WDT_FLASHBOOT_MOD_EN : R/W; bitpos: [14]; default: 1;
|
||||
* When set, Flash boot protection is enabled.
|
||||
*/
|
||||
#define TIMG_WDT_FLASHBOOT_MOD_EN (BIT(14))
|
||||
#define TIMG_WDT_FLASHBOOT_MOD_EN_M (TIMG_WDT_FLASHBOOT_MOD_EN_V << TIMG_WDT_FLASHBOOT_MOD_EN_S)
|
||||
#define TIMG_WDT_FLASHBOOT_MOD_EN_V 0x00000001U
|
||||
#define TIMG_WDT_FLASHBOOT_MOD_EN_S 14
|
||||
/** TIMG_WDT_SYS_RESET_LENGTH : R/W; bitpos: [17:15]; default: 1;
|
||||
* System reset signal length selection. 0: 100 ns, 1: 200 ns,
|
||||
* 2: 300 ns, 3: 400 ns, 4: 500 ns, 5: 800 ns, 6: 1.6 us, 7: 3.2 us.
|
||||
*/
|
||||
#define TIMG_WDT_SYS_RESET_LENGTH 0x00000007U
|
||||
#define TIMG_WDT_SYS_RESET_LENGTH_M (TIMG_WDT_SYS_RESET_LENGTH_V << TIMG_WDT_SYS_RESET_LENGTH_S)
|
||||
#define TIMG_WDT_SYS_RESET_LENGTH_V 0x00000007U
|
||||
#define TIMG_WDT_SYS_RESET_LENGTH_S 15
|
||||
/** TIMG_WDT_CPU_RESET_LENGTH : R/W; bitpos: [20:18]; default: 1;
|
||||
* CPU reset signal length selection. 0: 100 ns, 1: 200 ns,
|
||||
* 2: 300 ns, 3: 400 ns, 4: 500 ns, 5: 800 ns, 6: 1.6 us, 7: 3.2 us.
|
||||
*/
|
||||
#define TIMG_WDT_CPU_RESET_LENGTH 0x00000007U
|
||||
#define TIMG_WDT_CPU_RESET_LENGTH_M (TIMG_WDT_CPU_RESET_LENGTH_V << TIMG_WDT_CPU_RESET_LENGTH_S)
|
||||
#define TIMG_WDT_CPU_RESET_LENGTH_V 0x00000007U
|
||||
#define TIMG_WDT_CPU_RESET_LENGTH_S 18
|
||||
/** TIMG_WDT_CONF_UPDATE_EN : WT; bitpos: [22]; default: 0;
|
||||
* update the WDT configuration registers
|
||||
*/
|
||||
#define TIMG_WDT_CONF_UPDATE_EN (BIT(22))
|
||||
#define TIMG_WDT_CONF_UPDATE_EN_M (TIMG_WDT_CONF_UPDATE_EN_V << TIMG_WDT_CONF_UPDATE_EN_S)
|
||||
#define TIMG_WDT_CONF_UPDATE_EN_V 0x00000001U
|
||||
#define TIMG_WDT_CONF_UPDATE_EN_S 22
|
||||
/** TIMG_WDT_STG3 : R/W; bitpos: [24:23]; default: 0;
|
||||
* Stage 3 configuration. 0: off, 1: interrupt, 2: reset CPU, 3: reset system.
|
||||
*/
|
||||
#define TIMG_WDT_STG3 0x00000003U
|
||||
#define TIMG_WDT_STG3_M (TIMG_WDT_STG3_V << TIMG_WDT_STG3_S)
|
||||
#define TIMG_WDT_STG3_V 0x00000003U
|
||||
#define TIMG_WDT_STG3_S 23
|
||||
/** TIMG_WDT_STG2 : R/W; bitpos: [26:25]; default: 0;
|
||||
* Stage 2 configuration. 0: off, 1: interrupt, 2: reset CPU, 3: reset system.
|
||||
*/
|
||||
#define TIMG_WDT_STG2 0x00000003U
|
||||
#define TIMG_WDT_STG2_M (TIMG_WDT_STG2_V << TIMG_WDT_STG2_S)
|
||||
#define TIMG_WDT_STG2_V 0x00000003U
|
||||
#define TIMG_WDT_STG2_S 25
|
||||
/** TIMG_WDT_STG1 : R/W; bitpos: [28:27]; default: 0;
|
||||
* Stage 1 configuration. 0: off, 1: interrupt, 2: reset CPU, 3: reset system.
|
||||
*/
|
||||
#define TIMG_WDT_STG1 0x00000003U
|
||||
#define TIMG_WDT_STG1_M (TIMG_WDT_STG1_V << TIMG_WDT_STG1_S)
|
||||
#define TIMG_WDT_STG1_V 0x00000003U
|
||||
#define TIMG_WDT_STG1_S 27
|
||||
/** TIMG_WDT_STG0 : R/W; bitpos: [30:29]; default: 0;
|
||||
* Stage 0 configuration. 0: off, 1: interrupt, 2: reset CPU, 3: reset system.
|
||||
*/
|
||||
#define TIMG_WDT_STG0 0x00000003U
|
||||
#define TIMG_WDT_STG0_M (TIMG_WDT_STG0_V << TIMG_WDT_STG0_S)
|
||||
#define TIMG_WDT_STG0_V 0x00000003U
|
||||
#define TIMG_WDT_STG0_S 29
|
||||
/** TIMG_WDT_EN : R/W; bitpos: [31]; default: 0;
|
||||
* When set, MWDT is enabled.
|
||||
*/
|
||||
#define TIMG_WDT_EN (BIT(31))
|
||||
#define TIMG_WDT_EN_M (TIMG_WDT_EN_V << TIMG_WDT_EN_S)
|
||||
#define TIMG_WDT_EN_V 0x00000001U
|
||||
#define TIMG_WDT_EN_S 31
|
||||
|
||||
/** TIMG_WDTCONFIG1_REG register
|
||||
* Watchdog timer prescaler register
|
||||
*/
|
||||
#define TIMG_WDTCONFIG1_REG (DR_REG_TIMG_BASE + 0x4c)
|
||||
/** TIMG_WDT_DIVCNT_RST : WT; bitpos: [0]; default: 0;
|
||||
* When set, WDT 's clock divider counter will be reset.
|
||||
*/
|
||||
#define TIMG_WDT_DIVCNT_RST (BIT(0))
|
||||
#define TIMG_WDT_DIVCNT_RST_M (TIMG_WDT_DIVCNT_RST_V << TIMG_WDT_DIVCNT_RST_S)
|
||||
#define TIMG_WDT_DIVCNT_RST_V 0x00000001U
|
||||
#define TIMG_WDT_DIVCNT_RST_S 0
|
||||
/** TIMG_WDT_CLK_PRESCALE : R/W; bitpos: [31:16]; default: 1;
|
||||
* MWDT clock prescaler value. MWDT clock period = 12.5 ns *
|
||||
* TIMG_WDT_CLK_PRESCALE.
|
||||
*/
|
||||
#define TIMG_WDT_CLK_PRESCALE 0x0000FFFFU
|
||||
#define TIMG_WDT_CLK_PRESCALE_M (TIMG_WDT_CLK_PRESCALE_V << TIMG_WDT_CLK_PRESCALE_S)
|
||||
#define TIMG_WDT_CLK_PRESCALE_V 0x0000FFFFU
|
||||
#define TIMG_WDT_CLK_PRESCALE_S 16
|
||||
|
||||
/** TIMG_WDTCONFIG2_REG register
|
||||
* Watchdog timer stage 0 timeout value
|
||||
*/
|
||||
#define TIMG_WDTCONFIG2_REG (DR_REG_TIMG_BASE + 0x50)
|
||||
/** TIMG_WDT_STG0_HOLD : R/W; bitpos: [31:0]; default: 26000000;
|
||||
* Stage 0 timeout value, in MWDT clock cycles.
|
||||
*/
|
||||
#define TIMG_WDT_STG0_HOLD 0xFFFFFFFFU
|
||||
#define TIMG_WDT_STG0_HOLD_M (TIMG_WDT_STG0_HOLD_V << TIMG_WDT_STG0_HOLD_S)
|
||||
#define TIMG_WDT_STG0_HOLD_V 0xFFFFFFFFU
|
||||
#define TIMG_WDT_STG0_HOLD_S 0
|
||||
|
||||
/** TIMG_WDTCONFIG3_REG register
|
||||
* Watchdog timer stage 1 timeout value
|
||||
*/
|
||||
#define TIMG_WDTCONFIG3_REG (DR_REG_TIMG_BASE + 0x54)
|
||||
/** TIMG_WDT_STG1_HOLD : R/W; bitpos: [31:0]; default: 134217727;
|
||||
* Stage 1 timeout value, in MWDT clock cycles.
|
||||
*/
|
||||
#define TIMG_WDT_STG1_HOLD 0xFFFFFFFFU
|
||||
#define TIMG_WDT_STG1_HOLD_M (TIMG_WDT_STG1_HOLD_V << TIMG_WDT_STG1_HOLD_S)
|
||||
#define TIMG_WDT_STG1_HOLD_V 0xFFFFFFFFU
|
||||
#define TIMG_WDT_STG1_HOLD_S 0
|
||||
|
||||
/** TIMG_WDTCONFIG4_REG register
|
||||
* Watchdog timer stage 2 timeout value
|
||||
*/
|
||||
#define TIMG_WDTCONFIG4_REG (DR_REG_TIMG_BASE + 0x58)
|
||||
/** TIMG_WDT_STG2_HOLD : R/W; bitpos: [31:0]; default: 1048575;
|
||||
* Stage 2 timeout value, in MWDT clock cycles.
|
||||
*/
|
||||
#define TIMG_WDT_STG2_HOLD 0xFFFFFFFFU
|
||||
#define TIMG_WDT_STG2_HOLD_M (TIMG_WDT_STG2_HOLD_V << TIMG_WDT_STG2_HOLD_S)
|
||||
#define TIMG_WDT_STG2_HOLD_V 0xFFFFFFFFU
|
||||
#define TIMG_WDT_STG2_HOLD_S 0
|
||||
|
||||
/** TIMG_WDTCONFIG5_REG register
|
||||
* Watchdog timer stage 3 timeout value
|
||||
*/
|
||||
#define TIMG_WDTCONFIG5_REG (DR_REG_TIMG_BASE + 0x5c)
|
||||
/** TIMG_WDT_STG3_HOLD : R/W; bitpos: [31:0]; default: 1048575;
|
||||
* Stage 3 timeout value, in MWDT clock cycles.
|
||||
*/
|
||||
#define TIMG_WDT_STG3_HOLD 0xFFFFFFFFU
|
||||
#define TIMG_WDT_STG3_HOLD_M (TIMG_WDT_STG3_HOLD_V << TIMG_WDT_STG3_HOLD_S)
|
||||
#define TIMG_WDT_STG3_HOLD_V 0xFFFFFFFFU
|
||||
#define TIMG_WDT_STG3_HOLD_S 0
|
||||
|
||||
/** TIMG_WDTFEED_REG register
|
||||
* Write to feed the watchdog timer
|
||||
*/
|
||||
#define TIMG_WDTFEED_REG (DR_REG_TIMG_BASE + 0x60)
|
||||
/** TIMG_WDT_FEED : WT; bitpos: [31:0]; default: 0;
|
||||
* Write any value to feed the MWDT. (WO)
|
||||
*/
|
||||
#define TIMG_WDT_FEED 0xFFFFFFFFU
|
||||
#define TIMG_WDT_FEED_M (TIMG_WDT_FEED_V << TIMG_WDT_FEED_S)
|
||||
#define TIMG_WDT_FEED_V 0xFFFFFFFFU
|
||||
#define TIMG_WDT_FEED_S 0
|
||||
|
||||
/** TIMG_WDTWPROTECT_REG register
|
||||
* Watchdog write protect register
|
||||
*/
|
||||
#define TIMG_WDTWPROTECT_REG (DR_REG_TIMG_BASE + 0x64)
|
||||
/** TIMG_WDT_WKEY : R/W; bitpos: [31:0]; default: 1356348065;
|
||||
* If the register contains a different value than its reset value, write
|
||||
* protection is enabled.
|
||||
*/
|
||||
#define TIMG_WDT_WKEY 0xFFFFFFFFU
|
||||
#define TIMG_WDT_WKEY_M (TIMG_WDT_WKEY_V << TIMG_WDT_WKEY_S)
|
||||
#define TIMG_WDT_WKEY_V 0xFFFFFFFFU
|
||||
#define TIMG_WDT_WKEY_S 0
|
||||
|
||||
/** TIMG_RTCCALICFG_REG register
|
||||
* RTC calibration configure register
|
||||
*/
|
||||
#define TIMG_RTCCALICFG_REG (DR_REG_TIMG_BASE + 0x68)
|
||||
/** TIMG_RTC_CALI_START_CYCLING : R/W; bitpos: [12]; default: 1;
|
||||
* 0: one-shot frequency calculation,1: periodic frequency calculation,
|
||||
*/
|
||||
#define TIMG_RTC_CALI_START_CYCLING (BIT(12))
|
||||
#define TIMG_RTC_CALI_START_CYCLING_M (TIMG_RTC_CALI_START_CYCLING_V << TIMG_RTC_CALI_START_CYCLING_S)
|
||||
#define TIMG_RTC_CALI_START_CYCLING_V 0x00000001U
|
||||
#define TIMG_RTC_CALI_START_CYCLING_S 12
|
||||
/** TIMG_RTC_CALI_CLK_SEL : R/W; bitpos: [14:13]; default: 0;
|
||||
* 0:rtc slow clock. 1:clk_8m, 2:xtal_32k.
|
||||
*/
|
||||
#define TIMG_RTC_CALI_CLK_SEL 0x00000003U
|
||||
#define TIMG_RTC_CALI_CLK_SEL_M (TIMG_RTC_CALI_CLK_SEL_V << TIMG_RTC_CALI_CLK_SEL_S)
|
||||
#define TIMG_RTC_CALI_CLK_SEL_V 0x00000003U
|
||||
#define TIMG_RTC_CALI_CLK_SEL_S 13
|
||||
/** TIMG_RTC_CALI_RDY : RO; bitpos: [15]; default: 0;
|
||||
* indicate one-shot frequency calculation is done.
|
||||
*/
|
||||
#define TIMG_RTC_CALI_RDY (BIT(15))
|
||||
#define TIMG_RTC_CALI_RDY_M (TIMG_RTC_CALI_RDY_V << TIMG_RTC_CALI_RDY_S)
|
||||
#define TIMG_RTC_CALI_RDY_V 0x00000001U
|
||||
#define TIMG_RTC_CALI_RDY_S 15
|
||||
/** TIMG_RTC_CALI_MAX : R/W; bitpos: [30:16]; default: 1;
|
||||
* Configure the time to calculate RTC slow clock's frequency.
|
||||
*/
|
||||
#define TIMG_RTC_CALI_MAX 0x00007FFFU
|
||||
#define TIMG_RTC_CALI_MAX_M (TIMG_RTC_CALI_MAX_V << TIMG_RTC_CALI_MAX_S)
|
||||
#define TIMG_RTC_CALI_MAX_V 0x00007FFFU
|
||||
#define TIMG_RTC_CALI_MAX_S 16
|
||||
/** TIMG_RTC_CALI_START : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to start one-shot frequency calculation.
|
||||
*/
|
||||
#define TIMG_RTC_CALI_START (BIT(31))
|
||||
#define TIMG_RTC_CALI_START_M (TIMG_RTC_CALI_START_V << TIMG_RTC_CALI_START_S)
|
||||
#define TIMG_RTC_CALI_START_V 0x00000001U
|
||||
#define TIMG_RTC_CALI_START_S 31
|
||||
|
||||
/** TIMG_RTCCALICFG1_REG register
|
||||
* RTC calibration configure1 register
|
||||
*/
|
||||
#define TIMG_RTCCALICFG1_REG (DR_REG_TIMG_BASE + 0x6c)
|
||||
/** TIMG_RTC_CALI_CYCLING_DATA_VLD : RO; bitpos: [0]; default: 0;
|
||||
* indicate periodic frequency calculation is done.
|
||||
*/
|
||||
#define TIMG_RTC_CALI_CYCLING_DATA_VLD (BIT(0))
|
||||
#define TIMG_RTC_CALI_CYCLING_DATA_VLD_M (TIMG_RTC_CALI_CYCLING_DATA_VLD_V << TIMG_RTC_CALI_CYCLING_DATA_VLD_S)
|
||||
#define TIMG_RTC_CALI_CYCLING_DATA_VLD_V 0x00000001U
|
||||
#define TIMG_RTC_CALI_CYCLING_DATA_VLD_S 0
|
||||
/** TIMG_RTC_CALI_VALUE : RO; bitpos: [31:7]; default: 0;
|
||||
* When one-shot or periodic frequency calculation is done, read this value to
|
||||
* calculate RTC slow clock's frequency.
|
||||
*/
|
||||
#define TIMG_RTC_CALI_VALUE 0x01FFFFFFU
|
||||
#define TIMG_RTC_CALI_VALUE_M (TIMG_RTC_CALI_VALUE_V << TIMG_RTC_CALI_VALUE_S)
|
||||
#define TIMG_RTC_CALI_VALUE_V 0x01FFFFFFU
|
||||
#define TIMG_RTC_CALI_VALUE_S 7
|
||||
|
||||
/** TIMG_INT_ENA_TIMERS_REG register
|
||||
* Interrupt enable bits
|
||||
*/
|
||||
#define TIMG_INT_ENA_TIMERS_REG (DR_REG_TIMG_BASE + 0x70)
|
||||
/** TIMG_T0_INT_ENA : R/W; bitpos: [0]; default: 0;
|
||||
* The interrupt enable bit for the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
#define TIMG_T0_INT_ENA (BIT(0))
|
||||
#define TIMG_T0_INT_ENA_M (TIMG_T0_INT_ENA_V << TIMG_T0_INT_ENA_S)
|
||||
#define TIMG_T0_INT_ENA_V 0x00000001U
|
||||
#define TIMG_T0_INT_ENA_S 0
|
||||
/** TIMG_T1_INT_ENA : R/W; bitpos: [1]; default: 0;
|
||||
* The interrupt enable bit for the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
#define TIMG_T1_INT_ENA (BIT(1))
|
||||
#define TIMG_T1_INT_ENA_M (TIMG_T1_INT_ENA_V << TIMG_T1_INT_ENA_S)
|
||||
#define TIMG_T1_INT_ENA_V 0x00000001U
|
||||
#define TIMG_T1_INT_ENA_S 1
|
||||
/** TIMG_WDT_INT_ENA : R/W; bitpos: [2]; default: 0;
|
||||
* The interrupt enable bit for the TIMG_WDT_INT interrupt.
|
||||
*/
|
||||
#define TIMG_WDT_INT_ENA (BIT(2))
|
||||
#define TIMG_WDT_INT_ENA_M (TIMG_WDT_INT_ENA_V << TIMG_WDT_INT_ENA_S)
|
||||
#define TIMG_WDT_INT_ENA_V 0x00000001U
|
||||
#define TIMG_WDT_INT_ENA_S 2
|
||||
|
||||
/** TIMG_INT_RAW_TIMERS_REG register
|
||||
* Raw interrupt status
|
||||
*/
|
||||
#define TIMG_INT_RAW_TIMERS_REG (DR_REG_TIMG_BASE + 0x74)
|
||||
/** TIMG_T0_INT_RAW : R/SS/WTC; bitpos: [0]; default: 0;
|
||||
* The raw interrupt status bit for the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
#define TIMG_T0_INT_RAW (BIT(0))
|
||||
#define TIMG_T0_INT_RAW_M (TIMG_T0_INT_RAW_V << TIMG_T0_INT_RAW_S)
|
||||
#define TIMG_T0_INT_RAW_V 0x00000001U
|
||||
#define TIMG_T0_INT_RAW_S 0
|
||||
/** TIMG_T1_INT_RAW : R/SS/WTC; bitpos: [1]; default: 0;
|
||||
* The raw interrupt status bit for the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
#define TIMG_T1_INT_RAW (BIT(1))
|
||||
#define TIMG_T1_INT_RAW_M (TIMG_T1_INT_RAW_V << TIMG_T1_INT_RAW_S)
|
||||
#define TIMG_T1_INT_RAW_V 0x00000001U
|
||||
#define TIMG_T1_INT_RAW_S 1
|
||||
/** TIMG_WDT_INT_RAW : R/SS/WTC; bitpos: [2]; default: 0;
|
||||
* The raw interrupt status bit for the TIMG_WDT_INT interrupt.
|
||||
*/
|
||||
#define TIMG_WDT_INT_RAW (BIT(2))
|
||||
#define TIMG_WDT_INT_RAW_M (TIMG_WDT_INT_RAW_V << TIMG_WDT_INT_RAW_S)
|
||||
#define TIMG_WDT_INT_RAW_V 0x00000001U
|
||||
#define TIMG_WDT_INT_RAW_S 2
|
||||
|
||||
/** TIMG_INT_ST_TIMERS_REG register
|
||||
* Masked interrupt status
|
||||
*/
|
||||
#define TIMG_INT_ST_TIMERS_REG (DR_REG_TIMG_BASE + 0x78)
|
||||
/** TIMG_T0_INT_ST : RO; bitpos: [0]; default: 0;
|
||||
* The masked interrupt status bit for the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
#define TIMG_T0_INT_ST (BIT(0))
|
||||
#define TIMG_T0_INT_ST_M (TIMG_T0_INT_ST_V << TIMG_T0_INT_ST_S)
|
||||
#define TIMG_T0_INT_ST_V 0x00000001U
|
||||
#define TIMG_T0_INT_ST_S 0
|
||||
/** TIMG_T1_INT_ST : RO; bitpos: [1]; default: 0;
|
||||
* The masked interrupt status bit for the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
#define TIMG_T1_INT_ST (BIT(1))
|
||||
#define TIMG_T1_INT_ST_M (TIMG_T1_INT_ST_V << TIMG_T1_INT_ST_S)
|
||||
#define TIMG_T1_INT_ST_V 0x00000001U
|
||||
#define TIMG_T1_INT_ST_S 1
|
||||
/** TIMG_WDT_INT_ST : RO; bitpos: [2]; default: 0;
|
||||
* The masked interrupt status bit for the TIMG_WDT_INT interrupt.
|
||||
*/
|
||||
#define TIMG_WDT_INT_ST (BIT(2))
|
||||
#define TIMG_WDT_INT_ST_M (TIMG_WDT_INT_ST_V << TIMG_WDT_INT_ST_S)
|
||||
#define TIMG_WDT_INT_ST_V 0x00000001U
|
||||
#define TIMG_WDT_INT_ST_S 2
|
||||
|
||||
/** TIMG_INT_CLR_TIMERS_REG register
|
||||
* Interrupt clear bits
|
||||
*/
|
||||
#define TIMG_INT_CLR_TIMERS_REG (DR_REG_TIMG_BASE + 0x7c)
|
||||
/** TIMG_T0_INT_CLR : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
#define TIMG_T0_INT_CLR (BIT(0))
|
||||
#define TIMG_T0_INT_CLR_M (TIMG_T0_INT_CLR_V << TIMG_T0_INT_CLR_S)
|
||||
#define TIMG_T0_INT_CLR_V 0x00000001U
|
||||
#define TIMG_T0_INT_CLR_S 0
|
||||
/** TIMG_T1_INT_CLR : WT; bitpos: [1]; default: 0;
|
||||
* Set this bit to clear the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
#define TIMG_T1_INT_CLR (BIT(1))
|
||||
#define TIMG_T1_INT_CLR_M (TIMG_T1_INT_CLR_V << TIMG_T1_INT_CLR_S)
|
||||
#define TIMG_T1_INT_CLR_V 0x00000001U
|
||||
#define TIMG_T1_INT_CLR_S 1
|
||||
/** TIMG_WDT_INT_CLR : WT; bitpos: [2]; default: 0;
|
||||
* Set this bit to clear the TIMG_WDT_INT interrupt.
|
||||
*/
|
||||
#define TIMG_WDT_INT_CLR (BIT(2))
|
||||
#define TIMG_WDT_INT_CLR_M (TIMG_WDT_INT_CLR_V << TIMG_WDT_INT_CLR_S)
|
||||
#define TIMG_WDT_INT_CLR_V 0x00000001U
|
||||
#define TIMG_WDT_INT_CLR_S 2
|
||||
|
||||
/** TIMG_RTCCALICFG2_REG register
|
||||
* Timer group calibration register
|
||||
*/
|
||||
#define TIMG_RTCCALICFG2_REG (DR_REG_TIMG_BASE + 0x80)
|
||||
/** TIMG_RTC_CALI_TIMEOUT : RO; bitpos: [0]; default: 0;
|
||||
* RTC calibration timeout indicator
|
||||
*/
|
||||
#define TIMG_RTC_CALI_TIMEOUT (BIT(0))
|
||||
#define TIMG_RTC_CALI_TIMEOUT_M (TIMG_RTC_CALI_TIMEOUT_V << TIMG_RTC_CALI_TIMEOUT_S)
|
||||
#define TIMG_RTC_CALI_TIMEOUT_V 0x00000001U
|
||||
#define TIMG_RTC_CALI_TIMEOUT_S 0
|
||||
/** TIMG_RTC_CALI_TIMEOUT_RST_CNT : R/W; bitpos: [6:3]; default: 3;
|
||||
* Cycles that release calibration timeout reset
|
||||
*/
|
||||
#define TIMG_RTC_CALI_TIMEOUT_RST_CNT 0x0000000FU
|
||||
#define TIMG_RTC_CALI_TIMEOUT_RST_CNT_M (TIMG_RTC_CALI_TIMEOUT_RST_CNT_V << TIMG_RTC_CALI_TIMEOUT_RST_CNT_S)
|
||||
#define TIMG_RTC_CALI_TIMEOUT_RST_CNT_V 0x0000000FU
|
||||
#define TIMG_RTC_CALI_TIMEOUT_RST_CNT_S 3
|
||||
/** TIMG_RTC_CALI_TIMEOUT_THRES : R/W; bitpos: [31:7]; default: 33554431;
|
||||
* Threshold value for the RTC calibration timer. If the calibration timer's value
|
||||
* exceeds this threshold, a timeout is triggered.
|
||||
*/
|
||||
#define TIMG_RTC_CALI_TIMEOUT_THRES 0x01FFFFFFU
|
||||
#define TIMG_RTC_CALI_TIMEOUT_THRES_M (TIMG_RTC_CALI_TIMEOUT_THRES_V << TIMG_RTC_CALI_TIMEOUT_THRES_S)
|
||||
#define TIMG_RTC_CALI_TIMEOUT_THRES_V 0x01FFFFFFU
|
||||
#define TIMG_RTC_CALI_TIMEOUT_THRES_S 7
|
||||
|
||||
/** TIMG_NTIMERS_DATE_REG register
|
||||
* Timer version control register
|
||||
*/
|
||||
#define TIMG_NTIMERS_DATE_REG (DR_REG_TIMG_BASE + 0xf8)
|
||||
/** TIMG_NTIMGS_DATE : R/W; bitpos: [27:0]; default: 35688770;
|
||||
* Timer version control register
|
||||
*/
|
||||
#define TIMG_NTIMGS_DATE 0x0FFFFFFFU
|
||||
#define TIMG_NTIMGS_DATE_M (TIMG_NTIMGS_DATE_V << TIMG_NTIMGS_DATE_S)
|
||||
#define TIMG_NTIMGS_DATE_V 0x0FFFFFFFU
|
||||
#define TIMG_NTIMGS_DATE_S 0
|
||||
|
||||
/** TIMG_REGCLK_REG register
|
||||
* Timer group clock gate register
|
||||
*/
|
||||
#define TIMG_REGCLK_REG (DR_REG_TIMG_BASE + 0xfc)
|
||||
/** TIMG_ETM_EN : R/W; bitpos: [28]; default: 1;
|
||||
* enable timer's etm task and event
|
||||
*/
|
||||
#define TIMG_ETM_EN (BIT(28))
|
||||
#define TIMG_ETM_EN_M (TIMG_ETM_EN_V << TIMG_ETM_EN_S)
|
||||
#define TIMG_ETM_EN_V 0x00000001U
|
||||
#define TIMG_ETM_EN_S 28
|
||||
/** TIMG_CLK_EN : R/W; bitpos: [31]; default: 0;
|
||||
* Register clock gate signal. 1: Registers can be read and written to by software. 0:
|
||||
* Registers can not be read or written to by software.
|
||||
*/
|
||||
#define TIMG_CLK_EN (BIT(31))
|
||||
#define TIMG_CLK_EN_M (TIMG_CLK_EN_V << TIMG_CLK_EN_S)
|
||||
#define TIMG_CLK_EN_V 0x00000001U
|
||||
#define TIMG_CLK_EN_S 31
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
572
components/soc/esp32p4/include/soc/timers_struct.h
Normal file
572
components/soc/esp32p4/include/soc/timers_struct.h
Normal file
@ -0,0 +1,572 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Group: T0 Control and configuration registers */
|
||||
/** Type of txconfig register
|
||||
* Timer x configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:10;
|
||||
/** tx_alarm_en : R/W/SC; bitpos: [10]; default: 0;
|
||||
* When set, the alarm is enabled. This bit is automatically cleared once an
|
||||
* alarm occurs.
|
||||
*/
|
||||
uint32_t tx_alarm_en:1;
|
||||
uint32_t reserved_11:1;
|
||||
/** tx_divcnt_rst : WT; bitpos: [12]; default: 0;
|
||||
* When set, Timer x 's clock divider counter will be reset.
|
||||
*/
|
||||
uint32_t tx_divcnt_rst:1;
|
||||
/** tx_divider : R/W; bitpos: [28:13]; default: 1;
|
||||
* Timer x clock (Tx_clk) prescaler value.
|
||||
*/
|
||||
uint32_t tx_divider:16;
|
||||
/** tx_autoreload : R/W; bitpos: [29]; default: 1;
|
||||
* When set, timer x auto-reload at alarm is enabled.
|
||||
*/
|
||||
uint32_t tx_autoreload:1;
|
||||
/** tx_increase : R/W; bitpos: [30]; default: 1;
|
||||
* When set, the timer x time-base counter will increment every clock tick. When
|
||||
* cleared, the timer x time-base counter will decrement.
|
||||
*/
|
||||
uint32_t tx_increase:1;
|
||||
/** tx_en : R/W/SS/SC; bitpos: [31]; default: 0;
|
||||
* When set, the timer x time-base counter is enabled.
|
||||
*/
|
||||
uint32_t tx_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_txconfig_reg_t;
|
||||
|
||||
/** Type of txlo register
|
||||
* Timer x current value, low 32 bits
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tx_lo : RO; bitpos: [31:0]; default: 0;
|
||||
* After writing to TIMG_TxUPDATE_REG, the low 32 bits of the time-base counter
|
||||
* of timer x can be read here.
|
||||
*/
|
||||
uint32_t tx_lo:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_txlo_reg_t;
|
||||
|
||||
/** Type of txhi register
|
||||
* Timer x current value, high 22 bits
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tx_hi : RO; bitpos: [21:0]; default: 0;
|
||||
* After writing to TIMG_TxUPDATE_REG, the high 22 bits of the time-base counter
|
||||
* of timer x can be read here.
|
||||
*/
|
||||
uint32_t tx_hi:22;
|
||||
uint32_t reserved_22:10;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_txhi_reg_t;
|
||||
|
||||
/** Type of txupdate register
|
||||
* Write to copy current timer value to TIMGn_Tx_(LO/HI)_REG
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:31;
|
||||
/** tx_update : R/W/SC; bitpos: [31]; default: 0;
|
||||
* After writing 0 or 1 to TIMG_TxUPDATE_REG, the counter value is latched.
|
||||
*/
|
||||
uint32_t tx_update:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_txupdate_reg_t;
|
||||
|
||||
/** Type of txalarmlo register
|
||||
* Timer x alarm value, low 32 bits
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tx_alarm_lo : R/W; bitpos: [31:0]; default: 0;
|
||||
* Timer x alarm trigger time-base counter value, low 32 bits.
|
||||
*/
|
||||
uint32_t tx_alarm_lo:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_txalarmlo_reg_t;
|
||||
|
||||
/** Type of txalarmhi register
|
||||
* Timer x alarm value, high bits
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tx_alarm_hi : R/W; bitpos: [21:0]; default: 0;
|
||||
* Timer x alarm trigger time-base counter value, high 22 bits.
|
||||
*/
|
||||
uint32_t tx_alarm_hi:22;
|
||||
uint32_t reserved_22:10;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_txalarmhi_reg_t;
|
||||
|
||||
/** Type of txloadlo register
|
||||
* Timer x reload value, low 32 bits
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tx_load_lo : R/W; bitpos: [31:0]; default: 0;
|
||||
* Low 32 bits of the value that a reload will load onto timer x time-base
|
||||
* Counter.
|
||||
*/
|
||||
uint32_t tx_load_lo:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_txloadlo_reg_t;
|
||||
|
||||
/** Type of txloadhi register
|
||||
* Timer x reload value, high 22 bits
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tx_load_hi : R/W; bitpos: [21:0]; default: 0;
|
||||
* High 22 bits of the value that a reload will load onto timer x time-base
|
||||
* counter.
|
||||
*/
|
||||
uint32_t tx_load_hi:22;
|
||||
uint32_t reserved_22:10;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_txloadhi_reg_t;
|
||||
|
||||
/** Type of txload register
|
||||
* Write to reload timer from TIMG_Tx_(LOADLOLOADHI)_REG
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** tx_load : WT; bitpos: [31:0]; default: 0;
|
||||
*
|
||||
* Write any value to trigger a timer x time-base counter reload.
|
||||
*/
|
||||
uint32_t tx_load:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_txload_reg_t;
|
||||
|
||||
|
||||
/** Group: WDT Control and configuration registers */
|
||||
/** Type of wdtconfig0 register
|
||||
* Watchdog timer configuration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:12;
|
||||
/** wdt_appcpu_reset_en : R/W; bitpos: [12]; default: 0;
|
||||
* WDT reset CPU enable.
|
||||
*/
|
||||
uint32_t wdt_appcpu_reset_en:1;
|
||||
/** wdt_procpu_reset_en : R/W; bitpos: [13]; default: 0;
|
||||
* WDT reset CPU enable.
|
||||
*/
|
||||
uint32_t wdt_procpu_reset_en:1;
|
||||
/** wdt_flashboot_mod_en : R/W; bitpos: [14]; default: 1;
|
||||
* When set, Flash boot protection is enabled.
|
||||
*/
|
||||
uint32_t wdt_flashboot_mod_en:1;
|
||||
/** wdt_sys_reset_length : R/W; bitpos: [17:15]; default: 1;
|
||||
* System reset signal length selection. 0: 100 ns, 1: 200 ns,
|
||||
* 2: 300 ns, 3: 400 ns, 4: 500 ns, 5: 800 ns, 6: 1.6 us, 7: 3.2 us.
|
||||
*/
|
||||
uint32_t wdt_sys_reset_length:3;
|
||||
/** wdt_cpu_reset_length : R/W; bitpos: [20:18]; default: 1;
|
||||
* CPU reset signal length selection. 0: 100 ns, 1: 200 ns,
|
||||
* 2: 300 ns, 3: 400 ns, 4: 500 ns, 5: 800 ns, 6: 1.6 us, 7: 3.2 us.
|
||||
*/
|
||||
uint32_t wdt_cpu_reset_length:3;
|
||||
uint32_t reserved_21:1;
|
||||
/** wdt_conf_update_en : WT; bitpos: [22]; default: 0;
|
||||
* update the WDT configuration registers
|
||||
*/
|
||||
uint32_t wdt_conf_update_en:1;
|
||||
/** wdt_stg3 : R/W; bitpos: [24:23]; default: 0;
|
||||
* Stage 3 configuration. 0: off, 1: interrupt, 2: reset CPU, 3: reset system.
|
||||
*/
|
||||
uint32_t wdt_stg3:2;
|
||||
/** wdt_stg2 : R/W; bitpos: [26:25]; default: 0;
|
||||
* Stage 2 configuration. 0: off, 1: interrupt, 2: reset CPU, 3: reset system.
|
||||
*/
|
||||
uint32_t wdt_stg2:2;
|
||||
/** wdt_stg1 : R/W; bitpos: [28:27]; default: 0;
|
||||
* Stage 1 configuration. 0: off, 1: interrupt, 2: reset CPU, 3: reset system.
|
||||
*/
|
||||
uint32_t wdt_stg1:2;
|
||||
/** wdt_stg0 : R/W; bitpos: [30:29]; default: 0;
|
||||
* Stage 0 configuration. 0: off, 1: interrupt, 2: reset CPU, 3: reset system.
|
||||
*/
|
||||
uint32_t wdt_stg0:2;
|
||||
/** wdt_en : R/W; bitpos: [31]; default: 0;
|
||||
* When set, MWDT is enabled.
|
||||
*/
|
||||
uint32_t wdt_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_wdtconfig0_reg_t;
|
||||
|
||||
/** Type of wdtconfig1 register
|
||||
* Watchdog timer prescaler register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** wdt_divcnt_rst : WT; bitpos: [0]; default: 0;
|
||||
* When set, WDT 's clock divider counter will be reset.
|
||||
*/
|
||||
uint32_t wdt_divcnt_rst:1;
|
||||
uint32_t reserved_1:15;
|
||||
/** wdt_clk_prescale : R/W; bitpos: [31:16]; default: 1;
|
||||
* MWDT clock prescaler value. MWDT clock period = 12.5 ns *
|
||||
* TIMG_WDT_CLK_PRESCALE.
|
||||
*/
|
||||
uint32_t wdt_clk_prescale:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_wdtconfig1_reg_t;
|
||||
|
||||
/** Type of wdtconfig2 register
|
||||
* Watchdog timer stage 0 timeout value
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** wdt_stg0_hold : R/W; bitpos: [31:0]; default: 26000000;
|
||||
* Stage 0 timeout value, in MWDT clock cycles.
|
||||
*/
|
||||
uint32_t wdt_stg0_hold:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_wdtconfig2_reg_t;
|
||||
|
||||
/** Type of wdtconfig3 register
|
||||
* Watchdog timer stage 1 timeout value
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** wdt_stg1_hold : R/W; bitpos: [31:0]; default: 134217727;
|
||||
* Stage 1 timeout value, in MWDT clock cycles.
|
||||
*/
|
||||
uint32_t wdt_stg1_hold:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_wdtconfig3_reg_t;
|
||||
|
||||
/** Type of wdtconfig4 register
|
||||
* Watchdog timer stage 2 timeout value
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** wdt_stg2_hold : R/W; bitpos: [31:0]; default: 1048575;
|
||||
* Stage 2 timeout value, in MWDT clock cycles.
|
||||
*/
|
||||
uint32_t wdt_stg2_hold:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_wdtconfig4_reg_t;
|
||||
|
||||
/** Type of wdtconfig5 register
|
||||
* Watchdog timer stage 3 timeout value
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** wdt_stg3_hold : R/W; bitpos: [31:0]; default: 1048575;
|
||||
* Stage 3 timeout value, in MWDT clock cycles.
|
||||
*/
|
||||
uint32_t wdt_stg3_hold:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_wdtconfig5_reg_t;
|
||||
|
||||
/** Type of wdtfeed register
|
||||
* Write to feed the watchdog timer
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** wdt_feed : WT; bitpos: [31:0]; default: 0;
|
||||
* Write any value to feed the MWDT. (WO)
|
||||
*/
|
||||
uint32_t wdt_feed:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_wdtfeed_reg_t;
|
||||
|
||||
/** Type of wdtwprotect register
|
||||
* Watchdog write protect register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** wdt_wkey : R/W; bitpos: [31:0]; default: 1356348065;
|
||||
* If the register contains a different value than its reset value, write
|
||||
* protection is enabled.
|
||||
*/
|
||||
uint32_t wdt_wkey:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_wdtwprotect_reg_t;
|
||||
|
||||
|
||||
/** Group: RTC CALI Control and configuration registers */
|
||||
/** Type of rtccalicfg register
|
||||
* RTC calibration configure register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:12;
|
||||
/** rtc_cali_start_cycling : R/W; bitpos: [12]; default: 1;
|
||||
* 0: one-shot frequency calculation,1: periodic frequency calculation,
|
||||
*/
|
||||
uint32_t rtc_cali_start_cycling:1;
|
||||
/** rtc_cali_clk_sel : R/W; bitpos: [14:13]; default: 0;
|
||||
* 0:rtc slow clock. 1:clk_8m, 2:xtal_32k.
|
||||
*/
|
||||
uint32_t rtc_cali_clk_sel:2;
|
||||
/** rtc_cali_rdy : RO; bitpos: [15]; default: 0;
|
||||
* indicate one-shot frequency calculation is done.
|
||||
*/
|
||||
uint32_t rtc_cali_rdy:1;
|
||||
/** rtc_cali_max : R/W; bitpos: [30:16]; default: 1;
|
||||
* Configure the time to calculate RTC slow clock's frequency.
|
||||
*/
|
||||
uint32_t rtc_cali_max:15;
|
||||
/** rtc_cali_start : R/W; bitpos: [31]; default: 0;
|
||||
* Set this bit to start one-shot frequency calculation.
|
||||
*/
|
||||
uint32_t rtc_cali_start:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_rtccalicfg_reg_t;
|
||||
|
||||
/** Type of rtccalicfg1 register
|
||||
* RTC calibration configure1 register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rtc_cali_cycling_data_vld : RO; bitpos: [0]; default: 0;
|
||||
* indicate periodic frequency calculation is done.
|
||||
*/
|
||||
uint32_t rtc_cali_cycling_data_vld:1;
|
||||
uint32_t reserved_1:6;
|
||||
/** rtc_cali_value : RO; bitpos: [31:7]; default: 0;
|
||||
* When one-shot or periodic frequency calculation is done, read this value to
|
||||
* calculate RTC slow clock's frequency.
|
||||
*/
|
||||
uint32_t rtc_cali_value:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_rtccalicfg1_reg_t;
|
||||
|
||||
/** Type of rtccalicfg2 register
|
||||
* Timer group calibration register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** rtc_cali_timeout : RO; bitpos: [0]; default: 0;
|
||||
* RTC calibration timeout indicator
|
||||
*/
|
||||
uint32_t rtc_cali_timeout:1;
|
||||
uint32_t reserved_1:2;
|
||||
/** rtc_cali_timeout_rst_cnt : R/W; bitpos: [6:3]; default: 3;
|
||||
* Cycles that release calibration timeout reset
|
||||
*/
|
||||
uint32_t rtc_cali_timeout_rst_cnt:4;
|
||||
/** rtc_cali_timeout_thres : R/W; bitpos: [31:7]; default: 33554431;
|
||||
* Threshold value for the RTC calibration timer. If the calibration timer's value
|
||||
* exceeds this threshold, a timeout is triggered.
|
||||
*/
|
||||
uint32_t rtc_cali_timeout_thres:25;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_rtccalicfg2_reg_t;
|
||||
|
||||
|
||||
/** Group: Interrupt registers */
|
||||
/** Type of int_ena_timers register
|
||||
* Interrupt enable bits
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** t0_int_ena : R/W; bitpos: [0]; default: 0;
|
||||
* The interrupt enable bit for the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
uint32_t t0_int_ena:1;
|
||||
/** t1_int_ena : R/W; bitpos: [1]; default: 0;
|
||||
* The interrupt enable bit for the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
uint32_t t1_int_ena:1;
|
||||
/** wdt_int_ena : R/W; bitpos: [2]; default: 0;
|
||||
* The interrupt enable bit for the TIMG_WDT_INT interrupt.
|
||||
*/
|
||||
uint32_t wdt_int_ena:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_int_ena_timers_reg_t;
|
||||
|
||||
/** Type of int_raw_timers register
|
||||
* Raw interrupt status
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** t0_int_raw : R/SS/WTC; bitpos: [0]; default: 0;
|
||||
* The raw interrupt status bit for the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
uint32_t t0_int_raw:1;
|
||||
/** t1_int_raw : R/SS/WTC; bitpos: [1]; default: 0;
|
||||
* The raw interrupt status bit for the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
uint32_t t1_int_raw:1;
|
||||
/** wdt_int_raw : R/SS/WTC; bitpos: [2]; default: 0;
|
||||
* The raw interrupt status bit for the TIMG_WDT_INT interrupt.
|
||||
*/
|
||||
uint32_t wdt_int_raw:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_int_raw_timers_reg_t;
|
||||
|
||||
/** Type of int_st_timers register
|
||||
* Masked interrupt status
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** t0_int_st : RO; bitpos: [0]; default: 0;
|
||||
* The masked interrupt status bit for the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
uint32_t t0_int_st:1;
|
||||
/** t1_int_st : RO; bitpos: [1]; default: 0;
|
||||
* The masked interrupt status bit for the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
uint32_t t1_int_st:1;
|
||||
/** wdt_int_st : RO; bitpos: [2]; default: 0;
|
||||
* The masked interrupt status bit for the TIMG_WDT_INT interrupt.
|
||||
*/
|
||||
uint32_t wdt_int_st:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_int_st_timers_reg_t;
|
||||
|
||||
/** Type of int_clr_timers register
|
||||
* Interrupt clear bits
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** t0_int_clr : WT; bitpos: [0]; default: 0;
|
||||
* Set this bit to clear the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
uint32_t t0_int_clr:1;
|
||||
/** t1_int_clr : WT; bitpos: [1]; default: 0;
|
||||
* Set this bit to clear the TIMG_T$x_INT interrupt.
|
||||
*/
|
||||
uint32_t t1_int_clr:1;
|
||||
/** wdt_int_clr : WT; bitpos: [2]; default: 0;
|
||||
* Set this bit to clear the TIMG_WDT_INT interrupt.
|
||||
*/
|
||||
uint32_t wdt_int_clr:1;
|
||||
uint32_t reserved_3:29;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_int_clr_timers_reg_t;
|
||||
|
||||
|
||||
/** Group: Version register */
|
||||
/** Type of ntimers_date register
|
||||
* Timer version control register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** ntimgs_date : R/W; bitpos: [27:0]; default: 35688770;
|
||||
* Timer version control register
|
||||
*/
|
||||
uint32_t ntimgs_date:28;
|
||||
uint32_t reserved_28:4;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_ntimers_date_reg_t;
|
||||
|
||||
|
||||
/** Group: Clock configuration registers */
|
||||
/** Type of regclk register
|
||||
* Timer group clock gate register
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
uint32_t reserved_0:28;
|
||||
/** etm_en : R/W; bitpos: [28]; default: 1;
|
||||
* enable timer's etm task and event
|
||||
*/
|
||||
uint32_t etm_en:1;
|
||||
uint32_t reserved_29:2;
|
||||
/** clk_en : R/W; bitpos: [31]; default: 0;
|
||||
* Register clock gate signal. 1: Registers can be read and written to by software. 0:
|
||||
* Registers can not be read or written to by software.
|
||||
*/
|
||||
uint32_t clk_en:1;
|
||||
};
|
||||
uint32_t val;
|
||||
} timg_regclk_reg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
volatile timg_txconfig_reg_t t0config;
|
||||
volatile timg_txlo_reg_t t0lo;
|
||||
volatile timg_txhi_reg_t t0hi;
|
||||
volatile timg_txupdate_reg_t t0update;
|
||||
volatile timg_txalarmlo_reg_t t0alarmlo;
|
||||
volatile timg_txalarmhi_reg_t t0alarmhi;
|
||||
volatile timg_txloadlo_reg_t t0loadlo;
|
||||
volatile timg_txloadhi_reg_t t0loadhi;
|
||||
volatile timg_txload_reg_t t0load;
|
||||
|
||||
|
||||
volatile timg_txconfig_reg_t t1config;
|
||||
volatile timg_txlo_reg_t t1lo;
|
||||
volatile timg_txhi_reg_t t1hi;
|
||||
volatile timg_txupdate_reg_t t1update;
|
||||
volatile timg_txalarmlo_reg_t t1alarmlo;
|
||||
volatile timg_txalarmhi_reg_t t1alarmhi;
|
||||
volatile timg_txloadlo_reg_t t1loadlo;
|
||||
volatile timg_txloadhi_reg_t t1loadhi;
|
||||
volatile timg_txload_reg_t t1load;
|
||||
volatile timg_wdtconfig0_reg_t wdtconfig0;
|
||||
volatile timg_wdtconfig1_reg_t wdtconfig1;
|
||||
volatile timg_wdtconfig2_reg_t wdtconfig2;
|
||||
volatile timg_wdtconfig3_reg_t wdtconfig3;
|
||||
volatile timg_wdtconfig4_reg_t wdtconfig4;
|
||||
volatile timg_wdtconfig5_reg_t wdtconfig5;
|
||||
volatile timg_wdtfeed_reg_t wdtfeed;
|
||||
volatile timg_wdtwprotect_reg_t wdtwprotect;
|
||||
volatile timg_rtccalicfg_reg_t rtccalicfg;
|
||||
volatile timg_rtccalicfg1_reg_t rtccalicfg1;
|
||||
volatile timg_int_ena_timers_reg_t int_ena_timers;
|
||||
volatile timg_int_raw_timers_reg_t int_raw_timers;
|
||||
volatile timg_int_st_timers_reg_t int_st_timers;
|
||||
volatile timg_int_clr_timers_reg_t int_clr_timers;
|
||||
volatile timg_rtccalicfg2_reg_t rtccalicfg2;
|
||||
uint32_t reserved_084[29];
|
||||
volatile timg_ntimers_date_reg_t ntimers_date;
|
||||
volatile timg_regclk_reg_t regclk;
|
||||
} timg_dev_t;
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
_Static_assert(sizeof(timg_dev_t) == 0x100, "Invalid size of timg_dev_t structure");
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user