zephyr/drivers/counter/Kconfig.nrfx

66 lines
1.8 KiB
Plaintext
Raw Normal View History

# Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config COUNTER_NRF_TIMER
bool
config COUNTER_NRF_RTC
bool
config COUNTER_TIMER0
bool "Enable Counter on TIMER0"
depends on HAS_HW_NRF_TIMER0
depends on !BT_LL_SW_SPLIT
select COUNTER_NRF_TIMER
config COUNTER_TIMER1
bool "Enable Counter on TIMER1"
depends on HAS_HW_NRF_TIMER1
select COUNTER_NRF_TIMER
config COUNTER_TIMER2
bool "Enable Counter on TIMER2"
depends on HAS_HW_NRF_TIMER2
select COUNTER_NRF_TIMER
config COUNTER_TIMER3
bool "Enable Counter on TIMER3"
depends on HAS_HW_NRF_TIMER3
select COUNTER_NRF_TIMER
config COUNTER_TIMER4
bool "Enable Counter on TIMER4"
depends on HAS_HW_NRF_TIMER4
select COUNTER_NRF_TIMER
config COUNTER_RTC0
bool "Enable Counter on RTC0"
depends on HAS_HW_NRF_RTC0
depends on !BT_LL_SW_SPLIT
select COUNTER_NRF_RTC
config COUNTER_RTC1
bool "Enable Counter on RTC1"
depends on HAS_HW_NRF_RTC1
depends on !NRF_RTC_TIMER
select COUNTER_NRF_RTC
config COUNTER_RTC2
bool "Enable Counter on RTC2"
depends on HAS_HW_NRF_RTC2
select COUNTER_NRF_RTC
# Internal flag which detects if PPI wrap feature is enabled for any instance
config COUNTER_RTC_WITH_PPI_WRAP
kconfig: Replace some single-symbol 'if's with 'depends on' I think people might be reading differences into 'if' and 'depends on' that aren't there, like maybe 'if' being needed to "hide" a symbol, while 'depends on' just adds a dependency. There are no differences between 'if' and 'depends on'. 'if' is just a shorthand for 'depends on'. They work the same when it comes to creating implicit menus too. The way symbols get "hidden" is through their dependencies not being satisfied ('if'/'depends on' get copied up as a dependency on the prompt). Since 'if' and 'depends on' are the same, an 'if' with just a single symbol in it can be replaced with a 'depends on'. IMO, it's best to avoid 'if' there as a style choice too, because it confuses people into thinking there's deep Kconfig magic going on that requires 'if'. Going for 'depends on' can also remove some nested 'if's, which generates nicer symbol information and docs, because nested 'if's really are so simple/dumb that they just add the dependencies from both 'if's to all symbols within. Replace a bunch of single-symbol 'if's with 'depends on' to despam the Kconfig files a bit and make it clearer how things work. Also do some other minor related dependency refactoring. The replacement isn't complete. Will fix up the rest later. Splitting it a bit to make it more manageable. (Everything above is true for choices, menus, and comments as well.) Detected by tweaking the Kconfiglib parsing code. It's impossible to detect after parsing, because 'if' turns into 'depends on'. Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2020-02-08 10:45:50 +08:00
def_bool ($(dt_node_has_bool_prop,rtc-0,ppi-wrap) && COUNTER_RTC0) || \
($(dt_node_has_bool_prop,rtc-1,ppi-wrap) && COUNTER_RTC1) || \
($(dt_node_has_bool_prop,rtc-2,ppi-wrap) && COUNTER_RTC2)
select NRFX_PPI if HAS_HW_NRF_PPI
select NRFX_DPPI if HAS_HW_NRF_DPPIC
# Internal flag which detects if fixed top feature is enabled for any instance
config COUNTER_RTC_CUSTOM_TOP_SUPPORT
kconfig: Replace some single-symbol 'if's with 'depends on' I think people might be reading differences into 'if' and 'depends on' that aren't there, like maybe 'if' being needed to "hide" a symbol, while 'depends on' just adds a dependency. There are no differences between 'if' and 'depends on'. 'if' is just a shorthand for 'depends on'. They work the same when it comes to creating implicit menus too. The way symbols get "hidden" is through their dependencies not being satisfied ('if'/'depends on' get copied up as a dependency on the prompt). Since 'if' and 'depends on' are the same, an 'if' with just a single symbol in it can be replaced with a 'depends on'. IMO, it's best to avoid 'if' there as a style choice too, because it confuses people into thinking there's deep Kconfig magic going on that requires 'if'. Going for 'depends on' can also remove some nested 'if's, which generates nicer symbol information and docs, because nested 'if's really are so simple/dumb that they just add the dependencies from both 'if's to all symbols within. Replace a bunch of single-symbol 'if's with 'depends on' to despam the Kconfig files a bit and make it clearer how things work. Also do some other minor related dependency refactoring. The replacement isn't complete. Will fix up the rest later. Splitting it a bit to make it more manageable. (Everything above is true for choices, menus, and comments as well.) Detected by tweaking the Kconfiglib parsing code. It's impossible to detect after parsing, because 'if' turns into 'depends on'. Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2020-02-08 10:45:50 +08:00
def_bool (!$(dt_node_has_bool_prop,rtc-0,fixed-top) && COUNTER_RTC0) || \
(!$(dt_node_has_bool_prop,rtc-1,fixed-top) && COUNTER_RTC1) || \
(!$(dt_node_has_bool_prop,rtc-2,fixed-top) && COUNTER_RTC2)