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