# Copyright (c) 2021 ITE Corporation. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0

config UART_ITE_IT8XXX2
	bool "ITE IT8XXX2 UART driver"
	default y
	select UART_NS16550_ITE_HIGH_SPEED_BAUDRATE
	depends on DT_HAS_ITE_IT8XXX2_UART_ENABLED
	select PINCTRL
	help
	  IT8XXX2 uses shared ns16550.c driver which does not
	  provide a power management callback, so create driver
	  to handle IT8XXX2 specific UART features. In addition
	  to use pm_action_cb, we also need to make some setting
	  at uart_it8xxx2_init.

config UART_ITE_IT8XXX2_INIT_PRIORITY
	int "ITE IT8XXX2 UART wrapper init priority"
	default 51
	depends on UART_ITE_IT8XXX2
	help
	  Initialization priority for the UART wrapper driver on ITE IT8XXX2,
	  must be set to a lower priority than the matching ns16550 device
	  (CONFIG_SERIAL_INIT_PRIORITY).
