123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361 |
- /**
- *******************************************************************************
- * @file hc32_ll.h
- * @brief This file contains HC32 Series Device Driver Library file call
- * management.
- @verbatim
- Change Logs:
- Date Author Notes
- 2022-12-31 CDT First version
- @endverbatim
- *******************************************************************************
- * Copyright (C) 2022, Xiaohua Semiconductor Co., Ltd. All rights reserved.
- *
- * This software component is licensed by XHSC under BSD 3-Clause license
- * (the "License"); You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- *******************************************************************************
- */
- #ifndef __HC32_LL_H__
- #define __HC32_LL_H__
- /* C binding of definitions if building with C++ compiler */
- #ifdef __cplusplus
- extern "C"
- {
- #endif
- /*******************************************************************************
- * Include files
- ******************************************************************************/
- #include "hc32_ll_def.h"
- #include "hc32f4xx.h"
- #include "hc32f4xx_conf.h"
- /**********************new add at2023.4.4**************************************/
- #include "hc32_ll_utility.h"
- #include "hc32_ll_pwc.h"
- #include "hc32_ll_efm.h"
- #include "hc32_ll_gpio.h"
- #include "hc32_ll_sram.h"
- #define PWC_UNLOCK_CODE0 (0xA501U)
- #define PWC_UNLOCK_CODE1 (0xA502U)
- #define PWC_UNLOCK_CODE2 (0xA508U)
- /**
- * @addtogroup LL_Driver
- * @{
- */
- /**
- * @addtogroup LL_Global
- * @{
- */
- /*******************************************************************************
- * Global type definitions ('typedef')
- ******************************************************************************/
- /*******************************************************************************
- * Global pre-processor symbols/macros ('#define')
- ******************************************************************************/
- /**
- * @defgroup LL_Global_Macros LL Global Macros
- * @{
- */
- /**
- * @defgroup Peripheral_Register_WP_Global_Macros Peripheral Register Write Protection Global Macros
- * @{
- */
- #define LL_PERIPH_EFM (1UL << 0U)
- #define LL_PERIPH_FCG (1UL << 1U)
- #define LL_PERIPH_GPIO (1UL << 2U)
- #define LL_PERIPH_INTC (1UL << 3U)
- #define LL_PERIPH_LVD (1UL << 4U)
- #define LL_PERIPH_MPU (1UL << 5U)
- #define LL_PERIPH_PWC_CLK_RMU (1UL << 6U)
- #define LL_PERIPH_SRAM (1UL << 7U)
- #define LL_PERIPH_ALL (LL_PERIPH_EFM | LL_PERIPH_FCG | LL_PERIPH_GPIO | LL_PERIPH_INTC | \
- LL_PERIPH_LVD | LL_PERIPH_MPU | LL_PERIPH_SRAM | LL_PERIPH_PWC_CLK_RMU)
- /**
- * @}
- */
- /**
- * @defgroup Timer_SW_Sync_Start_Global_Macros Timer Software Sync Start Global Macros
- * @{
- */
- #define LL_SW_SYNC_START_TMR0_1_CH_A PERIC_TMR_SYNENR_TMR0U1A
- #define LL_SW_SYNC_START_TMR0_1_CH_B PERIC_TMR_SYNENR_TMR0U1B
- #define LL_SW_SYNC_START_TMR0_2_CH_A PERIC_TMR_SYNENR_TMR0U2A
- #define LL_SW_SYNC_START_TMR0_2_CH_B PERIC_TMR_SYNENR_TMR0U2B
- #define LL_SW_SYNC_START_TMR4_1 PERIC_TMR_SYNENR_TMR4U1
- #define LL_SW_SYNC_START_TMR4_2 PERIC_TMR_SYNENR_TMR4U2
- #define LL_SW_SYNC_START_TMR4_3 PERIC_TMR_SYNENR_TMR4U3
- #define LL_SW_SYNC_START_TMR6_1 PERIC_TMR_SYNENR_TMR6U1
- #define LL_SW_SYNC_START_TMR6_2 PERIC_TMR_SYNENR_TMR6U2
- #define LL_SW_SYNC_START_TMRA_1 PERIC_TMR_SYNENR_TMRAU1
- #define LL_SW_SYNC_START_TMRA_2 PERIC_TMR_SYNENR_TMRAU2
- #define LL_SW_SYNC_START_TMRA_3 PERIC_TMR_SYNENR_TMRAU3
- #define LL_SW_SYNC_START_TMRA_4 PERIC_TMR_SYNENR_TMRAU4
- #define LL_SW_SYNC_START_TMRA_5 PERIC_TMR_SYNENR_TMRAU5
- #define LL_SW_SYNC_START_TMR_ALL (LL_SW_SYNC_START_TMR0_1_CH_A | LL_SW_SYNC_START_TMR0_1_CH_B | \
- LL_SW_SYNC_START_TMR0_2_CH_A | LL_SW_SYNC_START_TMR0_2_CH_B | \
- LL_SW_SYNC_START_TMR4_1 | LL_SW_SYNC_START_TMR4_2 | \
- LL_SW_SYNC_START_TMR4_3 | LL_SW_SYNC_START_TMR6_1 | \
- LL_SW_SYNC_START_TMR6_2 | LL_SW_SYNC_START_TMRA_1 | \
- LL_SW_SYNC_START_TMRA_2 | LL_SW_SYNC_START_TMRA_3 | \
- LL_SW_SYNC_START_TMRA_4 | LL_SW_SYNC_START_TMRA_5)
- /**
- * @}
- */
- /* Defined use Device Driver Library */
- #if !defined (USE_DDL_DRIVER)
- /**
- * @brief Comment the line below if you will not use the Device Driver Library.
- * In this case, the application code will be based on direct access to
- * peripherals registers.
- */
- /* #define USE_DDL_DRIVER */
- #endif /* USE_DDL_DRIVER */
- /**
- * @defgroup HC32_Series_DDL_Version HC32 Series Device Driver Library Version
- * @{
- */
- #define HC32_DDL_VER_MAIN 0x01U /*!< [31:24] main version */
- #define HC32_DDL_VER_SUB1 0x03U /*!< [23:16] sub1 version */
- #define HC32_DDL_VER_SUB2 0x00U /*!< [15:8] sub2 version */
- #define HC32_DDL_VER_PATCH 0x00U /*!< [7:0] patch version */
- #define HC32_DDL_VER ((HC32_DDL_VER_MAIN << 24) | (HC32_DDL_VER_SUB1 << 16) | \
- (HC32_DDL_VER_SUB2 << 8 ) | (HC32_DDL_VER_PATCH))
- /**
- * @}
- */
- /**
- * @defgroup HC32_Series_DDL_Release_Version HC32 Series DDL Release Version
- * @{
- */
- #define HC32_DDL_REV_MAIN 0x01U /*!< [31:24] main version */
- #define HC32_DDL_REV_SUB1 0x00U /*!< [23:16] sub1 version */
- #define HC32_DDL_REV_SUB2 0x00U /*!< [15:8] sub2 version */
- #define HC32_DDL_REV_PATCH 0x00U /*!< [7:0] patch version */
- #define HC32_DDL_REV ((HC32_DDL_REV_MAIN << 24) | (HC32_DDL_REV_SUB1 << 16) | \
- (HC32_DDL_REV_SUB2 << 8 ) | (HC32_DDL_REV_PATCH))
- /**
- * @}
- */
- /**
- * @}
- */
- /* Use Device Driver Library */
- #if defined (USE_DDL_DRIVER)
- /**
- * @brief Include peripheral module's header file
- */
- #if (LL_ADC_ENABLE == DDL_ON)
- #include "hc32_ll_adc.h"
- #endif /* LL_ADC_ENABLE */
- #if (LL_AES_ENABLE == DDL_ON)
- #include "hc32_ll_aes.h"
- #endif /* LL_AES_ENABLE */
- #if (LL_AOS_ENABLE == DDL_ON)
- #include "hc32_ll_aos.h"
- #endif /* LL_AOS_ENABLE */
- #if (LL_CLK_ENABLE == DDL_ON)
- #include "hc32_ll_clk.h"
- #endif /* LL_CLK_ENABLE */
- #if (LL_CMP_ENABLE == DDL_ON)
- #include "hc32_ll_cmp.h"
- #endif /* LL_CMP_ENABLE */
- #if (LL_CRC_ENABLE == DDL_ON)
- #include "hc32_ll_crc.h"
- #endif /* LL_CRC_ENABLE */
- #if (LL_CTC_ENABLE == DDL_ON)
- #include "hc32_ll_ctc.h"
- #endif /* LL_CTC_ENABLE */
- #if (LL_DAC_ENABLE == DDL_ON)
- #include "hc32_ll_dac.h"
- #endif /* LL_DAC_ENABLE */
- #if (LL_DBGC_ENABLE == DDL_ON)
- #include "hc32_ll_dbgc.h"
- #endif /* LL_DBGC_ENABLE */
- #if (LL_DCU_ENABLE == DDL_ON)
- #include "hc32_ll_dcu.h"
- #endif /* LL_DCU_ENABLE */
- #if (LL_DMA_ENABLE == DDL_ON)
- #include "hc32_ll_dma.h"
- #endif /* LL_DMA_ENABLE */
- #if (LL_EFM_ENABLE == DDL_ON)
- #include "hc32_ll_efm.h"
- #endif /* LL_EFM_ENABLE */
- #if (LL_EMB_ENABLE == DDL_ON)
- #include "hc32_ll_emb.h"
- #endif /* LL_EMB_ENABLE */
- #if (LL_EVENT_PORT_ENABLE == DDL_ON)
- #include "hc32_ll_event_port.h"
- #endif /* LL_EVENT_PORT_ENABLE */
- #if (LL_FCG_ENABLE == DDL_ON)
- #include "hc32_ll_fcg.h"
- #endif /* LL_FCG_ENABLE */
- #if (LL_FCM_ENABLE == DDL_ON)
- #include "hc32_ll_fcm.h"
- #endif /* LL_FCM_ENABLE */
- #if (LL_GPIO_ENABLE == DDL_ON)
- #include "hc32_ll_gpio.h"
- #endif /* LL_GPIO_ENABLE */
- #if (LL_HASH_ENABLE == DDL_ON)
- #include "hc32_ll_hash.h"
- #endif /* LL_HASH_ENABLE */
- #if (LL_I2C_ENABLE == DDL_ON)
- #include "hc32_ll_i2c.h"
- #endif /* LL_I2C_ENABLE */
- #if (LL_ICG_ENABLE == DDL_ON)
- #include "hc32_ll_icg.h"
- #endif /* LL_ICG_ENABLE */
- #if (LL_INTERRUPTS_ENABLE == DDL_ON)
- #include "hc32_ll_interrupts.h"
- #endif /* LL_INTERRUPTS_ENABLE */
- #if (LL_KEYSCAN_ENABLE == DDL_ON)
- #include "hc32_ll_keyscan.h"
- #endif /* LL_KEYSCAN_ENABLE */
- #if (LL_MCAN_ENABLE == DDL_ON)
- #include "hc32_ll_mcan.h"
- #endif /* LL_MCAN_ENABLE */
- #if (LL_MPU_ENABLE == DDL_ON)
- #include "hc32_ll_mpu.h"
- #endif /* LL_MPU_ENABLE */
- #if (LL_PWC_ENABLE == DDL_ON)
- #include "hc32_ll_pwc.h"
- #endif /* LL_PWC_ENABLE */
- #if (LL_QSPI_ENABLE == DDL_ON)
- #include "hc32_ll_qspi.h"
- #endif /* LL_QSPI_ENABLE */
- #if (LL_RMU_ENABLE == DDL_ON)
- #include "hc32_ll_rmu.h"
- #endif /* LL_RMU_ENABLE */
- #if (LL_RTC_ENABLE == DDL_ON)
- #include "hc32_ll_rtc.h"
- #endif /* LL_RTC_ENABLE */
- #if (LL_SMC_ENABLE == DDL_ON)
- #include "hc32_ll_smc.h"
- #endif /* LL_SMC_ENABLE */
- #if (LL_SPI_ENABLE == DDL_ON)
- #include "hc32_ll_spi.h"
- #endif /* LL_SPI_ENABLE */
- #if (LL_SRAM_ENABLE == DDL_ON)
- #include "hc32_ll_sram.h"
- #endif /* LL_SRAM_ENABLE */
- #if (LL_SWDT_ENABLE == DDL_ON)
- #include "hc32_ll_swdt.h"
- #endif /* LL_SWDT_ENABLE */
- #if (LL_TMR0_ENABLE == DDL_ON)
- #include "hc32_ll_tmr0.h"
- #endif /* LL_TMR0_ENABLE */
- #if (LL_TMR4_ENABLE == DDL_ON)
- #include "hc32_ll_tmr4.h"
- #endif /* LL_TMR4_ENABLE */
- #if (LL_TMR6_ENABLE == DDL_ON)
- #include "hc32_ll_tmr6.h"
- #endif /* LL_TMR6_ENABLE */
- #if (LL_TMRA_ENABLE == DDL_ON)
- #include "hc32_ll_tmra.h"
- #endif /* LL_TMRA_ENABLE */
- #if (LL_TRNG_ENABLE == DDL_ON)
- #include "hc32_ll_trng.h"
- #endif /* LL_TRNG_ENABLE */
- #if (LL_USART_ENABLE == DDL_ON)
- #include "hc32_ll_usart.h"
- #endif /* LL_USART_ENABLE */
- #if (LL_UTILITY_ENABLE == DDL_ON)
- #include "hc32_ll_utility.h"
- #endif /* LL_UTILITY_ENABLE */
- #if (LL_WDT_ENABLE == DDL_ON)
- #include "hc32_ll_wdt.h"
- #endif /* LL_WDT_ENABLE */
- #endif /* USE_DDL_DRIVER */
- /*******************************************************************************
- * Global variable definitions ('extern')
- ******************************************************************************/
- /*******************************************************************************
- * Global function prototypes (definition in C source)
- ******************************************************************************/
- /**
- * @addtogroup LL_Global_Functions
- * @{
- */
- void LL_PERIPH_WE(uint32_t u32Peripheral);
- void LL_PERIPH_WP(uint32_t u32Peripheral);
- void LL_TMR_SWSyncStart(uint32_t u32Tmr);
- /**
- * @}
- */
- /**
- * @}
- */
- /**
- * @}
- */
- #ifdef __cplusplus
- }
- #endif
- #endif /* __HC32_DDL_H__ */
- /*******************************************************************************
- * EOF (not truncated)
- ******************************************************************************/
|