modules: hal_silabs: Add stubs to support CONFIG_BUILD_ONLY_NO_BLOBS

Add empty function stubs to support building with the newly introduced
CONFIG_BUILD_ONLY_NO_BLOBS option.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
This commit is contained in:
Johan Hedberg 2024-12-20 11:22:21 +02:00 committed by Benjamin Cabé
commit 5f963feed4
3 changed files with 159 additions and 6 deletions

View file

@ -119,7 +119,7 @@ config BT_SILABS_EFR32
bool
default y
depends on DT_HAS_SILABS_BT_HCI_EFR32_ENABLED
depends on ZEPHYR_HAL_SILABS_MODULE_BLOBS
depends on ZEPHYR_HAL_SILABS_MODULE_BLOBS || BUILD_ONLY_NO_BLOBS
depends on !PM || SOC_GECKO_PM_BACKEND_PMGR
select SOC_GECKO_USE_RAIL
select MBEDTLS

View file

@ -27,11 +27,13 @@ string(SUBSTRING ${CONFIG_SOC_SERIES} 7 2 SILABS_DEVICE_FAMILY_NUMBER)
set(SILABS_DEVICE_PART_NUMBER ${CONFIG_SOC_PART_NUMBER})
function(add_prebuilt_library lib_name prebuilt_path)
add_library(${lib_name} STATIC IMPORTED GLOBAL)
set_target_properties(${lib_name} PROPERTIES
IMPORTED_LOCATION ${BLOBS_DIR}/${prebuilt_path}
)
zephyr_link_libraries(${lib_name})
if(NOT CONFIG_BUILD_ONLY_NO_BLOBS)
add_library(${lib_name} STATIC IMPORTED GLOBAL)
set_target_properties(${lib_name} PROPERTIES
IMPORTED_LOCATION ${BLOBS_DIR}/${prebuilt_path}
)
zephyr_link_libraries(${lib_name})
endif()
endfunction()
if(CONFIG_SOC_GECKO_HAS_RADIO)
@ -223,3 +225,8 @@ zephyr_library_sources_ifdef(CONFIG_ENTROPY_GECKO_SE
)
zephyr_library_sources(src/sl_memory_manager_shim.c)
zephyr_library_sources_ifdef(
CONFIG_BUILD_ONLY_NO_BLOBS
src/blob_stubs.c
)

View file

@ -0,0 +1,146 @@
/*
* Copyright (c) 2024 Silicon Laboratories Inc.
*
* SPDX-License-Identifier: Apache-2.0
*
* Empty function stubs to enable building with CONFIG_BUILD_ONLY_NO_BLOBS.
*/
#include <stdint.h>
#include <stdbool.h>
#include <sl_status.h>
struct RAIL_TxPowerCurvesConfigAlt {
};
void RAIL_VerifyTxPowerCurves(const struct RAIL_TxPowerCurvesConfigAlt *config)
{
}
void RAIL_EnablePaCal(bool enable)
{
}
int16_t sl_btctrl_hci_receive(uint8_t *data, int16_t len, bool lastFragment)
{
return 0;
}
void BTLE_LL_Process(uint32_t events)
{
}
void sl_btctrl_disable_2m_phy(void)
{
}
void sl_btctrl_disable_coded_phy(void)
{
}
uint32_t sl_btctrl_init_mem(uint32_t memsize)
{
return 0;
}
void sl_btctrl_configure_le_buffer_size(uint8_t count)
{
}
sl_status_t sl_btctrl_init_ll(void)
{
return SL_STATUS_NOT_AVAILABLE;
}
void sli_btctrl_deinit_mem(void)
{
}
void sl_btctrl_init_adv(void)
{
}
void sl_btctrl_init_adv_ext(void)
{
}
void sl_btctrl_init_scan(void)
{
}
void sl_btctrl_init_scan_ext(void)
{
}
void sl_btctrl_init_conn(void)
{
}
void sl_btctrl_init_phy(void)
{
}
void sl_btctrl_init_basic(void)
{
}
void sl_btctrl_configure_completed_packets_reporting(uint8_t packets, uint8_t events)
{
}
void sl_bthci_init_upper(void)
{
}
void sl_btctrl_hci_parser_init_default(void)
{
}
void sl_btctrl_hci_parser_init_conn(void)
{
}
void sl_btctrl_hci_parser_init_adv(void)
{
}
void sl_btctrl_hci_parser_init_phy(void)
{
}
void AGC_IRQHandler(void)
{
}
void BUFC_IRQHandler(void)
{
}
void FRC_IRQHandler(void)
{
}
void MODEM_IRQHandler(void)
{
}
void PROTIMER_IRQHandler(void)
{
}
void RAC_RSM_IRQHandler(void)
{
}
void RAC_SEQ_IRQHandler(void)
{
}
void SYNTH_IRQHandler(void)
{
}
void RDMAILBOX_IRQHandler(void)
{
}