xref: /optee_os/core/include/drivers/hi16xx_uart.h (revision fbe66cf83199aa6a2aca9f93384cf1ad9185a5f6)
11bb92983SJerome Forissier /* SPDX-License-Identifier: BSD-2-Clause */
23e18f934SJerome Forissier /*
33e18f934SJerome Forissier  * Copyright (c) 2016, Linaro Limited
43e18f934SJerome Forissier  */
53e18f934SJerome Forissier 
63e18f934SJerome Forissier /*
73e18f934SJerome Forissier  * UART driver for Hisilicon Hi16xx and Phosphor V660 (hip05) SoCs
83e18f934SJerome Forissier  */
93e18f934SJerome Forissier 
10*fbe66cf8SEtienne Carriere #ifndef __DRIVERS_HI16XX_UART_H
11*fbe66cf8SEtienne Carriere #define __DRIVERS_HI16XX_UART_H
123e18f934SJerome Forissier 
133e18f934SJerome Forissier #include <types_ext.h>
14ed7617dfSJerome Forissier #include <drivers/serial.h>
153e18f934SJerome Forissier 
163e18f934SJerome Forissier #define HI16XX_UART_REG_SIZE 0xF8
173e18f934SJerome Forissier 
18ed7617dfSJerome Forissier struct hi16xx_uart_data {
19ed7617dfSJerome Forissier 	struct io_pa_va base;
20ed7617dfSJerome Forissier 	struct serial_chip chip;
21ed7617dfSJerome Forissier };
223e18f934SJerome Forissier 
23ed7617dfSJerome Forissier void hi16xx_uart_init(struct hi16xx_uart_data *pd, paddr_t base,
24ed7617dfSJerome Forissier 		      uint32_t uart_clk, uint32_t baud_rate);
253e18f934SJerome Forissier 
26*fbe66cf8SEtienne Carriere #endif /* __DRIVERS_HI16XX_UART_H */
27