1menu "Hardware Abstraction Layer (HAL) and Low Level (LL)"
2    choice HAL_DEFAULT_ASSERTION_LEVEL
3        bool "Default HAL assertion level"
4        default HAL_ASSERTION_EQUALS_SYSTEM
5        help
6            Set the assert behavior / level for HAL component.
7            HAL component assert level can be set separately,
8            but the level can't exceed the system assertion level.
9            e.g. If the system assertion is disabled, then the HAL
10            assertion can't be enabled either. If the system assertion
11            is enable, then the HAL assertion can still be disabled
12            by this Kconfig option.
13
14        config HAL_ASSERTION_EQUALS_SYSTEM
15            bool "Same as system assertion level"
16        config HAL_ASSERTION_DISABLE
17            bool "Disabled"
18            depends on COMPILER_OPTIMIZATION_ASSERTION_LEVEL >= 0
19        config HAL_ASSERTION_SILIENT
20            bool "Silent"
21            depends on COMPILER_OPTIMIZATION_ASSERTION_LEVEL >= 1
22        config HAL_ASSERTION_ENABLE
23            bool "Enabled"
24            depends on COMPILER_OPTIMIZATION_ASSERTION_LEVEL >= 2
25    endchoice
26
27    config HAL_DEFAULT_ASSERTION_LEVEL
28        int
29        default COMPILER_OPTIMIZATION_ASSERTION_LEVEL if HAL_ASSERTION_EQUALS_SYSTEM
30        default 0 if HAL_ASSERTION_DISABLE
31        default 1 if HAL_ASSERTION_SILIENT
32        default 2 if HAL_ASSERTION_ENABLE
33endmenu
34