162306a36Sopenharmony_ci// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 262306a36Sopenharmony_ci/******************************************************************************* 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Module Name: utresdecode - Resource descriptor keyword strings 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci ******************************************************************************/ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include <acpi/acpi.h> 962306a36Sopenharmony_ci#include "accommon.h" 1062306a36Sopenharmony_ci#include "acresrc.h" 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#define _COMPONENT ACPI_UTILITIES 1362306a36Sopenharmony_ciACPI_MODULE_NAME("utresdecode") 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#if defined (ACPI_DEBUG_OUTPUT) || \ 1662306a36Sopenharmony_ci defined (ACPI_DISASSEMBLER) || \ 1762306a36Sopenharmony_ci defined (ACPI_DEBUGGER) 1862306a36Sopenharmony_ci/* 1962306a36Sopenharmony_ci * Strings used to decode resource descriptors. 2062306a36Sopenharmony_ci * Used by both the disassembler and the debugger resource dump routines 2162306a36Sopenharmony_ci */ 2262306a36Sopenharmony_ciconst char *acpi_gbl_bm_decode[] = { 2362306a36Sopenharmony_ci "NotBusMaster", 2462306a36Sopenharmony_ci "BusMaster" 2562306a36Sopenharmony_ci}; 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ciconst char *acpi_gbl_config_decode[] = { 2862306a36Sopenharmony_ci "0 - Good Configuration", 2962306a36Sopenharmony_ci "1 - Acceptable Configuration", 3062306a36Sopenharmony_ci "2 - Suboptimal Configuration", 3162306a36Sopenharmony_ci "3 - ***Invalid Configuration***", 3262306a36Sopenharmony_ci}; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ciconst char *acpi_gbl_consume_decode[] = { 3562306a36Sopenharmony_ci "ResourceProducer", 3662306a36Sopenharmony_ci "ResourceConsumer" 3762306a36Sopenharmony_ci}; 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciconst char *acpi_gbl_dec_decode[] = { 4062306a36Sopenharmony_ci "PosDecode", 4162306a36Sopenharmony_ci "SubDecode" 4262306a36Sopenharmony_ci}; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ciconst char *acpi_gbl_he_decode[] = { 4562306a36Sopenharmony_ci "Level", 4662306a36Sopenharmony_ci "Edge" 4762306a36Sopenharmony_ci}; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciconst char *acpi_gbl_io_decode[] = { 5062306a36Sopenharmony_ci "Decode10", 5162306a36Sopenharmony_ci "Decode16" 5262306a36Sopenharmony_ci}; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciconst char *acpi_gbl_ll_decode[] = { 5562306a36Sopenharmony_ci "ActiveHigh", 5662306a36Sopenharmony_ci "ActiveLow", 5762306a36Sopenharmony_ci "ActiveBoth", 5862306a36Sopenharmony_ci "Reserved" 5962306a36Sopenharmony_ci}; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ciconst char *acpi_gbl_max_decode[] = { 6262306a36Sopenharmony_ci "MaxNotFixed", 6362306a36Sopenharmony_ci "MaxFixed" 6462306a36Sopenharmony_ci}; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ciconst char *acpi_gbl_mem_decode[] = { 6762306a36Sopenharmony_ci "NonCacheable", 6862306a36Sopenharmony_ci "Cacheable", 6962306a36Sopenharmony_ci "WriteCombining", 7062306a36Sopenharmony_ci "Prefetchable" 7162306a36Sopenharmony_ci}; 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ciconst char *acpi_gbl_min_decode[] = { 7462306a36Sopenharmony_ci "MinNotFixed", 7562306a36Sopenharmony_ci "MinFixed" 7662306a36Sopenharmony_ci}; 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ciconst char *acpi_gbl_mtp_decode[] = { 7962306a36Sopenharmony_ci "AddressRangeMemory", 8062306a36Sopenharmony_ci "AddressRangeReserved", 8162306a36Sopenharmony_ci "AddressRangeACPI", 8262306a36Sopenharmony_ci "AddressRangeNVS" 8362306a36Sopenharmony_ci}; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ciconst char *acpi_gbl_phy_decode[] = { 8662306a36Sopenharmony_ci "Type C", 8762306a36Sopenharmony_ci "Type D", 8862306a36Sopenharmony_ci "Unknown Type", 8962306a36Sopenharmony_ci "Unknown Type" 9062306a36Sopenharmony_ci}; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ciconst char *acpi_gbl_rng_decode[] = { 9362306a36Sopenharmony_ci "InvalidRanges", 9462306a36Sopenharmony_ci "NonISAOnlyRanges", 9562306a36Sopenharmony_ci "ISAOnlyRanges", 9662306a36Sopenharmony_ci "EntireRange" 9762306a36Sopenharmony_ci}; 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ciconst char *acpi_gbl_rw_decode[] = { 10062306a36Sopenharmony_ci "ReadOnly", 10162306a36Sopenharmony_ci "ReadWrite" 10262306a36Sopenharmony_ci}; 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ciconst char *acpi_gbl_shr_decode[] = { 10562306a36Sopenharmony_ci "Exclusive", 10662306a36Sopenharmony_ci "Shared", 10762306a36Sopenharmony_ci "ExclusiveAndWake", /* ACPI 5.0 */ 10862306a36Sopenharmony_ci "SharedAndWake" /* ACPI 5.0 */ 10962306a36Sopenharmony_ci}; 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ciconst char *acpi_gbl_siz_decode[] = { 11262306a36Sopenharmony_ci "Transfer8", 11362306a36Sopenharmony_ci "Transfer8_16", 11462306a36Sopenharmony_ci "Transfer16", 11562306a36Sopenharmony_ci "InvalidSize" 11662306a36Sopenharmony_ci}; 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ciconst char *acpi_gbl_trs_decode[] = { 11962306a36Sopenharmony_ci "DenseTranslation", 12062306a36Sopenharmony_ci "SparseTranslation" 12162306a36Sopenharmony_ci}; 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ciconst char *acpi_gbl_ttp_decode[] = { 12462306a36Sopenharmony_ci "TypeStatic", 12562306a36Sopenharmony_ci "TypeTranslation" 12662306a36Sopenharmony_ci}; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ciconst char *acpi_gbl_typ_decode[] = { 12962306a36Sopenharmony_ci "Compatibility", 13062306a36Sopenharmony_ci "TypeA", 13162306a36Sopenharmony_ci "TypeB", 13262306a36Sopenharmony_ci "TypeF" 13362306a36Sopenharmony_ci}; 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ciconst char *acpi_gbl_ppc_decode[] = { 13662306a36Sopenharmony_ci "PullDefault", 13762306a36Sopenharmony_ci "PullUp", 13862306a36Sopenharmony_ci "PullDown", 13962306a36Sopenharmony_ci "PullNone" 14062306a36Sopenharmony_ci}; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ciconst char *acpi_gbl_ior_decode[] = { 14362306a36Sopenharmony_ci "IoRestrictionNone", 14462306a36Sopenharmony_ci "IoRestrictionInputOnly", 14562306a36Sopenharmony_ci "IoRestrictionOutputOnly", 14662306a36Sopenharmony_ci "IoRestrictionNoneAndPreserve" 14762306a36Sopenharmony_ci}; 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ciconst char *acpi_gbl_dts_decode[] = { 15062306a36Sopenharmony_ci "Width8bit", 15162306a36Sopenharmony_ci "Width16bit", 15262306a36Sopenharmony_ci "Width32bit", 15362306a36Sopenharmony_ci "Width64bit", 15462306a36Sopenharmony_ci "Width128bit", 15562306a36Sopenharmony_ci "Width256bit", 15662306a36Sopenharmony_ci}; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci/* GPIO connection type */ 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ciconst char *acpi_gbl_ct_decode[] = { 16162306a36Sopenharmony_ci "Interrupt", 16262306a36Sopenharmony_ci "I/O" 16362306a36Sopenharmony_ci}; 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci/* Serial bus type */ 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ciconst char *acpi_gbl_sbt_decode[] = { 16862306a36Sopenharmony_ci "/* UNKNOWN serial bus type */", 16962306a36Sopenharmony_ci "I2C", 17062306a36Sopenharmony_ci "SPI", 17162306a36Sopenharmony_ci "UART", 17262306a36Sopenharmony_ci "CSI2" 17362306a36Sopenharmony_ci}; 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci/* I2C serial bus access mode */ 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ciconst char *acpi_gbl_am_decode[] = { 17862306a36Sopenharmony_ci "AddressingMode7Bit", 17962306a36Sopenharmony_ci "AddressingMode10Bit" 18062306a36Sopenharmony_ci}; 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci/* I2C serial bus slave mode */ 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ciconst char *acpi_gbl_sm_decode[] = { 18562306a36Sopenharmony_ci "ControllerInitiated", 18662306a36Sopenharmony_ci "DeviceInitiated" 18762306a36Sopenharmony_ci}; 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci/* SPI serial bus wire mode */ 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ciconst char *acpi_gbl_wm_decode[] = { 19262306a36Sopenharmony_ci "FourWireMode", 19362306a36Sopenharmony_ci "ThreeWireMode" 19462306a36Sopenharmony_ci}; 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ci/* SPI serial clock phase */ 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ciconst char *acpi_gbl_cph_decode[] = { 19962306a36Sopenharmony_ci "ClockPhaseFirst", 20062306a36Sopenharmony_ci "ClockPhaseSecond" 20162306a36Sopenharmony_ci}; 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_ci/* SPI serial bus clock polarity */ 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ciconst char *acpi_gbl_cpo_decode[] = { 20662306a36Sopenharmony_ci "ClockPolarityLow", 20762306a36Sopenharmony_ci "ClockPolarityHigh" 20862306a36Sopenharmony_ci}; 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ci/* SPI serial bus device polarity */ 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ciconst char *acpi_gbl_dp_decode[] = { 21362306a36Sopenharmony_ci "PolarityLow", 21462306a36Sopenharmony_ci "PolarityHigh" 21562306a36Sopenharmony_ci}; 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ci/* UART serial bus endian */ 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ciconst char *acpi_gbl_ed_decode[] = { 22062306a36Sopenharmony_ci "LittleEndian", 22162306a36Sopenharmony_ci "BigEndian" 22262306a36Sopenharmony_ci}; 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci/* UART serial bus bits per byte */ 22562306a36Sopenharmony_ci 22662306a36Sopenharmony_ciconst char *acpi_gbl_bpb_decode[] = { 22762306a36Sopenharmony_ci "DataBitsFive", 22862306a36Sopenharmony_ci "DataBitsSix", 22962306a36Sopenharmony_ci "DataBitsSeven", 23062306a36Sopenharmony_ci "DataBitsEight", 23162306a36Sopenharmony_ci "DataBitsNine", 23262306a36Sopenharmony_ci "/* UNKNOWN Bits per byte */", 23362306a36Sopenharmony_ci "/* UNKNOWN Bits per byte */", 23462306a36Sopenharmony_ci "/* UNKNOWN Bits per byte */" 23562306a36Sopenharmony_ci}; 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ci/* UART serial bus stop bits */ 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ciconst char *acpi_gbl_sb_decode[] = { 24062306a36Sopenharmony_ci "StopBitsZero", 24162306a36Sopenharmony_ci "StopBitsOne", 24262306a36Sopenharmony_ci "StopBitsOnePlusHalf", 24362306a36Sopenharmony_ci "StopBitsTwo" 24462306a36Sopenharmony_ci}; 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci/* UART serial bus flow control */ 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ciconst char *acpi_gbl_fc_decode[] = { 24962306a36Sopenharmony_ci "FlowControlNone", 25062306a36Sopenharmony_ci "FlowControlHardware", 25162306a36Sopenharmony_ci "FlowControlXON", 25262306a36Sopenharmony_ci "/* UNKNOWN flow control keyword */" 25362306a36Sopenharmony_ci}; 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci/* UART serial bus parity type */ 25662306a36Sopenharmony_ci 25762306a36Sopenharmony_ciconst char *acpi_gbl_pt_decode[] = { 25862306a36Sopenharmony_ci "ParityTypeNone", 25962306a36Sopenharmony_ci "ParityTypeEven", 26062306a36Sopenharmony_ci "ParityTypeOdd", 26162306a36Sopenharmony_ci "ParityTypeMark", 26262306a36Sopenharmony_ci "ParityTypeSpace", 26362306a36Sopenharmony_ci "/* UNKNOWN parity keyword */", 26462306a36Sopenharmony_ci "/* UNKNOWN parity keyword */", 26562306a36Sopenharmony_ci "/* UNKNOWN parity keyword */" 26662306a36Sopenharmony_ci}; 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ci/* pin_config type */ 26962306a36Sopenharmony_ci 27062306a36Sopenharmony_ciconst char *acpi_gbl_ptyp_decode[] = { 27162306a36Sopenharmony_ci "Default", 27262306a36Sopenharmony_ci "Bias Pull-up", 27362306a36Sopenharmony_ci "Bias Pull-down", 27462306a36Sopenharmony_ci "Bias Default", 27562306a36Sopenharmony_ci "Bias Disable", 27662306a36Sopenharmony_ci "Bias High Impedance", 27762306a36Sopenharmony_ci "Bias Bus Hold", 27862306a36Sopenharmony_ci "Drive Open Drain", 27962306a36Sopenharmony_ci "Drive Open Source", 28062306a36Sopenharmony_ci "Drive Push Pull", 28162306a36Sopenharmony_ci "Drive Strength", 28262306a36Sopenharmony_ci "Slew Rate", 28362306a36Sopenharmony_ci "Input Debounce", 28462306a36Sopenharmony_ci "Input Schmitt Trigger", 28562306a36Sopenharmony_ci}; 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_ciconst char *acpi_gbl_clock_input_mode[] = { 28862306a36Sopenharmony_ci "Fixed", 28962306a36Sopenharmony_ci "Variable", 29062306a36Sopenharmony_ci}; 29162306a36Sopenharmony_ci 29262306a36Sopenharmony_ciconst char *acpi_gbl_clock_input_scale[] = { 29362306a36Sopenharmony_ci "Hz", 29462306a36Sopenharmony_ci "KHz", 29562306a36Sopenharmony_ci "MHz", 29662306a36Sopenharmony_ci}; 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ci#endif 299