⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pnp.h

📁 嵌入式ARM的一些源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/* 11/02/95                                                                   */
/*----------------------------------------------------------------------------*/
/*      Plug and Play header definitions                                      */
/*----------------------------------------------------------------------------*/

/* Structure map for PnP on PowerPC Reference Platform                        */
/* See Plug and Play ISA Specification, Version 1.0, May 28, 1993.  It        */
/* (or later versions) is available on Compuserve in the PLUGPLAY area.       */
/* This code has extensions to that specification, namely new short and       */
/* long tag types for platform dependent information                          */

/* Warning: LE notation used throughout this file                             */

/* For enum's: if given in hex then they are bit significant, i.e.            */
/* only one bit is on for each enum                                           */

#ifndef _PNP_
#define _PNP_

#ifndef __ASSEMBLY__
#define MAX_MEM_REGISTERS 9
#define MAX_IO_PORTS 20
#define MAX_IRQS 7
/*#define MAX_DMA_CHANNELS 7*/

/* Interrupt controllers */

#define PNPinterrupt0 "PNP0000"      /* AT Interrupt Controller               */
#define PNPinterrupt1 "PNP0001"      /* EISA Interrupt Controller             */
#define PNPinterrupt2 "PNP0002"      /* MCA Interrupt Controller              */
#define PNPinterrupt3 "PNP0003"      /* APIC                                  */
#define PNPExtInt     "IBM000D"      /* PowerPC Extended Interrupt Controller */

/* Timers */

#define PNPtimer0     "PNP0100"      /* AT Timer                              */
#define PNPtimer1     "PNP0101"      /* EISA Timer                            */
#define PNPtimer2     "PNP0102"      /* MCA Timer                             */

/* DMA controllers */

#define PNPdma0       "PNP0200"      /* AT DMA Controller                     */
#define PNPdma1       "PNP0201"      /* EISA DMA Controller                   */
#define PNPdma2       "PNP0202"      /* MCA DMA Controller                    */

/* start of August 15, 1994 additions */
/* CMOS */
#define PNPCMOS       "IBM0009"      /* CMOS                                  */

/* L2 Cache */
#define PNPL2         "IBM0007"      /* L2 Cache                              */

/* NVRAM */
#define PNPNVRAM      "IBM0008"      /* NVRAM                                 */

/* Power Management */
#define PNPPM         "IBM0005"      /* Power Management                      */
/* end of August 15, 1994 additions */

/* Keyboards */

#define PNPkeyboard0  "PNP0300"      /* IBM PC/XT KB Cntlr (83 key, no mouse) */
#define PNPkeyboard1  "PNP0301"      /* Olivetti ICO (102 key)                */
#define PNPkeyboard2  "PNP0302"      /* IBM PC/AT KB Cntlr (84 key)           */
#define PNPkeyboard3  "PNP0303"      /* IBM Enhanced (101/2 key, PS/2 mouse)  */
#define PNPkeyboard4  "PNP0304"      /* Nokia 1050 KB Cntlr                   */
#define PNPkeyboard5  "PNP0305"      /* Nokia 9140 KB Cntlr                   */
#define PNPkeyboard6  "PNP0306"      /* Standard Japanese KB Cntlr            */
#define PNPkeyboard7  "PNP0307"      /* Microsoft Windows (R) KB Cntlr        */

/* Parallel port controllers */

#define PNPparallel0 "PNP0400"       /* Standard LPT Parallel Port            */
#define PNPparallel1 "PNP0401"       /* ECP Parallel Port                     */
#define PNPepp       "IBM001C"       /* EPP Parallel Port                     */

/* Serial port controllers */

#define PNPserial0   "PNP0500"       /* Standard PC Serial port               */
#define PNPSerial1   "PNP0501"       /* 16550A Compatible Serial port         */

/* Disk controllers */

#define PNPdisk0     "PNP0600"       /* Generic ESDI/IDE/ATA Compat HD Cntlr  */
#define PNPdisk1     "PNP0601"       /* Plus Hardcard II                      */
#define PNPdisk2     "PNP0602"       /* Plus Hardcard IIXL/EZ                 */

/* Diskette controllers */

#define PNPdiskette0 "PNP0700"       /* PC Standard Floppy Disk Controller    */

/* Display controllers */

#define PNPdisplay0  "PNP0900"       /* VGA Compatible                        */
#define PNPdisplay1  "PNP0901"       /* Video Seven VGA                       */
#define PNPdisplay2  "PNP0902"       /* 8514/A Compatible                     */
#define PNPdisplay3  "PNP0903"       /* Trident VGA                           */
#define PNPdisplay4  "PNP0904"       /* Cirrus Logic Laptop VGA               */
#define PNPdisplay5  "PNP0905"       /* Cirrus Logic VGA                      */
#define PNPdisplay6  "PNP0906"       /* Tseng ET4000 or ET4000/W32            */
#define PNPdisplay7  "PNP0907"       /* Western Digital VGA                   */
#define PNPdisplay8  "PNP0908"       /* Western Digital Laptop VGA            */
#define PNPdisplay9  "PNP0909"       /* S3                                    */
#define PNPdisplayA  "PNP090A"       /* ATI Ultra Pro/Plus (Mach 32)          */
#define PNPdisplayB  "PNP090B"       /* ATI Ultra (Mach 8)                    */
#define PNPdisplayC  "PNP090C"       /* XGA Compatible                        */
#define PNPdisplayD  "PNP090D"       /* ATI VGA Wonder                        */
#define PNPdisplayE  "PNP090E"       /* Weitek P9000 Graphics Adapter         */
#define PNPdisplayF  "PNP090F"       /* Oak Technology VGA                    */

/* Peripheral busses */

#define PNPbuses0    "PNP0A00"       /* ISA Bus                               */
#define PNPbuses1    "PNP0A01"       /* EISA Bus                              */
#define PNPbuses2    "PNP0A02"       /* MCA Bus                               */
#define PNPbuses3    "PNP0A03"       /* PCI Bus                               */
#define PNPbuses4    "PNP0A04"       /* VESA/VL Bus                           */

/* RTC, BIOS, planar devices */

#define PNPspeaker0  "PNP0800"       /* AT Style Speaker Sound                */
#define PNPrtc0      "PNP0B00"       /* AT RTC                                */
#define PNPpnpbios0  "PNP0C00"       /* PNP BIOS (only created by root enum)  */
#define PNPpnpbios1  "PNP0C01"       /* System Board Memory Device            */
#define PNPpnpbios2  "PNP0C02"       /* Math Coprocessor                      */
#define PNPpnpbios3  "PNP0C03"       /* PNP BIOS Event Notification Interrupt */

/* PCMCIA controller */

#define PNPpcmcia0   "PNP0E00"       /* Intel 82365 Compatible PCMCIA Cntlr   */

/* Mice */

#define PNPmouse0    "PNP0F00"       /* Microsoft Bus Mouse                   */
#define PNPmouse1    "PNP0F01"       /* Microsoft Serial Mouse                */
#define PNPmouse2    "PNP0F02"       /* Microsoft Inport Mouse                */
#define PNPmouse3    "PNP0F03"       /* Microsoft PS/2 Mouse                  */
#define PNPmouse4    "PNP0F04"       /* Mousesystems Mouse                    */
#define PNPmouse5    "PNP0F05"       /* Mousesystems 3 Button Mouse - COM2    */
#define PNPmouse6    "PNP0F06"       /* Genius Mouse - COM1                   */
#define PNPmouse7    "PNP0F07"       /* Genius Mouse - COM2                   */
#define PNPmouse8    "PNP0F08"       /* Logitech Serial Mouse                 */
#define PNPmouse9    "PNP0F09"       /* Microsoft Ballpoint Serial Mouse      */
#define PNPmouseA    "PNP0F0A"       /* Microsoft PNP Mouse                   */
#define PNPmouseB    "PNP0F0B"       /* Microsoft PNP Ballpoint Mouse         */

/* Modems */

#define PNPmodem0    "PNP9000"       /* Specific IDs TBD                      */

/* Network controllers */

#define PNPnetworkC9 "PNP80C9"       /* IBM Token Ring                        */
#define PNPnetworkCA "PNP80CA"       /* IBM Token Ring II                     */
#define PNPnetworkCB "PNP80CB"       /* IBM Token Ring II/Short               */
#define PNPnetworkCC "PNP80CC"       /* IBM Token Ring 4/16Mbs                */
#define PNPnetwork27 "PNP8327"       /* IBM Token Ring (All types)            */
#define PNPnetworket "IBM0010"       /* IBM Ethernet used by Power PC         */
#define PNPneteisaet "IBM2001"       /* IBM Ethernet EISA adapter             */
#define PNPAMD79C970 "IBM0016"       /* AMD 79C970 (PCI Ethernet)             */

/* SCSI controllers */

#define PNPscsi0     "PNPA000"       /* Adaptec 154x Compatible SCSI Cntlr    */
#define PNPscsi1     "PNPA001"       /* Adaptec 174x Compatible SCSI Cntlr    */
#define PNPscsi2     "PNPA002"       /* Future Domain 16-700 Compat SCSI Cntlr*/
#define PNPscsi3     "PNPA003"       /* Panasonic CDROM Adapter (SBPro/SB16)  */
#define PNPscsiF     "IBM000F"       /* NCR 810 SCSI Controller               */
#define PNPscsi825   "IBM001B"       /* NCR 825 SCSI Controller               */
#define PNPscsi875   "IBM0018"       /* NCR 875 SCSI Controller               */

/* Sound/Video, Multimedia */

#define PNPmm0       "PNPB000"       /* Sound Blaster Compatible Sound Device */
#define PNPmm1       "PNPB001"       /* MS Windows Sound System Compat Device */
#define PNPmmF       "IBM000E"       /* Crystal CS4231 Audio Device           */
#define PNPv7310     "IBM0015"       /* ASCII V7310 Video Capture Device      */
#define PNPmm4232    "IBM0017"       /* Crystal CS4232 Audio Device           */
#define PNPpmsyn     "IBM001D"       /* YMF 289B chip (Yamaha)                */
#define PNPgp4232    "IBM0012"       /* Crystal CS4232 Game Port              */
#define PNPmidi4232  "IBM0013"       /* Crystal CS4232 MIDI                   */

/* Operator Panel */
#define PNPopctl     "IBM000B"       /* Operator's panel                      */

/* Service Processor */
#define PNPsp        "IBM0011"       /* IBM Service Processor                 */
#define PNPLTsp      "IBM001E"       /* Lightning/Terlingua Support Processor */
#define PNPLTmsp     "IBM001F"       /* Lightning/Terlingua Mini-SP           */

/* Memory Controller */
#define PNPmemctl    "IBM000A"       /* Memory controller                     */

/* Graphics Assist */
#define PNPg_assist  "IBM0014"       /* Graphics Assist                       */

/* Miscellaneous Device Controllers */
#define PNPtablet    "IBM0019"       /* IBM Tablet Controller                 */

/* PNP Packet Handles */

#define S1_Packet                0x0A   /* Version resource                   */
#define S2_Packet                0x15   /* Logical DEVID (without flags)      */
#define S2_Packet_flags          0x16   /* Logical DEVID (with flags)         */
#define S3_Packet                0x1C   /* Compatible device ID               */
#define S4_Packet                0x22   /* IRQ resource (without flags)       */
#define S4_Packet_flags          0x23   /* IRQ resource (with flags)          */
#define S5_Packet                0x2A   /* DMA resource                       */
#define S6_Packet                0x30   /* Depend funct start (w/o priority)  */
#define S6_Packet_priority       0x31   /* Depend funct start (w/ priority)   */
#define S7_Packet                0x38   /* Depend funct end                   */
#define S8_Packet                0x47   /* I/O port resource (w/o fixed loc)  */
#define S9_Packet_fixed          0x4B   /* I/O port resource (w/ fixed loc)   */
#define S14_Packet               0x71   /* Vendor defined                     */
#define S15_Packet               0x78   /* End of resource (w/o checksum)     */
#define S15_Packet_checksum      0x79   /* End of resource (w/ checksum)      */
#define L1_Packet                0x81   /* Memory range                       */
#define L1_Shadow                0x20   /* Memory is shadowable               */
#define L1_32bit_mem             0x18   /* 32-bit memory only                 */
#define L1_8_16bit_mem           0x10   /* 8- and 16-bit supported            */
#define L1_Decode_Hi             0x04   /* decode supports high address       */
#define L1_Cache                 0x02   /* read cacheable, write-through      */
#define L1_Writeable             0x01   /* Memory is writeable                */
#define L2_Packet                0x82   /* ANSI ID string                     */
#define L3_Packet                0x83   /* Unicode ID string                  */
#define L4_Packet                0x84   /* Vendor defined                     */
#define L5_Packet                0x85   /* Large I/O                          */
#define L6_Packet                0x86   /* 32-bit Fixed Loc Mem Range Desc    */
#define END_TAG                  0x78   /* End of resource                    */
#define DF_START_TAG             0x30   /* Dependent function start           */
#define DF_START_TAG_priority    0x31   /* Dependent function start           */
#define DF_END_TAG               0x38   /* Dependent function end             */
#define SUBOPTIMAL_CONFIGURATION 0x2    /* Priority byte sub optimal config   */

/* Device Base Type Codes */

typedef enum _PnP_BASE_TYPE {
  Reserved = 0,
  MassStorageDevice = 1,
  NetworkInterfaceController = 2,
  DisplayController = 3,
  MultimediaController = 4,
  MemoryController = 5,
  BridgeController = 6,
  CommunicationsDevice = 7,
  SystemPeripheral = 8,
  InputDevice = 9,
  ServiceProcessor = 0x0A,              /* 11/2/95                            */
  } PnP_BASE_TYPE;

/* Device Sub Type Codes */

typedef enum _PnP_SUB_TYPE {
  SCSIController = 0,
  IDEController = 1,
  FloppyController = 2,
  IPIController = 3,
  OtherMassStorageController = 0x80,

  EthernetController = 0,
  TokenRingController = 1,
  FDDIController = 2,
  OtherNetworkController = 0x80,

  VGAController= 0,
  SVGAController= 1,
  XGAController= 2,
  OtherDisplayController = 0x80,

  VideoController = 0,
  AudioController = 1,
  OtherMultimediaController = 0x80,

  RAM = 0,
  FLASH = 1,
  OtherMemoryDevice = 0x80,

  HostProcessorBridge = 0,
  ISABridge = 1,
  EISABridge = 2,
  MicroChannelBridge = 3,
  PCIBridge = 4,
  PCMCIABridge = 5,
  VMEBridge = 6,
  OtherBridgeDevice = 0x80,

  RS232Device = 0,
  ATCompatibleParallelPort = 1,
  OtherCommunicationsDevice = 0x80,

  ProgrammableInterruptController = 0,
  DMAController = 1,
  SystemTimer = 2,
  RealTimeClock = 3,
  L2Cache = 4,
  NVRAM = 5,
  PowerManagement = 6,
  CMOS = 7,
  OperatorPanel = 8,
  ServiceProcessorClass1 = 9,
  ServiceProcessorClass2 = 0xA,
  ServiceProcessorClass3 = 0xB,
  GraphicAssist = 0xC,
  SystemPlanar = 0xF,                   /* 10/5/95                            */
  OtherSystemPeripheral = 0x80,

  KeyboardController = 0,
  Digitizer = 1,
  MouseController = 2,
  TabletController = 3,                 /* 10/27/95                           */
  OtherInputController = 0x80,

  GeneralMemoryController = 0,
  } PnP_SUB_TYPE;

/* Device Interface Type Codes */

typedef enum _PnP_INTERFACE {
  General = 0,
  GeneralSCSI = 0,
  GeneralIDE = 0,
  ATACompatible = 1,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -