aslresources.y revision 1.1.1.13 1 1.1 christos NoEcho('
2 1.1 christos /******************************************************************************
3 1.1 christos *
4 1.1 christos * Module Name: aslresources.y - Bison/Yacc production rules for resources
5 1.1.1.5 christos * - Keep this file synched with the
6 1.1.1.5 christos * CvParseOpBlockType function in cvcompiler.c
7 1.1 christos *
8 1.1 christos *****************************************************************************/
9 1.1 christos
10 1.1 christos /*
11 1.1.1.12 christos * Copyright (C) 2000 - 2023, Intel Corp.
12 1.1 christos * All rights reserved.
13 1.1 christos *
14 1.1 christos * Redistribution and use in source and binary forms, with or without
15 1.1 christos * modification, are permitted provided that the following conditions
16 1.1 christos * are met:
17 1.1 christos * 1. Redistributions of source code must retain the above copyright
18 1.1 christos * notice, this list of conditions, and the following disclaimer,
19 1.1 christos * without modification.
20 1.1 christos * 2. Redistributions in binary form must reproduce at minimum a disclaimer
21 1.1 christos * substantially similar to the "NO WARRANTY" disclaimer below
22 1.1 christos * ("Disclaimer") and any redistribution must be conditioned upon
23 1.1 christos * including a substantially similar Disclaimer requirement for further
24 1.1 christos * binary redistribution.
25 1.1 christos * 3. Neither the names of the above-listed copyright holders nor the names
26 1.1 christos * of any contributors may be used to endorse or promote products derived
27 1.1 christos * from this software without specific prior written permission.
28 1.1 christos *
29 1.1 christos * Alternatively, this software may be distributed under the terms of the
30 1.1 christos * GNU General Public License ("GPL") version 2 as published by the Free
31 1.1 christos * Software Foundation.
32 1.1 christos *
33 1.1 christos * NO WARRANTY
34 1.1 christos * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
35 1.1 christos * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
36 1.1.1.10 christos * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
37 1.1 christos * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
38 1.1 christos * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
39 1.1 christos * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
40 1.1 christos * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
41 1.1 christos * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
42 1.1 christos * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
43 1.1 christos * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
44 1.1 christos * POSSIBILITY OF SUCH DAMAGES.
45 1.1 christos */
46 1.1 christos
47 1.1 christos ')
48 1.1 christos
49 1.1 christos
50 1.1 christos /*******************************************************************************
51 1.1 christos *
52 1.1 christos * ASL Resource Template Terms
53 1.1 christos *
54 1.1 christos ******************************************************************************/
55 1.1 christos
56 1.1 christos /*
57 1.1 christos * Note: Create two default nodes to allow conversion to a Buffer AML opcode
58 1.1 christos * Also, insert the EndTag at the end of the template.
59 1.1 christos */
60 1.1 christos ResourceTemplateTerm
61 1.1.1.5 christos : PARSEOP_RESOURCETEMPLATE {COMMENT_CAPTURE_OFF;}
62 1.1.1.4 christos OptionalParentheses
63 1.1 christos '{'
64 1.1.1.6 christos ResourceMacroList '}' {$$ = TrCreateOp (PARSEOP_RESOURCETEMPLATE,4,
65 1.1.1.6 christos TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
66 1.1.1.6 christos TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
67 1.1.1.5 christos $5,
68 1.1.1.6 christos TrCreateLeafOp (PARSEOP_ENDTAG));
69 1.1.1.5 christos COMMENT_CAPTURE_ON;}
70 1.1 christos ;
71 1.1 christos
72 1.1.1.3 christos OptionalParentheses
73 1.1.1.3 christos : {$$ = NULL;}
74 1.1.1.4 christos | PARSEOP_OPEN_PAREN
75 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = NULL;}
76 1.1.1.3 christos ;
77 1.1.1.3 christos
78 1.1 christos ResourceMacroList
79 1.1 christos : {$$ = NULL;}
80 1.1 christos | ResourceMacroList
81 1.1.1.6 christos ResourceMacroTerm {$$ = TrLinkPeerOp ($1,$2);}
82 1.1 christos ;
83 1.1 christos
84 1.1 christos ResourceMacroTerm
85 1.1.1.10 christos : Csi2SerialBusTerm {}
86 1.1.1.10 christos | DMATerm {}
87 1.1 christos | DWordIOTerm {}
88 1.1 christos | DWordMemoryTerm {}
89 1.1.1.13 christos | DWordPccTerm {}
90 1.1 christos | DWordSpaceTerm {}
91 1.1 christos | EndDependentFnTerm {}
92 1.1 christos | ExtendedIOTerm {}
93 1.1 christos | ExtendedMemoryTerm {}
94 1.1 christos | ExtendedSpaceTerm {}
95 1.1 christos | FixedDmaTerm {}
96 1.1 christos | FixedIOTerm {}
97 1.1 christos | GpioIntTerm {}
98 1.1 christos | GpioIoTerm {}
99 1.1 christos | I2cSerialBusTerm {}
100 1.1.1.2 christos | I2cSerialBusTermV2 {}
101 1.1 christos | InterruptTerm {}
102 1.1 christos | IOTerm {}
103 1.1 christos | IRQNoFlagsTerm {}
104 1.1 christos | IRQTerm {}
105 1.1 christos | Memory24Term {}
106 1.1 christos | Memory32FixedTerm {}
107 1.1 christos | Memory32Term {}
108 1.1.1.6 christos | PinConfigTerm {}
109 1.1.1.6 christos | PinFunctionTerm {}
110 1.1.1.12 christos | ClockInputTerm {}
111 1.1.1.6 christos | PinGroupTerm {}
112 1.1.1.6 christos | PinGroupConfigTerm {}
113 1.1.1.6 christos | PinGroupFunctionTerm {}
114 1.1 christos | QWordIOTerm {}
115 1.1 christos | QWordMemoryTerm {}
116 1.1.1.13 christos | QWordPccTerm {}
117 1.1 christos | QWordSpaceTerm {}
118 1.1 christos | RegisterTerm {}
119 1.1 christos | SpiSerialBusTerm {}
120 1.1.1.2 christos | SpiSerialBusTermV2 {}
121 1.1 christos | StartDependentFnNoPriTerm {}
122 1.1 christos | StartDependentFnTerm {}
123 1.1 christos | UartSerialBusTerm {}
124 1.1.1.2 christos | UartSerialBusTermV2 {}
125 1.1 christos | VendorLongTerm {}
126 1.1 christos | VendorShortTerm {}
127 1.1 christos | WordBusNumberTerm {}
128 1.1 christos | WordIOTerm {}
129 1.1.1.13 christos | WordPccTerm {}
130 1.1 christos | WordSpaceTerm {}
131 1.1 christos ;
132 1.1 christos
133 1.1.1.10 christos Csi2SerialBusTerm
134 1.1.1.10 christos : PARSEOP_CSI2_SERIALBUS
135 1.1.1.10 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CSI2_SERIALBUS);}
136 1.1.1.10 christos OptionalSlaveMode_First {UtCheckIntegerRange ($4, 0x00, 0x01);} /* 04: SlaveMode */
137 1.1.1.10 christos ',' ByteConstExpr {UtCheckIntegerRange ($7, 0x00, 0x03);} /* 07: PhyType */
138 1.1.1.10 christos OptionalByteConstExpr {UtCheckIntegerRange ($9, 0x00, 0xFC);} /* 09: LocalPortInstance */
139 1.1.1.10 christos ',' StringData /* 12: ResourceSource */
140 1.1.1.10 christos ',' ByteConstExpr /* 14: ResourceSourceIndex */
141 1.1.1.10 christos OptionalResourceType /* 15; ResourceType (ResourceUsage) */
142 1.1.1.10 christos OptionalNameString /* 16: DescriptorName */
143 1.1.1.10 christos OptionalBuffer_Last /* 17: VendorData */
144 1.1.1.10 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,8,
145 1.1.1.10 christos $4,$7,$9,$12,$14,$15,$16,$17);}
146 1.1.1.10 christos | PARSEOP_CSI2_SERIALBUS
147 1.1.1.10 christos PARSEOP_OPEN_PAREN
148 1.1.1.10 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
149 1.1.1.10 christos
150 1.1 christos DMATerm
151 1.1.1.4 christos : PARSEOP_DMA
152 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DMA);}
153 1.1 christos DMATypeKeyword
154 1.1 christos OptionalBusMasterKeyword
155 1.1 christos ',' XferTypeKeyword
156 1.1 christos OptionalNameString_Last
157 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
158 1.1.1.6 christos ByteList '}' {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$7,$8,$11);}
159 1.1.1.4 christos | PARSEOP_DMA
160 1.1.1.4 christos PARSEOP_OPEN_PAREN
161 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
162 1.1 christos ;
163 1.1 christos
164 1.1 christos DWordIOTerm
165 1.1.1.4 christos : PARSEOP_DWORDIO
166 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDIO);}
167 1.1 christos OptionalResourceType_First
168 1.1 christos OptionalMinType
169 1.1 christos OptionalMaxType
170 1.1 christos OptionalDecodeType
171 1.1 christos OptionalRangeType
172 1.1 christos ',' DWordConstExpr
173 1.1 christos ',' DWordConstExpr
174 1.1 christos ',' DWordConstExpr
175 1.1 christos ',' DWordConstExpr
176 1.1 christos ',' DWordConstExpr
177 1.1 christos OptionalByteConstExpr
178 1.1 christos OptionalStringData
179 1.1 christos OptionalNameString
180 1.1 christos OptionalType
181 1.1 christos OptionalTranslationType_Last
182 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
183 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
184 1.1.1.4 christos | PARSEOP_DWORDIO
185 1.1.1.4 christos PARSEOP_OPEN_PAREN
186 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
187 1.1 christos ;
188 1.1 christos
189 1.1 christos DWordMemoryTerm
190 1.1.1.4 christos : PARSEOP_DWORDMEMORY
191 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDMEMORY);}
192 1.1 christos OptionalResourceType_First
193 1.1 christos OptionalDecodeType
194 1.1 christos OptionalMinType
195 1.1 christos OptionalMaxType
196 1.1 christos OptionalMemType
197 1.1 christos ',' OptionalReadWriteKeyword
198 1.1 christos ',' DWordConstExpr
199 1.1 christos ',' DWordConstExpr
200 1.1 christos ',' DWordConstExpr
201 1.1 christos ',' DWordConstExpr
202 1.1 christos ',' DWordConstExpr
203 1.1 christos OptionalByteConstExpr
204 1.1 christos OptionalStringData
205 1.1 christos OptionalNameString
206 1.1 christos OptionalAddressRange
207 1.1 christos OptionalType_Last
208 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,16,
209 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
210 1.1.1.4 christos | PARSEOP_DWORDMEMORY
211 1.1.1.4 christos PARSEOP_OPEN_PAREN
212 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
213 1.1 christos ;
214 1.1 christos
215 1.1.1.13 christos DWordPccTerm
216 1.1.1.13 christos : PARSEOP_DWORDPCC
217 1.1.1.13 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDPCC);}
218 1.1.1.13 christos ByteConstExpr
219 1.1.1.13 christos OptionalByteConstExpr
220 1.1.1.13 christos OptionalStringData
221 1.1.1.13 christos OptionalNameString_Last
222 1.1.1.13 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,
223 1.1.1.13 christos $4,$5,$6,$7);}
224 1.1.1.13 christos | PARSEOP_DWORDPCC
225 1.1.1.13 christos PARSEOP_OPEN_PAREN
226 1.1.1.13 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
227 1.1.1.13 christos ;
228 1.1.1.13 christos
229 1.1 christos DWordSpaceTerm
230 1.1.1.4 christos : PARSEOP_DWORDSPACE
231 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDSPACE);}
232 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
233 1.1 christos OptionalResourceType
234 1.1 christos OptionalDecodeType
235 1.1 christos OptionalMinType
236 1.1 christos OptionalMaxType
237 1.1 christos ',' ByteConstExpr
238 1.1 christos ',' DWordConstExpr
239 1.1 christos ',' DWordConstExpr
240 1.1 christos ',' DWordConstExpr
241 1.1 christos ',' DWordConstExpr
242 1.1 christos ',' DWordConstExpr
243 1.1 christos OptionalByteConstExpr
244 1.1 christos OptionalStringData
245 1.1 christos OptionalNameString_Last
246 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
247 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
248 1.1.1.4 christos | PARSEOP_DWORDSPACE
249 1.1.1.4 christos PARSEOP_OPEN_PAREN
250 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
251 1.1 christos ;
252 1.1 christos
253 1.1 christos EndDependentFnTerm
254 1.1.1.4 christos : PARSEOP_ENDDEPENDENTFN
255 1.1.1.4 christos PARSEOP_OPEN_PAREN
256 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrCreateLeafOp (PARSEOP_ENDDEPENDENTFN);}
257 1.1.1.4 christos | PARSEOP_ENDDEPENDENTFN
258 1.1.1.4 christos PARSEOP_OPEN_PAREN
259 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
260 1.1 christos ;
261 1.1 christos
262 1.1 christos ExtendedIOTerm
263 1.1.1.4 christos : PARSEOP_EXTENDEDIO
264 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDIO);}
265 1.1 christos OptionalResourceType_First
266 1.1 christos OptionalMinType
267 1.1 christos OptionalMaxType
268 1.1 christos OptionalDecodeType
269 1.1 christos OptionalRangeType
270 1.1 christos ',' QWordConstExpr
271 1.1 christos ',' QWordConstExpr
272 1.1 christos ',' QWordConstExpr
273 1.1 christos ',' QWordConstExpr
274 1.1 christos ',' QWordConstExpr
275 1.1 christos OptionalQWordConstExpr
276 1.1 christos OptionalNameString
277 1.1 christos OptionalType
278 1.1 christos OptionalTranslationType_Last
279 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
280 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
281 1.1.1.4 christos | PARSEOP_EXTENDEDIO
282 1.1.1.4 christos PARSEOP_OPEN_PAREN
283 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
284 1.1 christos ;
285 1.1 christos
286 1.1 christos ExtendedMemoryTerm
287 1.1.1.4 christos : PARSEOP_EXTENDEDMEMORY
288 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDMEMORY);}
289 1.1 christos OptionalResourceType_First
290 1.1 christos OptionalDecodeType
291 1.1 christos OptionalMinType
292 1.1 christos OptionalMaxType
293 1.1 christos OptionalMemType
294 1.1 christos ',' OptionalReadWriteKeyword
295 1.1 christos ',' QWordConstExpr
296 1.1 christos ',' QWordConstExpr
297 1.1 christos ',' QWordConstExpr
298 1.1 christos ',' QWordConstExpr
299 1.1 christos ',' QWordConstExpr
300 1.1 christos OptionalQWordConstExpr
301 1.1 christos OptionalNameString
302 1.1 christos OptionalAddressRange
303 1.1 christos OptionalType_Last
304 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
305 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
306 1.1.1.4 christos | PARSEOP_EXTENDEDMEMORY
307 1.1.1.4 christos PARSEOP_OPEN_PAREN
308 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
309 1.1 christos ;
310 1.1 christos
311 1.1 christos ExtendedSpaceTerm
312 1.1.1.6 christos : PARSEOP_EXTENDEDSPACE PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDSPACE);}
313 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
314 1.1 christos OptionalResourceType
315 1.1 christos OptionalDecodeType
316 1.1 christos OptionalMinType
317 1.1 christos OptionalMaxType
318 1.1 christos ',' ByteConstExpr
319 1.1 christos ',' QWordConstExpr
320 1.1 christos ',' QWordConstExpr
321 1.1 christos ',' QWordConstExpr
322 1.1 christos ',' QWordConstExpr
323 1.1 christos ',' QWordConstExpr
324 1.1 christos OptionalQWordConstExpr
325 1.1 christos OptionalNameString_Last
326 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,13,
327 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
328 1.1.1.4 christos | PARSEOP_EXTENDEDSPACE
329 1.1.1.4 christos PARSEOP_OPEN_PAREN
330 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
331 1.1 christos ;
332 1.1 christos
333 1.1 christos FixedDmaTerm
334 1.1.1.4 christos : PARSEOP_FIXEDDMA
335 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FIXEDDMA);}
336 1.1 christos WordConstExpr /* 04: DMA RequestLines */
337 1.1 christos ',' WordConstExpr /* 06: DMA Channels */
338 1.1 christos OptionalXferSize /* 07: DMA TransferSize */
339 1.1 christos OptionalNameString /* 08: DescriptorName */
340 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$6,$7,$8);}
341 1.1.1.4 christos | PARSEOP_FIXEDDMA
342 1.1.1.4 christos PARSEOP_OPEN_PAREN
343 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
344 1.1 christos ;
345 1.1 christos
346 1.1 christos FixedIOTerm
347 1.1.1.4 christos : PARSEOP_FIXEDIO
348 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FIXEDIO);}
349 1.1 christos WordConstExpr
350 1.1 christos ',' ByteConstExpr
351 1.1 christos OptionalNameString_Last
352 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$7);}
353 1.1.1.4 christos | PARSEOP_FIXEDIO
354 1.1.1.4 christos PARSEOP_OPEN_PAREN
355 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
356 1.1 christos ;
357 1.1 christos
358 1.1 christos GpioIntTerm
359 1.1.1.4 christos : PARSEOP_GPIO_INT
360 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_GPIO_INT);}
361 1.1 christos InterruptTypeKeyword /* 04: InterruptType */
362 1.1 christos ',' InterruptLevel /* 06: InterruptLevel */
363 1.1 christos OptionalShareType /* 07: SharedType */
364 1.1 christos ',' PinConfigByte /* 09: PinConfig */
365 1.1 christos OptionalWordConstExpr /* 10: DebounceTimeout */
366 1.1 christos ',' StringData /* 12: ResourceSource */
367 1.1 christos OptionalByteConstExpr /* 13: ResourceSourceIndex */
368 1.1 christos OptionalResourceType /* 14: ResourceType */
369 1.1 christos OptionalNameString /* 15: DescriptorName */
370 1.1 christos OptionalBuffer_Last /* 16: VendorData */
371 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
372 1.1.1.6 christos DWordConstExpr '}' {$$ = TrLinkOpChildren ($<n>3,11,
373 1.1.1.3 christos $4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
374 1.1.1.4 christos | PARSEOP_GPIO_INT
375 1.1.1.4 christos PARSEOP_OPEN_PAREN
376 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
377 1.1 christos ;
378 1.1 christos
379 1.1 christos GpioIoTerm
380 1.1.1.4 christos : PARSEOP_GPIO_IO
381 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_GPIO_IO);}
382 1.1 christos OptionalShareType_First /* 04: SharedType */
383 1.1 christos ',' PinConfigByte /* 06: PinConfig */
384 1.1 christos OptionalWordConstExpr /* 07: DebounceTimeout */
385 1.1 christos OptionalWordConstExpr /* 08: DriveStrength */
386 1.1 christos OptionalIoRestriction /* 09: IoRestriction */
387 1.1 christos ',' StringData /* 11: ResourceSource */
388 1.1 christos OptionalByteConstExpr /* 12: ResourceSourceIndex */
389 1.1 christos OptionalResourceType /* 13: ResourceType */
390 1.1 christos OptionalNameString /* 14: DescriptorName */
391 1.1 christos OptionalBuffer_Last /* 15: VendorData */
392 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
393 1.1.1.6 christos DWordList '}' {$$ = TrLinkOpChildren ($<n>3,11,
394 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
395 1.1.1.4 christos | PARSEOP_GPIO_IO
396 1.1.1.4 christos PARSEOP_OPEN_PAREN
397 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
398 1.1 christos ;
399 1.1 christos
400 1.1 christos I2cSerialBusTerm
401 1.1.1.4 christos : PARSEOP_I2C_SERIALBUS
402 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_I2C_SERIALBUS);}
403 1.1 christos WordConstExpr /* 04: SlaveAddress */
404 1.1 christos OptionalSlaveMode /* 05: SlaveMode */
405 1.1 christos ',' DWordConstExpr /* 07: ConnectionSpeed */
406 1.1 christos OptionalAddressingMode /* 08: AddressingMode */
407 1.1 christos ',' StringData /* 10: ResourceSource */
408 1.1 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
409 1.1 christos OptionalResourceType /* 12: ResourceType */
410 1.1 christos OptionalNameString /* 13: DescriptorName */
411 1.1 christos OptionalBuffer_Last /* 14: VendorData */
412 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,10,
413 1.1.1.3 christos $4,$5,$7,$8,$10,$11,$12,$13,
414 1.1.1.6 christos TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$14);}
415 1.1.1.4 christos | PARSEOP_I2C_SERIALBUS
416 1.1.1.4 christos PARSEOP_OPEN_PAREN
417 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
418 1.1 christos ;
419 1.1 christos
420 1.1.1.2 christos I2cSerialBusTermV2
421 1.1.1.4 christos : PARSEOP_I2C_SERIALBUS_V2
422 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_I2C_SERIALBUS_V2);}
423 1.1.1.2 christos WordConstExpr /* 04: SlaveAddress */
424 1.1.1.2 christos OptionalSlaveMode /* 05: SlaveMode */
425 1.1.1.2 christos ',' DWordConstExpr /* 07: ConnectionSpeed */
426 1.1.1.2 christos OptionalAddressingMode /* 08: AddressingMode */
427 1.1.1.2 christos ',' StringData /* 10: ResourceSource */
428 1.1.1.2 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
429 1.1.1.2 christos OptionalResourceType /* 12: ResourceType */
430 1.1.1.2 christos OptionalNameString /* 13: DescriptorName */
431 1.1.1.2 christos OptionalShareType /* 14: Share */
432 1.1.1.2 christos OptionalBuffer_Last /* 15: VendorData */
433 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,10,
434 1.1.1.3 christos $4,$5,$7,$8,$10,$11,$12,$13,$14,$15);}
435 1.1.1.4 christos | PARSEOP_I2C_SERIALBUS_V2
436 1.1.1.4 christos PARSEOP_OPEN_PAREN
437 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
438 1.1.1.2 christos ;
439 1.1.1.2 christos
440 1.1 christos InterruptTerm
441 1.1.1.4 christos : PARSEOP_INTERRUPT
442 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_INTERRUPT);}
443 1.1 christos OptionalResourceType_First
444 1.1 christos ',' InterruptTypeKeyword
445 1.1 christos ',' InterruptLevel
446 1.1 christos OptionalShareType
447 1.1 christos OptionalByteConstExpr
448 1.1 christos OptionalStringData
449 1.1 christos OptionalNameString_Last
450 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
451 1.1.1.6 christos DWordList '}' {$$ = TrLinkOpChildren ($<n>3,8,
452 1.1.1.3 christos $4,$6,$8,$9,$10,$11,$12,$15);}
453 1.1.1.4 christos | PARSEOP_INTERRUPT
454 1.1.1.4 christos PARSEOP_OPEN_PAREN
455 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
456 1.1 christos ;
457 1.1 christos
458 1.1 christos IOTerm
459 1.1.1.4 christos : PARSEOP_IO
460 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_IO);}
461 1.1 christos IODecodeKeyword
462 1.1 christos ',' WordConstExpr
463 1.1 christos ',' WordConstExpr
464 1.1 christos ',' ByteConstExpr
465 1.1 christos ',' ByteConstExpr
466 1.1 christos OptionalNameString_Last
467 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
468 1.1.1.4 christos | PARSEOP_IO
469 1.1.1.4 christos PARSEOP_OPEN_PAREN
470 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
471 1.1 christos ;
472 1.1 christos
473 1.1 christos IRQNoFlagsTerm
474 1.1.1.4 christos : PARSEOP_IRQNOFLAGS
475 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_IRQNOFLAGS);}
476 1.1 christos OptionalNameString_First
477 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
478 1.1.1.6 christos ByteList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
479 1.1.1.4 christos | PARSEOP_IRQNOFLAGS
480 1.1.1.4 christos PARSEOP_OPEN_PAREN
481 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
482 1.1 christos ;
483 1.1 christos
484 1.1 christos IRQTerm
485 1.1.1.4 christos : PARSEOP_IRQ
486 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_IRQ);}
487 1.1 christos InterruptTypeKeyword
488 1.1 christos ',' InterruptLevel
489 1.1 christos OptionalShareType
490 1.1 christos OptionalNameString_Last
491 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
492 1.1.1.6 christos ByteList '}' {$$ = TrLinkOpChildren ($<n>3,5,$4,$6,$7,$8,$11);}
493 1.1.1.4 christos | PARSEOP_IRQ
494 1.1.1.4 christos PARSEOP_OPEN_PAREN
495 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
496 1.1 christos ;
497 1.1 christos
498 1.1 christos Memory24Term
499 1.1.1.4 christos : PARSEOP_MEMORY24
500 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY24);}
501 1.1 christos OptionalReadWriteKeyword
502 1.1 christos ',' WordConstExpr
503 1.1 christos ',' WordConstExpr
504 1.1 christos ',' WordConstExpr
505 1.1 christos ',' WordConstExpr
506 1.1 christos OptionalNameString_Last
507 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
508 1.1.1.4 christos | PARSEOP_MEMORY24
509 1.1.1.4 christos PARSEOP_OPEN_PAREN
510 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
511 1.1 christos ;
512 1.1 christos
513 1.1 christos Memory32FixedTerm
514 1.1.1.4 christos : PARSEOP_MEMORY32FIXED
515 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY32FIXED);}
516 1.1 christos OptionalReadWriteKeyword
517 1.1 christos ',' DWordConstExpr
518 1.1 christos ',' DWordConstExpr
519 1.1 christos OptionalNameString_Last
520 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$6,$8,$9);}
521 1.1.1.4 christos | PARSEOP_MEMORY32FIXED
522 1.1.1.4 christos PARSEOP_OPEN_PAREN
523 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
524 1.1 christos ;
525 1.1 christos
526 1.1 christos Memory32Term
527 1.1.1.4 christos : PARSEOP_MEMORY32
528 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY32);}
529 1.1 christos OptionalReadWriteKeyword
530 1.1 christos ',' DWordConstExpr
531 1.1 christos ',' DWordConstExpr
532 1.1 christos ',' DWordConstExpr
533 1.1 christos ',' DWordConstExpr
534 1.1 christos OptionalNameString_Last
535 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
536 1.1.1.4 christos | PARSEOP_MEMORY32
537 1.1.1.4 christos PARSEOP_OPEN_PAREN
538 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
539 1.1 christos ;
540 1.1 christos
541 1.1.1.6 christos PinConfigTerm
542 1.1.1.6 christos : PARSEOP_PINCONFIG
543 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINCONFIG);}
544 1.1.1.6 christos OptionalShareType_First /* 04: SharedType */
545 1.1.1.6 christos ',' ByteConstExpr /* 06: PinConfigType */
546 1.1.1.6 christos ',' DWordConstExpr /* 08: PinConfigValue */
547 1.1.1.6 christos ',' StringData /* 10: ResourceSource */
548 1.1.1.6 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
549 1.1.1.6 christos OptionalResourceType /* 12: ResourceType */
550 1.1.1.6 christos OptionalNameString /* 13: DescriptorName */
551 1.1.1.6 christos OptionalBuffer_Last /* 14: VendorData */
552 1.1.1.6 christos PARSEOP_CLOSE_PAREN '{'
553 1.1.1.6 christos DWordList '}' {$$ = TrLinkOpChildren ($<n>3,9,
554 1.1.1.6 christos $4,$6,$8,$10,$11,$12,$13,$14,$17);}
555 1.1.1.6 christos | PARSEOP_PINCONFIG
556 1.1.1.6 christos PARSEOP_OPEN_PAREN
557 1.1.1.6 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
558 1.1.1.6 christos ;
559 1.1.1.6 christos
560 1.1.1.6 christos PinFunctionTerm
561 1.1.1.6 christos : PARSEOP_PINFUNCTION
562 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINFUNCTION);}
563 1.1.1.6 christos OptionalShareType_First /* 04: SharedType */
564 1.1.1.6 christos ',' PinConfigByte /* 06: PinConfig */
565 1.1.1.6 christos ',' WordConstExpr /* 08: FunctionNumber */
566 1.1.1.6 christos ',' StringData /* 10: ResourceSource */
567 1.1.1.6 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
568 1.1.1.6 christos OptionalResourceType /* 12: ResourceType */
569 1.1.1.6 christos OptionalNameString /* 13: DescriptorName */
570 1.1.1.6 christos OptionalBuffer_Last /* 14: VendorData */
571 1.1.1.6 christos PARSEOP_CLOSE_PAREN '{'
572 1.1.1.6 christos DWordList '}' {$$ = TrLinkOpChildren ($<n>3,9,
573 1.1.1.6 christos $4,$6,$8,$10,$11,$12,$13,$14,$17);}
574 1.1.1.6 christos | PARSEOP_PINFUNCTION
575 1.1.1.6 christos PARSEOP_OPEN_PAREN
576 1.1.1.6 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
577 1.1.1.6 christos ;
578 1.1.1.6 christos
579 1.1.1.12 christos ClockInputTerm
580 1.1.1.12 christos : PARSEOP_CLOCKINPUT
581 1.1.1.12 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CLOCKINPUT);}
582 1.1.1.12 christos DWordConstExpr /* 04: FrequencyNumerator */
583 1.1.1.12 christos ',' WordConstExpr /* 06: FrequencyDivisor */
584 1.1.1.12 christos ',' ClockScaleKeyword /* 08: Scale */
585 1.1.1.12 christos ',' ClockModeKeyword /* 10: Mode*/
586 1.1.1.12 christos OptionalStringData /* 11: ResourceSource */
587 1.1.1.12 christos OptionalByteConstExpr /* 12: ResourceSourceIndex */
588 1.1.1.12 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
589 1.1.1.12 christos | PARSEOP_CLOCKINPUT
590 1.1.1.12 christos PARSEOP_OPEN_PAREN
591 1.1.1.12 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
592 1.1.1.12 christos ;
593 1.1.1.12 christos
594 1.1.1.6 christos PinGroupTerm
595 1.1.1.6 christos : PARSEOP_PINGROUP
596 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUP);}
597 1.1.1.6 christos StringData /* 04: ResourceLabel */
598 1.1.1.6 christos OptionalProducerResourceType /* 05: ResourceType */
599 1.1.1.6 christos OptionalNameString /* 06: DescriptorName */
600 1.1.1.6 christos OptionalBuffer_Last /* 07: VendorData */
601 1.1.1.6 christos PARSEOP_CLOSE_PAREN '{'
602 1.1.1.6 christos DWordList '}' {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$6,$7,$10);}
603 1.1.1.6 christos | PARSEOP_PINGROUP
604 1.1.1.6 christos PARSEOP_OPEN_PAREN
605 1.1.1.6 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
606 1.1.1.6 christos ;
607 1.1.1.6 christos
608 1.1.1.6 christos PinGroupConfigTerm
609 1.1.1.6 christos : PARSEOP_PINGROUPCONFIG
610 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUPCONFIG);}
611 1.1.1.6 christos OptionalShareType_First /* 04: SharedType */
612 1.1.1.6 christos ',' ByteConstExpr /* 06: PinConfigType */
613 1.1.1.6 christos ',' DWordConstExpr /* 08: PinConfigValue */
614 1.1.1.6 christos ',' StringData /* 10: ResourceSource */
615 1.1.1.6 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
616 1.1.1.6 christos ',' StringData /* 13: ResourceSourceLabel */
617 1.1.1.6 christos OptionalResourceType /* 14: ResourceType */
618 1.1.1.6 christos OptionalNameString /* 15: DescriptorName */
619 1.1.1.6 christos OptionalBuffer_Last /* 16: VendorData */
620 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,9,
621 1.1.1.6 christos $4,$6,$8,$10,$11,$13,$14,$15,$16);}
622 1.1.1.6 christos | PARSEOP_PINGROUPCONFIG
623 1.1.1.6 christos PARSEOP_OPEN_PAREN
624 1.1.1.6 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
625 1.1.1.6 christos ;
626 1.1.1.6 christos
627 1.1.1.6 christos PinGroupFunctionTerm
628 1.1.1.6 christos : PARSEOP_PINGROUPFUNCTION
629 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUPFUNCTION);}
630 1.1.1.6 christos OptionalShareType_First /* 04: SharedType */
631 1.1.1.6 christos ',' WordConstExpr /* 06: FunctionNumber */
632 1.1.1.6 christos ',' StringData /* 08: ResourceSource */
633 1.1.1.6 christos OptionalByteConstExpr /* 09: ResourceSourceIndex */
634 1.1.1.6 christos ',' StringData /* 11: ResourceSourceLabel */
635 1.1.1.6 christos OptionalResourceType /* 12: ResourceType */
636 1.1.1.6 christos OptionalNameString /* 13: DescriptorName */
637 1.1.1.6 christos OptionalBuffer_Last /* 14: VendorData */
638 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,8,
639 1.1.1.6 christos $4,$6,$8,$9,$11,$12,$13,$14);}
640 1.1.1.6 christos | PARSEOP_PINGROUPFUNCTION
641 1.1.1.6 christos PARSEOP_OPEN_PAREN
642 1.1.1.6 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
643 1.1.1.6 christos ;
644 1.1.1.6 christos
645 1.1 christos QWordIOTerm
646 1.1.1.4 christos : PARSEOP_QWORDIO
647 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDIO);}
648 1.1 christos OptionalResourceType_First
649 1.1 christos OptionalMinType
650 1.1 christos OptionalMaxType
651 1.1 christos OptionalDecodeType
652 1.1 christos OptionalRangeType
653 1.1 christos ',' QWordConstExpr
654 1.1 christos ',' QWordConstExpr
655 1.1 christos ',' QWordConstExpr
656 1.1 christos ',' QWordConstExpr
657 1.1 christos ',' QWordConstExpr
658 1.1 christos OptionalByteConstExpr
659 1.1 christos OptionalStringData
660 1.1 christos OptionalNameString
661 1.1 christos OptionalType
662 1.1 christos OptionalTranslationType_Last
663 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
664 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
665 1.1.1.4 christos | PARSEOP_QWORDIO
666 1.1.1.4 christos PARSEOP_OPEN_PAREN
667 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
668 1.1 christos ;
669 1.1 christos
670 1.1 christos QWordMemoryTerm
671 1.1.1.4 christos : PARSEOP_QWORDMEMORY
672 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDMEMORY);}
673 1.1 christos OptionalResourceType_First
674 1.1 christos OptionalDecodeType
675 1.1 christos OptionalMinType
676 1.1 christos OptionalMaxType
677 1.1 christos OptionalMemType
678 1.1 christos ',' OptionalReadWriteKeyword
679 1.1 christos ',' QWordConstExpr
680 1.1 christos ',' QWordConstExpr
681 1.1 christos ',' QWordConstExpr
682 1.1 christos ',' QWordConstExpr
683 1.1 christos ',' QWordConstExpr
684 1.1 christos OptionalByteConstExpr
685 1.1 christos OptionalStringData
686 1.1 christos OptionalNameString
687 1.1 christos OptionalAddressRange
688 1.1 christos OptionalType_Last
689 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,16,
690 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
691 1.1.1.4 christos | PARSEOP_QWORDMEMORY
692 1.1.1.4 christos PARSEOP_OPEN_PAREN
693 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
694 1.1 christos ;
695 1.1 christos
696 1.1.1.13 christos QWordPccTerm
697 1.1.1.13 christos : PARSEOP_QWORDPCC
698 1.1.1.13 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDPCC);}
699 1.1.1.13 christos ByteConstExpr
700 1.1.1.13 christos OptionalByteConstExpr
701 1.1.1.13 christos OptionalStringData
702 1.1.1.13 christos OptionalNameString_Last
703 1.1.1.13 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,
704 1.1.1.13 christos $4,$5,$6,$7);}
705 1.1.1.13 christos | PARSEOP_QWORDPCC
706 1.1.1.13 christos PARSEOP_OPEN_PAREN
707 1.1.1.13 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
708 1.1.1.13 christos ;
709 1.1.1.13 christos
710 1.1 christos QWordSpaceTerm
711 1.1.1.4 christos : PARSEOP_QWORDSPACE
712 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDSPACE);}
713 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
714 1.1 christos OptionalResourceType
715 1.1 christos OptionalDecodeType
716 1.1 christos OptionalMinType
717 1.1 christos OptionalMaxType
718 1.1 christos ',' ByteConstExpr
719 1.1 christos ',' QWordConstExpr
720 1.1 christos ',' QWordConstExpr
721 1.1 christos ',' QWordConstExpr
722 1.1 christos ',' QWordConstExpr
723 1.1 christos ',' QWordConstExpr
724 1.1 christos OptionalByteConstExpr
725 1.1 christos OptionalStringData
726 1.1 christos OptionalNameString_Last
727 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
728 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
729 1.1.1.4 christos | PARSEOP_QWORDSPACE
730 1.1.1.4 christos PARSEOP_OPEN_PAREN
731 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
732 1.1 christos ;
733 1.1 christos
734 1.1 christos RegisterTerm
735 1.1.1.4 christos : PARSEOP_REGISTER
736 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_REGISTER);}
737 1.1 christos AddressSpaceKeyword
738 1.1 christos ',' ByteConstExpr
739 1.1 christos ',' ByteConstExpr
740 1.1 christos ',' QWordConstExpr
741 1.1 christos OptionalAccessSize
742 1.1 christos OptionalNameString_Last
743 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
744 1.1.1.4 christos | PARSEOP_REGISTER
745 1.1.1.4 christos PARSEOP_OPEN_PAREN
746 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
747 1.1 christos ;
748 1.1 christos
749 1.1 christos SpiSerialBusTerm
750 1.1.1.4 christos : PARSEOP_SPI_SERIALBUS
751 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SPI_SERIALBUS);}
752 1.1 christos WordConstExpr /* 04: DeviceSelection */
753 1.1 christos OptionalDevicePolarity /* 05: DevicePolarity */
754 1.1 christos OptionalWireMode /* 06: WireMode */
755 1.1 christos ',' ByteConstExpr /* 08: DataBitLength */
756 1.1 christos OptionalSlaveMode /* 09: SlaveMode */
757 1.1 christos ',' DWordConstExpr /* 11: ConnectionSpeed */
758 1.1 christos ',' ClockPolarityKeyword /* 13: ClockPolarity */
759 1.1 christos ',' ClockPhaseKeyword /* 15: ClockPhase */
760 1.1 christos ',' StringData /* 17: ResourceSource */
761 1.1 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
762 1.1 christos OptionalResourceType /* 19: ResourceType */
763 1.1 christos OptionalNameString /* 20: DescriptorName */
764 1.1 christos OptionalBuffer_Last /* 21: VendorData */
765 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
766 1.1.1.3 christos $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
767 1.1.1.6 christos TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$21);}
768 1.1.1.4 christos | PARSEOP_SPI_SERIALBUS
769 1.1.1.4 christos PARSEOP_OPEN_PAREN
770 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
771 1.1 christos ;
772 1.1 christos
773 1.1.1.2 christos SpiSerialBusTermV2
774 1.1.1.4 christos : PARSEOP_SPI_SERIALBUS_V2
775 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SPI_SERIALBUS_V2);}
776 1.1.1.2 christos WordConstExpr /* 04: DeviceSelection */
777 1.1.1.2 christos OptionalDevicePolarity /* 05: DevicePolarity */
778 1.1.1.2 christos OptionalWireMode /* 06: WireMode */
779 1.1.1.2 christos ',' ByteConstExpr /* 08: DataBitLength */
780 1.1.1.2 christos OptionalSlaveMode /* 09: SlaveMode */
781 1.1.1.2 christos ',' DWordConstExpr /* 11: ConnectionSpeed */
782 1.1.1.2 christos ',' ClockPolarityKeyword /* 13: ClockPolarity */
783 1.1.1.2 christos ',' ClockPhaseKeyword /* 15: ClockPhase */
784 1.1.1.2 christos ',' StringData /* 17: ResourceSource */
785 1.1.1.2 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
786 1.1.1.2 christos OptionalResourceType /* 19: ResourceType */
787 1.1.1.2 christos OptionalNameString /* 20: DescriptorName */
788 1.1.1.2 christos OptionalShareType /* 21: Share */
789 1.1.1.2 christos OptionalBuffer_Last /* 22: VendorData */
790 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
791 1.1.1.3 christos $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
792 1.1.1.4 christos | PARSEOP_SPI_SERIALBUS_V2
793 1.1.1.4 christos PARSEOP_OPEN_PAREN
794 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
795 1.1.1.2 christos ;
796 1.1.1.2 christos
797 1.1 christos StartDependentFnNoPriTerm
798 1.1.1.4 christos : PARSEOP_STARTDEPENDENTFN_NOPRI
799 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_STARTDEPENDENTFN_NOPRI);}
800 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
801 1.1.1.6 christos ResourceMacroList '}' {$$ = TrLinkOpChildren ($<n>3,1,$6);}
802 1.1.1.4 christos | PARSEOP_STARTDEPENDENTFN_NOPRI
803 1.1.1.4 christos PARSEOP_OPEN_PAREN
804 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
805 1.1 christos ;
806 1.1 christos
807 1.1 christos StartDependentFnTerm
808 1.1.1.4 christos : PARSEOP_STARTDEPENDENTFN
809 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_STARTDEPENDENTFN);}
810 1.1 christos ByteConstExpr
811 1.1 christos ',' ByteConstExpr
812 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
813 1.1.1.6 christos ResourceMacroList '}' {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$9);}
814 1.1.1.4 christos | PARSEOP_STARTDEPENDENTFN
815 1.1.1.4 christos PARSEOP_OPEN_PAREN
816 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
817 1.1 christos ;
818 1.1 christos
819 1.1 christos UartSerialBusTerm
820 1.1.1.4 christos : PARSEOP_UART_SERIALBUS
821 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_UART_SERIALBUS);}
822 1.1 christos DWordConstExpr /* 04: ConnectionSpeed */
823 1.1 christos OptionalBitsPerByte /* 05: BitsPerByte */
824 1.1 christos OptionalStopBits /* 06: StopBits */
825 1.1 christos ',' ByteConstExpr /* 08: LinesInUse */
826 1.1.1.8 christos OptionalEndian /* 09: Endianness */
827 1.1 christos OptionalParityType /* 10: Parity */
828 1.1 christos OptionalFlowControl /* 11: FlowControl */
829 1.1 christos ',' WordConstExpr /* 13: Rx BufferSize */
830 1.1 christos ',' WordConstExpr /* 15: Tx BufferSize */
831 1.1 christos ',' StringData /* 17: ResourceSource */
832 1.1 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
833 1.1 christos OptionalResourceType /* 19: ResourceType */
834 1.1 christos OptionalNameString /* 20: DescriptorName */
835 1.1 christos OptionalBuffer_Last /* 21: VendorData */
836 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
837 1.1.1.3 christos $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
838 1.1.1.6 christos TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$21);}
839 1.1.1.4 christos | PARSEOP_UART_SERIALBUS
840 1.1.1.4 christos PARSEOP_OPEN_PAREN
841 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
842 1.1 christos ;
843 1.1 christos
844 1.1.1.2 christos UartSerialBusTermV2
845 1.1.1.4 christos : PARSEOP_UART_SERIALBUS_V2
846 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_UART_SERIALBUS_V2);}
847 1.1.1.2 christos DWordConstExpr /* 04: ConnectionSpeed */
848 1.1.1.2 christos OptionalBitsPerByte /* 05: BitsPerByte */
849 1.1.1.2 christos OptionalStopBits /* 06: StopBits */
850 1.1.1.2 christos ',' ByteConstExpr /* 08: LinesInUse */
851 1.1.1.8 christos OptionalEndian /* 09: Endianness */
852 1.1.1.2 christos OptionalParityType /* 10: Parity */
853 1.1.1.2 christos OptionalFlowControl /* 11: FlowControl */
854 1.1.1.2 christos ',' WordConstExpr /* 13: Rx BufferSize */
855 1.1.1.2 christos ',' WordConstExpr /* 15: Tx BufferSize */
856 1.1.1.2 christos ',' StringData /* 17: ResourceSource */
857 1.1.1.2 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
858 1.1.1.2 christos OptionalResourceType /* 19: ResourceType */
859 1.1.1.2 christos OptionalNameString /* 20: DescriptorName */
860 1.1.1.2 christos OptionalShareType /* 21: Share */
861 1.1.1.2 christos OptionalBuffer_Last /* 22: VendorData */
862 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
863 1.1.1.3 christos $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
864 1.1.1.4 christos | PARSEOP_UART_SERIALBUS_V2
865 1.1.1.4 christos PARSEOP_OPEN_PAREN
866 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
867 1.1.1.2 christos ;
868 1.1.1.2 christos
869 1.1 christos VendorLongTerm
870 1.1.1.4 christos : PARSEOP_VENDORLONG
871 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_VENDORLONG);}
872 1.1 christos OptionalNameString_First
873 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
874 1.1.1.6 christos ByteList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
875 1.1.1.4 christos | PARSEOP_VENDORLONG
876 1.1.1.4 christos PARSEOP_OPEN_PAREN
877 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
878 1.1 christos ;
879 1.1 christos
880 1.1 christos VendorShortTerm
881 1.1.1.4 christos : PARSEOP_VENDORSHORT
882 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_VENDORSHORT);}
883 1.1 christos OptionalNameString_First
884 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
885 1.1.1.6 christos ByteList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
886 1.1.1.4 christos | PARSEOP_VENDORSHORT
887 1.1.1.4 christos PARSEOP_OPEN_PAREN
888 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
889 1.1 christos ;
890 1.1 christos
891 1.1 christos WordBusNumberTerm
892 1.1.1.4 christos : PARSEOP_WORDBUSNUMBER
893 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WORDBUSNUMBER);}
894 1.1 christos OptionalResourceType_First
895 1.1 christos OptionalMinType
896 1.1 christos OptionalMaxType
897 1.1 christos OptionalDecodeType
898 1.1 christos ',' WordConstExpr
899 1.1 christos ',' WordConstExpr
900 1.1 christos ',' WordConstExpr
901 1.1 christos ',' WordConstExpr
902 1.1 christos ',' WordConstExpr
903 1.1 christos OptionalByteConstExpr
904 1.1 christos OptionalStringData
905 1.1 christos OptionalNameString_Last
906 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,12,
907 1.1.1.3 christos $4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
908 1.1.1.4 christos | PARSEOP_WORDBUSNUMBER
909 1.1.1.4 christos PARSEOP_OPEN_PAREN
910 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
911 1.1 christos ;
912 1.1 christos
913 1.1 christos WordIOTerm
914 1.1.1.4 christos : PARSEOP_WORDIO
915 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WORDIO);}
916 1.1 christos OptionalResourceType_First
917 1.1 christos OptionalMinType
918 1.1 christos OptionalMaxType
919 1.1 christos OptionalDecodeType
920 1.1 christos OptionalRangeType
921 1.1 christos ',' WordConstExpr
922 1.1 christos ',' WordConstExpr
923 1.1 christos ',' WordConstExpr
924 1.1 christos ',' WordConstExpr
925 1.1 christos ',' WordConstExpr
926 1.1 christos OptionalByteConstExpr
927 1.1 christos OptionalStringData
928 1.1 christos OptionalNameString
929 1.1 christos OptionalType
930 1.1 christos OptionalTranslationType_Last
931 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
932 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
933 1.1.1.4 christos | PARSEOP_WORDIO
934 1.1.1.4 christos PARSEOP_OPEN_PAREN
935 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
936 1.1 christos ;
937 1.1 christos
938 1.1.1.13 christos WordPccTerm
939 1.1.1.13 christos : PARSEOP_WORDPCC
940 1.1.1.13 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WORDPCC);}
941 1.1.1.13 christos ByteConstExpr
942 1.1.1.13 christos OptionalByteConstExpr
943 1.1.1.13 christos OptionalStringData
944 1.1.1.13 christos OptionalNameString_Last
945 1.1.1.13 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,
946 1.1.1.13 christos $4,$5,$6,$7);}
947 1.1.1.13 christos | PARSEOP_WORDPCC
948 1.1.1.13 christos PARSEOP_OPEN_PAREN
949 1.1.1.13 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
950 1.1.1.13 christos ;
951 1.1.1.13 christos
952 1.1 christos WordSpaceTerm
953 1.1.1.4 christos : PARSEOP_WORDSPACE
954 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WORDSPACE);}
955 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
956 1.1 christos OptionalResourceType
957 1.1 christos OptionalDecodeType
958 1.1 christos OptionalMinType
959 1.1 christos OptionalMaxType
960 1.1 christos ',' ByteConstExpr
961 1.1 christos ',' WordConstExpr
962 1.1 christos ',' WordConstExpr
963 1.1 christos ',' WordConstExpr
964 1.1 christos ',' WordConstExpr
965 1.1 christos ',' WordConstExpr
966 1.1 christos OptionalByteConstExpr
967 1.1 christos OptionalStringData
968 1.1 christos OptionalNameString_Last
969 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
970 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
971 1.1.1.4 christos | PARSEOP_WORDSPACE
972 1.1.1.4 christos PARSEOP_OPEN_PAREN
973 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
974 1.1 christos ;
975