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 #endif
288