diff --git a/drivers/pwm/Kconfig.b91 b/drivers/pwm/Kconfig.b91 index 971da6d9239..9e710b4a6de 100644 --- a/drivers/pwm/Kconfig.b91 +++ b/drivers/pwm/Kconfig.b91 @@ -3,6 +3,7 @@ config PWM_TELINK_B91 bool "Telink Semiconductor B91 PWM driver" - depends on SOC_RISCV_TELINK_B91 + default y + depends on DT_HAS_TELINK_B91_PWM_ENABLED help Enables Telink B91 PWM driver. diff --git a/drivers/pwm/Kconfig.esp32 b/drivers/pwm/Kconfig.esp32 index 1d3c4719fab..a8cbe62558b 100644 --- a/drivers/pwm/Kconfig.esp32 +++ b/drivers/pwm/Kconfig.esp32 @@ -4,21 +4,18 @@ # Copyright (c) 2022 Espressif Systems (Shanghai) Co., Ltd. # SPDX-License-Identifier: Apache-2.0 -DT_COMPAT_ESPRESSIF_ESP32_LEDC := espressif,esp32-ledc -DT_COMPAT_ESPRESSIF_ESP32_MCPWM := espressif,esp32-mcpwm - config PWM_LED_ESP32 bool "ESP32 PWM LED driver" - depends on SOC_ESP32 || SOC_ESP32S2 || SOC_ESP32C3 - default $(dt_compat_enabled,$(DT_COMPAT_ESPRESSIF_ESP32_LEDC)) + default y + depends on DT_HAS_ESPRESSIF_ESP32_LEDC_ENABLED help This option enables the PWM LED driver for ESP32 family of processors. config MCPWM_ESP32 bool "ESP32 MCPWM driver" - depends on SOC_ESP32 - default $(dt_compat_enabled,$(DT_COMPAT_ESPRESSIF_ESP32_MCPWM)) + default y + depends on DT_HAS_ESPRESSIF_ESP32_MCPWM_ENABLED help This option enables the MCPWM driver for ESP32 family of processors. diff --git a/drivers/pwm/Kconfig.gd32 b/drivers/pwm/Kconfig.gd32 index b8ef24bca0a..f82c3b48878 100644 --- a/drivers/pwm/Kconfig.gd32 +++ b/drivers/pwm/Kconfig.gd32 @@ -1,11 +1,9 @@ # Copyright (c) 2021 Teslabs Engineering S.L. # SPDX-License-Identifier: Apache-2.0 -DT_COMPAT_GD_GD32_PWM := gd,gd32-pwm - config PWM_GD32 bool "GigaDevice GD32 PWM driver" - depends on (SOC_FAMILY_GD32 || SOC_SERIES_GD32VF103) - default $(dt_compat_enabled,$(DT_COMPAT_GD_GD32_PWM)) + default y + depends on DT_HAS_GD_GD32_PWM_ENABLED help Enable the GigaDevice GD32 PWM driver. diff --git a/drivers/pwm/Kconfig.gecko b/drivers/pwm/Kconfig.gecko index 8a000c83dfc..e4d16456f0e 100644 --- a/drivers/pwm/Kconfig.gecko +++ b/drivers/pwm/Kconfig.gecko @@ -5,7 +5,8 @@ config PWM_GECKO bool "GECKO MCU PWM driver" - depends on SOC_FAMILY_EXX32 + default y + depends on DT_HAS_SILABS_GECKO_PWM_ENABLED select SOC_GECKO_TIMER help This option enables the PWM driver for EXX32 GECKO family of diff --git a/drivers/pwm/Kconfig.imx b/drivers/pwm/Kconfig.imx index e61f98ee795..7fd171f144c 100644 --- a/drivers/pwm/Kconfig.imx +++ b/drivers/pwm/Kconfig.imx @@ -5,6 +5,8 @@ menuconfig PWM_IMX bool "i.MX PWM Driver" + default y + depends on DT_HAS_FSL_IMX27_PWM_ENABLED help Enable support for i.MX pwm driver. diff --git a/drivers/pwm/Kconfig.it8xxx2 b/drivers/pwm/Kconfig.it8xxx2 index e02467b7740..8f8019f5d23 100644 --- a/drivers/pwm/Kconfig.it8xxx2 +++ b/drivers/pwm/Kconfig.it8xxx2 @@ -5,7 +5,8 @@ config PWM_ITE_IT8XXX2 bool "ITE IT8XXX2 embedded controller (EC) PWM driver" - depends on SOC_IT8XXX2 + default y + depends on DT_HAS_ITE_IT8XXX2_PWM_ENABLED help Enable PWM driver for it8xxx2_evb. Supports three 16-bit prescalers each with 8-bit cycle timer, and diff --git a/drivers/pwm/Kconfig.litex b/drivers/pwm/Kconfig.litex index 510004be965..1ceafeb218e 100644 --- a/drivers/pwm/Kconfig.litex +++ b/drivers/pwm/Kconfig.litex @@ -6,8 +6,8 @@ menuconfig PWM_LITEX bool "LiteX PWM driver" - depends on SOC_RISCV32_LITEX_VEXRISCV - depends on HAS_DTS + default y + depends on DT_HAS_LITEX_PWM_ENABLED help Enable support for LiteX PWM driver diff --git a/drivers/pwm/Kconfig.mcux b/drivers/pwm/Kconfig.mcux index 134efb57c55..7c81eebf3e4 100644 --- a/drivers/pwm/Kconfig.mcux +++ b/drivers/pwm/Kconfig.mcux @@ -5,6 +5,7 @@ config PWM_MCUX bool "MCUX PWM driver" - depends on HAS_MCUX_PWM + default y + depends on DT_HAS_NXP_IMX_PWM_ENABLED help Enable mcux pwm driver. diff --git a/drivers/pwm/Kconfig.mcux_ftm b/drivers/pwm/Kconfig.mcux_ftm index 1db289f82b6..9af580f117c 100644 --- a/drivers/pwm/Kconfig.mcux_ftm +++ b/drivers/pwm/Kconfig.mcux_ftm @@ -5,7 +5,8 @@ config PWM_MCUX_FTM bool "MCUX FTM PWM driver" - depends on HAS_MCUX_FTM + default y + depends on DT_HAS_NXP_KINETIS_FTM_PWM_ENABLED select PINCTRL help Enable support for mcux ftm pwm driver. diff --git a/drivers/pwm/Kconfig.mcux_pwt b/drivers/pwm/Kconfig.mcux_pwt index fd82ef83201..f91586a485e 100644 --- a/drivers/pwm/Kconfig.mcux_pwt +++ b/drivers/pwm/Kconfig.mcux_pwt @@ -5,7 +5,9 @@ config PWM_MCUX_PWT bool "MCUX PWT PWM capture driver" - depends on HAS_MCUX_PWT && CLOCK_CONTROL && PWM_CAPTURE + default y + depends on DT_HAS_NXP_KINETIS_PWT_ENABLED + depends on CLOCK_CONTROL && PWM_CAPTURE select PINCTRL help Enable the MCUX Pulse Width Timer (PWT) PWM capture driver. diff --git a/drivers/pwm/Kconfig.mcux_sctimer b/drivers/pwm/Kconfig.mcux_sctimer index 33f38f98c9c..8b314591ff1 100644 --- a/drivers/pwm/Kconfig.mcux_sctimer +++ b/drivers/pwm/Kconfig.mcux_sctimer @@ -3,6 +3,7 @@ config PWM_MCUX_SCTIMER bool "MCUX SCTimer PWM driver" - depends on HAS_MCUX_SCTIMER + default y + depends on DT_HAS_NXP_SCTIMER_PWM_ENABLED help Enable sctimer based pwm driver. diff --git a/drivers/pwm/Kconfig.mcux_tpm b/drivers/pwm/Kconfig.mcux_tpm index 07902531273..5cbd78fca70 100644 --- a/drivers/pwm/Kconfig.mcux_tpm +++ b/drivers/pwm/Kconfig.mcux_tpm @@ -5,7 +5,9 @@ config PWM_MCUX_TPM bool "MCUX TPM PWM driver" - depends on HAS_MCUX_TPM && CLOCK_CONTROL + default y + depends on DT_HAS_NXP_KINETIS_TPM_ENABLED + depends on CLOCK_CONTROL select PINCTRL help Enable the MCUX TPM PWM driver. diff --git a/drivers/pwm/Kconfig.npcx b/drivers/pwm/Kconfig.npcx index 0b501e6394e..e8869c2ef89 100644 --- a/drivers/pwm/Kconfig.npcx +++ b/drivers/pwm/Kconfig.npcx @@ -5,7 +5,8 @@ config PWM_NPCX bool "Nuvoton NPCX embedded controller (EC) PWM driver" - depends on SOC_FAMILY_NPCX + default y + depends on DT_HAS_NUVOTON_NPCX_PWM_ENABLED help This option enables the PWM driver for NPCX family of processors. diff --git a/drivers/pwm/Kconfig.nrf5_sw b/drivers/pwm/Kconfig.nrf5_sw index f590f38fd8c..d3bfa82a225 100644 --- a/drivers/pwm/Kconfig.nrf5_sw +++ b/drivers/pwm/Kconfig.nrf5_sw @@ -6,7 +6,8 @@ config PWM_NRF5_SW bool "Nordic Semiconductor nRF5x series S/W PWM" default y if !PWM_NRFX - depends on HAS_HW_NRF_PPI + depends on DT_HAS_NORDIC_NRF_SW_PWM_ENABLED + depends on DT_HAS_NORDIC_NRF_PPI_ENABLED select NRFX_GPIOTE select NRFX_PPI help diff --git a/drivers/pwm/Kconfig.nrfx b/drivers/pwm/Kconfig.nrfx index 22d3b2691d9..712021a7780 100644 --- a/drivers/pwm/Kconfig.nrfx +++ b/drivers/pwm/Kconfig.nrfx @@ -4,10 +4,7 @@ config PWM_NRFX bool "nRF PWM nrfx driver" default y - depends on HAS_HW_NRF_PWM0 \ - || HAS_HW_NRF_PWM1 \ - || HAS_HW_NRF_PWM2 \ - || HAS_HW_NRF_PWM3 + depends on DT_HAS_NORDIC_NRF_PWM_ENABLED select NRFX_PWM0 if HAS_HW_NRF_PWM0 select NRFX_PWM1 if HAS_HW_NRF_PWM1 select NRFX_PWM2 if HAS_HW_NRF_PWM2 diff --git a/drivers/pwm/Kconfig.rpi_pico b/drivers/pwm/Kconfig.rpi_pico index b3113d6ebcd..ed697eb9010 100644 --- a/drivers/pwm/Kconfig.rpi_pico +++ b/drivers/pwm/Kconfig.rpi_pico @@ -1,13 +1,10 @@ # Copyright (c) 2022, Joep Buruma # SPDX-License-Identifier: Apache-2.0 -# Workaround for not being able to have commas in macro arguments -DT_COMPAT_RPI_PICO_PWM := raspberrypi,pico-pwm - config PWM_RPI_PICO bool "RPi Pico PWM" - default $(dt_compat_enabled,$(DT_COMPAT_RPI_PICO_PWM)) - depends on SOC_SERIES_RP2XXX + default y + depends on DT_HAS_RASPBERRYPI_PICO_PWM_ENABLED depends on RESET select PICOSDK_USE_PWM help diff --git a/drivers/pwm/Kconfig.rv32m1_tpm b/drivers/pwm/Kconfig.rv32m1_tpm index bc78ada3078..d767847c6cf 100644 --- a/drivers/pwm/Kconfig.rv32m1_tpm +++ b/drivers/pwm/Kconfig.rv32m1_tpm @@ -5,6 +5,8 @@ config PWM_RV32M1_TPM bool "RV32M1 TPM PWM driver" - depends on HAS_RV32M1_TPM && CLOCK_CONTROL + default y + depends on DT_HAS_OPENISA_RV32M1_TPM_ENABLED + depends on CLOCK_CONTROL help Enable the RV32M1 TPM PWM driver. diff --git a/drivers/pwm/Kconfig.sam b/drivers/pwm/Kconfig.sam index 7c9a12f2fd5..839b6cb9de7 100644 --- a/drivers/pwm/Kconfig.sam +++ b/drivers/pwm/Kconfig.sam @@ -5,6 +5,7 @@ config PWM_SAM bool "Atmel SAM MCU Family PWM Driver" - depends on SOC_FAMILY_SAM + default y + depends on DT_HAS_ATMEL_SAM_PWM_ENABLED help Enable PWM driver for Atmel SAM MCUs. diff --git a/drivers/pwm/Kconfig.sam0 b/drivers/pwm/Kconfig.sam0 index 8ac5f9fa73d..bde4cf49021 100644 --- a/drivers/pwm/Kconfig.sam0 +++ b/drivers/pwm/Kconfig.sam0 @@ -5,6 +5,7 @@ config PWM_SAM0_TCC bool "Atmel SAM0 MCU Family TCC PWM Driver" - depends on SOC_FAMILY_SAM0 + default y + depends on DT_HAS_ATMEL_SAM0_TCC_PWM_ENABLED help Enable PWM driver for Atmel SAM0 MCUs using the TCC timer/counter. diff --git a/drivers/pwm/Kconfig.sifive b/drivers/pwm/Kconfig.sifive index c5e252185c2..87a1bff6b7d 100644 --- a/drivers/pwm/Kconfig.sifive +++ b/drivers/pwm/Kconfig.sifive @@ -5,8 +5,8 @@ menuconfig PWM_SIFIVE bool "SiFive Freedom PWM driver" - depends on SOC_SERIES_RISCV_SIFIVE_FREEDOM - depends on HAS_DTS + default y + depends on DT_HAS_SIFIVE_PWM0_ENABLED help Enable the PWM driver for the SiFive Freedom platform diff --git a/drivers/pwm/Kconfig.stm32 b/drivers/pwm/Kconfig.stm32 index adb6f1e6c27..8fc52f6cf5a 100644 --- a/drivers/pwm/Kconfig.stm32 +++ b/drivers/pwm/Kconfig.stm32 @@ -5,7 +5,8 @@ config PWM_STM32 bool "STM32 MCU PWM driver" - depends on SOC_FAMILY_STM32 + default y + depends on DT_HAS_ST_STM32_PWM_ENABLED select USE_STM32_LL_TIM select USE_STM32_LL_RCC if SOC_SERIES_STM32F4X || SOC_SERIES_STM32F7X || SOC_SERIES_STM32H7X help diff --git a/drivers/pwm/Kconfig.test b/drivers/pwm/Kconfig.test index 67a0c39be35..d86cfc5b23c 100644 --- a/drivers/pwm/Kconfig.test +++ b/drivers/pwm/Kconfig.test @@ -2,9 +2,8 @@ # Organisation (CSIRO) ABN 41 687 119 230. # SPDX-License-Identifier: Apache-2.0 -DT_COMPAT_VND_PWM := vnd,pwm - # Hidden option for turning on the dummy driver for vnd,pwm devices # used in testing. config PWM_TEST - def_bool $(dt_compat_enabled,$(DT_COMPAT_VND_PWM)) + def_bool DT_HAS_VND_PWM_ENABLED + depends on DT_HAS_VND_PWM_ENABLED diff --git a/drivers/pwm/Kconfig.xec b/drivers/pwm/Kconfig.xec index 9d878389b9a..616327a9b2f 100644 --- a/drivers/pwm/Kconfig.xec +++ b/drivers/pwm/Kconfig.xec @@ -3,11 +3,9 @@ # Copyright (c) 2019 Intel Corporation # SPDX-License-Identifier: Apache-2.0 -DT_COMPAT_PWM_XEC := microchip,xec-pwm - config PWM_XEC bool "Microchip XEC PWM" - depends on SOC_FAMILY_MEC - default $(dt_compat_enabled,${DT_COMPAT_PWM_XEC}) + default y + depends on DT_HAS_MICROCHIP_XEC_PWM_ENABLED help Enable driver to utilize PWM on the Microchip XEC IP block. diff --git a/drivers/pwm/Kconfig.xlnx b/drivers/pwm/Kconfig.xlnx index 8bc39182a54..7ac68df2aae 100644 --- a/drivers/pwm/Kconfig.xlnx +++ b/drivers/pwm/Kconfig.xlnx @@ -5,5 +5,7 @@ config PWM_XLNX_AXI_TIMER bool "Xilinx AXI Timer driver" + default y + depends on DT_HAS_XLNX_XPS_TIMER_1_00_A_PWM_ENABLED help Enable PWM support for the Xilinx AXI Timer v2.0 IP.