aslresources.y revision 1.1.1.10 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.10 christos * Copyright (C) 2000 - 2021, 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 christos | DWordSpaceTerm {}
90 1.1 christos | EndDependentFnTerm {}
91 1.1 christos | ExtendedIOTerm {}
92 1.1 christos | ExtendedMemoryTerm {}
93 1.1 christos | ExtendedSpaceTerm {}
94 1.1 christos | FixedDmaTerm {}
95 1.1 christos | FixedIOTerm {}
96 1.1 christos | GpioIntTerm {}
97 1.1 christos | GpioIoTerm {}
98 1.1 christos | I2cSerialBusTerm {}
99 1.1.1.2 christos | I2cSerialBusTermV2 {}
100 1.1 christos | InterruptTerm {}
101 1.1 christos | IOTerm {}
102 1.1 christos | IRQNoFlagsTerm {}
103 1.1 christos | IRQTerm {}
104 1.1 christos | Memory24Term {}
105 1.1 christos | Memory32FixedTerm {}
106 1.1 christos | Memory32Term {}
107 1.1.1.6 christos | PinConfigTerm {}
108 1.1.1.6 christos | PinFunctionTerm {}
109 1.1.1.6 christos | PinGroupTerm {}
110 1.1.1.6 christos | PinGroupConfigTerm {}
111 1.1.1.6 christos | PinGroupFunctionTerm {}
112 1.1 christos | QWordIOTerm {}
113 1.1 christos | QWordMemoryTerm {}
114 1.1 christos | QWordSpaceTerm {}
115 1.1 christos | RegisterTerm {}
116 1.1 christos | SpiSerialBusTerm {}
117 1.1.1.2 christos | SpiSerialBusTermV2 {}
118 1.1 christos | StartDependentFnNoPriTerm {}
119 1.1 christos | StartDependentFnTerm {}
120 1.1 christos | UartSerialBusTerm {}
121 1.1.1.2 christos | UartSerialBusTermV2 {}
122 1.1 christos | VendorLongTerm {}
123 1.1 christos | VendorShortTerm {}
124 1.1 christos | WordBusNumberTerm {}
125 1.1 christos | WordIOTerm {}
126 1.1 christos | WordSpaceTerm {}
127 1.1 christos ;
128 1.1 christos
129 1.1.1.10 christos Csi2SerialBusTerm
130 1.1.1.10 christos : PARSEOP_CSI2_SERIALBUS
131 1.1.1.10 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CSI2_SERIALBUS);}
132 1.1.1.10 christos OptionalSlaveMode_First {UtCheckIntegerRange ($4, 0x00, 0x01);} /* 04: SlaveMode */
133 1.1.1.10 christos ',' ByteConstExpr {UtCheckIntegerRange ($7, 0x00, 0x03);} /* 07: PhyType */
134 1.1.1.10 christos OptionalByteConstExpr {UtCheckIntegerRange ($9, 0x00, 0xFC);} /* 09: LocalPortInstance */
135 1.1.1.10 christos ',' StringData /* 12: ResourceSource */
136 1.1.1.10 christos ',' ByteConstExpr /* 14: ResourceSourceIndex */
137 1.1.1.10 christos OptionalResourceType /* 15; ResourceType (ResourceUsage) */
138 1.1.1.10 christos OptionalNameString /* 16: DescriptorName */
139 1.1.1.10 christos OptionalBuffer_Last /* 17: VendorData */
140 1.1.1.10 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,8,
141 1.1.1.10 christos $4,$7,$9,$12,$14,$15,$16,$17);}
142 1.1.1.10 christos | PARSEOP_CSI2_SERIALBUS
143 1.1.1.10 christos PARSEOP_OPEN_PAREN
144 1.1.1.10 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
145 1.1.1.10 christos
146 1.1 christos DMATerm
147 1.1.1.4 christos : PARSEOP_DMA
148 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DMA);}
149 1.1 christos DMATypeKeyword
150 1.1 christos OptionalBusMasterKeyword
151 1.1 christos ',' XferTypeKeyword
152 1.1 christos OptionalNameString_Last
153 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
154 1.1.1.6 christos ByteList '}' {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$7,$8,$11);}
155 1.1.1.4 christos | PARSEOP_DMA
156 1.1.1.4 christos PARSEOP_OPEN_PAREN
157 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
158 1.1 christos ;
159 1.1 christos
160 1.1 christos DWordIOTerm
161 1.1.1.4 christos : PARSEOP_DWORDIO
162 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDIO);}
163 1.1 christos OptionalResourceType_First
164 1.1 christos OptionalMinType
165 1.1 christos OptionalMaxType
166 1.1 christos OptionalDecodeType
167 1.1 christos OptionalRangeType
168 1.1 christos ',' DWordConstExpr
169 1.1 christos ',' DWordConstExpr
170 1.1 christos ',' DWordConstExpr
171 1.1 christos ',' DWordConstExpr
172 1.1 christos ',' DWordConstExpr
173 1.1 christos OptionalByteConstExpr
174 1.1 christos OptionalStringData
175 1.1 christos OptionalNameString
176 1.1 christos OptionalType
177 1.1 christos OptionalTranslationType_Last
178 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
179 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
180 1.1.1.4 christos | PARSEOP_DWORDIO
181 1.1.1.4 christos PARSEOP_OPEN_PAREN
182 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
183 1.1 christos ;
184 1.1 christos
185 1.1 christos DWordMemoryTerm
186 1.1.1.4 christos : PARSEOP_DWORDMEMORY
187 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDMEMORY);}
188 1.1 christos OptionalResourceType_First
189 1.1 christos OptionalDecodeType
190 1.1 christos OptionalMinType
191 1.1 christos OptionalMaxType
192 1.1 christos OptionalMemType
193 1.1 christos ',' OptionalReadWriteKeyword
194 1.1 christos ',' DWordConstExpr
195 1.1 christos ',' DWordConstExpr
196 1.1 christos ',' DWordConstExpr
197 1.1 christos ',' DWordConstExpr
198 1.1 christos ',' DWordConstExpr
199 1.1 christos OptionalByteConstExpr
200 1.1 christos OptionalStringData
201 1.1 christos OptionalNameString
202 1.1 christos OptionalAddressRange
203 1.1 christos OptionalType_Last
204 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,16,
205 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
206 1.1.1.4 christos | PARSEOP_DWORDMEMORY
207 1.1.1.4 christos PARSEOP_OPEN_PAREN
208 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
209 1.1 christos ;
210 1.1 christos
211 1.1 christos DWordSpaceTerm
212 1.1.1.4 christos : PARSEOP_DWORDSPACE
213 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDSPACE);}
214 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
215 1.1 christos OptionalResourceType
216 1.1 christos OptionalDecodeType
217 1.1 christos OptionalMinType
218 1.1 christos OptionalMaxType
219 1.1 christos ',' ByteConstExpr
220 1.1 christos ',' DWordConstExpr
221 1.1 christos ',' DWordConstExpr
222 1.1 christos ',' DWordConstExpr
223 1.1 christos ',' DWordConstExpr
224 1.1 christos ',' DWordConstExpr
225 1.1 christos OptionalByteConstExpr
226 1.1 christos OptionalStringData
227 1.1 christos OptionalNameString_Last
228 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
229 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
230 1.1.1.4 christos | PARSEOP_DWORDSPACE
231 1.1.1.4 christos PARSEOP_OPEN_PAREN
232 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
233 1.1 christos ;
234 1.1 christos
235 1.1 christos EndDependentFnTerm
236 1.1.1.4 christos : PARSEOP_ENDDEPENDENTFN
237 1.1.1.4 christos PARSEOP_OPEN_PAREN
238 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrCreateLeafOp (PARSEOP_ENDDEPENDENTFN);}
239 1.1.1.4 christos | PARSEOP_ENDDEPENDENTFN
240 1.1.1.4 christos PARSEOP_OPEN_PAREN
241 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
242 1.1 christos ;
243 1.1 christos
244 1.1 christos ExtendedIOTerm
245 1.1.1.4 christos : PARSEOP_EXTENDEDIO
246 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDIO);}
247 1.1 christos OptionalResourceType_First
248 1.1 christos OptionalMinType
249 1.1 christos OptionalMaxType
250 1.1 christos OptionalDecodeType
251 1.1 christos OptionalRangeType
252 1.1 christos ',' QWordConstExpr
253 1.1 christos ',' QWordConstExpr
254 1.1 christos ',' QWordConstExpr
255 1.1 christos ',' QWordConstExpr
256 1.1 christos ',' QWordConstExpr
257 1.1 christos OptionalQWordConstExpr
258 1.1 christos OptionalNameString
259 1.1 christos OptionalType
260 1.1 christos OptionalTranslationType_Last
261 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
262 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
263 1.1.1.4 christos | PARSEOP_EXTENDEDIO
264 1.1.1.4 christos PARSEOP_OPEN_PAREN
265 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
266 1.1 christos ;
267 1.1 christos
268 1.1 christos ExtendedMemoryTerm
269 1.1.1.4 christos : PARSEOP_EXTENDEDMEMORY
270 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDMEMORY);}
271 1.1 christos OptionalResourceType_First
272 1.1 christos OptionalDecodeType
273 1.1 christos OptionalMinType
274 1.1 christos OptionalMaxType
275 1.1 christos OptionalMemType
276 1.1 christos ',' OptionalReadWriteKeyword
277 1.1 christos ',' QWordConstExpr
278 1.1 christos ',' QWordConstExpr
279 1.1 christos ',' QWordConstExpr
280 1.1 christos ',' QWordConstExpr
281 1.1 christos ',' QWordConstExpr
282 1.1 christos OptionalQWordConstExpr
283 1.1 christos OptionalNameString
284 1.1 christos OptionalAddressRange
285 1.1 christos OptionalType_Last
286 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
287 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
288 1.1.1.4 christos | PARSEOP_EXTENDEDMEMORY
289 1.1.1.4 christos PARSEOP_OPEN_PAREN
290 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
291 1.1 christos ;
292 1.1 christos
293 1.1 christos ExtendedSpaceTerm
294 1.1.1.6 christos : PARSEOP_EXTENDEDSPACE PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDSPACE);}
295 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
296 1.1 christos OptionalResourceType
297 1.1 christos OptionalDecodeType
298 1.1 christos OptionalMinType
299 1.1 christos OptionalMaxType
300 1.1 christos ',' ByteConstExpr
301 1.1 christos ',' QWordConstExpr
302 1.1 christos ',' QWordConstExpr
303 1.1 christos ',' QWordConstExpr
304 1.1 christos ',' QWordConstExpr
305 1.1 christos ',' QWordConstExpr
306 1.1 christos OptionalQWordConstExpr
307 1.1 christos OptionalNameString_Last
308 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,13,
309 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
310 1.1.1.4 christos | PARSEOP_EXTENDEDSPACE
311 1.1.1.4 christos PARSEOP_OPEN_PAREN
312 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
313 1.1 christos ;
314 1.1 christos
315 1.1 christos FixedDmaTerm
316 1.1.1.4 christos : PARSEOP_FIXEDDMA
317 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FIXEDDMA);}
318 1.1 christos WordConstExpr /* 04: DMA RequestLines */
319 1.1 christos ',' WordConstExpr /* 06: DMA Channels */
320 1.1 christos OptionalXferSize /* 07: DMA TransferSize */
321 1.1 christos OptionalNameString /* 08: DescriptorName */
322 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$6,$7,$8);}
323 1.1.1.4 christos | PARSEOP_FIXEDDMA
324 1.1.1.4 christos PARSEOP_OPEN_PAREN
325 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
326 1.1 christos ;
327 1.1 christos
328 1.1 christos FixedIOTerm
329 1.1.1.4 christos : PARSEOP_FIXEDIO
330 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FIXEDIO);}
331 1.1 christos WordConstExpr
332 1.1 christos ',' ByteConstExpr
333 1.1 christos OptionalNameString_Last
334 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$7);}
335 1.1.1.4 christos | PARSEOP_FIXEDIO
336 1.1.1.4 christos PARSEOP_OPEN_PAREN
337 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
338 1.1 christos ;
339 1.1 christos
340 1.1 christos GpioIntTerm
341 1.1.1.4 christos : PARSEOP_GPIO_INT
342 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_GPIO_INT);}
343 1.1 christos InterruptTypeKeyword /* 04: InterruptType */
344 1.1 christos ',' InterruptLevel /* 06: InterruptLevel */
345 1.1 christos OptionalShareType /* 07: SharedType */
346 1.1 christos ',' PinConfigByte /* 09: PinConfig */
347 1.1 christos OptionalWordConstExpr /* 10: DebounceTimeout */
348 1.1 christos ',' StringData /* 12: ResourceSource */
349 1.1 christos OptionalByteConstExpr /* 13: ResourceSourceIndex */
350 1.1 christos OptionalResourceType /* 14: ResourceType */
351 1.1 christos OptionalNameString /* 15: DescriptorName */
352 1.1 christos OptionalBuffer_Last /* 16: VendorData */
353 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
354 1.1.1.6 christos DWordConstExpr '}' {$$ = TrLinkOpChildren ($<n>3,11,
355 1.1.1.3 christos $4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
356 1.1.1.4 christos | PARSEOP_GPIO_INT
357 1.1.1.4 christos PARSEOP_OPEN_PAREN
358 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
359 1.1 christos ;
360 1.1 christos
361 1.1 christos GpioIoTerm
362 1.1.1.4 christos : PARSEOP_GPIO_IO
363 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_GPIO_IO);}
364 1.1 christos OptionalShareType_First /* 04: SharedType */
365 1.1 christos ',' PinConfigByte /* 06: PinConfig */
366 1.1 christos OptionalWordConstExpr /* 07: DebounceTimeout */
367 1.1 christos OptionalWordConstExpr /* 08: DriveStrength */
368 1.1 christos OptionalIoRestriction /* 09: IoRestriction */
369 1.1 christos ',' StringData /* 11: ResourceSource */
370 1.1 christos OptionalByteConstExpr /* 12: ResourceSourceIndex */
371 1.1 christos OptionalResourceType /* 13: ResourceType */
372 1.1 christos OptionalNameString /* 14: DescriptorName */
373 1.1 christos OptionalBuffer_Last /* 15: VendorData */
374 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
375 1.1.1.6 christos DWordList '}' {$$ = TrLinkOpChildren ($<n>3,11,
376 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
377 1.1.1.4 christos | PARSEOP_GPIO_IO
378 1.1.1.4 christos PARSEOP_OPEN_PAREN
379 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
380 1.1 christos ;
381 1.1 christos
382 1.1 christos I2cSerialBusTerm
383 1.1.1.4 christos : PARSEOP_I2C_SERIALBUS
384 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_I2C_SERIALBUS);}
385 1.1 christos WordConstExpr /* 04: SlaveAddress */
386 1.1 christos OptionalSlaveMode /* 05: SlaveMode */
387 1.1 christos ',' DWordConstExpr /* 07: ConnectionSpeed */
388 1.1 christos OptionalAddressingMode /* 08: AddressingMode */
389 1.1 christos ',' StringData /* 10: ResourceSource */
390 1.1 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
391 1.1 christos OptionalResourceType /* 12: ResourceType */
392 1.1 christos OptionalNameString /* 13: DescriptorName */
393 1.1 christos OptionalBuffer_Last /* 14: VendorData */
394 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,10,
395 1.1.1.3 christos $4,$5,$7,$8,$10,$11,$12,$13,
396 1.1.1.6 christos TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$14);}
397 1.1.1.4 christos | PARSEOP_I2C_SERIALBUS
398 1.1.1.4 christos PARSEOP_OPEN_PAREN
399 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
400 1.1 christos ;
401 1.1 christos
402 1.1.1.2 christos I2cSerialBusTermV2
403 1.1.1.4 christos : PARSEOP_I2C_SERIALBUS_V2
404 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_I2C_SERIALBUS_V2);}
405 1.1.1.2 christos WordConstExpr /* 04: SlaveAddress */
406 1.1.1.2 christos OptionalSlaveMode /* 05: SlaveMode */
407 1.1.1.2 christos ',' DWordConstExpr /* 07: ConnectionSpeed */
408 1.1.1.2 christos OptionalAddressingMode /* 08: AddressingMode */
409 1.1.1.2 christos ',' StringData /* 10: ResourceSource */
410 1.1.1.2 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
411 1.1.1.2 christos OptionalResourceType /* 12: ResourceType */
412 1.1.1.2 christos OptionalNameString /* 13: DescriptorName */
413 1.1.1.2 christos OptionalShareType /* 14: Share */
414 1.1.1.2 christos OptionalBuffer_Last /* 15: VendorData */
415 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,10,
416 1.1.1.3 christos $4,$5,$7,$8,$10,$11,$12,$13,$14,$15);}
417 1.1.1.4 christos | PARSEOP_I2C_SERIALBUS_V2
418 1.1.1.4 christos PARSEOP_OPEN_PAREN
419 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
420 1.1.1.2 christos ;
421 1.1.1.2 christos
422 1.1 christos InterruptTerm
423 1.1.1.4 christos : PARSEOP_INTERRUPT
424 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_INTERRUPT);}
425 1.1 christos OptionalResourceType_First
426 1.1 christos ',' InterruptTypeKeyword
427 1.1 christos ',' InterruptLevel
428 1.1 christos OptionalShareType
429 1.1 christos OptionalByteConstExpr
430 1.1 christos OptionalStringData
431 1.1 christos OptionalNameString_Last
432 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
433 1.1.1.6 christos DWordList '}' {$$ = TrLinkOpChildren ($<n>3,8,
434 1.1.1.3 christos $4,$6,$8,$9,$10,$11,$12,$15);}
435 1.1.1.4 christos | PARSEOP_INTERRUPT
436 1.1.1.4 christos PARSEOP_OPEN_PAREN
437 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
438 1.1 christos ;
439 1.1 christos
440 1.1 christos IOTerm
441 1.1.1.4 christos : PARSEOP_IO
442 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_IO);}
443 1.1 christos IODecodeKeyword
444 1.1 christos ',' WordConstExpr
445 1.1 christos ',' WordConstExpr
446 1.1 christos ',' ByteConstExpr
447 1.1 christos ',' ByteConstExpr
448 1.1 christos OptionalNameString_Last
449 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
450 1.1.1.4 christos | PARSEOP_IO
451 1.1.1.4 christos PARSEOP_OPEN_PAREN
452 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
453 1.1 christos ;
454 1.1 christos
455 1.1 christos IRQNoFlagsTerm
456 1.1.1.4 christos : PARSEOP_IRQNOFLAGS
457 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_IRQNOFLAGS);}
458 1.1 christos OptionalNameString_First
459 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
460 1.1.1.6 christos ByteList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
461 1.1.1.4 christos | PARSEOP_IRQNOFLAGS
462 1.1.1.4 christos PARSEOP_OPEN_PAREN
463 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
464 1.1 christos ;
465 1.1 christos
466 1.1 christos IRQTerm
467 1.1.1.4 christos : PARSEOP_IRQ
468 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_IRQ);}
469 1.1 christos InterruptTypeKeyword
470 1.1 christos ',' InterruptLevel
471 1.1 christos OptionalShareType
472 1.1 christos OptionalNameString_Last
473 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
474 1.1.1.6 christos ByteList '}' {$$ = TrLinkOpChildren ($<n>3,5,$4,$6,$7,$8,$11);}
475 1.1.1.4 christos | PARSEOP_IRQ
476 1.1.1.4 christos PARSEOP_OPEN_PAREN
477 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
478 1.1 christos ;
479 1.1 christos
480 1.1 christos Memory24Term
481 1.1.1.4 christos : PARSEOP_MEMORY24
482 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY24);}
483 1.1 christos OptionalReadWriteKeyword
484 1.1 christos ',' WordConstExpr
485 1.1 christos ',' WordConstExpr
486 1.1 christos ',' WordConstExpr
487 1.1 christos ',' WordConstExpr
488 1.1 christos OptionalNameString_Last
489 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
490 1.1.1.4 christos | PARSEOP_MEMORY24
491 1.1.1.4 christos PARSEOP_OPEN_PAREN
492 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
493 1.1 christos ;
494 1.1 christos
495 1.1 christos Memory32FixedTerm
496 1.1.1.4 christos : PARSEOP_MEMORY32FIXED
497 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY32FIXED);}
498 1.1 christos OptionalReadWriteKeyword
499 1.1 christos ',' DWordConstExpr
500 1.1 christos ',' DWordConstExpr
501 1.1 christos OptionalNameString_Last
502 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$6,$8,$9);}
503 1.1.1.4 christos | PARSEOP_MEMORY32FIXED
504 1.1.1.4 christos PARSEOP_OPEN_PAREN
505 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
506 1.1 christos ;
507 1.1 christos
508 1.1 christos Memory32Term
509 1.1.1.4 christos : PARSEOP_MEMORY32
510 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY32);}
511 1.1 christos OptionalReadWriteKeyword
512 1.1 christos ',' DWordConstExpr
513 1.1 christos ',' DWordConstExpr
514 1.1 christos ',' DWordConstExpr
515 1.1 christos ',' DWordConstExpr
516 1.1 christos OptionalNameString_Last
517 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
518 1.1.1.4 christos | PARSEOP_MEMORY32
519 1.1.1.4 christos PARSEOP_OPEN_PAREN
520 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
521 1.1 christos ;
522 1.1 christos
523 1.1.1.6 christos PinConfigTerm
524 1.1.1.6 christos : PARSEOP_PINCONFIG
525 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINCONFIG);}
526 1.1.1.6 christos OptionalShareType_First /* 04: SharedType */
527 1.1.1.6 christos ',' ByteConstExpr /* 06: PinConfigType */
528 1.1.1.6 christos ',' DWordConstExpr /* 08: PinConfigValue */
529 1.1.1.6 christos ',' StringData /* 10: ResourceSource */
530 1.1.1.6 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
531 1.1.1.6 christos OptionalResourceType /* 12: ResourceType */
532 1.1.1.6 christos OptionalNameString /* 13: DescriptorName */
533 1.1.1.6 christos OptionalBuffer_Last /* 14: VendorData */
534 1.1.1.6 christos PARSEOP_CLOSE_PAREN '{'
535 1.1.1.6 christos DWordList '}' {$$ = TrLinkOpChildren ($<n>3,9,
536 1.1.1.6 christos $4,$6,$8,$10,$11,$12,$13,$14,$17);}
537 1.1.1.6 christos | PARSEOP_PINCONFIG
538 1.1.1.6 christos PARSEOP_OPEN_PAREN
539 1.1.1.6 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
540 1.1.1.6 christos ;
541 1.1.1.6 christos
542 1.1.1.6 christos PinFunctionTerm
543 1.1.1.6 christos : PARSEOP_PINFUNCTION
544 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINFUNCTION);}
545 1.1.1.6 christos OptionalShareType_First /* 04: SharedType */
546 1.1.1.6 christos ',' PinConfigByte /* 06: PinConfig */
547 1.1.1.6 christos ',' WordConstExpr /* 08: FunctionNumber */
548 1.1.1.6 christos ',' StringData /* 10: ResourceSource */
549 1.1.1.6 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
550 1.1.1.6 christos OptionalResourceType /* 12: ResourceType */
551 1.1.1.6 christos OptionalNameString /* 13: DescriptorName */
552 1.1.1.6 christos OptionalBuffer_Last /* 14: VendorData */
553 1.1.1.6 christos PARSEOP_CLOSE_PAREN '{'
554 1.1.1.6 christos DWordList '}' {$$ = TrLinkOpChildren ($<n>3,9,
555 1.1.1.6 christos $4,$6,$8,$10,$11,$12,$13,$14,$17);}
556 1.1.1.6 christos | PARSEOP_PINFUNCTION
557 1.1.1.6 christos PARSEOP_OPEN_PAREN
558 1.1.1.6 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
559 1.1.1.6 christos ;
560 1.1.1.6 christos
561 1.1.1.6 christos PinGroupTerm
562 1.1.1.6 christos : PARSEOP_PINGROUP
563 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUP);}
564 1.1.1.6 christos StringData /* 04: ResourceLabel */
565 1.1.1.6 christos OptionalProducerResourceType /* 05: ResourceType */
566 1.1.1.6 christos OptionalNameString /* 06: DescriptorName */
567 1.1.1.6 christos OptionalBuffer_Last /* 07: VendorData */
568 1.1.1.6 christos PARSEOP_CLOSE_PAREN '{'
569 1.1.1.6 christos DWordList '}' {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$6,$7,$10);}
570 1.1.1.6 christos | PARSEOP_PINGROUP
571 1.1.1.6 christos PARSEOP_OPEN_PAREN
572 1.1.1.6 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
573 1.1.1.6 christos ;
574 1.1.1.6 christos
575 1.1.1.6 christos PinGroupConfigTerm
576 1.1.1.6 christos : PARSEOP_PINGROUPCONFIG
577 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUPCONFIG);}
578 1.1.1.6 christos OptionalShareType_First /* 04: SharedType */
579 1.1.1.6 christos ',' ByteConstExpr /* 06: PinConfigType */
580 1.1.1.6 christos ',' DWordConstExpr /* 08: PinConfigValue */
581 1.1.1.6 christos ',' StringData /* 10: ResourceSource */
582 1.1.1.6 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
583 1.1.1.6 christos ',' StringData /* 13: ResourceSourceLabel */
584 1.1.1.6 christos OptionalResourceType /* 14: ResourceType */
585 1.1.1.6 christos OptionalNameString /* 15: DescriptorName */
586 1.1.1.6 christos OptionalBuffer_Last /* 16: VendorData */
587 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,9,
588 1.1.1.6 christos $4,$6,$8,$10,$11,$13,$14,$15,$16);}
589 1.1.1.6 christos | PARSEOP_PINGROUPCONFIG
590 1.1.1.6 christos PARSEOP_OPEN_PAREN
591 1.1.1.6 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
592 1.1.1.6 christos ;
593 1.1.1.6 christos
594 1.1.1.6 christos PinGroupFunctionTerm
595 1.1.1.6 christos : PARSEOP_PINGROUPFUNCTION
596 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUPFUNCTION);}
597 1.1.1.6 christos OptionalShareType_First /* 04: SharedType */
598 1.1.1.6 christos ',' WordConstExpr /* 06: FunctionNumber */
599 1.1.1.6 christos ',' StringData /* 08: ResourceSource */
600 1.1.1.6 christos OptionalByteConstExpr /* 09: ResourceSourceIndex */
601 1.1.1.6 christos ',' StringData /* 11: ResourceSourceLabel */
602 1.1.1.6 christos OptionalResourceType /* 12: ResourceType */
603 1.1.1.6 christos OptionalNameString /* 13: DescriptorName */
604 1.1.1.6 christos OptionalBuffer_Last /* 14: VendorData */
605 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,8,
606 1.1.1.6 christos $4,$6,$8,$9,$11,$12,$13,$14);}
607 1.1.1.6 christos | PARSEOP_PINGROUPFUNCTION
608 1.1.1.6 christos PARSEOP_OPEN_PAREN
609 1.1.1.6 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
610 1.1.1.6 christos ;
611 1.1.1.6 christos
612 1.1 christos QWordIOTerm
613 1.1.1.4 christos : PARSEOP_QWORDIO
614 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDIO);}
615 1.1 christos OptionalResourceType_First
616 1.1 christos OptionalMinType
617 1.1 christos OptionalMaxType
618 1.1 christos OptionalDecodeType
619 1.1 christos OptionalRangeType
620 1.1 christos ',' QWordConstExpr
621 1.1 christos ',' QWordConstExpr
622 1.1 christos ',' QWordConstExpr
623 1.1 christos ',' QWordConstExpr
624 1.1 christos ',' QWordConstExpr
625 1.1 christos OptionalByteConstExpr
626 1.1 christos OptionalStringData
627 1.1 christos OptionalNameString
628 1.1 christos OptionalType
629 1.1 christos OptionalTranslationType_Last
630 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
631 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
632 1.1.1.4 christos | PARSEOP_QWORDIO
633 1.1.1.4 christos PARSEOP_OPEN_PAREN
634 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
635 1.1 christos ;
636 1.1 christos
637 1.1 christos QWordMemoryTerm
638 1.1.1.4 christos : PARSEOP_QWORDMEMORY
639 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDMEMORY);}
640 1.1 christos OptionalResourceType_First
641 1.1 christos OptionalDecodeType
642 1.1 christos OptionalMinType
643 1.1 christos OptionalMaxType
644 1.1 christos OptionalMemType
645 1.1 christos ',' OptionalReadWriteKeyword
646 1.1 christos ',' QWordConstExpr
647 1.1 christos ',' QWordConstExpr
648 1.1 christos ',' QWordConstExpr
649 1.1 christos ',' QWordConstExpr
650 1.1 christos ',' QWordConstExpr
651 1.1 christos OptionalByteConstExpr
652 1.1 christos OptionalStringData
653 1.1 christos OptionalNameString
654 1.1 christos OptionalAddressRange
655 1.1 christos OptionalType_Last
656 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,16,
657 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
658 1.1.1.4 christos | PARSEOP_QWORDMEMORY
659 1.1.1.4 christos PARSEOP_OPEN_PAREN
660 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
661 1.1 christos ;
662 1.1 christos
663 1.1 christos QWordSpaceTerm
664 1.1.1.4 christos : PARSEOP_QWORDSPACE
665 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDSPACE);}
666 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
667 1.1 christos OptionalResourceType
668 1.1 christos OptionalDecodeType
669 1.1 christos OptionalMinType
670 1.1 christos OptionalMaxType
671 1.1 christos ',' ByteConstExpr
672 1.1 christos ',' QWordConstExpr
673 1.1 christos ',' QWordConstExpr
674 1.1 christos ',' QWordConstExpr
675 1.1 christos ',' QWordConstExpr
676 1.1 christos ',' QWordConstExpr
677 1.1 christos OptionalByteConstExpr
678 1.1 christos OptionalStringData
679 1.1 christos OptionalNameString_Last
680 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
681 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
682 1.1.1.4 christos | PARSEOP_QWORDSPACE
683 1.1.1.4 christos PARSEOP_OPEN_PAREN
684 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
685 1.1 christos ;
686 1.1 christos
687 1.1 christos RegisterTerm
688 1.1.1.4 christos : PARSEOP_REGISTER
689 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_REGISTER);}
690 1.1 christos AddressSpaceKeyword
691 1.1 christos ',' ByteConstExpr
692 1.1 christos ',' ByteConstExpr
693 1.1 christos ',' QWordConstExpr
694 1.1 christos OptionalAccessSize
695 1.1 christos OptionalNameString_Last
696 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
697 1.1.1.4 christos | PARSEOP_REGISTER
698 1.1.1.4 christos PARSEOP_OPEN_PAREN
699 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
700 1.1 christos ;
701 1.1 christos
702 1.1 christos SpiSerialBusTerm
703 1.1.1.4 christos : PARSEOP_SPI_SERIALBUS
704 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SPI_SERIALBUS);}
705 1.1 christos WordConstExpr /* 04: DeviceSelection */
706 1.1 christos OptionalDevicePolarity /* 05: DevicePolarity */
707 1.1 christos OptionalWireMode /* 06: WireMode */
708 1.1 christos ',' ByteConstExpr /* 08: DataBitLength */
709 1.1 christos OptionalSlaveMode /* 09: SlaveMode */
710 1.1 christos ',' DWordConstExpr /* 11: ConnectionSpeed */
711 1.1 christos ',' ClockPolarityKeyword /* 13: ClockPolarity */
712 1.1 christos ',' ClockPhaseKeyword /* 15: ClockPhase */
713 1.1 christos ',' StringData /* 17: ResourceSource */
714 1.1 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
715 1.1 christos OptionalResourceType /* 19: ResourceType */
716 1.1 christos OptionalNameString /* 20: DescriptorName */
717 1.1 christos OptionalBuffer_Last /* 21: VendorData */
718 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
719 1.1.1.3 christos $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
720 1.1.1.6 christos TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$21);}
721 1.1.1.4 christos | PARSEOP_SPI_SERIALBUS
722 1.1.1.4 christos PARSEOP_OPEN_PAREN
723 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
724 1.1 christos ;
725 1.1 christos
726 1.1.1.2 christos SpiSerialBusTermV2
727 1.1.1.4 christos : PARSEOP_SPI_SERIALBUS_V2
728 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SPI_SERIALBUS_V2);}
729 1.1.1.2 christos WordConstExpr /* 04: DeviceSelection */
730 1.1.1.2 christos OptionalDevicePolarity /* 05: DevicePolarity */
731 1.1.1.2 christos OptionalWireMode /* 06: WireMode */
732 1.1.1.2 christos ',' ByteConstExpr /* 08: DataBitLength */
733 1.1.1.2 christos OptionalSlaveMode /* 09: SlaveMode */
734 1.1.1.2 christos ',' DWordConstExpr /* 11: ConnectionSpeed */
735 1.1.1.2 christos ',' ClockPolarityKeyword /* 13: ClockPolarity */
736 1.1.1.2 christos ',' ClockPhaseKeyword /* 15: ClockPhase */
737 1.1.1.2 christos ',' StringData /* 17: ResourceSource */
738 1.1.1.2 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
739 1.1.1.2 christos OptionalResourceType /* 19: ResourceType */
740 1.1.1.2 christos OptionalNameString /* 20: DescriptorName */
741 1.1.1.2 christos OptionalShareType /* 21: Share */
742 1.1.1.2 christos OptionalBuffer_Last /* 22: VendorData */
743 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
744 1.1.1.3 christos $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
745 1.1.1.4 christos | PARSEOP_SPI_SERIALBUS_V2
746 1.1.1.4 christos PARSEOP_OPEN_PAREN
747 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
748 1.1.1.2 christos ;
749 1.1.1.2 christos
750 1.1 christos StartDependentFnNoPriTerm
751 1.1.1.4 christos : PARSEOP_STARTDEPENDENTFN_NOPRI
752 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_STARTDEPENDENTFN_NOPRI);}
753 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
754 1.1.1.6 christos ResourceMacroList '}' {$$ = TrLinkOpChildren ($<n>3,1,$6);}
755 1.1.1.4 christos | PARSEOP_STARTDEPENDENTFN_NOPRI
756 1.1.1.4 christos PARSEOP_OPEN_PAREN
757 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
758 1.1 christos ;
759 1.1 christos
760 1.1 christos StartDependentFnTerm
761 1.1.1.4 christos : PARSEOP_STARTDEPENDENTFN
762 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_STARTDEPENDENTFN);}
763 1.1 christos ByteConstExpr
764 1.1 christos ',' ByteConstExpr
765 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
766 1.1.1.6 christos ResourceMacroList '}' {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$9);}
767 1.1.1.4 christos | PARSEOP_STARTDEPENDENTFN
768 1.1.1.4 christos PARSEOP_OPEN_PAREN
769 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
770 1.1 christos ;
771 1.1 christos
772 1.1 christos UartSerialBusTerm
773 1.1.1.4 christos : PARSEOP_UART_SERIALBUS
774 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_UART_SERIALBUS);}
775 1.1 christos DWordConstExpr /* 04: ConnectionSpeed */
776 1.1 christos OptionalBitsPerByte /* 05: BitsPerByte */
777 1.1 christos OptionalStopBits /* 06: StopBits */
778 1.1 christos ',' ByteConstExpr /* 08: LinesInUse */
779 1.1.1.8 christos OptionalEndian /* 09: Endianness */
780 1.1 christos OptionalParityType /* 10: Parity */
781 1.1 christos OptionalFlowControl /* 11: FlowControl */
782 1.1 christos ',' WordConstExpr /* 13: Rx BufferSize */
783 1.1 christos ',' WordConstExpr /* 15: Tx BufferSize */
784 1.1 christos ',' StringData /* 17: ResourceSource */
785 1.1 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
786 1.1 christos OptionalResourceType /* 19: ResourceType */
787 1.1 christos OptionalNameString /* 20: DescriptorName */
788 1.1 christos OptionalBuffer_Last /* 21: VendorData */
789 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
790 1.1.1.3 christos $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
791 1.1.1.6 christos TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$21);}
792 1.1.1.4 christos | PARSEOP_UART_SERIALBUS
793 1.1.1.4 christos PARSEOP_OPEN_PAREN
794 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
795 1.1 christos ;
796 1.1 christos
797 1.1.1.2 christos UartSerialBusTermV2
798 1.1.1.4 christos : PARSEOP_UART_SERIALBUS_V2
799 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_UART_SERIALBUS_V2);}
800 1.1.1.2 christos DWordConstExpr /* 04: ConnectionSpeed */
801 1.1.1.2 christos OptionalBitsPerByte /* 05: BitsPerByte */
802 1.1.1.2 christos OptionalStopBits /* 06: StopBits */
803 1.1.1.2 christos ',' ByteConstExpr /* 08: LinesInUse */
804 1.1.1.8 christos OptionalEndian /* 09: Endianness */
805 1.1.1.2 christos OptionalParityType /* 10: Parity */
806 1.1.1.2 christos OptionalFlowControl /* 11: FlowControl */
807 1.1.1.2 christos ',' WordConstExpr /* 13: Rx BufferSize */
808 1.1.1.2 christos ',' WordConstExpr /* 15: Tx BufferSize */
809 1.1.1.2 christos ',' StringData /* 17: ResourceSource */
810 1.1.1.2 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
811 1.1.1.2 christos OptionalResourceType /* 19: ResourceType */
812 1.1.1.2 christos OptionalNameString /* 20: DescriptorName */
813 1.1.1.2 christos OptionalShareType /* 21: Share */
814 1.1.1.2 christos OptionalBuffer_Last /* 22: VendorData */
815 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
816 1.1.1.3 christos $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
817 1.1.1.4 christos | PARSEOP_UART_SERIALBUS_V2
818 1.1.1.4 christos PARSEOP_OPEN_PAREN
819 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
820 1.1.1.2 christos ;
821 1.1.1.2 christos
822 1.1 christos VendorLongTerm
823 1.1.1.4 christos : PARSEOP_VENDORLONG
824 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_VENDORLONG);}
825 1.1 christos OptionalNameString_First
826 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
827 1.1.1.6 christos ByteList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
828 1.1.1.4 christos | PARSEOP_VENDORLONG
829 1.1.1.4 christos PARSEOP_OPEN_PAREN
830 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
831 1.1 christos ;
832 1.1 christos
833 1.1 christos VendorShortTerm
834 1.1.1.4 christos : PARSEOP_VENDORSHORT
835 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_VENDORSHORT);}
836 1.1 christos OptionalNameString_First
837 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
838 1.1.1.6 christos ByteList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
839 1.1.1.4 christos | PARSEOP_VENDORSHORT
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 christos WordBusNumberTerm
845 1.1.1.4 christos : PARSEOP_WORDBUSNUMBER
846 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WORDBUSNUMBER);}
847 1.1 christos OptionalResourceType_First
848 1.1 christos OptionalMinType
849 1.1 christos OptionalMaxType
850 1.1 christos OptionalDecodeType
851 1.1 christos ',' WordConstExpr
852 1.1 christos ',' WordConstExpr
853 1.1 christos ',' WordConstExpr
854 1.1 christos ',' WordConstExpr
855 1.1 christos ',' WordConstExpr
856 1.1 christos OptionalByteConstExpr
857 1.1 christos OptionalStringData
858 1.1 christos OptionalNameString_Last
859 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,12,
860 1.1.1.3 christos $4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
861 1.1.1.4 christos | PARSEOP_WORDBUSNUMBER
862 1.1.1.4 christos PARSEOP_OPEN_PAREN
863 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
864 1.1 christos ;
865 1.1 christos
866 1.1 christos WordIOTerm
867 1.1.1.4 christos : PARSEOP_WORDIO
868 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WORDIO);}
869 1.1 christos OptionalResourceType_First
870 1.1 christos OptionalMinType
871 1.1 christos OptionalMaxType
872 1.1 christos OptionalDecodeType
873 1.1 christos OptionalRangeType
874 1.1 christos ',' WordConstExpr
875 1.1 christos ',' WordConstExpr
876 1.1 christos ',' WordConstExpr
877 1.1 christos ',' WordConstExpr
878 1.1 christos ',' WordConstExpr
879 1.1 christos OptionalByteConstExpr
880 1.1 christos OptionalStringData
881 1.1 christos OptionalNameString
882 1.1 christos OptionalType
883 1.1 christos OptionalTranslationType_Last
884 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,15,
885 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
886 1.1.1.4 christos | PARSEOP_WORDIO
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 WordSpaceTerm
892 1.1.1.4 christos : PARSEOP_WORDSPACE
893 1.1.1.6 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WORDSPACE);}
894 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
895 1.1 christos OptionalResourceType
896 1.1 christos OptionalDecodeType
897 1.1 christos OptionalMinType
898 1.1 christos OptionalMaxType
899 1.1 christos ',' ByteConstExpr
900 1.1 christos ',' WordConstExpr
901 1.1 christos ',' WordConstExpr
902 1.1 christos ',' WordConstExpr
903 1.1 christos ',' WordConstExpr
904 1.1 christos ',' WordConstExpr
905 1.1 christos OptionalByteConstExpr
906 1.1 christos OptionalStringData
907 1.1 christos OptionalNameString_Last
908 1.1.1.6 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,14,
909 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
910 1.1.1.4 christos | PARSEOP_WORDSPACE
911 1.1.1.4 christos PARSEOP_OPEN_PAREN
912 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
913 1.1 christos ;
914