blob: bee6ac50ff4c68a57e354f141006ddf5fcaa52ed [file] [log] [blame]
# Copyright (c) 2025 Core Devices LLC
# SPDX-License-Identifier: Apache-2.0
if(CONFIG_HAS_SIFLI_HAL)
# Allow using CMSIS headers from HAL without compiling HAL library.
# This gives us access to register definitions and CMSIS HAL glue code.
zephyr_compile_definitions(SOC_BF0_HCPU)
if(CONFIG_SOC_SERIES_SF32LB52X)
zephyr_compile_definitions(SF32LB52X)
endif()
zephyr_include_directories(${ZEPHYR_HAL_SIFLI_MODULE_DIR}/cmsis/Include)
if(CONFIG_SOC_SERIES_SF32LB52X)
zephyr_include_directories(${ZEPHYR_HAL_SIFLI_MODULE_DIR}/cmsis/sf32lb52x)
endif()
if(CONFIG_USE_SIFLI_HAL)
zephyr_library_named(hal_sifli)
zephyr_library_compile_definitions(
NONE_HAL_TICK_INIT
HAL_TICK_PER_SECOND=${CONFIG_SYS_CLOCK_TICKS_PER_SEC}
)
zephyr_library_include_directories(${CMAKE_CURRENT_LIST_DIR})
zephyr_include_directories(${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/include)
zephyr_library_sources(
${CMAKE_CURRENT_LIST_DIR}/hal.c
${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal.c
${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_cortex.c
${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_efuse.c
${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_pmu.c
${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_rcc.c
)
if(CONFIG_SOC_SERIES_SF32LB52X)
zephyr_library_sources(
${ZEPHYR_HAL_SIFLI_MODULE_DIR}/cmsis/sf32lb52x/bf0_pin_const.c
)
endif()
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_ADC ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_adc.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_AON ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_hpaon.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_ATIM ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_tim_ex.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_AUDCODEC ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_audcodec.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_AUDPRC ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_audprc.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_BUSMON ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_busmon.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_CRC ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_crc.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_DMA ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_dma.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_EPIC ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_epic.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_EZIP ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_ezip.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_EXTDMA ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_ext_dma.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_GPIO ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_gpio.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_GPT ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_tim.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_HCD ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_hcd.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_I2C ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_i2c.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_I2S ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_i2s.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_LCD ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_lcdc.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_LCPU_PATCH ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_patch.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_LPTIM ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_lptim.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_MAILBOX ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_mailbox.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_MPI
${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_mpi.c
${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_mpi_ex.c
${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_mpi_psram.c
${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/flash_table.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_PCD ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_pcd.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_PDM ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_pdm.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_PINMUX ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_pinmux.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_PTC ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_ptc.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_RNG ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_rng.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_RTC ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_rtc.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_SD ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_sdmmc.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_SDHCI ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_sdhci.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_SECU ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_secu.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_SPI ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_spi.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_SYSTEM_CONFIG ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_sys_cfg.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_TSEN ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_tsen.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_UART ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_uart.c
)
zephyr_library_sources_ifdef(
CONFIG_USE_SIFLI_HAL_WDT ${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_wdt.c
)
if(CONFIG_USE_SIFLI_HAL_AES OR CONFIG_USE_SIFLI_HAL_HASH)
zephyr_library_sources(${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_aes.c)
endif()
if(CONFIG_USE_SIFLI_HAL_SD OR CONFIG_USE_SIFLI_HAL_SDHCI)
zephyr_library_sources(${ZEPHYR_HAL_SIFLI_MODULE_DIR}/hal/src/bf0_hal_sd_ex.c)
endif()
endif()
endif()