cmake_minimum_required(VERSION 3.13)

#
# Create Library and add Curent Library to project library list
#

# Create Library
cp_internal_library_register(chip_drv_ch #module name
                             0 # close source or not
                             )

#
#############################################################
#   Create static Library and add source code
# Create Library and add Curent Library to project library list
#############################################################
#

# I2C/I3C
#
#
if(1)
    list(APPEND SRCS
      "chip_module/i2c/i2c_hal_v2.c"
      "chip_module/i2c/i3c/sprd_i3c.c"
    )
endif()

# I3C
#
#
if(1)
    list(APPEND SRCS
      "chip_module/i3c/i3c_hal.c"
      "chip_module/i3c/v0/sprd_i3c_v1.c"
    )
endif()

#endif()

#
# ADI
#
#if(CONFIG_ADI_VER_R5P1)
if(1)
    if(NOT CONFIG_FPGA_VERIFICATION)
        list(APPEND SRCS
            "chip_module/adi/r5p1/adi_phy.c"
        )
    endif()
endif()

#
# sprd_boot_monitor
#
if(1)
    list(APPEND SRCS
        "chip_module/sprd_boot_monitor/sprd_boot_monitor_phy.c"
    )
endif()


#
# regulator
#
if(1)
    list(APPEND SRCS
        "chip_module/ldo/sc27xx_regulator.c"
    )
endif()


#
# EIC
#V3P0
if(1)
    list(APPEND SRCS
        "chip_module/eic/v3p0/eic_hal.c"
        "chip_module/eic/v3p0/eic_phy.c"
    )
endif()

#
# mailbox
# r2px
if(CONFIG_MAILBOX_SUPPORT)
    list(APPEND SRCS
        "chip_module/mailbox/mailbox_hal.c"
        "chip_module/mailbox/mbox_hal.c"
        "chip_module/mailbox/r2px/mbox_phy.c"
    )
endif()

#
# UART
#r9p0
if(1)
    list(APPEND SRCS
        "chip_module/uart/uart_hal.c"
        "chip_module/uart/r9p0/uart_sprd.c"
    )
endif()

#
# SPI
#r8p1
if(CONFIG_SPRD_SPI_SUPPORT)
    list(APPEND SRCS
        "chip_module/spi/spi_hal.c"
        "chip_module/spi/r8p1/sprd_spi.c"
    )
endif()
#
# init
#
if(1)
    list(APPEND SRCS
        "chip_module/init/pm/chip_drv_init.c"
    )
endif()

#
# spinlock
#
if(1)
    list(APPEND SRCS
        "chip_module/spinlock/v0/spinlock_phy.c"
    )
endif()

#
# chip
#
if(CONFIG_PLATFORM_PM)
    list(APPEND SRCS
       "chip_module/chip/chip_phy_pm.c"
    )
endif()

#
# firewall
#
if(CONFIG_FIREWALL_SUPPORT)
    list(APPEND SRCS
       "chip_module/firewall/QogirN6Pro/firewall.c"
    )
endif()

#cp_library_link_libraries(main)

#
#############################################################
# Add Internel depend header file
#############################################################
#
if(0)
    cp_library_include_directories(
        ${PROJECT_SOURCE_ROOT}/Include
    )
endif()

#
#############################################################
# Public curent header file to total project
# Add the directory to INTERFACE LIBRARY
#############################################################
#
cp_library_include_directories(
    ./export/inc
    ./chip_plf/export/inc
    ./chip_plf/${CONFIG_SOC_ID}/ch
    ./chip_plf/${CONFIG_SOC_ID}/ch/module_glb
    ./chip_plf/${CONFIG_SOC_ID}/ch/chip
    ./chip_module/mmu/outer_cache/310
    ./chip_module/adi/r5p1
    ./chip_module/eic/v3p0
    ./chip_module/i2c
    ./chip_module/ldo
    ./chip_module/init/pm
    ./chip_module/mailbox
    ./chip_module/mmu
    ./chip_module/dma
)

cp_library_include_directories(
    ${PROJECT_SOURCE_ROOT}/ms_ref/source/ram_bsd/inc
    ${PROJECT_SOURCE_ROOT}/rtos/kernel/export/inc
    ${PROJECT_SOURCE_ROOT}/rtos/arm_drv/export/inc
)

 if(CONFIG_SP_GNSS_ENABLE)
    cp_library_include_directories(
        ./fusion_location
    )
endif()

if(CONFIG_CACHEL1_ARMV7_EN)
    cp_library_include_directories(
        ${PROJECT_SOURCE_ROOT}/rtos/kernel/cmsis_core_m/Include
    )
endif()

#
#############################################################
# Extenel Libriry that need to link
#
#############################################################
#
#cp_library_link_libraries()


#
#############################################################
# The defined flags that compile need use
#############################################################
#
if(0)
cp_library_compile_definitions(SOC_SHARKL5PRO)
endif()

add_definitions(-DTHIS_MAILBOX_CORE=2)

#
#############################################################
# The compile option flags that need use
#############################################################
#
#cp_library_cc_option()

#
# Add source code to library
#
#cp_library_sources_ifdef(CONFIG_APP main.c)
cp_library_sources(${SRCS})
