Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * Definitions for PCI support.
0004  */
0005 #define FL_BASE_MASK        0x0007
0006 #define FL_BASE0        0x0000
0007 #define FL_BASE1        0x0001
0008 #define FL_BASE2        0x0002
0009 #define FL_BASE3        0x0003
0010 #define FL_BASE4        0x0004
0011 #define FL_GET_BASE(x)      (x & FL_BASE_MASK)
0012 
0013 /* Use successive BARs (PCI base address registers),
0014    else use offset into some specified BAR */
0015 #define FL_BASE_BARS        0x0008
0016 
0017 /* do not assign an irq */
0018 #define FL_NOIRQ        0x0080
0019 
0020 /* Use the Base address register size to cap number of ports */
0021 #define FL_REGION_SZ_CAP    0x0100
0022 
0023 struct pciserial_board {
0024     unsigned int flags;
0025     unsigned int num_ports;
0026     unsigned int base_baud;
0027     unsigned int uart_offset;
0028     unsigned int reg_shift;
0029     unsigned int first_offset;
0030 };
0031 
0032 struct serial_private;
0033 
0034 struct serial_private *
0035 pciserial_init_ports(struct pci_dev *dev, const struct pciserial_board *board);
0036 void pciserial_remove_ports(struct serial_private *priv);
0037 void pciserial_suspend_ports(struct serial_private *priv);
0038 void pciserial_resume_ports(struct serial_private *priv);