1 /* 2 * Arm SCP/MCP Software 3 * Copyright (c) 2018-2021, Arm Limited and Contributors. All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 #ifndef MOD_F_UART3_H 9 #define MOD_F_UART3_H 10 11 #include <stdbool.h> 12 #include <stdint.h> 13 14 /*! 15 * \addtogroup GroupSYNQUACERModule SYNQUACER Product Modules 16 * \{ 17 */ 18 19 /*! 20 * \defgroup GroupF_UART3 F_UART3 Driver 21 * 22 * \brief SynQuacer F_UART3 device driver. 23 * 24 * \details This module implements a device driver for the F_UART3 25 * 26 * \{ 27 */ 28 29 /*! 30 * \brief Support baud rates. 31 */ 32 enum mod_f_uart3_baud_rate { 33 MOD_F_UART3_BAUD_RATE_9600, /*!< 9600 bits per second */ 34 MOD_F_UART3_BAUD_RATE_19200, /*!< 19200 bits per second */ 35 MOD_F_UART3_BAUD_RATE_38400, /*!< 38400 bits per second */ 36 MOD_F_UART3_BAUD_RATE_57600, /*!< 57600 bits per second */ 37 MOD_F_UART3_BAUD_RATE_115200, /*!< 115200 bits per second */ 38 MOD_F_UART3_BAUD_RATE_230400, /*!< 230400 bits per second */ 39 }; 40 41 /*! 42 * \brief F_UART3 device configuration data. 43 */ 44 struct mod_f_uart3_element_cfg { 45 /*! Base address of the device registers */ 46 uintptr_t reg_base; 47 48 /*! Base address of the DivLatch access device registers */ 49 uintptr_t dla_reg_base; 50 51 /*! Parity enable */ 52 bool parity_enable_flag; 53 54 /*! Even parity select */ 55 bool even_parity_flag; 56 57 /*! Divider latch table index */ 58 enum mod_f_uart3_baud_rate baud_rate; 59 }; 60 61 /*! 62 * \} 63 */ 64 65 /*! 66 * \} 67 */ 68 69 #endif /* MOD_F_UART3_H */ 70