serial_sci.h 914 B

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