xref: /linux-6.15/include/linux/serial_sci.h (revision a115bc07)
1 #ifndef __LINUX_SERIAL_SCI_H
2 #define __LINUX_SERIAL_SCI_H
3 
4 #include <linux/serial_core.h>
5 #include <asm/dmaengine.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 	enum sh_dmae_slave_chan_id dma_slave_tx;
34 	enum sh_dmae_slave_chan_id dma_slave_rx;
35 };
36 
37 #endif /* __LINUX_SERIAL_SCI_H */
38