# LiteX UART configuration option

# Copyright (c) 2018 - 2019 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0

config UART_LITEX
	bool "LiteX serial driver"
	default y
	depends on DT_HAS_LITEX_UART_ENABLED
	select SERIAL_HAS_DRIVER
	select SERIAL_SUPPORT_INTERRUPT
	help
	  This option enables LiteX UART serial driver.
