8250_pci.h 993 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. * Definitions for PCI support.
  3. */
  4. #define FL_BASE_MASK 0x0007
  5. #define FL_BASE0 0x0000
  6. #define FL_BASE1 0x0001
  7. #define FL_BASE2 0x0002
  8. #define FL_BASE3 0x0003
  9. #define FL_BASE4 0x0004
  10. #define FL_GET_BASE(x) (x & FL_BASE_MASK)
  11. /* Use successive BARs (PCI base address registers),
  12. else use offset into some specified BAR */
  13. #define FL_BASE_BARS 0x0008
  14. /* do not assign an irq */
  15. #define FL_NOIRQ 0x0080
  16. /* Use the Base address register size to cap number of ports */
  17. #define FL_REGION_SZ_CAP 0x0100
  18. struct pciserial_board {
  19. unsigned int flags;
  20. unsigned int num_ports;
  21. unsigned int base_baud;
  22. unsigned int uart_offset;
  23. unsigned int reg_shift;
  24. unsigned int first_offset;
  25. };
  26. struct serial_private;
  27. struct serial_private *
  28. pciserial_init_ports(struct pci_dev *dev, struct pciserial_board *board);
  29. void pciserial_remove_ports(struct serial_private *priv);
  30. void pciserial_suspend_ports(struct serial_private *priv);
  31. void pciserial_resume_ports(struct serial_private *priv);