- /*
- * linux/include/linux/acpi_serial.h
- *
- * Copyright (C) 2000 Hewlett-Packard Co.
- * Copyright (C) 2000 Khalid Aziz <khalid_aziz@hp.com>
- *
- * Definitions for ACPI defined serial ports (headless console and
- * debug ports)
- *
- */
- extern void setup_serial_acpi(void *);
- /* ACPI table signatures */
- #define ACPI_SPCRT_SIGNATURE "SPCR"
- #define ACPI_DBGPT_SIGNATURE "DBGP"
- /* Interface type as defined in ACPI serial port tables */
- #define ACPI_SERIAL_INTFC_16550 0
- #define ACPI_SERIAL_INTFC_16450 1
- /* Interrupt types for ACPI serial port tables */
- #define ACPI_SERIAL_INT_PCAT 0x01
- #define ACPI_SERIAL_INT_APIC 0x02
- #define ACPI_SERIAL_INT_SAPIC 0x04
- /* Baud rates as defined in ACPI serial port tables */
- #define ACPI_SERIAL_BAUD_9600 3
- #define ACPI_SERIAL_BAUD_19200 4
- #define ACPI_SERIAL_BAUD_57600 6
- #define ACPI_SERIAL_BAUD_115200 7
- /* Parity as defined in ACPI serial port tables */
- #define ACPI_SERIAL_PARITY_NONE 0
- /* Flow control methods as defined in ACPI serial port tables */
- #define ACPI_SERIAL_FLOW_DCD 0x01
- #define ACPI_SERIAL_FLOW_RTS 0x02
- #define ACPI_SERIAL_FLOW_XON 0x04
- /* Terminal types as defined in ACPI serial port tables */
- #define ACPI_SERIAL_TERM_VT100 0
- #define ACPI_SERIAL_TERM_VT100X 1
- /* PCI Flags as defined by SPCR table */
- #define ACPI_SERIAL_PCIFLAG_PNP 0x00000001
- /* Space ID as defined in base address structure in ACPI serial port tables */
- #define ACPI_SERIAL_MEM_SPACE 0
- #define ACPI_SERIAL_IO_SPACE 1
- #define ACPI_SERIAL_PCICONF_SPACE 2
- /*
- * Generic Register Address Structure - as defined by Microsoft
- * in http://www.microsoft.com/hwdev/onnow/download/LFreeACPI.doc
- *
- */
- typedef struct {
- u8 space_id;
- u8 bit_width;
- u8 bit_offset;
- u8 resv;
- u32 addrl;
- u32 addrh;
- } gen_regaddr;
- /* Space ID for generic register address structure */
- #define REGADDR_SPACE_SYSMEM 0
- #define REGADDR_SPACE_SYSIO 1
- #define REGADDR_SPACE_PCICONFIG 2
- /* Serial Port Console Redirection and Debug Port Table formats */
- typedef struct {
- u8 signature[4];
- u32 length;
- u8 rev;
- u8 chksum;
- u8 oemid[6];
- u8 oem_tabid[8];
- u32 oem_rev;
- u8 creator_id[4];
- u32 creator_rev;
- u8 intfc_type;
- u8 resv1[3];
- gen_regaddr base_addr;
- u8 int_type;
- u8 irq;
- u8 global_int[4];
- u8 baud;
- u8 parity;
- u8 stop_bits;
- u8 flow_ctrl;
- u8 termtype;
- u8 language;
- u16 pci_dev_id;
- u16 pci_vendor_id;
- u8 pci_bus;
- u8 pci_dev;
- u8 pci_func;
- u8 pci_flags[4];
- u8 pci_seg;
- u32 resv2;
- } acpi_ser_t;