xref: /openbmc/linux/include/linux/serial_sci.h (revision baa7eb025ab14f3cba2e35c0a8648f9c9f01d24f)
1 #ifndef __LINUX_SERIAL_SCI_H
2 #define __LINUX_SERIAL_SCI_H
3 
4 #include <linux/serial_core.h>
5 #include <linux/sh_dma.h>
6 
7 /*
8  * Generic header for SuperH SCI(F) (used by sh/sh64/h8300 and related parts)
9  */
10 
11 /* Offsets into the sci_port->irqs array */
12 enum {
13 	SCIx_ERI_IRQ,
14 	SCIx_RXI_IRQ,
15 	SCIx_TXI_IRQ,
16 	SCIx_BRI_IRQ,
17 	SCIx_NR_IRQS,
18 };
19 
20 struct device;
21 
22 /*
23  * Platform device specific platform_data struct
24  */
25 struct plat_sci_port {
26 	void __iomem	*membase;		/* io cookie */
27 	unsigned long	mapbase;		/* resource base */
28 	unsigned int	irqs[SCIx_NR_IRQS];	/* ERI, RXI, TXI, BRI */
29 	unsigned int	type;			/* SCI / SCIF / IRDA */
30 	upf_t		flags;			/* UPF_* flags */
31 	char		*clk;			/* clock string */
32 	struct device	*dma_dev;
33 #ifdef CONFIG_SERIAL_SH_SCI_DMA
34 	unsigned int dma_slave_tx;
35 	unsigned int dma_slave_rx;
36 #endif
37 };
38 
39 #endif /* __LINUX_SERIAL_SCI_H */
40