xref: /netbsd-src/sys/external/bsd/acpica/dist/utilities/utresdecode.c (revision 046a29855e04359424fd074e8313af6b6be8cfb6)
189b8eb6cSchristos /*******************************************************************************
289b8eb6cSchristos  *
389b8eb6cSchristos  * Module Name: utresdecode - Resource descriptor keyword strings
489b8eb6cSchristos  *
589b8eb6cSchristos  ******************************************************************************/
689b8eb6cSchristos 
789b8eb6cSchristos /*
8*046a2985Schristos  * Copyright (C) 2000 - 2023, Intel Corp.
989b8eb6cSchristos  * All rights reserved.
1089b8eb6cSchristos  *
1189b8eb6cSchristos  * Redistribution and use in source and binary forms, with or without
1289b8eb6cSchristos  * modification, are permitted provided that the following conditions
1389b8eb6cSchristos  * are met:
1489b8eb6cSchristos  * 1. Redistributions of source code must retain the above copyright
1589b8eb6cSchristos  *    notice, this list of conditions, and the following disclaimer,
1689b8eb6cSchristos  *    without modification.
1789b8eb6cSchristos  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
1889b8eb6cSchristos  *    substantially similar to the "NO WARRANTY" disclaimer below
1989b8eb6cSchristos  *    ("Disclaimer") and any redistribution must be conditioned upon
2089b8eb6cSchristos  *    including a substantially similar Disclaimer requirement for further
2189b8eb6cSchristos  *    binary redistribution.
2289b8eb6cSchristos  * 3. Neither the names of the above-listed copyright holders nor the names
2389b8eb6cSchristos  *    of any contributors may be used to endorse or promote products derived
2489b8eb6cSchristos  *    from this software without specific prior written permission.
2589b8eb6cSchristos  *
2689b8eb6cSchristos  * Alternatively, this software may be distributed under the terms of the
2789b8eb6cSchristos  * GNU General Public License ("GPL") version 2 as published by the Free
2889b8eb6cSchristos  * Software Foundation.
2989b8eb6cSchristos  *
3089b8eb6cSchristos  * NO WARRANTY
3189b8eb6cSchristos  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
3289b8eb6cSchristos  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
3346a330b4Schristos  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
3489b8eb6cSchristos  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
3589b8eb6cSchristos  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
3689b8eb6cSchristos  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
3789b8eb6cSchristos  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
3889b8eb6cSchristos  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
3989b8eb6cSchristos  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
4089b8eb6cSchristos  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
4189b8eb6cSchristos  * POSSIBILITY OF SUCH DAMAGES.
4289b8eb6cSchristos  */
4389b8eb6cSchristos 
4489b8eb6cSchristos #include "acpi.h"
4589b8eb6cSchristos #include "accommon.h"
4689b8eb6cSchristos #include "acresrc.h"
4789b8eb6cSchristos 
4889b8eb6cSchristos 
4989b8eb6cSchristos #define _COMPONENT          ACPI_UTILITIES
5089b8eb6cSchristos         ACPI_MODULE_NAME    ("utresdecode")
5189b8eb6cSchristos 
5289b8eb6cSchristos 
5389b8eb6cSchristos #if defined (ACPI_DEBUG_OUTPUT) || \
5489b8eb6cSchristos     defined (ACPI_DISASSEMBLER) || \
5589b8eb6cSchristos     defined (ACPI_DEBUGGER)
5689b8eb6cSchristos 
5789b8eb6cSchristos /*
5889b8eb6cSchristos  * Strings used to decode resource descriptors.
5989b8eb6cSchristos  * Used by both the disassembler and the debugger resource dump routines
6089b8eb6cSchristos  */
6189b8eb6cSchristos const char                      *AcpiGbl_BmDecode[] =
6289b8eb6cSchristos {
6389b8eb6cSchristos     "NotBusMaster",
6489b8eb6cSchristos     "BusMaster"
6589b8eb6cSchristos };
6689b8eb6cSchristos 
6789b8eb6cSchristos const char                      *AcpiGbl_ConfigDecode[] =
6889b8eb6cSchristos {
6989b8eb6cSchristos     "0 - Good Configuration",
7089b8eb6cSchristos     "1 - Acceptable Configuration",
7189b8eb6cSchristos     "2 - Suboptimal Configuration",
7289b8eb6cSchristos     "3 - ***Invalid Configuration***",
7389b8eb6cSchristos };
7489b8eb6cSchristos 
7589b8eb6cSchristos const char                      *AcpiGbl_ConsumeDecode[] =
7689b8eb6cSchristos {
7789b8eb6cSchristos     "ResourceProducer",
7889b8eb6cSchristos     "ResourceConsumer"
7989b8eb6cSchristos };
8089b8eb6cSchristos 
8189b8eb6cSchristos const char                      *AcpiGbl_DecDecode[] =
8289b8eb6cSchristos {
8389b8eb6cSchristos     "PosDecode",
8489b8eb6cSchristos     "SubDecode"
8589b8eb6cSchristos };
8689b8eb6cSchristos 
8789b8eb6cSchristos const char                      *AcpiGbl_HeDecode[] =
8889b8eb6cSchristos {
8989b8eb6cSchristos     "Level",
9089b8eb6cSchristos     "Edge"
9189b8eb6cSchristos };
9289b8eb6cSchristos 
9389b8eb6cSchristos const char                      *AcpiGbl_IoDecode[] =
9489b8eb6cSchristos {
9589b8eb6cSchristos     "Decode10",
9689b8eb6cSchristos     "Decode16"
9789b8eb6cSchristos };
9889b8eb6cSchristos 
9989b8eb6cSchristos const char                      *AcpiGbl_LlDecode[] =
10089b8eb6cSchristos {
10189b8eb6cSchristos     "ActiveHigh",
10289b8eb6cSchristos     "ActiveLow",
10389b8eb6cSchristos     "ActiveBoth",
10489b8eb6cSchristos     "Reserved"
10589b8eb6cSchristos };
10689b8eb6cSchristos 
10789b8eb6cSchristos const char                      *AcpiGbl_MaxDecode[] =
10889b8eb6cSchristos {
10989b8eb6cSchristos     "MaxNotFixed",
11089b8eb6cSchristos     "MaxFixed"
11189b8eb6cSchristos };
11289b8eb6cSchristos 
11389b8eb6cSchristos const char                      *AcpiGbl_MemDecode[] =
11489b8eb6cSchristos {
11589b8eb6cSchristos     "NonCacheable",
11689b8eb6cSchristos     "Cacheable",
11789b8eb6cSchristos     "WriteCombining",
11889b8eb6cSchristos     "Prefetchable"
11989b8eb6cSchristos };
12089b8eb6cSchristos 
12189b8eb6cSchristos const char                      *AcpiGbl_MinDecode[] =
12289b8eb6cSchristos {
12389b8eb6cSchristos     "MinNotFixed",
12489b8eb6cSchristos     "MinFixed"
12589b8eb6cSchristos };
12689b8eb6cSchristos 
12789b8eb6cSchristos const char                      *AcpiGbl_MtpDecode[] =
12889b8eb6cSchristos {
12989b8eb6cSchristos     "AddressRangeMemory",
13089b8eb6cSchristos     "AddressRangeReserved",
13189b8eb6cSchristos     "AddressRangeACPI",
13289b8eb6cSchristos     "AddressRangeNVS"
13389b8eb6cSchristos };
13489b8eb6cSchristos 
13546a330b4Schristos const char                      *AcpiGbl_PhyDecode[] =
13646a330b4Schristos {
13746a330b4Schristos     "Type C",
13846a330b4Schristos     "Type D",
13946a330b4Schristos     "Unknown Type",
14046a330b4Schristos     "Unknown Type"
14146a330b4Schristos };
14246a330b4Schristos 
14389b8eb6cSchristos const char                      *AcpiGbl_RngDecode[] =
14489b8eb6cSchristos {
14589b8eb6cSchristos     "InvalidRanges",
14689b8eb6cSchristos     "NonISAOnlyRanges",
14789b8eb6cSchristos     "ISAOnlyRanges",
14889b8eb6cSchristos     "EntireRange"
14989b8eb6cSchristos };
15089b8eb6cSchristos 
15189b8eb6cSchristos const char                      *AcpiGbl_RwDecode[] =
15289b8eb6cSchristos {
15389b8eb6cSchristos     "ReadOnly",
15489b8eb6cSchristos     "ReadWrite"
15589b8eb6cSchristos };
15689b8eb6cSchristos 
15789b8eb6cSchristos const char                      *AcpiGbl_ShrDecode[] =
15889b8eb6cSchristos {
15989b8eb6cSchristos     "Exclusive",
16089b8eb6cSchristos     "Shared",
16189b8eb6cSchristos     "ExclusiveAndWake",         /* ACPI 5.0 */
16289b8eb6cSchristos     "SharedAndWake"             /* ACPI 5.0 */
16389b8eb6cSchristos };
16489b8eb6cSchristos 
16589b8eb6cSchristos const char                      *AcpiGbl_SizDecode[] =
16689b8eb6cSchristos {
16789b8eb6cSchristos     "Transfer8",
16889b8eb6cSchristos     "Transfer8_16",
16989b8eb6cSchristos     "Transfer16",
17089b8eb6cSchristos     "InvalidSize"
17189b8eb6cSchristos };
17289b8eb6cSchristos 
17389b8eb6cSchristos const char                      *AcpiGbl_TrsDecode[] =
17489b8eb6cSchristos {
17589b8eb6cSchristos     "DenseTranslation",
17689b8eb6cSchristos     "SparseTranslation"
17789b8eb6cSchristos };
17889b8eb6cSchristos 
17989b8eb6cSchristos const char                      *AcpiGbl_TtpDecode[] =
18089b8eb6cSchristos {
18189b8eb6cSchristos     "TypeStatic",
18289b8eb6cSchristos     "TypeTranslation"
18389b8eb6cSchristos };
18489b8eb6cSchristos 
18589b8eb6cSchristos const char                      *AcpiGbl_TypDecode[] =
18689b8eb6cSchristos {
18789b8eb6cSchristos     "Compatibility",
18889b8eb6cSchristos     "TypeA",
18989b8eb6cSchristos     "TypeB",
19089b8eb6cSchristos     "TypeF"
19189b8eb6cSchristos };
19289b8eb6cSchristos 
19389b8eb6cSchristos const char                      *AcpiGbl_PpcDecode[] =
19489b8eb6cSchristos {
19589b8eb6cSchristos     "PullDefault",
19689b8eb6cSchristos     "PullUp",
19789b8eb6cSchristos     "PullDown",
19889b8eb6cSchristos     "PullNone"
19989b8eb6cSchristos };
20089b8eb6cSchristos 
20189b8eb6cSchristos const char                      *AcpiGbl_IorDecode[] =
20289b8eb6cSchristos {
20389b8eb6cSchristos     "IoRestrictionNone",
20489b8eb6cSchristos     "IoRestrictionInputOnly",
20589b8eb6cSchristos     "IoRestrictionOutputOnly",
20689b8eb6cSchristos     "IoRestrictionNoneAndPreserve"
20789b8eb6cSchristos };
20889b8eb6cSchristos 
20989b8eb6cSchristos const char                      *AcpiGbl_DtsDecode[] =
21089b8eb6cSchristos {
21189b8eb6cSchristos     "Width8bit",
21289b8eb6cSchristos     "Width16bit",
21389b8eb6cSchristos     "Width32bit",
21489b8eb6cSchristos     "Width64bit",
21589b8eb6cSchristos     "Width128bit",
21689b8eb6cSchristos     "Width256bit",
21789b8eb6cSchristos };
21889b8eb6cSchristos 
21989b8eb6cSchristos /* GPIO connection type */
22089b8eb6cSchristos 
22189b8eb6cSchristos const char                      *AcpiGbl_CtDecode[] =
22289b8eb6cSchristos {
22389b8eb6cSchristos     "Interrupt",
22489b8eb6cSchristos     "I/O"
22589b8eb6cSchristos };
22689b8eb6cSchristos 
22789b8eb6cSchristos /* Serial bus type */
22889b8eb6cSchristos 
22989b8eb6cSchristos const char                      *AcpiGbl_SbtDecode[] =
23089b8eb6cSchristos {
23189b8eb6cSchristos     "/* UNKNOWN serial bus type */",
23289b8eb6cSchristos     "I2C",
23389b8eb6cSchristos     "SPI",
23446a330b4Schristos     "UART",
23546a330b4Schristos     "CSI2"
23689b8eb6cSchristos };
23789b8eb6cSchristos 
23889b8eb6cSchristos /* I2C serial bus access mode */
23989b8eb6cSchristos 
24089b8eb6cSchristos const char                      *AcpiGbl_AmDecode[] =
24189b8eb6cSchristos {
24289b8eb6cSchristos     "AddressingMode7Bit",
24389b8eb6cSchristos     "AddressingMode10Bit"
24489b8eb6cSchristos };
24589b8eb6cSchristos 
24689b8eb6cSchristos /* I2C serial bus slave mode */
24789b8eb6cSchristos 
24889b8eb6cSchristos const char                      *AcpiGbl_SmDecode[] =
24989b8eb6cSchristos {
25089b8eb6cSchristos     "ControllerInitiated",
25189b8eb6cSchristos     "DeviceInitiated"
25289b8eb6cSchristos };
25389b8eb6cSchristos 
25489b8eb6cSchristos /* SPI serial bus wire mode */
25589b8eb6cSchristos 
25689b8eb6cSchristos const char                      *AcpiGbl_WmDecode[] =
25789b8eb6cSchristos {
25889b8eb6cSchristos     "FourWireMode",
25989b8eb6cSchristos     "ThreeWireMode"
26089b8eb6cSchristos };
26189b8eb6cSchristos 
26289b8eb6cSchristos /* SPI serial clock phase */
26389b8eb6cSchristos 
26489b8eb6cSchristos const char                      *AcpiGbl_CphDecode[] =
26589b8eb6cSchristos {
26689b8eb6cSchristos     "ClockPhaseFirst",
26789b8eb6cSchristos     "ClockPhaseSecond"
26889b8eb6cSchristos };
26989b8eb6cSchristos 
27089b8eb6cSchristos /* SPI serial bus clock polarity */
27189b8eb6cSchristos 
27289b8eb6cSchristos const char                      *AcpiGbl_CpoDecode[] =
27389b8eb6cSchristos {
27489b8eb6cSchristos     "ClockPolarityLow",
27589b8eb6cSchristos     "ClockPolarityHigh"
27689b8eb6cSchristos };
27789b8eb6cSchristos 
27889b8eb6cSchristos /* SPI serial bus device polarity */
27989b8eb6cSchristos 
28089b8eb6cSchristos const char                      *AcpiGbl_DpDecode[] =
28189b8eb6cSchristos {
28289b8eb6cSchristos     "PolarityLow",
28389b8eb6cSchristos     "PolarityHigh"
28489b8eb6cSchristos };
28589b8eb6cSchristos 
28689b8eb6cSchristos /* UART serial bus endian */
28789b8eb6cSchristos 
28889b8eb6cSchristos const char                      *AcpiGbl_EdDecode[] =
28989b8eb6cSchristos {
29089b8eb6cSchristos     "LittleEndian",
29189b8eb6cSchristos     "BigEndian"
29289b8eb6cSchristos };
29389b8eb6cSchristos 
29489b8eb6cSchristos /* UART serial bus bits per byte */
29589b8eb6cSchristos 
29689b8eb6cSchristos const char                      *AcpiGbl_BpbDecode[] =
29789b8eb6cSchristos {
29889b8eb6cSchristos     "DataBitsFive",
29989b8eb6cSchristos     "DataBitsSix",
30089b8eb6cSchristos     "DataBitsSeven",
30189b8eb6cSchristos     "DataBitsEight",
30289b8eb6cSchristos     "DataBitsNine",
30389b8eb6cSchristos     "/* UNKNOWN Bits per byte */",
30489b8eb6cSchristos     "/* UNKNOWN Bits per byte */",
30589b8eb6cSchristos     "/* UNKNOWN Bits per byte */"
30689b8eb6cSchristos };
30789b8eb6cSchristos 
30889b8eb6cSchristos /* UART serial bus stop bits */
30989b8eb6cSchristos 
31089b8eb6cSchristos const char                      *AcpiGbl_SbDecode[] =
31189b8eb6cSchristos {
31289b8eb6cSchristos     "StopBitsZero",
31389b8eb6cSchristos     "StopBitsOne",
31489b8eb6cSchristos     "StopBitsOnePlusHalf",
31589b8eb6cSchristos     "StopBitsTwo"
31689b8eb6cSchristos };
31789b8eb6cSchristos 
31889b8eb6cSchristos /* UART serial bus flow control */
31989b8eb6cSchristos 
32089b8eb6cSchristos const char                      *AcpiGbl_FcDecode[] =
32189b8eb6cSchristos {
32289b8eb6cSchristos     "FlowControlNone",
32389b8eb6cSchristos     "FlowControlHardware",
32489b8eb6cSchristos     "FlowControlXON",
32589b8eb6cSchristos     "/* UNKNOWN flow control keyword */"
32689b8eb6cSchristos };
32789b8eb6cSchristos 
32889b8eb6cSchristos /* UART serial bus parity type */
32989b8eb6cSchristos 
33089b8eb6cSchristos const char                      *AcpiGbl_PtDecode[] =
33189b8eb6cSchristos {
33289b8eb6cSchristos     "ParityTypeNone",
33389b8eb6cSchristos     "ParityTypeEven",
33489b8eb6cSchristos     "ParityTypeOdd",
33589b8eb6cSchristos     "ParityTypeMark",
33689b8eb6cSchristos     "ParityTypeSpace",
33789b8eb6cSchristos     "/* UNKNOWN parity keyword */",
33889b8eb6cSchristos     "/* UNKNOWN parity keyword */",
33989b8eb6cSchristos     "/* UNKNOWN parity keyword */"
34089b8eb6cSchristos };
34189b8eb6cSchristos 
34289b8eb6cSchristos /* PinConfig type */
34389b8eb6cSchristos 
34489b8eb6cSchristos const char                      *AcpiGbl_PtypDecode[] =
34589b8eb6cSchristos {
34689b8eb6cSchristos     "Default",
34789b8eb6cSchristos     "Bias Pull-up",
34889b8eb6cSchristos     "Bias Pull-down",
34989b8eb6cSchristos     "Bias Default",
35089b8eb6cSchristos     "Bias Disable",
35189b8eb6cSchristos     "Bias High Impedance",
35289b8eb6cSchristos     "Bias Bus Hold",
35389b8eb6cSchristos     "Drive Open Drain",
35489b8eb6cSchristos     "Drive Open Source",
35589b8eb6cSchristos     "Drive Push Pull",
35689b8eb6cSchristos     "Drive Strength",
35789b8eb6cSchristos     "Slew Rate",
35889b8eb6cSchristos     "Input Debounce",
35989b8eb6cSchristos     "Input Schmitt Trigger",
36089b8eb6cSchristos };
36189b8eb6cSchristos 
362*046a2985Schristos const char                      *AcpiGbl_ClockInputMode[] =
363*046a2985Schristos {
364*046a2985Schristos     "Fixed",
365*046a2985Schristos     "Variable",
366*046a2985Schristos };
367*046a2985Schristos 
368*046a2985Schristos const char                      *AcpiGbl_ClockInputScale[] =
369*046a2985Schristos {
370*046a2985Schristos     "Hz",
371*046a2985Schristos     "KHz",
372*046a2985Schristos     "MHz",
373*046a2985Schristos };
374*046a2985Schristos 
37589b8eb6cSchristos #endif
376