1  // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
2  /*******************************************************************************
3   *
4   * Module Name: utresdecode - Resource descriptor keyword strings
5   *
6   ******************************************************************************/
7  
8  #include <acpi/acpi.h>
9  #include "accommon.h"
10  #include "acresrc.h"
11  
12  #define _COMPONENT          ACPI_UTILITIES
13  ACPI_MODULE_NAME("utresdecode")
14  
15  #if defined (ACPI_DEBUG_OUTPUT) || \
16  	defined (ACPI_DISASSEMBLER) || \
17  	defined (ACPI_DEBUGGER)
18  /*
19   * Strings used to decode resource descriptors.
20   * Used by both the disassembler and the debugger resource dump routines
21   */
22  const char *acpi_gbl_bm_decode[] = {
23  	"NotBusMaster",
24  	"BusMaster"
25  };
26  
27  const char *acpi_gbl_config_decode[] = {
28  	"0 - Good Configuration",
29  	"1 - Acceptable Configuration",
30  	"2 - Suboptimal Configuration",
31  	"3 - ***Invalid Configuration***",
32  };
33  
34  const char *acpi_gbl_consume_decode[] = {
35  	"ResourceProducer",
36  	"ResourceConsumer"
37  };
38  
39  const char *acpi_gbl_dec_decode[] = {
40  	"PosDecode",
41  	"SubDecode"
42  };
43  
44  const char *acpi_gbl_he_decode[] = {
45  	"Level",
46  	"Edge"
47  };
48  
49  const char *acpi_gbl_io_decode[] = {
50  	"Decode10",
51  	"Decode16"
52  };
53  
54  const char *acpi_gbl_ll_decode[] = {
55  	"ActiveHigh",
56  	"ActiveLow",
57  	"ActiveBoth",
58  	"Reserved"
59  };
60  
61  const char *acpi_gbl_max_decode[] = {
62  	"MaxNotFixed",
63  	"MaxFixed"
64  };
65  
66  const char *acpi_gbl_mem_decode[] = {
67  	"NonCacheable",
68  	"Cacheable",
69  	"WriteCombining",
70  	"Prefetchable"
71  };
72  
73  const char *acpi_gbl_min_decode[] = {
74  	"MinNotFixed",
75  	"MinFixed"
76  };
77  
78  const char *acpi_gbl_mtp_decode[] = {
79  	"AddressRangeMemory",
80  	"AddressRangeReserved",
81  	"AddressRangeACPI",
82  	"AddressRangeNVS"
83  };
84  
85  const char *acpi_gbl_phy_decode[] = {
86  	"Type C",
87  	"Type D",
88  	"Unknown Type",
89  	"Unknown Type"
90  };
91  
92  const char *acpi_gbl_rng_decode[] = {
93  	"InvalidRanges",
94  	"NonISAOnlyRanges",
95  	"ISAOnlyRanges",
96  	"EntireRange"
97  };
98  
99  const char *acpi_gbl_rw_decode[] = {
100  	"ReadOnly",
101  	"ReadWrite"
102  };
103  
104  const char *acpi_gbl_shr_decode[] = {
105  	"Exclusive",
106  	"Shared",
107  	"ExclusiveAndWake",	/* ACPI 5.0 */
108  	"SharedAndWake"		/* ACPI 5.0 */
109  };
110  
111  const char *acpi_gbl_siz_decode[] = {
112  	"Transfer8",
113  	"Transfer8_16",
114  	"Transfer16",
115  	"InvalidSize"
116  };
117  
118  const char *acpi_gbl_trs_decode[] = {
119  	"DenseTranslation",
120  	"SparseTranslation"
121  };
122  
123  const char *acpi_gbl_ttp_decode[] = {
124  	"TypeStatic",
125  	"TypeTranslation"
126  };
127  
128  const char *acpi_gbl_typ_decode[] = {
129  	"Compatibility",
130  	"TypeA",
131  	"TypeB",
132  	"TypeF"
133  };
134  
135  const char *acpi_gbl_ppc_decode[] = {
136  	"PullDefault",
137  	"PullUp",
138  	"PullDown",
139  	"PullNone"
140  };
141  
142  const char *acpi_gbl_ior_decode[] = {
143  	"IoRestrictionNone",
144  	"IoRestrictionInputOnly",
145  	"IoRestrictionOutputOnly",
146  	"IoRestrictionNoneAndPreserve"
147  };
148  
149  const char *acpi_gbl_dts_decode[] = {
150  	"Width8bit",
151  	"Width16bit",
152  	"Width32bit",
153  	"Width64bit",
154  	"Width128bit",
155  	"Width256bit",
156  };
157  
158  /* GPIO connection type */
159  
160  const char *acpi_gbl_ct_decode[] = {
161  	"Interrupt",
162  	"I/O"
163  };
164  
165  /* Serial bus type */
166  
167  const char *acpi_gbl_sbt_decode[] = {
168  	"/* UNKNOWN serial bus type */",
169  	"I2C",
170  	"SPI",
171  	"UART",
172  	"CSI2"
173  };
174  
175  /* I2C serial bus access mode */
176  
177  const char *acpi_gbl_am_decode[] = {
178  	"AddressingMode7Bit",
179  	"AddressingMode10Bit"
180  };
181  
182  /* I2C serial bus slave mode */
183  
184  const char *acpi_gbl_sm_decode[] = {
185  	"ControllerInitiated",
186  	"DeviceInitiated"
187  };
188  
189  /* SPI serial bus wire mode */
190  
191  const char *acpi_gbl_wm_decode[] = {
192  	"FourWireMode",
193  	"ThreeWireMode"
194  };
195  
196  /* SPI serial clock phase */
197  
198  const char *acpi_gbl_cph_decode[] = {
199  	"ClockPhaseFirst",
200  	"ClockPhaseSecond"
201  };
202  
203  /* SPI serial bus clock polarity */
204  
205  const char *acpi_gbl_cpo_decode[] = {
206  	"ClockPolarityLow",
207  	"ClockPolarityHigh"
208  };
209  
210  /* SPI serial bus device polarity */
211  
212  const char *acpi_gbl_dp_decode[] = {
213  	"PolarityLow",
214  	"PolarityHigh"
215  };
216  
217  /* UART serial bus endian */
218  
219  const char *acpi_gbl_ed_decode[] = {
220  	"LittleEndian",
221  	"BigEndian"
222  };
223  
224  /* UART serial bus bits per byte */
225  
226  const char *acpi_gbl_bpb_decode[] = {
227  	"DataBitsFive",
228  	"DataBitsSix",
229  	"DataBitsSeven",
230  	"DataBitsEight",
231  	"DataBitsNine",
232  	"/* UNKNOWN Bits per byte */",
233  	"/* UNKNOWN Bits per byte */",
234  	"/* UNKNOWN Bits per byte */"
235  };
236  
237  /* UART serial bus stop bits */
238  
239  const char *acpi_gbl_sb_decode[] = {
240  	"StopBitsZero",
241  	"StopBitsOne",
242  	"StopBitsOnePlusHalf",
243  	"StopBitsTwo"
244  };
245  
246  /* UART serial bus flow control */
247  
248  const char *acpi_gbl_fc_decode[] = {
249  	"FlowControlNone",
250  	"FlowControlHardware",
251  	"FlowControlXON",
252  	"/* UNKNOWN flow control keyword */"
253  };
254  
255  /* UART serial bus parity type */
256  
257  const char *acpi_gbl_pt_decode[] = {
258  	"ParityTypeNone",
259  	"ParityTypeEven",
260  	"ParityTypeOdd",
261  	"ParityTypeMark",
262  	"ParityTypeSpace",
263  	"/* UNKNOWN parity keyword */",
264  	"/* UNKNOWN parity keyword */",
265  	"/* UNKNOWN parity keyword */"
266  };
267  
268  /* pin_config type */
269  
270  const char *acpi_gbl_ptyp_decode[] = {
271  	"Default",
272  	"Bias Pull-up",
273  	"Bias Pull-down",
274  	"Bias Default",
275  	"Bias Disable",
276  	"Bias High Impedance",
277  	"Bias Bus Hold",
278  	"Drive Open Drain",
279  	"Drive Open Source",
280  	"Drive Push Pull",
281  	"Drive Strength",
282  	"Slew Rate",
283  	"Input Debounce",
284  	"Input Schmitt Trigger",
285  };
286  
287  const char *acpi_gbl_clock_input_mode[] = {
288  	"Fixed",
289  	"Variable",
290  };
291  
292  const char *acpi_gbl_clock_input_scale[] = {
293  	"Hz",
294  	"KHz",
295  	"MHz",
296  };
297  
298  #endif
299