Home | History | Annotate | Line # | Download | only in utilities
utresdecode.c revision 1.1.1.7
      1 /*******************************************************************************
      2  *
      3  * Module Name: utresdecode - Resource descriptor keyword strings
      4  *
      5  ******************************************************************************/
      6 
      7 /*
      8  * Copyright (C) 2000 - 2023, Intel Corp.
      9  * All rights reserved.
     10  *
     11  * Redistribution and use in source and binary forms, with or without
     12  * modification, are permitted provided that the following conditions
     13  * are met:
     14  * 1. Redistributions of source code must retain the above copyright
     15  *    notice, this list of conditions, and the following disclaimer,
     16  *    without modification.
     17  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
     18  *    substantially similar to the "NO WARRANTY" disclaimer below
     19  *    ("Disclaimer") and any redistribution must be conditioned upon
     20  *    including a substantially similar Disclaimer requirement for further
     21  *    binary redistribution.
     22  * 3. Neither the names of the above-listed copyright holders nor the names
     23  *    of any contributors may be used to endorse or promote products derived
     24  *    from this software without specific prior written permission.
     25  *
     26  * Alternatively, this software may be distributed under the terms of the
     27  * GNU General Public License ("GPL") version 2 as published by the Free
     28  * Software Foundation.
     29  *
     30  * NO WARRANTY
     31  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     32  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     33  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     34  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     35  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     36  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     37  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     38  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     39  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
     40  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     41  * POSSIBILITY OF SUCH DAMAGES.
     42  */
     43 
     44 #include "acpi.h"
     45 #include "accommon.h"
     46 #include "acresrc.h"
     47 
     48 
     49 #define _COMPONENT          ACPI_UTILITIES
     50         ACPI_MODULE_NAME    ("utresdecode")
     51 
     52 
     53 #if defined (ACPI_DEBUG_OUTPUT) || \
     54     defined (ACPI_DISASSEMBLER) || \
     55     defined (ACPI_DEBUGGER)
     56 
     57 /*
     58  * Strings used to decode resource descriptors.
     59  * Used by both the disassembler and the debugger resource dump routines
     60  */
     61 const char                      *AcpiGbl_BmDecode[] =
     62 {
     63     "NotBusMaster",
     64     "BusMaster"
     65 };
     66 
     67 const char                      *AcpiGbl_ConfigDecode[] =
     68 {
     69     "0 - Good Configuration",
     70     "1 - Acceptable Configuration",
     71     "2 - Suboptimal Configuration",
     72     "3 - ***Invalid Configuration***",
     73 };
     74 
     75 const char                      *AcpiGbl_ConsumeDecode[] =
     76 {
     77     "ResourceProducer",
     78     "ResourceConsumer"
     79 };
     80 
     81 const char                      *AcpiGbl_DecDecode[] =
     82 {
     83     "PosDecode",
     84     "SubDecode"
     85 };
     86 
     87 const char                      *AcpiGbl_HeDecode[] =
     88 {
     89     "Level",
     90     "Edge"
     91 };
     92 
     93 const char                      *AcpiGbl_IoDecode[] =
     94 {
     95     "Decode10",
     96     "Decode16"
     97 };
     98 
     99 const char                      *AcpiGbl_LlDecode[] =
    100 {
    101     "ActiveHigh",
    102     "ActiveLow",
    103     "ActiveBoth",
    104     "Reserved"
    105 };
    106 
    107 const char                      *AcpiGbl_MaxDecode[] =
    108 {
    109     "MaxNotFixed",
    110     "MaxFixed"
    111 };
    112 
    113 const char                      *AcpiGbl_MemDecode[] =
    114 {
    115     "NonCacheable",
    116     "Cacheable",
    117     "WriteCombining",
    118     "Prefetchable"
    119 };
    120 
    121 const char                      *AcpiGbl_MinDecode[] =
    122 {
    123     "MinNotFixed",
    124     "MinFixed"
    125 };
    126 
    127 const char                      *AcpiGbl_MtpDecode[] =
    128 {
    129     "AddressRangeMemory",
    130     "AddressRangeReserved",
    131     "AddressRangeACPI",
    132     "AddressRangeNVS"
    133 };
    134 
    135 const char                      *AcpiGbl_PhyDecode[] =
    136 {
    137     "Type C",
    138     "Type D",
    139     "Unknown Type",
    140     "Unknown Type"
    141 };
    142 
    143 const char                      *AcpiGbl_RngDecode[] =
    144 {
    145     "InvalidRanges",
    146     "NonISAOnlyRanges",
    147     "ISAOnlyRanges",
    148     "EntireRange"
    149 };
    150 
    151 const char                      *AcpiGbl_RwDecode[] =
    152 {
    153     "ReadOnly",
    154     "ReadWrite"
    155 };
    156 
    157 const char                      *AcpiGbl_ShrDecode[] =
    158 {
    159     "Exclusive",
    160     "Shared",
    161     "ExclusiveAndWake",         /* ACPI 5.0 */
    162     "SharedAndWake"             /* ACPI 5.0 */
    163 };
    164 
    165 const char                      *AcpiGbl_SizDecode[] =
    166 {
    167     "Transfer8",
    168     "Transfer8_16",
    169     "Transfer16",
    170     "InvalidSize"
    171 };
    172 
    173 const char                      *AcpiGbl_TrsDecode[] =
    174 {
    175     "DenseTranslation",
    176     "SparseTranslation"
    177 };
    178 
    179 const char                      *AcpiGbl_TtpDecode[] =
    180 {
    181     "TypeStatic",
    182     "TypeTranslation"
    183 };
    184 
    185 const char                      *AcpiGbl_TypDecode[] =
    186 {
    187     "Compatibility",
    188     "TypeA",
    189     "TypeB",
    190     "TypeF"
    191 };
    192 
    193 const char                      *AcpiGbl_PpcDecode[] =
    194 {
    195     "PullDefault",
    196     "PullUp",
    197     "PullDown",
    198     "PullNone"
    199 };
    200 
    201 const char                      *AcpiGbl_IorDecode[] =
    202 {
    203     "IoRestrictionNone",
    204     "IoRestrictionInputOnly",
    205     "IoRestrictionOutputOnly",
    206     "IoRestrictionNoneAndPreserve"
    207 };
    208 
    209 const char                      *AcpiGbl_DtsDecode[] =
    210 {
    211     "Width8bit",
    212     "Width16bit",
    213     "Width32bit",
    214     "Width64bit",
    215     "Width128bit",
    216     "Width256bit",
    217 };
    218 
    219 /* GPIO connection type */
    220 
    221 const char                      *AcpiGbl_CtDecode[] =
    222 {
    223     "Interrupt",
    224     "I/O"
    225 };
    226 
    227 /* Serial bus type */
    228 
    229 const char                      *AcpiGbl_SbtDecode[] =
    230 {
    231     "/* UNKNOWN serial bus type */",
    232     "I2C",
    233     "SPI",
    234     "UART",
    235     "CSI2"
    236 };
    237 
    238 /* I2C serial bus access mode */
    239 
    240 const char                      *AcpiGbl_AmDecode[] =
    241 {
    242     "AddressingMode7Bit",
    243     "AddressingMode10Bit"
    244 };
    245 
    246 /* I2C serial bus slave mode */
    247 
    248 const char                      *AcpiGbl_SmDecode[] =
    249 {
    250     "ControllerInitiated",
    251     "DeviceInitiated"
    252 };
    253 
    254 /* SPI serial bus wire mode */
    255 
    256 const char                      *AcpiGbl_WmDecode[] =
    257 {
    258     "FourWireMode",
    259     "ThreeWireMode"
    260 };
    261 
    262 /* SPI serial clock phase */
    263 
    264 const char                      *AcpiGbl_CphDecode[] =
    265 {
    266     "ClockPhaseFirst",
    267     "ClockPhaseSecond"
    268 };
    269 
    270 /* SPI serial bus clock polarity */
    271 
    272 const char                      *AcpiGbl_CpoDecode[] =
    273 {
    274     "ClockPolarityLow",
    275     "ClockPolarityHigh"
    276 };
    277 
    278 /* SPI serial bus device polarity */
    279 
    280 const char                      *AcpiGbl_DpDecode[] =
    281 {
    282     "PolarityLow",
    283     "PolarityHigh"
    284 };
    285 
    286 /* UART serial bus endian */
    287 
    288 const char                      *AcpiGbl_EdDecode[] =
    289 {
    290     "LittleEndian",
    291     "BigEndian"
    292 };
    293 
    294 /* UART serial bus bits per byte */
    295 
    296 const char                      *AcpiGbl_BpbDecode[] =
    297 {
    298     "DataBitsFive",
    299     "DataBitsSix",
    300     "DataBitsSeven",
    301     "DataBitsEight",
    302     "DataBitsNine",
    303     "/* UNKNOWN Bits per byte */",
    304     "/* UNKNOWN Bits per byte */",
    305     "/* UNKNOWN Bits per byte */"
    306 };
    307 
    308 /* UART serial bus stop bits */
    309 
    310 const char                      *AcpiGbl_SbDecode[] =
    311 {
    312     "StopBitsZero",
    313     "StopBitsOne",
    314     "StopBitsOnePlusHalf",
    315     "StopBitsTwo"
    316 };
    317 
    318 /* UART serial bus flow control */
    319 
    320 const char                      *AcpiGbl_FcDecode[] =
    321 {
    322     "FlowControlNone",
    323     "FlowControlHardware",
    324     "FlowControlXON",
    325     "/* UNKNOWN flow control keyword */"
    326 };
    327 
    328 /* UART serial bus parity type */
    329 
    330 const char                      *AcpiGbl_PtDecode[] =
    331 {
    332     "ParityTypeNone",
    333     "ParityTypeEven",
    334     "ParityTypeOdd",
    335     "ParityTypeMark",
    336     "ParityTypeSpace",
    337     "/* UNKNOWN parity keyword */",
    338     "/* UNKNOWN parity keyword */",
    339     "/* UNKNOWN parity keyword */"
    340 };
    341 
    342 /* PinConfig type */
    343 
    344 const char                      *AcpiGbl_PtypDecode[] =
    345 {
    346     "Default",
    347     "Bias Pull-up",
    348     "Bias Pull-down",
    349     "Bias Default",
    350     "Bias Disable",
    351     "Bias High Impedance",
    352     "Bias Bus Hold",
    353     "Drive Open Drain",
    354     "Drive Open Source",
    355     "Drive Push Pull",
    356     "Drive Strength",
    357     "Slew Rate",
    358     "Input Debounce",
    359     "Input Schmitt Trigger",
    360 };
    361 
    362 const char                      *AcpiGbl_ClockInputMode[] =
    363 {
    364     "Fixed",
    365     "Variable",
    366 };
    367 
    368 const char                      *AcpiGbl_ClockInputScale[] =
    369 {
    370     "Hz",
    371     "KHz",
    372     "MHz",
    373 };
    374 
    375 #endif
    376