drivers: serial: Update drivers to use devicetree Kconfig symbol

Update serial drivers to use DT_HAS_<compat>_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 <galak@kernel.org>
This commit is contained in:
Kumar Gala 2022-07-20 13:46:30 -05:00 committed by Carles Cufí
commit 7d5215ff19
43 changed files with 99 additions and 78 deletions

View file

@ -1,10 +1,9 @@
# SPDX-License-Identifier: Apache-2.0
DT_COMPAT_ALTR_JTAG_UART := altr,jtag-uart
config UART_ALTERA_JTAG
bool "Nios II JTAG UART driver"
default $(dt_compat_enabled,$(DT_COMPAT_ALTR_JTAG_UART))
default y
depends on DT_HAS_ALTR_JTAG_UART_ENABLED
select SERIAL_HAS_DRIVER
help
Enable the Altera JTAG UART driver, built in to many Nios II CPU

View file

@ -3,7 +3,8 @@
config UART_APBUART
bool "ABPUART serial driver"
depends on SOC_SPARC_LEON
default y
depends on DT_HAS_GAISLER_APBUART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -5,7 +5,8 @@
config UART_TELINK_B91
bool "Telink B91 UART driver"
depends on SOC_RISCV_TELINK_B91
default y
depends on DT_HAS_TELINK_B91_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -5,7 +5,8 @@
config UART_CC13XX_CC26XX
bool "TI SimpleLink CC13xx / CC26xx UART driver"
depends on SOC_SERIES_CC13X2_CC26X2
default y
depends on DT_HAS_TI_CC13XX_CC26XX_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -1,10 +1,10 @@
# SPDX-License-Identifier: Apache-2.0
config UART_CC32XX
depends on SOC_SERIES_CC32XX
bool "CC32XX UART driver"
default y
depends on DT_HAS_TI_CC32XX_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
depends on SOC_FAMILY_TISIMPLELINK
help
This option enables the CC32XX UART driver, for UART_0.

View file

@ -5,8 +5,9 @@
config UART_CMSDK_APB
bool "ARM CMSDK APB UART driver"
default y
depends on DT_HAS_ARM_CMSDK_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
depends on SOC_FAMILY_ARM
help
This option enables the UART driver for ARM CMSDK APB UART.

View file

@ -1,26 +1,22 @@
# SPDX-License-Identifier: Apache-2.0
DT_COMPAT_ESP32_UART := espressif,esp32-uart
config UART_ESP32
bool "ESP32 UART driver"
default $(dt_compat_enabled,$(DT_COMPAT_ESP32_UART))
default y
depends on DT_HAS_ESPRESSIF_ESP32_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
select GPIO_ESP32
depends on SOC_ESP32 || SOC_ESP32S2 || SOC_ESP32C3
help
Enable the ESP32 UART.
DT_COMPAT_ESP32_USB_SERIAL := espressif,esp32-usb-serial
config SERIAL_ESP32_USB
bool "ESP32 built-in USB serial driver"
default $(dt_compat_enabled,$(DT_COMPAT_ESP32_USB_SERIAL))
default y
depends on DT_HAS_ESPRESSIF_ESP32_USB_SERIAL_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
depends on SOC_ESP32C3
help
Enable the built-in USB serial interface present in some Espressif
MCUs like the ESP32-C3.

View file

@ -1,13 +1,10 @@
# Copyright (c) 2021 ATL Electronics
# SPDX-License-Identifier: Apache-2.0
# Workaround for not being able to have commas in macro arguments
DT_COMPAT_GIGADEVICE_GD32_USART := gd,gd32-usart
config USART_GD32
bool "GD32 serial driver"
default $(dt_compat_enabled,$(DT_COMPAT_GIGADEVICE_GD32_USART))
depends on (SOC_FAMILY_GD32 || SOC_SERIES_GD32VF103)
default y
depends on DT_HAS_GD_GD32_USART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
select USE_GD32_USART

View file

@ -5,8 +5,8 @@
config UART_GECKO
bool "Gecko UART/USART driver"
depends on HAS_SILABS_GECKO
depends on GPIO_GECKO
default y
depends on DT_HAS_SILABS_GECKO_UART_ENABLED || DT_HAS_SILABS_GECKO_USART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
select SOC_GECKO_USART

View file

@ -5,9 +5,10 @@
config UART_IMX
bool "NXP i.MX7 family processor UART driver"
default y
depends on DT_HAS_NXP_IMX_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
depends on HAS_IMX_HAL
help
This option enables the UART driver for NXP i.MX7
family processors.

View file

@ -3,6 +3,8 @@
config UART_ITE_IT8XXX2
bool "ITE IT8XXX2 UART driver"
default y
depends on DT_HAS_ITE_IT8XXX2_UART_ENABLED
help
IT8XXX2 uses shared ns16550.c driver which does not
provide a power management callback, so create driver

View file

@ -5,8 +5,8 @@
config LEUART_GECKO
bool "Gecko leuart driver"
depends on HAS_SILABS_GECKO
depends on GPIO_GECKO
default y
depends on DT_HAS_SILABS_GECKO_LEUART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
select SOC_GECKO_LEUART

View file

@ -5,7 +5,8 @@
config UART_LITEUART
bool "LiteUART serial driver"
depends on SOC_RISCV32_LITEX_VEXRISCV
default y
depends on DT_HAS_LITEX_UART0_ENABLED
select SERIAL_HAS_DRIVER
help
This option enables LiteUART serial driver.

View file

@ -5,8 +5,9 @@
config UART_LPC11U6X
bool "LPC11U6X serial driver"
default y
depends on DT_HAS_NXP_LPC11U6X_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
depends on SOC_SERIES_LPC11U6X
help
Enable UART driver for LPC11U6X series

View file

@ -5,7 +5,9 @@
config UART_MCUX
bool "MCUX uart driver"
depends on HAS_MCUX && CLOCK_CONTROL
default y
depends on DT_HAS_NXP_KINETIS_UART_ENABLED
depends on CLOCK_CONTROL
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
select SERIAL_SUPPORT_ASYNC

View file

@ -5,7 +5,8 @@
config UART_MCUX_FLEXCOMM
bool "MCUX FLEXCOMM UART driver"
depends on HAS_MCUX_FLEXCOMM
default y
depends on DT_HAS_NXP_LPC_USART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -5,7 +5,9 @@
config UART_MCUX_IUART
bool "MCUX IUART driver"
depends on HAS_MCUX && CLOCK_CONTROL
default y
depends on DT_HAS_NXP_IMX_IUART_ENABLED
depends on CLOCK_CONTROL
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -5,7 +5,9 @@
config UART_MCUX_LPSCI
bool "MCUX LPSCI driver"
depends on HAS_MCUX_LPSCI && CLOCK_CONTROL
default y
depends on DT_HAS_NXP_KINETIS_LPSCI_ENABLED
depends on CLOCK_CONTROL
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -5,7 +5,9 @@
config UART_MCUX_LPUART
bool "MCUX LPUART driver"
depends on HAS_MCUX_LPUART && CLOCK_CONTROL
default y
depends on DT_HAS_NXP_KINETIS_LPUART_ENABLED
depends on CLOCK_CONTROL
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
select SERIAL_SUPPORT_ASYNC

View file

@ -5,7 +5,8 @@
config UART_MIV
bool "Mi-V serial driver"
depends on SOC_RISCV32_MIV
default y
depends on DT_HAS_MICROSEMI_COREUART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -1,10 +1,10 @@
# SPDX-License-Identifier: Apache-2.0
config UART_MSP432P4XX
depends on SOC_SERIES_MSP432P4XX
bool "MSP432P4XX UART driver"
default y
depends on DT_HAS_TI_MSP432P4XX_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
depends on SOC_FAMILY_TISIMPLELINK
help
This option enables the MSP432P4XX UART driver, for UART_0.

View file

@ -2,8 +2,9 @@
config UART_NATIVE_POSIX
bool "UART driver for native_posix"
default y
depends on DT_HAS_ZEPHYR_NATIVE_POSIX_UART_ENABLED
select SERIAL_HAS_DRIVER
depends on ARCH_POSIX
help
This enables a UART driver for the POSIX ARCH with up to 2 UARTs.
For the first UART port, the driver can be configured

View file

@ -5,8 +5,9 @@
config UART_NEORV32
bool "NEORV32 UART"
default $(dt_compat_enabled,neorv32-uart)
depends on SOC_SERIES_NEORV32 && SYSCON
default y
depends on DT_HAS_NEORV32_UART_ENABLED
depends on SYSCON
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -5,9 +5,10 @@
config UART_NPCX
bool "Nuvoton NPCX embedded controller (EC) serial driver"
default y
depends on DT_HAS_NUVOTON_NPCX_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
depends on SOC_FAMILY_NPCX
help
This option enables the UART driver for NPCX family of
processors.

View file

@ -2,6 +2,8 @@
menuconfig UART_NS16550
bool "NS16550 serial driver"
default y
depends on DT_HAS_NS16550_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -7,9 +7,10 @@
config UART_NUMICRO
bool "NUVOTON MCU serial driver"
default y
depends on DT_HAS_NUVOTON_NUMICRO_UART_ENABLED
select SERIAL_HAS_DRIVER
select HAS_NUMICRO_UART
depends on SOC_FAMILY_NUMICRO
help
This option enables the UART driver for Nuvoton Numicro
family of processors.

View file

@ -3,6 +3,8 @@
menuconfig UART_PL011
bool "ARM PL011 UART Driver"
default y
depends on DT_HAS_ARM_PL011_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -6,7 +6,8 @@
config UART_PSOC6
bool "PSoC-6 MCU SCB serial driver"
depends on SOC_FAMILY_PSOC6
default y
depends on DT_HAS_CYPRESS_PSOC6_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
select USE_INFINEON_UART

View file

@ -3,13 +3,11 @@
# Copyright (c) 2021 IoT.bzh
# SPDX-License-Identifier: Apache-2.0
DT_COMPAT_RENESAS_RCAR_SCIF := renesas,rcar-scif
config UART_RCAR
bool "Renesas R-Car UART Driver"
default y
depends on DT_HAS_RENESAS_RCAR_SCIF_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
depends on SOC_FAMILY_RCAR
default $(dt_compat_enabled,$(DT_COMPAT_RENESAS_RCAR_SCIF))
help
Enable Renesas R-Car UART Driver.

View file

@ -1,12 +1,10 @@
# Copyright (c) 2021 Yonatan Schachter
# SPDX-License-Identifier: Apache-2.0
# Workaround for not being able to have commas in macro arguments
DT_COMPAT_RPI_PICO_UART := raspberrypi,pico-uart
config UART_RPI_PICO
bool "Raspberry Pi UART driver"
default $(dt_compat_enabled,$(DT_COMPAT_RPI_PICO_UART))
default y
depends on DT_HAS_RASPBERRYPI_PICO_UART_ENABLED
select SERIAL_HAS_DRIVER
select PICOSDK_USE_UART
select SERIAL_SUPPORT_INTERRUPT

View file

@ -5,6 +5,8 @@
menuconfig UART_RTT
bool "UART RTT driver"
default y
depends on DT_HAS_SEGGER_RTT_UART_ENABLED
depends on USE_SEGGER_RTT
select SEGGER_RTT_CUSTOM_LOCKING
help

View file

@ -5,7 +5,9 @@
menuconfig UART_RV32M1_LPUART
bool "RV32M1 LPUART driver"
depends on HAS_RV32M1_LPUART && CLOCK_CONTROL
default y
depends on DT_HAS_OPENISA_RV32M1_LPUART_ENABLED
depends on CLOCK_CONTROL
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -3,17 +3,14 @@
# Copyright (c) 2017 Google LLC.
# SPDX-License-Identifier: Apache-2.0
# Workaround for not being able to have commas in macro arguments
DT_COMPAT_ATMEL_SAM0_DMAC := atmel,sam0-dmac
config UART_SAM0
bool "Atmel SAM0 series SERCOM USART driver"
default y
depends on SOC_FAMILY_SAM0
depends on DT_HAS_ATMEL_SAM0_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
# the ASYNC implementation requires a DMA controller
select SERIAL_SUPPORT_ASYNC if $(dt_compat_enabled,$(DT_COMPAT_ATMEL_SAM0_DMAC))
select SERIAL_SUPPORT_ASYNC if DT_HAS_ATMEL_SAM0_DMAC_ENABLED
select DMA if UART_ASYNC_API
help
This option enables the SERCOMx USART driver for Atmel SAM0 MCUs.

View file

@ -5,7 +5,8 @@
menuconfig UART_SIFIVE
bool "SiFive Freedom serial driver"
depends on SOC_SERIES_RISCV_SIFIVE_FREEDOM
default y
depends on DT_HAS_SIFIVE_UART0_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -2,7 +2,8 @@
menuconfig UART_STELLARIS
bool "Stellaris serial driver"
depends on SOC_TI_LM3S6965
default y
depends on DT_HAS_TI_STELLARIS_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -3,21 +3,18 @@
# Copyright (c) 2016 Open-RnD Sp. z o.o.
# SPDX-License-Identifier: Apache-2.0
DT_COMPAT_ST_STM32_DMA_V1 := st,stm32-dma-v1
DT_COMPAT_ST_STM32_DMA_V2 := st,stm32-dma-v2
DT_COMPAT_ST_STM32_DMA_V2BIS := st,stm32-dma-v2bis
config UART_STM32
bool "STM32 MCU serial driver"
default y
depends on DT_HAS_ST_STM32_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
# the ASYNC implementation requires a DMA controller
select SERIAL_SUPPORT_ASYNC \
if $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_DMA_V1)) || \
$(dt_compat_enabled,$(DT_COMPAT_ST_STM32_DMA_V2)) || \
$(dt_compat_enabled,$(DT_COMPAT_ST_STM32_DMA_V2BIS))
if DT_HAS_ST_STM32_DMA_V1_ENABLED || \
DT_HAS_ST_STM32_DMA_V2_ENABLED || \
DT_HAS_ST_STM32_DMA_V2BIS_ENABLED
select DMA if UART_ASYNC_API
depends on SOC_FAMILY_STM32
help
This option enables the UART driver for STM32 family of
processors.

View file

@ -1,11 +1,10 @@
# Copyright (c) 2021, Thomas Stranger
# SPDX-License-Identifier: Apache-2.0
DT_COMPAT_VND_SERIAL := vnd,serial
# Hidden option to enable the vnd,serial dummy driver used in testing.
config SERIAL_TEST
def_bool $(dt_compat_enabled,$(DT_COMPAT_VND_SERIAL))
def_bool DT_HAS_VND_SERIAL_ENABLED
depends on DT_HAS_VND_SERIAL_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
select SERIAL_SUPPORT_ASYNC

View file

@ -6,7 +6,8 @@
config UART_SAM
bool "Atmel SAM MCU family UART driver"
depends on SOC_FAMILY_SAM
default y
depends on DT_HAS_ATMEL_SAM_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -5,7 +5,8 @@
config USART_SAM
bool "Atmel SAM MCU family USART driver"
depends on SOC_FAMILY_SAM
default y
depends on DT_HAS_ATMEL_SAM_USART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -5,7 +5,8 @@
config UART_XEC
bool "Microchip XEC family UART driver"
depends on SOC_FAMILY_MEC
default y
depends on DT_HAS_MICROCHIP_XEC_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -6,11 +6,11 @@
config UART_XEN_HVC
bool "Xen hypervisor DomU console UART driver"
default y
depends on DT_HAS_XEN_HVC_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
depends on BOARD_XENVM
depends on !XEN_INITIAL_DOMAIN
default y
help
Enable Xen ring buffer based hypervisor console driver. Used
for Zephyr as unprivileged domain.

View file

@ -5,7 +5,8 @@
config UART_XLNX_PS
bool "Xilinx Zynq 7000/ZynqMP serial driver"
depends on SOC_XILINX_ZYNQMP || SOC_FAMILY_XILINX_ZYNQ7000
default y
depends on DT_HAS_XLNX_XUARTPS_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help
@ -13,6 +14,8 @@ config UART_XLNX_PS
config UART_XLNX_UARTLITE
bool "Xilinx UART Lite"
default y
depends on DT_HAS_XLNX_XPS_UARTLITE_1_00_A_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
help

View file

@ -4,9 +4,9 @@
# SPDX-License-Identifier: Apache-2.0
config UART_XMC4XXX
depends on SOC_SERIES_XMC_4XXX
bool "XMC4XX UART driver"
default y
depends on DT_HAS_INFINEON_XMC4XXX_UART_ENABLED
select SERIAL_HAS_DRIVER
depends on SOC_FAMILY_XMC && HAS_XMCLIB_UART
help
This option enables the XMC4XX UART driver, for UART_0.