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
13ACPI_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 */
22const char *acpi_gbl_bm_decode[] = {
23	"NotBusMaster",
24	"BusMaster"
25};
26
27const char *acpi_gbl_config_decode[] = {
28	"0 - Good Configuration",
29	"1 - Acceptable Configuration",
30	"2 - Suboptimal Configuration",
31	"3 - ***Invalid Configuration***",
32};
33
34const char *acpi_gbl_consume_decode[] = {
35	"ResourceProducer",
36	"ResourceConsumer"
37};
38
39const char *acpi_gbl_dec_decode[] = {
40	"PosDecode",
41	"SubDecode"
42};
43
44const char *acpi_gbl_he_decode[] = {
45	"Level",
46	"Edge"
47};
48
49const char *acpi_gbl_io_decode[] = {
50	"Decode10",
51	"Decode16"
52};
53
54const char *acpi_gbl_ll_decode[] = {
55	"ActiveHigh",
56	"ActiveLow",
57	"ActiveBoth",
58	"Reserved"
59};
60
61const char *acpi_gbl_max_decode[] = {
62	"MaxNotFixed",
63	"MaxFixed"
64};
65
66const char *acpi_gbl_mem_decode[] = {
67	"NonCacheable",
68	"Cacheable",
69	"WriteCombining",
70	"Prefetchable"
71};
72
73const char *acpi_gbl_min_decode[] = {
74	"MinNotFixed",
75	"MinFixed"
76};
77
78const char *acpi_gbl_mtp_decode[] = {
79	"AddressRangeMemory",
80	"AddressRangeReserved",
81	"AddressRangeACPI",
82	"AddressRangeNVS"
83};
84
85const char *acpi_gbl_phy_decode[] = {
86	"Type C",
87	"Type D",
88	"Unknown Type",
89	"Unknown Type"
90};
91
92const char *acpi_gbl_rng_decode[] = {
93	"InvalidRanges",
94	"NonISAOnlyRanges",
95	"ISAOnlyRanges",
96	"EntireRange"
97};
98
99const char *acpi_gbl_rw_decode[] = {
100	"ReadOnly",
101	"ReadWrite"
102};
103
104const char *acpi_gbl_shr_decode[] = {
105	"Exclusive",
106	"Shared",
107	"ExclusiveAndWake",	/* ACPI 5.0 */
108	"SharedAndWake"		/* ACPI 5.0 */
109};
110
111const char *acpi_gbl_siz_decode[] = {
112	"Transfer8",
113	"Transfer8_16",
114	"Transfer16",
115	"InvalidSize"
116};
117
118const char *acpi_gbl_trs_decode[] = {
119	"DenseTranslation",
120	"SparseTranslation"
121};
122
123const char *acpi_gbl_ttp_decode[] = {
124	"TypeStatic",
125	"TypeTranslation"
126};
127
128const char *acpi_gbl_typ_decode[] = {
129	"Compatibility",
130	"TypeA",
131	"TypeB",
132	"TypeF"
133};
134
135const char *acpi_gbl_ppc_decode[] = {
136	"PullDefault",
137	"PullUp",
138	"PullDown",
139	"PullNone"
140};
141
142const char *acpi_gbl_ior_decode[] = {
143	"IoRestrictionNone",
144	"IoRestrictionInputOnly",
145	"IoRestrictionOutputOnly",
146	"IoRestrictionNoneAndPreserve"
147};
148
149const char *acpi_gbl_dts_decode[] = {
150	"Width8bit",
151	"Width16bit",
152	"Width32bit",
153	"Width64bit",
154	"Width128bit",
155	"Width256bit",
156};
157
158/* GPIO connection type */
159
160const char *acpi_gbl_ct_decode[] = {
161	"Interrupt",
162	"I/O"
163};
164
165/* Serial bus type */
166
167const 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
177const char *acpi_gbl_am_decode[] = {
178	"AddressingMode7Bit",
179	"AddressingMode10Bit"
180};
181
182/* I2C serial bus slave mode */
183
184const char *acpi_gbl_sm_decode[] = {
185	"ControllerInitiated",
186	"DeviceInitiated"
187};
188
189/* SPI serial bus wire mode */
190
191const char *acpi_gbl_wm_decode[] = {
192	"FourWireMode",
193	"ThreeWireMode"
194};
195
196/* SPI serial clock phase */
197
198const char *acpi_gbl_cph_decode[] = {
199	"ClockPhaseFirst",
200	"ClockPhaseSecond"
201};
202
203/* SPI serial bus clock polarity */
204
205const char *acpi_gbl_cpo_decode[] = {
206	"ClockPolarityLow",
207	"ClockPolarityHigh"
208};
209
210/* SPI serial bus device polarity */
211
212const char *acpi_gbl_dp_decode[] = {
213	"PolarityLow",
214	"PolarityHigh"
215};
216
217/* UART serial bus endian */
218
219const char *acpi_gbl_ed_decode[] = {
220	"LittleEndian",
221	"BigEndian"
222};
223
224/* UART serial bus bits per byte */
225
226const 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
239const char *acpi_gbl_sb_decode[] = {
240	"StopBitsZero",
241	"StopBitsOne",
242	"StopBitsOnePlusHalf",
243	"StopBitsTwo"
244};
245
246/* UART serial bus flow control */
247
248const 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
257const 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
270const 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
287const char *acpi_gbl_clock_input_mode[] = {
288	"Fixed",
289	"Variable",
290};
291
292const char *acpi_gbl_clock_input_scale[] = {
293	"Hz",
294	"KHz",
295	"MHz",
296};
297
298#endif
299