register.h

SiFli chipset register definition This file provides register definition for SiFli chipset.

Author

Sifli software development team

Unnamed Group

__CM33_REV
__SAUREGION_PRESENT
__MPU_PRESENT
__VTOR_PRESENT
__NVIC_PRIO_BITS
__Vendor_SysTickConfig
__FPU_PRESENT
__DSP_PRESENT
__ICACHE_PRESENT
__DCACHE_PRESENT
MPU_REGION_NUM
CACHE_BASE
hwp_cache
HPSYS_RCC_BASE
DMAC1_BASE
MAILBOX1_BASE
PINMUX1_BASE
USART1_BASE
USART2_BASE
EZIP_BASE
EPIC_BASE
LCDC1_BASE
I2S1_BASE
I2S2_BASE
HPSYS_CFG_BASE
EFUSEC_BASE
AES_BASE
TRNG_BASE
GPTIM1_BASE
GPTIM2_BASE
BTIM1_BASE
BTIM2_BASE
WDT1_BASE
SPI1_BASE
SPI2_BASE
EXTDMA_BASE
DMAC2_BASE
NNACC1_BASE
PDM1_BASE
PDM2_BASE
I2C1_BASE
I2C2_BASE
DSI_HOST_BASE
DSI_PHY_BASE
PTC1_BASE
BUSMON1_BASE
I2C3_BASE
ATIM1_BASE
ATIM2_BASE
AUDPRC_BASE
AUDCODEC_HP_BASE
FFT1_BASE
FACC1_BASE
USART3_BASE
CAN1_BASE
CAN2_BASE
SCI_BASE
BUSMON2_BASE
I2C4_BASE
HPSYS_AON_BASE
LPTIM1_BASE
GPIO1_BASE
MPI1_BASE
MPI2_BASE
MPI3_BASE
MPI4_BASE
SDMMC1_BASE
SDMMC2_BASE
USBC_BASE
V2D_GPU_BASE
JPEG_ENC_BASE
JPEG_DEC_BASE
CRC1_BASE
EPIC_RAM_BASE
LPSYS_RCC_BASE
DMAC3_BASE
MAILBOX2_BASE
PINMUX2_BASE
PATCH_BASE
USART4_BASE
USART5_BASE
USART6_BASE
I2S3_BASE
SPI3_BASE
SPI4_BASE
WDT2_BASE
I2C5_BASE
I2C6_BASE
I2C7_BASE
LPSYS_CFG_BASE
GPTIM3_BASE
GPTIM4_BASE
GPTIM5_BASE
BTIM3_BASE
BTIM4_BASE
NNACC2_BASE
GPADC_BASE
SDADC_BASE
AUDCODEC_LP_BASE
LPCOMP_BASE
TSEN_BASE
PTC2_BASE
LCDC2_BASE
BUSMON3_BASE
FFT2_BASE
FACC2_BASE
LPSYS_AON_BASE
LPTIM2_BASE
LPTIM3_BASE
PMUC_BASE
RTC_BASE
IWDT_BASE
GPIO2_BASE
MPI5_BASE
BT_RFC_MEM_BASE
BT_RFC_REG_BASE
BT_PHY_BASE
CRC2_BASE
BT_MAC_BASE
hwp_hpsys_rcc
hwp_lpsys_rcc
hwp_dmac1
hwp_dmac2
hwp_dmac3
hwp_atim1
hwp_atim2
hwp_audprc
hwp_audcodec_hp
hwp_gptim1
hwp_gptim2
hwp_gptim3
hwp_gptim4
hwp_gptim5
hwp_btim1
hwp_btim2
hwp_btim3
hwp_btim4
hwp_epic

EPIC instance

hwp_v2d_gpu
hwp_jpeg_enc
hwp_jpeg_dec
hwp_spi1
hwp_spi2
hwp_spi3
hwp_spi4
hwp_usart1
hwp_usart2
hwp_usart3
hwp_usart4
hwp_usart5
hwp_usart6
hwp_i2c1
hwp_i2c2
hwp_i2c3
hwp_i2c4
hwp_i2c5
hwp_i2c6
hwp_i2c7
hwp_mailbox1
hwp_mailbox2
hwp_nnacc1
hwp_nnacc2
hwp_dsi_host
hwp_dsi_phy
hwp_ptc1
hwp_ptc2
hwp_busmon1
hwp_busmon2
hwp_busmon3
hwp_ezip1
hwp_ezip
hwp_efusec
hwp_rtc
hwp_pmuc
hwp_mpi1
hwp_mpi2
hwp_mpi3
hwp_mpi4
hwp_mpi5
hwp_lptim1
hwp_lptim2
hwp_lptim3
hwp_hpsys_cfg
hwp_lpsys_cfg
hwp_i2s1
hwp_i2s2
hwp_i2s3
hwp_pdm1
hwp_pdm2
hwp_crc1
hwp_crc2
hwp_trng
hwp_lcdc1
hwp_lcdc2
hwp_extdma
hwp_sdmmc1
hwp_sdmmc2
hwp_aes_acc
hwp_gpio1

GPIO1

hwp_gpio2

GPIO2

PBR_BASE
hwp_pbr

PBR, placeholder for PBR pin, interface is different from GPIO actually

hwp_usbc
hwp_pinmux1

PINMUX1

hwp_pinmux2

PINMUX2

hwp_hpsys_aon

HPSYS AON

hwp_lpsys_aon

LPSYS AON

hwp_gpadc
hwp_sdadc
hwp_audcodec_lp
hwp_lpcomp
hwp_tsen
hwp_patch
hwp_bt_rfc
hwp_bt_phy
hwp_bt_mac
hwp_wdt1
hwp_wdt2
hwp_iwdt
hwp_fft1
hwp_fft2
hwp_facc1
hwp_facc2
hwp_can1
hwp_can2
hwp_sci
hwp_qspi1

=================================Extra defines by firmware ========================================== Get mailbox base type

hwp_qspi2
hwp_qspi3
hwp_qspi4
hwp_qspi5
hwp_hmailbox
hwp_lmailbox
hwp_usbc_x
hwp_gpadc1
hwp_crc
hwp_nnacc
USART1
USART2
USART3
USART4
USART5
USART6
DMA1
DMA2
DMA3
FLASH1
FLASH2
FLASH3
FLASH4
FLASH5
SDIO1
SDIO2
SPI1
SPI2
SPI3
SPI4
GPTIM1
GPTIM2
GPTIM3
GPTIM4
GPTIM5
ATIM1
ATIM2
BTIM1
BTIM2
BTIM3
BTIM4
LPTIM1
LPTIM2
LPTIM3
TRNG
HMAILBOX_BASE

Mailbox instances

LMAILBOX_BASE
H2L_MAILBOX

HCPU2LCPU mailbox instance

A2L_MAILBOX

ACPU2LCPU mailbox instance

H2A_MAILBOX

HCPU2ACPU mailbox instance

A2H_MAILBOX

ACPU2HCPU mailbox instance

HMUTEX_CH1

HCPU mutex instance channel1

HMUTEX_CH2

HCPU mutex instance channel2

L2H_MAILBOX

LCPU2HCPU mailbox instance

L2A_MAILBOX

LCPU2ACPU mailbox instance

LMUTEX_CH1

LCPU mutex instance channel1

LMUTEX_CH2

LCPU mutex instance channel2

EPIC

EPIC instance

LCDC1
LCDC2
I2C1
I2C2
I2C3
I2C4
I2C5
I2C6
I2C7
CRC
EZIP

EZIP instance

DMA1_Channel1
DMA1_Channel2
DMA1_Channel3
DMA1_Channel4
DMA1_Channel5
DMA1_Channel6
DMA1_Channel7
DMA1_Channel8
DMA1_CSELR
DMA1_CHANNEL_NUM
DMA2_Channel1
DMA2_Channel2
DMA2_Channel3
DMA2_Channel4
DMA2_Channel5
DMA2_Channel6
DMA2_Channel7
DMA2_Channel8
DMA2_CSELR
DMA2_CHANNEL_NUM
DMA3_Channel1
DMA3_Channel2
DMA3_Channel3
DMA3_Channel4
DMA3_Channel5
DMA3_Channel6
DMA3_Channel7
DMA3_Channel8
DMA3_CSELR
DMA3_CHANNEL_NUM
enum IRQn

Values:

enumerator NonMaskableInt_IRQn
enumerator HardFault_IRQn
enumerator MemoryManagement_IRQn
enumerator BusFault_IRQn
enumerator UsageFault_IRQn
enumerator SecureFault_IRQn
enumerator SVCall_IRQn
enumerator DebugMonitor_IRQn
enumerator PendSV_IRQn
enumerator SysTick_IRQn
enumerator AON_IRQn
enumerator BLE_MAC_IRQn
enumerator DMAC3_CH1_IRQn
enumerator DMAC3_CH2_IRQn
enumerator DMAC3_CH3_IRQn
enumerator DMAC3_CH4_IRQn
enumerator DMAC3_CH5_IRQn
enumerator DMAC3_CH6_IRQn
enumerator DMAC3_CH7_IRQn
enumerator DMAC3_CH8_IRQn
enumerator PATCH_IRQn
enumerator DM_MAC_IRQn
enumerator USART4_IRQn
enumerator USART5_IRQn
enumerator USART6_IRQn
enumerator BT_MAC_IRQn
enumerator SPI3_IRQn
enumerator SPI4_IRQn
enumerator I2S3_IRQn
enumerator I2C5_IRQn
enumerator I2C6_IRQn
enumerator I2C7_IRQn
enumerator GPTIM3_IRQn
enumerator GPTIM4_IRQn
enumerator GPTIM5_IRQn
enumerator BTIM3_IRQn
enumerator BTIM4_IRQn
enumerator AUD_LP_IRQn
enumerator GPADC_IRQn
enumerator SDADC_IRQn
enumerator HPSYS0_IRQn
enumerator HPSYS1_IRQn
enumerator TSEN_IRQn
enumerator PTC2_IRQn
enumerator LCDC2_IRQn
enumerator GPIO2_IRQn
enumerator MPI5_IRQn
enumerator NNACC2_IRQn
enumerator FFT2_IRQn
enumerator FACC2_IRQn
enumerator ACPU2LCPU_IRQn
enumerator LPCOMP_IRQn
enumerator LPTIM2_IRQn
enumerator LPTIM3_IRQn
enumerator HPSYS2_IRQn
enumerator HPSYS3_IRQn
enumerator LPTIM1_IRQn
enumerator Interrupt47_IRQn
enumerator Interrupt48_IRQn
enumerator RTC_IRQn
enumerator DMAC1_CH1_IRQn
enumerator DMAC1_CH2_IRQn
enumerator DMAC1_CH3_IRQn
enumerator DMAC1_CH4_IRQn
enumerator DMAC1_CH5_IRQn
enumerator DMAC1_CH6_IRQn
enumerator DMAC1_CH7_IRQn
enumerator DMAC1_CH8_IRQn
enumerator LCPU2HCPU_IRQn
enumerator USART1_IRQn
enumerator SPI1_IRQn
enumerator I2C1_IRQn
enumerator EPIC_IRQn
enumerator LCDC1_IRQn
enumerator I2S1_IRQn
enumerator I2S2_IRQn
enumerator EFUSEC_IRQn
enumerator AES_IRQn
enumerator PTC1_IRQn
enumerator TRNG_IRQn
enumerator GPTIM1_IRQn
enumerator GPTIM2_IRQn
enumerator BTIM1_IRQn
enumerator BTIM2_IRQn
enumerator USART2_IRQn
enumerator SPI2_IRQn
enumerator I2C2_IRQn
enumerator EXTDMA_IRQn
enumerator ACPU2HCPU_IRQn
enumerator SDMMC1_IRQn
enumerator SDMMC2_IRQn
enumerator NNACC_IRQn
enumerator PDM1_IRQn
enumerator DSIHOST_IRQn
enumerator GPIO1_IRQn
enumerator QSPI1_IRQn
enumerator QSPI2_IRQn
enumerator QSPI3_IRQn
enumerator MPI4_IRQn
enumerator EZIP_IRQn
enumerator EZIP2_IRQn
enumerator PDM2_IRQn
enumerator USBC_IRQn
enumerator I2C3_IRQn
enumerator ATIM1_IRQn
enumerator ATIM2_IRQn
enumerator DMAC2_CH1_IRQn
enumerator DMAC2_CH2_IRQn
enumerator DMAC2_CH3_IRQn
enumerator DMAC2_CH4_IRQn
enumerator DMAC2_CH5_IRQn
enumerator DMAC2_CH6_IRQn
enumerator DMAC2_CH7_IRQn
enumerator DMAC2_CH8_IRQn
enumerator V2D_GPU_IRQn
enumerator JPEG_ENC_IRQn
enumerator JPEG_DEC_IRQn
enumerator USART3_IRQn
enumerator FFT1_IRQn
enumerator FACC1_IRQn
enumerator CAN1_IRQn
enumerator CAN2_IRQn
enumerator AUDPRC_IRQn
enumerator AUD_HP_IRQn
enumerator SCI_IRQn
enumerator I2C4_IRQn
enumerator HCPU2LCPU_IRQn
typedef enum IRQn IRQn_Type

Defines

HCPU2LCPU_OFFSET

Peripheral_memory_map

LCPU_CBUS_2_HCPU_OFSET
LCPUROM2HCPU_OFFSET
LCPUITCM2HCPU_OFFSET
LCPU_SBUS_2_HCPU_OFFSET
LCPUDTCM2HCPU_OFFSET
LCPURAM2HCPU_OFFSET
IS_FUNCTIONAL_STATE(STATE)
SET_BIT(REG, BIT)
CLEAR_BIT(REG, BIT)
READ_BIT(REG, BIT)
CLEAR_REG(REG)
WRITE_REG(REG, VAL)
READ_REG(REG)
MODIFY_REG(REG, CLEARMASK, SETMASK)
IS_LPUART_INSTANCE(INSTANCE)
HCPU_IS_SRAM_ADDR(addr)
HCPU_ADDR_2_LCPU_ADDR(addr)

Convert HCPU SRAM address which can be used by LCPU.

参数:
  • addr – HCPU SRAM address

返回值:

address – which can be accessed by LCPU

HCPU_MPI_CBUS_ADDR_2_SBUS_ADDR(addr)
HCPU_MPI_SBUS_ADDR_2_CBUS_ADDR(addr)
HCPU_IS_MPI_CBUS_ADDR(addr)
HCPU_MPI_SBUS_ADDR(addr)
HCPU_MPI_CBUS_ADDR(addr)
LCPU_ADDR_2_HCPU_ADDR(addr)

Convert LCPU SRAM address which can be used by HCPU.

参数:
  • addr – LCPU SRAM address

返回值:

address – which can be accessed by HCPU

LCPU_ROM_ADDR_2_HCPU_ADDR(addr)

Convert LCPU ROM address which can be used by HCPU.

参数:
  • addr – LCPU ROM address

返回值:

address – which can be accessed by HCPU

LCPU_ITCM_ADDR_2_HCPU_ADDR(addr)

Convert LCPU ITCM address which can be used by HCPU.

参数:
  • addr – LCPU ITCM address

返回值:

address – which can be accessed by HCPU

LCPU_DTCM_ADDR_2_HCPU_ADDR(addr)

Convert LCPU DTCM address which can be used by HCPU.

参数:
  • addr – LCPU ITCM address

返回值:

address – which can be accessed by HCPU

GPADC_CALIB_FLOW_VERSION
LCPU_BOOT_ADDR
IS_LCPU(id)
CHIP_IS_583()
CHIP_IS_585()
CHIP_IS_587()

Typedefs

typedef enum FlagStatus ITStatus

Enums

enum FlagStatus

Values:

enumerator RESET
enumerator SET
enum FunctionalState

Values:

enumerator DISABLE
enumerator ENABLE
enum ErrorStatus

Values:

enumerator SF_ERROR
enumerator SF_SUCCESS