serial_sci.h 836 B

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