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