acpi_serial.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  *  linux/include/linux/acpi_serial.h
  3.  *
  4.  *  Copyright (C) 2000  Hewlett-Packard Co.
  5.  *  Copyright (C) 2000  Khalid Aziz <khalid_aziz@hp.com>
  6.  *
  7.  *  Definitions for ACPI defined serial ports (headless console and 
  8.  *  debug ports)
  9.  *
  10.  */
  11. extern void setup_serial_acpi(void *);
  12. /* ACPI table signatures */
  13. #define ACPI_SPCRT_SIGNATURE "SPCR"
  14. #define ACPI_DBGPT_SIGNATURE "DBGP"
  15. /* Interface type as defined in ACPI serial port tables */
  16. #define ACPI_SERIAL_INTFC_16550 0
  17. #define ACPI_SERIAL_INTFC_16450 1
  18. /* Interrupt types for ACPI serial port tables */
  19. #define ACPI_SERIAL_INT_PCAT 0x01
  20. #define ACPI_SERIAL_INT_APIC 0x02
  21. #define ACPI_SERIAL_INT_SAPIC 0x04
  22. /* Baud rates as defined in ACPI serial port tables */
  23. #define ACPI_SERIAL_BAUD_9600 3
  24. #define ACPI_SERIAL_BAUD_19200 4
  25. #define ACPI_SERIAL_BAUD_57600 6
  26. #define ACPI_SERIAL_BAUD_115200 7
  27. /* Parity as defined in ACPI serial port tables */
  28. #define ACPI_SERIAL_PARITY_NONE 0
  29. /* Flow control methods as defined in ACPI serial port tables */
  30. #define ACPI_SERIAL_FLOW_DCD 0x01
  31. #define ACPI_SERIAL_FLOW_RTS 0x02
  32. #define ACPI_SERIAL_FLOW_XON 0x04
  33. /* Terminal types as defined in ACPI serial port tables */
  34. #define ACPI_SERIAL_TERM_VT100 0
  35. #define ACPI_SERIAL_TERM_VT100X 1
  36. /* PCI Flags as defined by SPCR table */
  37. #define ACPI_SERIAL_PCIFLAG_PNP 0x00000001
  38. /* Space ID as defined in base address structure in ACPI serial port tables */
  39. #define ACPI_SERIAL_MEM_SPACE 0
  40. #define ACPI_SERIAL_IO_SPACE 1
  41. #define ACPI_SERIAL_PCICONF_SPACE 2
  42. /* 
  43.  * Generic Register Address Structure - as defined by Microsoft 
  44.  * in http://www.microsoft.com/hwdev/onnow/download/LFreeACPI.doc
  45.  *
  46. */
  47. typedef struct {
  48. u8  space_id;
  49. u8  bit_width;
  50. u8  bit_offset;
  51. u8  resv;
  52. u32 addrl;
  53. u32 addrh;
  54. } gen_regaddr;
  55. /* Space ID for generic register address structure */
  56. #define REGADDR_SPACE_SYSMEM 0
  57. #define REGADDR_SPACE_SYSIO 1
  58. #define REGADDR_SPACE_PCICONFIG 2
  59. /* Serial Port Console Redirection and Debug Port Table formats */
  60. typedef struct {
  61. u8 signature[4];
  62. u32 length;
  63. u8  rev;
  64. u8  chksum;
  65. u8  oemid[6];
  66. u8  oem_tabid[8];
  67. u32 oem_rev;
  68. u8  creator_id[4];
  69. u32 creator_rev;
  70. u8  intfc_type;
  71. u8  resv1[3];
  72. gen_regaddr base_addr;
  73. u8  int_type;
  74. u8  irq;
  75. u8  global_int[4];
  76. u8  baud;
  77. u8  parity;
  78. u8  stop_bits;
  79. u8  flow_ctrl;
  80. u8  termtype;
  81. u8  language;
  82. u16 pci_dev_id;
  83. u16 pci_vendor_id;
  84. u8  pci_bus;
  85. u8  pci_dev;
  86. u8  pci_func;
  87. u8  pci_flags[4];
  88. u8  pci_seg;
  89. u32 resv2;
  90. } acpi_ser_t;