• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

Device/11-Mar-2024-1,558,5871,393,582

common/11-Mar-2024-1,376589

emlib/11-Mar-2024-88,29448,340

platform/radio/rail_lib/11-Mar-2024-19,0064,928

protocol/bluetooth/bgstack/ll/inc/11-Mar-2024-42793

se_manager/11-Mar-2024-16,0598,229

service/11-Mar-2024-9,6174,079

util/11-Mar-2024-9,7463,810

CMakeLists.txtD11-Mar-20248.5 KiB179156

License.txtD11-Mar-20241.7 KiB3929

READMED11-Mar-20248.3 KiB10590

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+---------------------------------------------------+-------------------------------------------------+--------------------------------------------------------------------+