modules: Add gigadevice hal module
This add access to modules/hal/gigadevice with three firmware libraries by updating west.yaml file: - GD32E10X ARM (Cortex-M4F) - GD32F403 ARM (Cortex-M4F) - GD32VF103 RISC-V (Nucleisys Bumblebee core) It introduce module/hal_gigadevice, which contains all Cmake and Kconfig rules to build GigaDevice SoCs into zephyr main tree. Signed-off-by: Gerson Fernando Budke <gerson.budke@atl-electronics.com>
This commit is contained in:
parent
3b8e2f8983
commit
6d8c03422c
4 changed files with 235 additions and 0 deletions
|
|
@ -46,6 +46,9 @@ comment "Unavailable modules, please install those via the project manifest."
|
||||||
# config ZEPHYR_<MODULE_NAME_UPPER>_MODULE
|
# config ZEPHYR_<MODULE_NAME_UPPER>_MODULE
|
||||||
# bool
|
# bool
|
||||||
|
|
||||||
|
comment "hal_gigadevice module not available."
|
||||||
|
depends on !ZEPHYR_HAL_GIGADEVICE_MODULE
|
||||||
|
|
||||||
comment "hal_nordic module not available."
|
comment "hal_nordic module not available."
|
||||||
depends on !ZEPHYR_HAL_NORDIC_MODULE
|
depends on !ZEPHYR_HAL_NORDIC_MODULE
|
||||||
|
|
||||||
|
|
|
||||||
45
modules/hal_gigadevice/CMakeLists.txt
Normal file
45
modules/hal_gigadevice/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
# Copyright (c) 2021 ATL-Electronics
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
if(CONFIG_HAS_GD32_HAL)
|
||||||
|
|
||||||
|
zephyr_library_named(hal_gigadevice)
|
||||||
|
|
||||||
|
zephyr_library_compile_definitions(${gd32_soc_uc})
|
||||||
|
|
||||||
|
set(gd32_soc_dir ${ZEPHYR_HAL_GIGADEVICE_MODULE_DIR}/${gd32_soc_uc})
|
||||||
|
set(gd32_cmsis_dir ${gd32_soc_dir}/CMSIS/GD/${gd32_soc_uc})
|
||||||
|
set(gd32_std_dir ${gd32_soc_dir}/standard_peripheral)
|
||||||
|
set(gd32_std_src_dir ${gd32_std_dir}/Source)
|
||||||
|
|
||||||
|
# Global includes to be used outside hal_gigadevice
|
||||||
|
zephyr_include_directories(${gd32_cmsis_dir}/Include)
|
||||||
|
zephyr_include_directories(${gd32_std_dir}/Include)
|
||||||
|
|
||||||
|
zephyr_library_sources(${gd32_cmsis_dir}/Source/system_${gd32_soc_lc}.c)
|
||||||
|
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_ADC ${gd32_std_src_dir}/${gd32_soc_lc}_adc.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_BKP ${gd32_std_src_dir}/${gd32_soc_lc}_bkp.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_CAN ${gd32_std_src_dir}/${gd32_soc_lc}_can.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_CRC ${gd32_std_src_dir}/${gd32_soc_lc}_crc.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_CTC ${gd32_std_src_dir}/${gd32_soc_lc}_ctc.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_DAC ${gd32_std_src_dir}/${gd32_soc_lc}_dac.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_DBG ${gd32_std_src_dir}/${gd32_soc_lc}_dbg.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_DMA ${gd32_std_src_dir}/${gd32_soc_lc}_dma.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_EXMC ${gd32_std_src_dir}/${gd32_soc_lc}_exmc.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_EXTI ${gd32_std_src_dir}/${gd32_soc_lc}_exti.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_FMC ${gd32_std_src_dir}/${gd32_soc_lc}_fmc.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_FWDGT ${gd32_std_src_dir}/${gd32_soc_lc}_fwdgt.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_GPIO ${gd32_std_src_dir}/${gd32_soc_lc}_gpio.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_I2C ${gd32_std_src_dir}/${gd32_soc_lc}_i2c.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_MISC ${gd32_std_src_dir}/${gd32_soc_lc}_misc.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_PMU ${gd32_std_src_dir}/${gd32_soc_lc}_pmu.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_RCU ${gd32_std_src_dir}/${gd32_soc_lc}_rcu.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_RTC ${gd32_std_src_dir}/${gd32_soc_lc}_rtc.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_SDIO ${gd32_std_src_dir}/${gd32_soc_lc}_sdio.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_SPI ${gd32_std_src_dir}/${gd32_soc_lc}_spi.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_TIMER ${gd32_std_src_dir}/${gd32_soc_lc}_timer.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_USART ${gd32_std_src_dir}/${gd32_soc_lc}_usart.c)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_USE_GD32_WWDGT ${gd32_std_src_dir}/${gd32_soc_lc}_wwdgt.c)
|
||||||
|
|
||||||
|
endif()
|
||||||
182
modules/hal_gigadevice/Kconfig
Normal file
182
modules/hal_gigadevice/Kconfig
Normal file
|
|
@ -0,0 +1,182 @@
|
||||||
|
# Copyright (c) 2021 ATL-Electronics
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
config ZEPHYR_HAL_GIGADEVICE_MODULE
|
||||||
|
bool
|
||||||
|
|
||||||
|
config HAS_GD32_HAL
|
||||||
|
bool
|
||||||
|
|
||||||
|
if HAS_GD32_HAL
|
||||||
|
|
||||||
|
config USE_GD32_ADC
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Analog-to-Digital Converter (ADC) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_BKP
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Backup Registers (BKP) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_CAN
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Controller Area Network (CAN) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_CMP
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Comparator (CMP) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_CRC
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Cyclic redundancy check calculation unit (CRC) HAL
|
||||||
|
module driver
|
||||||
|
|
||||||
|
config USE_GD32_CTC
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Clock Trim Controller (CTC) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_DAC
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Digital-to-Analog Converter (DAC) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_DBG
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Debug (DBG) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_DMA
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Direct Memory Access controller (DMA) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_ECLIC
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Enhancement Core-Local Interrupt Controller (ECLIC) HAL
|
||||||
|
module driver
|
||||||
|
|
||||||
|
config USE_GD32_ENET
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Ethernet (ENET) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_EXMC
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 External Memory Controller (EXMC) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_EXTI
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Interrupt/Event controller (EXTI) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_FMC
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Flash Memory Controller (FMC) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_FWDGT
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Free Watchdog Timer (FWDGT) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_GPIO
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Enable GD32 General-purpose and Alternate-Function I/Os
|
||||||
|
(GPIO and AFIO) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_I2C
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Inter-Integrated Circuit Interface (I2C) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_MISC
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 System Utilities (MISC) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_PMU
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Power Management Unit (PMU) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_RCU
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Enable GD32 Reset and Clock Unit (RCU) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_RTC
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Real-Time Clock (RTC) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_SDIO
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Secure Digital Input/Output interface (SDIO) HAL module
|
||||||
|
driver
|
||||||
|
|
||||||
|
config USE_GD32_SPI
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Serial Peripheral Interface(SPI) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_SQPI
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Serial/Quad Parallel Interface (SQPI) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_SHRTIMER
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Super High-Resolution Timer (SHRTIMER) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_TIMER
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Timer (TIMER) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_TMU
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Trigonometric Math Unit (TMU) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_USART
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Universal Synchronous/Asynchronous Receiver/Transmitter
|
||||||
|
(USART) HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_USBD
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Universal Serial Bus full-speed Device interface (USBD)
|
||||||
|
HAL module driver
|
||||||
|
|
||||||
|
config USE_GD32_USBFS
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Universal Serial Bus on-the-go Full-Speed (USBFS) HAL
|
||||||
|
module driver
|
||||||
|
|
||||||
|
config USE_GD32_USBHS
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Universal Serial Bus High-Speed interface (USBHS) HAL
|
||||||
|
module driver
|
||||||
|
|
||||||
|
config USE_GD32_WWDGT
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable GD32 Window Watchdog Timer (WWDGT) HAL module driver
|
||||||
|
|
||||||
|
endif # HAS_GD32_HAL
|
||||||
5
west.yml
5
west.yml
|
|
@ -72,6 +72,11 @@ manifest:
|
||||||
west-commands: west/west-commands.yml
|
west-commands: west/west-commands.yml
|
||||||
groups:
|
groups:
|
||||||
- hal
|
- hal
|
||||||
|
- name: hal_gigadevice
|
||||||
|
revision: ce323de9655972a545cbdddda813c1576d85d5d1
|
||||||
|
path: modules/hal/gigadevice
|
||||||
|
groups:
|
||||||
|
- hal
|
||||||
- name: hal_infineon
|
- name: hal_infineon
|
||||||
revision: f1fa8241f8786198ba41155413243de36ed878a5
|
revision: f1fa8241f8786198ba41155413243de36ed878a5
|
||||||
path: modules/hal/infineon
|
path: modules/hal/infineon
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue