Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
Device/ | 11-Mar-2024 | - | 1,125,949 | 996,972 | ||
common/ | 11-Mar-2024 | - | 1,370 | 584 | ||
emlib/ | 11-Mar-2024 | - | 88,294 | 48,340 | ||
platform/radio/rail_lib/ | 11-Mar-2024 | - | 16,489 | 3,988 | ||
protocol/bluetooth/bgstack/ll/inc/ | 11-Mar-2024 | - | 427 | 93 | ||
se_manager/ | 11-Mar-2024 | - | 16,059 | 8,229 | ||
service/ | 11-Mar-2024 | - | 9,177 | 3,876 | ||
util/ | 11-Mar-2024 | - | 9,746 | 3,810 | ||
CMakeLists.txt | D | 11-Mar-2024 | 7.7 KiB | 154 | 134 | |
License.txt | D | 11-Mar-2024 | 1.7 KiB | 39 | 29 | |
README | D | 11-Mar-2024 | 8.3 KiB | 105 | 90 |
README
1Silicon Labs Gecko HAL 2###################### 3 4Origin: 5 Silicon Labs Gecko SDK 6 https://www.silabs.com/products/development-tools/software/simplicity-studio 7 8Version: 9 v3.1.2 10 11Purpose: 12 Add support for Silicon Labs EXX32 SoCs 13 14Description: 15 This code component is used to add Zephyr support for Silicon Labs EXX32 SoCs. 16 To speed up the development process it is based on the Silicon Labs HAL. 17 18 The Silicon Labs HAL is split into SoC specific folders. They share the 19 Peripheral Support library. 20 21 The following folders are imported: 22 platform/Device/SiliconLabs/$(GECKO_DEVICE) 23 platform/emlib 24 util/third_party/crypto/sl_component/se_manager 25 platform/common 26 platform/service/device_init 27 platform/service/hfxo_manager 28 platform/service/power_manager 29 platform/service/sleeptimer 30 hardware/board 31 32Dependencies: 33 This source code depends on headers and sources from Zephyr: 34 modules/hal/cmsis 35 36URL: 37 https://www.silabs.com/products/development-tools/software/simplicity-studio 38 39Maintained-by: 40 External 41 42License: 43 Zlib 44 45How to update 46+++++++++++++ 47 48 * Start Simplicity Studio 49 * Start the Package Manager 50 * Install the 32-bit MCU SDK with the version you want to update to 51 * The installation directory is <Simplicity Studio Path>/developer/sdks/gecko_sdk_suite/<version> 52 * Replace the necessary files in modules/hal/silabs/gecko/Device, modules/hal/silabs/gecko/emlib and modules/hal/silabs/gecko/se_manager 53 * Replace the files in modules/hal/silabs/gecko/common, modules/hal/silabs/gecko/service, and modules/hal/silabs/gecko/board for EFR32BG22 SoCs. 54 * Ensure that the CMakeLists and Kconfig files match the new version of the Gecko SDK 55 56What is different in EFR32BG22 57++++++++++++++++++++++++++++++ 58 * To keep the device initialization similar to the sequence in simplicity studio, following directories are imported from GSDK. 59 platform/service/device_init 60 hardware/board 61 * sl_board_default_init.c file is generated from hardware/board/src/sl_board_default_init.c.jinja file. 62 * These .c files are generated from .jinja file using simplicity studio and are available under "autogen" folder 63 inside the project. 64 * Create <board directory> (e.g., brd4184b for EFR32BG22) under hardware/board/src/ and platform/service/device_init/src/ 65 * sl_board_default_init.c should be copied to hardware/board/src/<board directory>/ 66 * sl_device_init_clocks.c in platform/service/device_init/src is generated from .jinja file 67 available in platform/service/device_init/template. 68 * sl_device_init_clocks.c should be copied to platform/service/device_init/src/<board directory>/ 69 * platform/service/power_manager and platform/service/hfxo_manager are used for power management functionality. 70 * platform/service/sleeptimer is used in power management functionality. This is built on top of RTCC driver for EFR32BG22 SoCs. 71 72The following folders are used in this HAL: 73 74+---------------------------------------------------+-------------------------------------------------+--------------------------------------------------------------------+ 75| Gecko SDK | Zephyr | Comments | 76+---------------------------------------------------+-------------------------------------------------+--------------------------------------------------------------------+ 77| platform/Device/ | modules/hal/silabs/gecko/Device | Contains the device-specific files in SiliconLabs/$(GECKO_DEVICE). | 78| | | The files are not modified. | 79+---------------------------------------------------+-------------------------------------------------+--------------------------------------------------------------------+ 80| platform/emlib/ | modules/hal/silabs/gecko/emlib | Contains the Silabs Peripheral Support library for the EXX32 SoCs. | 81| | | All files are copied over. The files are not modified. | 82+---------------------------------------------------+-------------------------------------------------+--------------------------------------------------------------------+ 83| util/third_party/crypto/sl_component/se_manager | modules/hal/silabs/gecko/se_manager | Contains the Silabs SE Manager library for the EXX32 SoCs. | 84| | | The files sl_se_manager_check_config.h, sl_se_manager_config.h, | 85| | | sl_se_manager, and sli_se_manager_osal.h are modified. | 86+---------------------------------------------------+-------------------------------------------------+--------------------------------------------------------------------+ 87| platform/common/ | modules/hal/silabs/gecko/common | Contains the miscellaneous platform components for the EXX32 SoCs. | 88| | | All files are copied over. The files are not modified. | 89+---------------------------------------------------+-------------------------------------------------+--------------------------------------------------------------------+ 90| platform/service/device_init/ | modules/hal/silabs/gecko/service/device_init | Contains files related to device initialization for EXX32 SoCs. | 91| | | All files are copied over. The files are not modified. | 92+---------------------------------------------------+-------------------------------------------------+--------------------------------------------------------------------+ 93| platform/service/hfxo_manager/ | modules/hal/silabs/gecko/service/hfxo_manager | Contains hfxo_manager code for the EXX32 SoCs. | 94| | | All files are copied over. The files are not modified. | 95+---------------------------------------------------+-------------------------------------------------+--------------------------------------------------------------------+ 96| platform/service/power_manager/ | modules/hal/silabs/gecko/service/power_manager | Contains power_manager code for the EXX32 SoCs. | 97| | | All files are copied over. The files are not modified. | 98+---------------------------------------------------+-------------------------------------------------+--------------------------------------------------------------------+ 99| platform/service/sleeptimer/ | modules/hal/silabs/gecko/service/sleeptimer | Contains sleeptimer code for the EXX32 SoCs. | 100| | | All files are copied over. The files are not modified. | 101+---------------------------------------------------+-------------------------------------------------+--------------------------------------------------------------------+ 102| hardware/board/ | modules/hal/silabs/gecko/board | Contains board configuration and metadata files in | 103| | | config/$(GECKO_BOARD) for the EXX32 SoCs. | 104| | | All files are copied over. The files are not modified. | 105+---------------------------------------------------+-------------------------------------------------+--------------------------------------------------------------------+