github.com/mvdan/u-root-coreutils@v0.0.0-20230122170626-c2eef2898555/pkg/pci/class.go (about)

     1  // Copyright 2021 the u-root Authors. All rights reserved
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package pci
     6  
     7  // Class definitions for PCI.
     8  const (
     9  	ClassNotDefined    = 0x0000
    10  	ClassNotDefinedVGA = 0x0001
    11  
    12  	ClassStorage       = 0x01
    13  	ClassStorageSCSI   = 0x0100
    14  	ClassStorageIDE    = 0x0101
    15  	ClassStorageFLOPPY = 0x0102
    16  	ClassStorageIPI    = 0x0103
    17  	ClassStorageRAID   = 0x0104
    18  	ClassStorageATA    = 0x0105
    19  	ClassStorageSATA   = 0x0106
    20  	ClassStorageSAS    = 0x0107
    21  	ClassStorageOther  = 0x0180
    22  
    23  	ClassNetwork         = 0x02
    24  	ClassNetworkEthernet = 0x0200
    25  	ClassNetworkOther    = 0x0280
    26  
    27  	ClassDisplay      = 0x03
    28  	ClassDisplayVGA   = 0x0300
    29  	ClassDisplayXGA   = 0x0301
    30  	ClassDisplay3D    = 0x0302
    31  	ClassDisplayOther = 0x0380
    32  
    33  	ClassMultimedia         = 0x04
    34  	ClassMultimediaVideo    = 0x0400
    35  	ClassMultimediaAudio    = 0x0401
    36  	ClassMultimediaPhone    = 0x0402
    37  	ClassMultimediaAudioDev = 0x0403
    38  	ClassMultimediaOther    = 0x0480
    39  
    40  	ClassMemory      = 0x05
    41  	ClassMemoryRAM   = 0x0500
    42  	ClassMemoryFLASH = 0x0501
    43  	ClassMemoryOther = 0x0580
    44  
    45  	ClassBridge        = 0x06
    46  	ClassBridgeHost    = 0x0600
    47  	ClassBridgeISA     = 0x0601
    48  	ClassBridgeEISA    = 0x0602
    49  	ClassBridgeMC      = 0x0603
    50  	ClassBridgePCI     = 0x0604
    51  	ClassBridgePCMCIA  = 0x0605
    52  	ClassBridgeNUBUS   = 0x0606
    53  	ClassBridgeCARDBUS = 0x0607
    54  	ClassBridgeRACEWAY = 0x0608
    55  	ClassBridgePCISemi = 0x0609
    56  	ClassBridgeIBToPCI = 0x060a
    57  	ClassBridgeOther   = 0x0680
    58  
    59  	ClassCommunication         = 0x07
    60  	ClassCommunicationSerial   = 0x0700
    61  	ClassCommunicationParallel = 0x0701
    62  	ClassCommunicationMSerial  = 0x0702
    63  	ClassCommunicationModem    = 0x0703
    64  	ClassCommunicationOther    = 0x0780
    65  
    66  	ClassSystem           = 0x08
    67  	ClassSystemPIC        = 0x0800
    68  	ClassSystemDMA        = 0x0801
    69  	ClassSystemTimer      = 0x0802
    70  	ClassSystemRTC        = 0x0803
    71  	ClassSystemPCIHotplug = 0x0804
    72  	ClassSystemOther      = 0x0880
    73  
    74  	ClassInput         = 0x09
    75  	ClassInputKeyboard = 0x0900
    76  	ClassInputPen      = 0x0901
    77  	ClassInputMouse    = 0x0902
    78  	ClassInputScanner  = 0x0903
    79  	ClassInputGameport = 0x0904
    80  	ClassInputOther    = 0x0980
    81  
    82  	ClassDocking        = 0x0a
    83  	ClassDockingGeneric = 0x0a00
    84  	ClassDockingOther   = 0x0a80
    85  
    86  	ClassProcessor        = 0x0b
    87  	ClassProcessor386     = 0x0b00
    88  	ClassProcessor486     = 0x0b01
    89  	ClassProcessorPentium = 0x0b02
    90  	ClassProcessorALPHA   = 0x0b10
    91  	ClassProcessorPOWERPC = 0x0b20
    92  	ClassProcessorMIPS    = 0x0b30
    93  	ClassProcessorCO      = 0x0b40
    94  
    95  	ClassSerial           = 0x0c
    96  	ClassSerialFirewire   = 0x0c00
    97  	ClassSerialAccess     = 0x0c01
    98  	ClassSerialSSA        = 0x0c02
    99  	ClassSerialUSB        = 0x0c03
   100  	ClassSerialFIBER      = 0x0c04
   101  	ClassSerialSMBUS      = 0x0c05
   102  	ClassSerialINFINIBAND = 0x0c06
   103  
   104  	ClassWireless           = 0x0d
   105  	ClassWirelessIRDA       = 0x0d00
   106  	ClassWirelessCONSUMERIR = 0x0d01
   107  	ClassWirelessRF         = 0x0d10
   108  	ClassWirelessOther      = 0x0d80
   109  
   110  	ClassSatellite      = 0x0f
   111  	ClassSatelliteTV    = 0x0f00
   112  	ClassSatelliteAudio = 0x0f01
   113  	ClassSatelliteVoice = 0x0f03
   114  	ClassSatelliteData  = 0x0f04
   115  
   116  	ClassCrypt              = 0x10
   117  	ClassCryptNetwork       = 0x1000
   118  	ClassCryptEntertainment = 0x1010
   119  	ClassCryptOther         = 0x1080
   120  
   121  	ClassSignal             = 0x11
   122  	ClassSignalDPIO         = 0x1100
   123  	ClassSignalPERFCTR      = 0x1101
   124  	ClassSignalSynchronizer = 0x1110
   125  	ClassSignalOther        = 0x1180
   126  
   127  	ClassOthers = 0xff
   128  )
   129  
   130  // ClassNames maps class names from PCI sysfs to a name.
   131  var ClassNames = map[uint32]string{
   132  	0x000000: "NotDefined",
   133  	0x000100: "NotDefinedVGA",
   134  
   135  	0x01:     "Storage",
   136  	0x010000: "StorageSCSI",
   137  	0x010100: "StorageIDE",
   138  	0x010200: "StorageFLOPPY",
   139  	0x010300: "StorageIPI",
   140  	0x010400: "StorageRAID",
   141  	0x010500: "StorageATA",
   142  	0x010600: "StorageSATA",
   143  	0x010700: "StorageSAS",
   144  	0x018000: "StorageOther",
   145  
   146  	0x02:     "Network",
   147  	0x020000: "NetworkEthernet",
   148  	0x028000: "NetworkOther",
   149  
   150  	0x03:     "Display",
   151  	0x030000: "DisplayVGA",
   152  	0x030100: "DisplayXGA",
   153  	0x030200: "Display3D",
   154  	0x038000: "DisplayOther",
   155  
   156  	0x04:     "Multimedia",
   157  	0x040000: "MultimediaVideo",
   158  	0x040100: "MultimediaAudio",
   159  	0x040200: "MultimediaPhone",
   160  	0x040300: "MultimediaAudioDev",
   161  	0x048000: "MultimediaOther",
   162  
   163  	0x05:     "Memory",
   164  	0x050000: "MemoryRAM",
   165  	0x050100: "MemoryFLASH",
   166  	0x058000: "MemoryOther",
   167  
   168  	0x06:     "Bridge",
   169  	0x060000: "BridgeHost",
   170  	0x060100: "BridgeISA",
   171  	0x060200: "BridgeEISA",
   172  	0x060300: "BridgeMC",
   173  	0x060400: "BridgePCI",
   174  	0x060500: "BridgePCMCIA",
   175  	0x060600: "BridgeNUBUS",
   176  	0x060700: "BridgeCARDBUS",
   177  	0x060800: "BridgeRACEWAY",
   178  	0x060900: "BridgePCISemi",
   179  	0x060a00: "BridgeIBToPCI",
   180  	0x068000: "BridgeOther",
   181  
   182  	0x07:     "Communication",
   183  	0x070000: "CommunicationSerial",
   184  	0x070100: "CommunicationParallel",
   185  	0x070200: "CommunicationMSerial",
   186  	0x070300: "CommunicationModem",
   187  	0x078000: "CommunicationOther",
   188  
   189  	0x08:     "System",
   190  	0x080000: "SystemPIC",
   191  	0x080100: "SystemDMA",
   192  	0x080200: "SystemTimer",
   193  	0x080300: "SystemRTC",
   194  	0x080400: "SystemPCIHotplug",
   195  	0x088000: "SystemOther",
   196  
   197  	0x09:     "Input",
   198  	0x090000: "InputKeyboard",
   199  	0x090100: "InputPen",
   200  	0x090200: "InputMouse",
   201  	0x090300: "InputScanner",
   202  	0x090400: "InputGameport",
   203  	0x098000: "InputOther",
   204  
   205  	0x0a:     "Docking",
   206  	0x0a0000: "DockingGeneric",
   207  	0x0a8000: "DockingOther",
   208  
   209  	0x0b:     "Processor",
   210  	0x0b0000: "Processor386",
   211  	0x0b0100: "Processor486",
   212  	0x0b0200: "ProcessorPentium",
   213  	0x0b1000: "ProcessorALPHA",
   214  	0x0b2000: "ProcessorPOWERPC",
   215  	0x0b3000: "ProcessorMIPS",
   216  	0x0b4000: "ProcessorCO",
   217  
   218  	0x0c:     "Serial",
   219  	0x0c0000: "SerialFirewire",
   220  	0x0c0100: "SerialAccess",
   221  	0x0c0200: "SerialSSA",
   222  	0x0c0300: "SerialUSB",
   223  	0x0c0400: "SerialFIBER",
   224  	0x0c0500: "SerialSMBUS",
   225  	0x0c0600: "SerialINFINIBAND",
   226  
   227  	0x0d:     "Wireless",
   228  	0x0d0000: "WirelessIRDA",
   229  	0x0d0100: "WirelessCONSUMERIR",
   230  	0x0d1000: "WirelessRF",
   231  	0x0d8000: "WirelessOther",
   232  
   233  	0x0f:     "Satellite",
   234  	0x0f0000: "SatelliteTV",
   235  	0x0f0100: "SatelliteAudio",
   236  	0x0f0300: "SatelliteVoice",
   237  	0x0f0400: "SatelliteData",
   238  
   239  	0x10:     "Crypt",
   240  	0x100000: "CryptNetwork",
   241  	0x101000: "CryptEntertainment",
   242  	0x108000: "CryptOther",
   243  
   244  	0x11:     "Signal",
   245  	0x110000: "SignalDPIO",
   246  	0x110100: "SignalPERFCTR",
   247  	0x111000: "SignalSynchronizer",
   248  	0x118000: "SignalOther",
   249  
   250  	0xff: "Others",
   251  }