serial_sci.h 846 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef __LINUX_SERIAL_SCI_H
  2. #define __LINUX_SERIAL_SCI_H
  3. #include <linux/serial_core.h>
  4. #include <linux/sh_dma.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. #ifdef CONFIG_SERIAL_SH_SCI_DMA
  29. unsigned int dma_slave_tx;
  30. unsigned int dma_slave_rx;
  31. #endif
  32. };
  33. #endif /* __LINUX_SERIAL_SCI_H */