From bdff3e76e5853fdc9dce2e72858dd9936b90d8fa Mon Sep 17 00:00:00 2001 From: Kumar Gala Date: Thu, 21 Jul 2022 16:24:59 -0500 Subject: [PATCH] drivers: watchdog: Update drivers to use devicetree Kconfig symbol Update watchdog drivers to use DT_HAS__ENABLED Kconfig symbol to expose the driver and enable it by default based on devicetree. We remove 'depend on' Kconfig for symbols that would be implied by the devicetree node existing. Signed-off-by: Kumar Gala --- drivers/watchdog/Kconfig | 3 ++- drivers/watchdog/Kconfig.cc32xx | 7 ++----- drivers/watchdog/Kconfig.cmsdk_apb | 2 ++ drivers/watchdog/Kconfig.esp32 | 6 ++---- drivers/watchdog/Kconfig.gecko | 3 ++- drivers/watchdog/Kconfig.it8xxx2 | 2 +- drivers/watchdog/Kconfig.mcux | 11 ++++++++--- drivers/watchdog/Kconfig.mcux_imx | 3 ++- drivers/watchdog/Kconfig.npcx | 3 ++- drivers/watchdog/Kconfig.nrfx | 2 +- drivers/watchdog/Kconfig.rpi_pico | 6 ++---- drivers/watchdog/Kconfig.sam | 2 +- drivers/watchdog/Kconfig.sam0 | 2 +- drivers/watchdog/Kconfig.sifive | 2 +- drivers/watchdog/Kconfig.stm32 | 11 ++++------- drivers/watchdog/Kconfig.xec | 2 +- 16 files changed, 34 insertions(+), 33 deletions(-) diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index 543a5deb385..977082a4eda 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig @@ -31,7 +31,8 @@ config WDT_MULTISTAGE config WDT_COUNTER bool "Counter based watchdog" - def_bool $(dt_nodelabel_enabled,wdt_counter) + default y + depends on DT_HAS_ZEPHYR_COUNTER_WATCHDOG_ENABLED select COUNTER help Watchdog emulated with counter device. If counter device supports using diff --git a/drivers/watchdog/Kconfig.cc32xx b/drivers/watchdog/Kconfig.cc32xx index 11a3113921b..01734a4cdc8 100644 --- a/drivers/watchdog/Kconfig.cc32xx +++ b/drivers/watchdog/Kconfig.cc32xx @@ -1,13 +1,10 @@ # Copyright (c) 2021 Pavlo Hamov # SPDX-License-Identifier: Apache-2.0 -DT_COMPAT_TI_CC32XX_WDG := ti,cc32xx-watchdog - config WDT_CC32XX bool "Watchdog Driver for cc32xx family of MCUs" - default $(dt_compat_enabled,$(DT_COMPAT_TI_CC32XX_WDG)) - depends on SOC_SERIES_CC32XX - depends on SOC_FAMILY_TISIMPLELINK + default y + depends on DT_HAS_TI_CC32XX_WATCHDOG_ENABLED help Watchdog for cc32xx family of MCUs diff --git a/drivers/watchdog/Kconfig.cmsdk_apb b/drivers/watchdog/Kconfig.cmsdk_apb index 6f76d587533..eb601c3e5b6 100644 --- a/drivers/watchdog/Kconfig.cmsdk_apb +++ b/drivers/watchdog/Kconfig.cmsdk_apb @@ -5,6 +5,8 @@ config WDOG_CMSDK_APB bool "CMSDK APB Watchdog Driver for ARM family of MCUs" + default y + depends on DT_HAS_ARM_CMSDK_WATCHDOG_ENABLED depends on RUNTIME_NMI help Enable CMSDK APB Watchdog (WDOG_CMSDK_APB) Driver for ARM diff --git a/drivers/watchdog/Kconfig.esp32 b/drivers/watchdog/Kconfig.esp32 index 0a6456d1fc6..68eb9e55779 100644 --- a/drivers/watchdog/Kconfig.esp32 +++ b/drivers/watchdog/Kconfig.esp32 @@ -3,11 +3,9 @@ # Copyright (C) 2017 Intel Corporation # SPDX-License-Identifier: Apache-2.0 -DT_COMPAT_ESP32_WDT := espressif,esp32-watchdog - config WDT_ESP32 bool "ESP32 Watchdog (WDT) Driver" - depends on SOC_ESP32 || SOC_ESP32S2 || SOC_ESP32C3 - default $(dt_compat_enabled,$(DT_COMPAT_ESP32_WDT)) + default y + depends on DT_HAS_ESPRESSIF_ESP32_WATCHDOG_ENABLED help Enable WDT driver for ESP32. diff --git a/drivers/watchdog/Kconfig.gecko b/drivers/watchdog/Kconfig.gecko index 3de06c3b621..15b99e0b8b2 100644 --- a/drivers/watchdog/Kconfig.gecko +++ b/drivers/watchdog/Kconfig.gecko @@ -7,7 +7,8 @@ config WDT_GECKO bool "Gecko series Watchdog (WDOG) Driver" - depends on SOC_FAMILY_EXX32 + default y + depends on DT_HAS_SILABS_GECKO_WDOG_ENABLED select SOC_GECKO_WDOG default y help diff --git a/drivers/watchdog/Kconfig.it8xxx2 b/drivers/watchdog/Kconfig.it8xxx2 index 4061f7f6fcd..1ef3ad19449 100644 --- a/drivers/watchdog/Kconfig.it8xxx2 +++ b/drivers/watchdog/Kconfig.it8xxx2 @@ -3,8 +3,8 @@ config WDT_ITE_IT8XXX2 bool "ITE it8xxx2 Watchdog Timer (WDT) driver" - depends on SOC_IT8XXX2 default y + depends on DT_HAS_ITE_IT8XXX2_WATCHDOG_ENABLED help This option enables the Watchdog Timer driver for ITE it8xxx2. This driver supports only one channel that id is 0 and 16-bits diff --git a/drivers/watchdog/Kconfig.mcux b/drivers/watchdog/Kconfig.mcux index 34e1c902a0e..805aae1cb32 100644 --- a/drivers/watchdog/Kconfig.mcux +++ b/drivers/watchdog/Kconfig.mcux @@ -5,18 +5,23 @@ config WDT_MCUX_WDOG bool "MCUX WDOG driver" - depends on HAS_MCUX && !HAS_MCUX_WDOG32 && CLOCK_CONTROL + default y + depends on DT_HAS_NXP_KINETIS_WDOG_ENABLED + depends on CLOCK_CONTROL help Enable the mcux wdog driver. config WDT_MCUX_WDOG32 bool "MCUX WDOG32 driver" - depends on HAS_MCUX_WDOG32 && CLOCK_CONTROL + default y + depends on DT_HAS_NXP_KINETIS_WDOG32_ENABLED + depends on CLOCK_CONTROL help Enable the mcux wdog32 driver. config WDT_MCUX_WWDT bool "MCUX WWDT driver" - depends on HAS_MCUX_WWDT + default y + depends on DT_HAS_NXP_LPC_WWDT_ENABLED help Enable the mcux wwdt driver. diff --git a/drivers/watchdog/Kconfig.mcux_imx b/drivers/watchdog/Kconfig.mcux_imx index 4e8763d54a8..c104e2f44fa 100644 --- a/drivers/watchdog/Kconfig.mcux_imx +++ b/drivers/watchdog/Kconfig.mcux_imx @@ -5,6 +5,7 @@ config WDT_MCUX_IMX_WDOG bool "MCUX IMX WDOG driver" - depends on HAS_MCUX + default y + depends on DT_HAS_NXP_IMX_WDOG_ENABLED help Enable the mcux imx wdog driver. diff --git a/drivers/watchdog/Kconfig.npcx b/drivers/watchdog/Kconfig.npcx index ef59801507d..8d25067be8c 100644 --- a/drivers/watchdog/Kconfig.npcx +++ b/drivers/watchdog/Kconfig.npcx @@ -5,7 +5,8 @@ config WDT_NPCX bool "Nuvoton NPCX embedded controller (EC) Watchdog Timer driver" - depends on SOC_FAMILY_NPCX + default y + depends on DT_HAS_NUVOTON_NPCX_WATCHDOG_ENABLED help This option enables the Watchdog Timer driver for NPCX family of processors. diff --git a/drivers/watchdog/Kconfig.nrfx b/drivers/watchdog/Kconfig.nrfx index b036df5f738..52cf45dc068 100644 --- a/drivers/watchdog/Kconfig.nrfx +++ b/drivers/watchdog/Kconfig.nrfx @@ -6,7 +6,7 @@ config WDT_NRFX bool "nRF WDT nrfx driver" default y - depends on SOC_FAMILY_NRF + depends on DT_HAS_NORDIC_NRF_WDT_ENABLED select NRFX_WDT0 if HAS_HW_NRF_WDT0 select NRFX_WDT1 if HAS_HW_NRF_WDT1 help diff --git a/drivers/watchdog/Kconfig.rpi_pico b/drivers/watchdog/Kconfig.rpi_pico index a3636f06af0..2c99d50fdd1 100644 --- a/drivers/watchdog/Kconfig.rpi_pico +++ b/drivers/watchdog/Kconfig.rpi_pico @@ -1,12 +1,10 @@ # Copyright (c) 2022, Jamie McCrae # SPDX-License-Identifier: Apache-2.0 -DT_COMPAT_RASPBERRYPI_PICO_WATCHDOG := raspberrypi,pico-watchdog - config WDT_RPI_PICO bool "Raspberry Pi Pico Watchdog driver" - default $(dt_compat_enabled,$(DT_COMPAT_RASPBERRYPI_PICO_WATCHDOG)) - depends on SOC_FAMILY_RPI_PICO + default y + depends on DT_HAS_RASPBERRYPI_PICO_WATCHDOG_ENABLED config WDT_RPI_PICO_INITIAL_TIMEOUT int "Default watchdog timeout in us" diff --git a/drivers/watchdog/Kconfig.sam b/drivers/watchdog/Kconfig.sam index babee305590..9cfd4525324 100644 --- a/drivers/watchdog/Kconfig.sam +++ b/drivers/watchdog/Kconfig.sam @@ -5,7 +5,7 @@ config WDT_SAM bool "Atmel SAM MCU Family Watchdog (WDT) Driver" - depends on SOC_FAMILY_SAM default y + depends on DT_HAS_ATMEL_SAM_WATCHDOG_ENABLED help Enable WDT driver for Atmel SAM MCUs. diff --git a/drivers/watchdog/Kconfig.sam0 b/drivers/watchdog/Kconfig.sam0 index 021b51633c1..381a5347b9c 100644 --- a/drivers/watchdog/Kconfig.sam0 +++ b/drivers/watchdog/Kconfig.sam0 @@ -5,7 +5,7 @@ config WDT_SAM0 bool "Atmel SAM0 series Watchdog (WDT) Driver" - depends on SOC_FAMILY_SAM0 default y + depends on DT_HAS_ATMEL_SAM0_WATCHDOG_ENABLED help Enable WDT driver for Atmel SAM0 MCUs. diff --git a/drivers/watchdog/Kconfig.sifive b/drivers/watchdog/Kconfig.sifive index ae582986fab..79623237b37 100644 --- a/drivers/watchdog/Kconfig.sifive +++ b/drivers/watchdog/Kconfig.sifive @@ -5,7 +5,7 @@ config WDT_SIFIVE bool "SiFive Watchdog (WDT) Driver" - depends on SOC_RISCV_SIFIVE_FREEDOM default y + depends on DT_HAS_SIFIVE_WDT_ENABLED help This option enables WDT driver for SiFive Freedom. diff --git a/drivers/watchdog/Kconfig.stm32 b/drivers/watchdog/Kconfig.stm32 index 240714f1323..af5a964f9a6 100644 --- a/drivers/watchdog/Kconfig.stm32 +++ b/drivers/watchdog/Kconfig.stm32 @@ -5,13 +5,10 @@ # Copyright (c) 2019 Centaur Analytics, Inc # SPDX-License-Identifier: Apache-2.0 -DT_COMPAT_ST_STM32_IWDG := st,stm32-watchdog -DT_COMPAT_ST_STM32_WWDG := st,stm32-window-watchdog - config IWDG_STM32 bool "Independent Watchdog (IWDG) Driver for STM32 family of MCUs" - default $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_IWDG)) - depends on SOC_FAMILY_STM32 + default y + depends on DT_HAS_ST_STM32_WATCHDOG_ENABLED help Enable IWDG driver for STM32 line of MCUs @@ -33,7 +30,7 @@ config IWDG_STM32_INITIAL_TIMEOUT config WWDG_STM32 bool "System Window Watchdog (WWDG) Driver for STM32 family of MCUs" - default $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_WWDG)) - depends on SOC_FAMILY_STM32 + default y + depends on DT_HAS_ST_STM32_WINDOW_WATCHDOG_ENABLED help Enable WWDG driver for STM32 line of MCUs diff --git a/drivers/watchdog/Kconfig.xec b/drivers/watchdog/Kconfig.xec index 47ce6a286e2..7de92951700 100644 --- a/drivers/watchdog/Kconfig.xec +++ b/drivers/watchdog/Kconfig.xec @@ -5,7 +5,7 @@ config WDT_XEC bool "Microchip XEC series Watchdog Timer (WDT) driver" - depends on SOC_FAMILY_MEC default y + depends on DT_HAS_MICROCHIP_XEC_WATCHDOG_ENABLED help Enable WDT driver for Microchip XEC MCU series.