7 #include <soc/qcom_qup_se.h>
14 #define GENI_STATUS_M_GENI_CMD_ACTIVE_MASK 0x1
15 #define GENI_STATUS_S_GENI_CMD_ACTIVE_MASK 0x1000
17 #define UART_TX_WATERMARK_MARGIN 4
18 #define UART_RX_WATERMARK_MARGIN 8
19 #define UART_RX_RFR_WATERMARK_MARGIN 4
20 #define UART_TX_BITS_PER_WORD 8
21 #define UART_RX_BITS_PER_WORD 8
22 #define START_UART_TX 0x8000000
23 #define START_UART_RX 0x8000000
27 #define UART_TX_PACK_VECTOR0 0x0E
29 #define UART_TX_PACK_VECTOR1 0x10E
31 #define UART_TX_PACK_VECTOR2 0x20E
33 #define UART_TX_PACK_VECTOR3 0x30F
35 #define UART_RX_PACK_VECTOR0 0xF
36 #define UART_RX_PACK_VECTOR2 0x00
51 unsigned int div, baud_rate, uart_freq;
73 uart_freq = baud_rate * 16;
static void write32(void *addr, uint32_t val)
static uint32_t read32(const void *addr)
#define assert(statement)
unsigned int get_uart_baudrate(void)
#define LB_SERIAL_TYPE_MEMORY_MAPPED
void lb_add_serial(struct lb_serial *serial, void *data)
#define DIV_ROUND_CLOSEST(x, divisor)
#define GENI_FW_REVISION_RO_PROTOCOL_MASK
#define GENI_FW_REVISION_RO_PROTOCOL_SHIFT
void qupv3_se_fw_load_and_init(unsigned int bus, unsigned int protocol, unsigned int mode)
#define UART_RX_RFR_WATERMARK_MARGIN
#define GENI_STATUS_S_GENI_CMD_ACTIVE_MASK
#define UART_TX_PACK_VECTOR3
#define UART_RX_PACK_VECTOR0
void uart_init(unsigned int idx)
#define GENI_STATUS_M_GENI_CMD_ACTIVE_MASK
#define UART_TX_BITS_PER_WORD
void uart_tx_flush(unsigned int idx)
#define UART_TX_PACK_VECTOR2
#define UART_RX_BITS_PER_WORD
uintptr_t uart_platform_base(unsigned int idx)
#define UART_TX_PACK_VECTOR1
#define UART_RX_WATERMARK_MARGIN
unsigned char uart_rx_byte(unsigned int idx)
#define UART_TX_WATERMARK_MARGIN
void uart_fill_lb(void *data)
#define UART_RX_PACK_VECTOR2
void uart_tx_byte(unsigned int idx, unsigned char data)
#define UART_TX_PACK_VECTOR0
void gpio_configure(gpio_t gpio, uint32_t func, uint32_t pull, uint32_t drive_str, uint32_t enable)
void clock_enable_qup(int qup)