/* * Copyright (c) 2023 Intel Corporation * * SPDX-License-Identifier: Apache-2.0 */ /** * Header file for the INTEL LW UART */ #ifndef ZEPHYR_DRIVERS_SERIAL_UART_INTEL_LW_H_ #define ZEPHYR_DRIVERS_SERIAL_UART_INTEL_LW_H_ /* End of packet feature. * Driver will trigger interrupt upon receiving end of package character. * Please enable CONFIG_UART_INTEL_LW_EOP to use this feature. * Use the api: uart_drv_cmd with CMD_ENABLE_EOP to enable the feature. * This cmd will write the ip register and also set a flag to the driver. * The flag will modify uart_irq_callback_user_data_set * to set call back function for eop interrupt. * Flag is cleared after uart_irq_callback_user_data_set is called. */ #define CMD_ENABLE_EOP 0x01 #define CMD_DISABLE_EOP 0x02 /* Transmit break feature. * Use uart_drv_cmd with CMD_TRBK_EN to break ongoing transmit. * After this cmd, uart is unable to transmit any data. * Please use CMD_TRBK_DIS to resume normal operation. * Please also call uart_intel_lw_err_check, to clear the error caused * by transmit break. */ #define CMD_TRBK_EN 0x03 #define CMD_TRBK_DIS 0x04 /* This driver supports interrupt driven api. * Polling for data under normal operation, might cause unexpected behaviour. * If users wish to poll for data, please use the api: * uart_drv_cmd with CMD_POLL_ASSERT_RTS before polling out/in. * Then use CMD_POLL_DEASSERT_RTS to resume normal operation after polling. */ #define CMD_POLL_ASSERT_RTS 0x05 #define CMD_POLL_DEASSERT_RTS 0x06 #endif /* ZEPHYR_DRIVERS_SERIAL_UART_INTEL_LW_H_ */