8250_pci.h 1.0 KB

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