162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci	Mantis PCI bridge driver
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci	Copyright (C) Manu Abraham (abraham.manu@gmail.com)
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci*/
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#ifndef __MANTIS_UART_H
1062306a36Sopenharmony_ci#define __MANTIS_UART_H
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#define MANTIS_UART_CTL			0xe0
1362306a36Sopenharmony_ci#define MANTIS_UART_RXINT		(1 << 4)
1462306a36Sopenharmony_ci#define MANTIS_UART_RXFLUSH		(1 << 2)
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#define MANTIS_UART_RXD			0xe8
1762306a36Sopenharmony_ci#define MANTIS_UART_BAUD		0xec
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci#define MANTIS_UART_STAT		0xf0
2062306a36Sopenharmony_ci#define MANTIS_UART_RXFIFO_DATA		(1 << 7)
2162306a36Sopenharmony_ci#define MANTIS_UART_RXFIFO_EMPTY	(1 << 6)
2262306a36Sopenharmony_ci#define MANTIS_UART_RXFIFO_FULL		(1 << 3)
2362306a36Sopenharmony_ci#define MANTIS_UART_FRAME_ERR		(1 << 2)
2462306a36Sopenharmony_ci#define MANTIS_UART_PARITY_ERR		(1 << 1)
2562306a36Sopenharmony_ci#define MANTIS_UART_RXTHRESH_INT	(1 << 0)
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_cienum mantis_baud {
2862306a36Sopenharmony_ci	MANTIS_BAUD_9600	= 0,
2962306a36Sopenharmony_ci	MANTIS_BAUD_19200,
3062306a36Sopenharmony_ci	MANTIS_BAUD_38400,
3162306a36Sopenharmony_ci	MANTIS_BAUD_57600,
3262306a36Sopenharmony_ci	MANTIS_BAUD_115200
3362306a36Sopenharmony_ci};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_cienum mantis_parity {
3662306a36Sopenharmony_ci	MANTIS_PARITY_NONE	= 0,
3762306a36Sopenharmony_ci	MANTIS_PARITY_EVEN,
3862306a36Sopenharmony_ci	MANTIS_PARITY_ODD,
3962306a36Sopenharmony_ci};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_cistruct mantis_pci;
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciextern int mantis_uart_init(struct mantis_pci *mantis);
4462306a36Sopenharmony_ciextern void mantis_uart_exit(struct mantis_pci *mantis);
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci#endif /* __MANTIS_UART_H */
47