1288425SjkimNoEcho(' 2288425Sjkim/****************************************************************************** 3288425Sjkim * 4288425Sjkim * Module Name: aslresources.y - Bison/Yacc production rules for resources 5288425Sjkim * 6288425Sjkim *****************************************************************************/ 7288425Sjkim 8288425Sjkim/* 9298714Sjkim * Copyright (C) 2000 - 2016, Intel Corp. 10288425Sjkim * All rights reserved. 11288425Sjkim * 12288425Sjkim * Redistribution and use in source and binary forms, with or without 13288425Sjkim * modification, are permitted provided that the following conditions 14288425Sjkim * are met: 15288425Sjkim * 1. Redistributions of source code must retain the above copyright 16288425Sjkim * notice, this list of conditions, and the following disclaimer, 17288425Sjkim * without modification. 18288425Sjkim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 19288425Sjkim * substantially similar to the "NO WARRANTY" disclaimer below 20288425Sjkim * ("Disclaimer") and any redistribution must be conditioned upon 21288425Sjkim * including a substantially similar Disclaimer requirement for further 22288425Sjkim * binary redistribution. 23288425Sjkim * 3. Neither the names of the above-listed copyright holders nor the names 24288425Sjkim * of any contributors may be used to endorse or promote products derived 25288425Sjkim * from this software without specific prior written permission. 26288425Sjkim * 27288425Sjkim * Alternatively, this software may be distributed under the terms of the 28288425Sjkim * GNU General Public License ("GPL") version 2 as published by the Free 29288425Sjkim * Software Foundation. 30288425Sjkim * 31288425Sjkim * NO WARRANTY 32288425Sjkim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 33288425Sjkim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 34288425Sjkim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 35288425Sjkim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 36288425Sjkim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 37288425Sjkim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 38288425Sjkim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 39288425Sjkim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 40288425Sjkim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 41288425Sjkim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 42288425Sjkim * POSSIBILITY OF SUCH DAMAGES. 43288425Sjkim */ 44288425Sjkim 45288425Sjkim') 46288425Sjkim 47288425Sjkim/******************************************************************************* 48288425Sjkim * 49288425Sjkim * ASL Parameter Keyword Terms 50288425Sjkim * 51288425Sjkim ******************************************************************************/ 52288425Sjkim 53288425SjkimAccessAttribKeyword 54288425Sjkim : PARSEOP_ACCESSATTRIB_BLOCK {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BLOCK);} 55288425Sjkim | PARSEOP_ACCESSATTRIB_BLOCK_CALL {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BLOCK_CALL);} 56288425Sjkim | PARSEOP_ACCESSATTRIB_BYTE {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BYTE);} 57288425Sjkim | PARSEOP_ACCESSATTRIB_QUICK {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_QUICK );} 58288425Sjkim | PARSEOP_ACCESSATTRIB_SND_RCV {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_SND_RCV);} 59288425Sjkim | PARSEOP_ACCESSATTRIB_WORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_WORD);} 60288425Sjkim | PARSEOP_ACCESSATTRIB_WORD_CALL {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_WORD_CALL);} 61288425Sjkim | PARSEOP_ACCESSATTRIB_MULTIBYTE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_MULTIBYTE);} 62288425Sjkim ByteConst 63288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,1,$4);} 64288425Sjkim | PARSEOP_ACCESSATTRIB_RAW_BYTES '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_BYTES);} 65288425Sjkim ByteConst 66288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,1,$4);} 67288425Sjkim | PARSEOP_ACCESSATTRIB_RAW_PROCESS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_PROCESS);} 68288425Sjkim ByteConst 69288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,1,$4);} 70288425Sjkim ; 71288425Sjkim 72288425SjkimAccessTypeKeyword 73288425Sjkim : PARSEOP_ACCESSTYPE_ANY {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_ANY);} 74288425Sjkim | PARSEOP_ACCESSTYPE_BYTE {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_BYTE);} 75288425Sjkim | PARSEOP_ACCESSTYPE_WORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_WORD);} 76288425Sjkim | PARSEOP_ACCESSTYPE_DWORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_DWORD);} 77288425Sjkim | PARSEOP_ACCESSTYPE_QWORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_QWORD);} 78288425Sjkim | PARSEOP_ACCESSTYPE_BUF {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_BUF);} 79288425Sjkim ; 80288425Sjkim 81288425SjkimAddressingModeKeyword 82288425Sjkim : PARSEOP_ADDRESSINGMODE_7BIT {$$ = TrCreateLeafNode (PARSEOP_ADDRESSINGMODE_7BIT);} 83288425Sjkim | PARSEOP_ADDRESSINGMODE_10BIT {$$ = TrCreateLeafNode (PARSEOP_ADDRESSINGMODE_10BIT);} 84288425Sjkim ; 85288425Sjkim 86288425SjkimAddressKeyword 87288425Sjkim : PARSEOP_ADDRESSTYPE_MEMORY {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_MEMORY);} 88288425Sjkim | PARSEOP_ADDRESSTYPE_RESERVED {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_RESERVED);} 89288425Sjkim | PARSEOP_ADDRESSTYPE_NVS {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_NVS);} 90288425Sjkim | PARSEOP_ADDRESSTYPE_ACPI {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_ACPI);} 91288425Sjkim ; 92288425Sjkim 93288425SjkimAddressSpaceKeyword 94288425Sjkim : ByteConst {$$ = UtCheckIntegerRange ($1, 0x0A, 0xFF);} 95288425Sjkim | RegionSpaceKeyword {} 96288425Sjkim ; 97288425Sjkim 98288425SjkimBitsPerByteKeyword 99288425Sjkim : PARSEOP_BITSPERBYTE_FIVE {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_FIVE);} 100288425Sjkim | PARSEOP_BITSPERBYTE_SIX {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_SIX);} 101288425Sjkim | PARSEOP_BITSPERBYTE_SEVEN {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_SEVEN);} 102288425Sjkim | PARSEOP_BITSPERBYTE_EIGHT {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_EIGHT);} 103288425Sjkim | PARSEOP_BITSPERBYTE_NINE {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_NINE);} 104288425Sjkim ; 105288425Sjkim 106288425SjkimClockPhaseKeyword 107288425Sjkim : PARSEOP_CLOCKPHASE_FIRST {$$ = TrCreateLeafNode (PARSEOP_CLOCKPHASE_FIRST);} 108288425Sjkim | PARSEOP_CLOCKPHASE_SECOND {$$ = TrCreateLeafNode (PARSEOP_CLOCKPHASE_SECOND);} 109288425Sjkim ; 110288425Sjkim 111288425SjkimClockPolarityKeyword 112288425Sjkim : PARSEOP_CLOCKPOLARITY_LOW {$$ = TrCreateLeafNode (PARSEOP_CLOCKPOLARITY_LOW);} 113288425Sjkim | PARSEOP_CLOCKPOLARITY_HIGH {$$ = TrCreateLeafNode (PARSEOP_CLOCKPOLARITY_HIGH);} 114288425Sjkim ; 115288425Sjkim 116288425SjkimDecodeKeyword 117288425Sjkim : PARSEOP_DECODETYPE_POS {$$ = TrCreateLeafNode (PARSEOP_DECODETYPE_POS);} 118288425Sjkim | PARSEOP_DECODETYPE_SUB {$$ = TrCreateLeafNode (PARSEOP_DECODETYPE_SUB);} 119288425Sjkim ; 120288425Sjkim 121288425SjkimDevicePolarityKeyword 122288425Sjkim : PARSEOP_DEVICEPOLARITY_LOW {$$ = TrCreateLeafNode (PARSEOP_DEVICEPOLARITY_LOW);} 123288425Sjkim | PARSEOP_DEVICEPOLARITY_HIGH {$$ = TrCreateLeafNode (PARSEOP_DEVICEPOLARITY_HIGH);} 124288425Sjkim ; 125288425Sjkim 126288425SjkimDMATypeKeyword 127288425Sjkim : PARSEOP_DMATYPE_A {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_A);} 128288425Sjkim | PARSEOP_DMATYPE_COMPATIBILITY {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_COMPATIBILITY);} 129288425Sjkim | PARSEOP_DMATYPE_B {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_B);} 130288425Sjkim | PARSEOP_DMATYPE_F {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_F);} 131288425Sjkim ; 132288425Sjkim 133288425SjkimEndianKeyword 134288425Sjkim : PARSEOP_ENDIAN_LITTLE {$$ = TrCreateLeafNode (PARSEOP_ENDIAN_LITTLE);} 135288425Sjkim | PARSEOP_ENDIAN_BIG {$$ = TrCreateLeafNode (PARSEOP_ENDIAN_BIG);} 136288425Sjkim ; 137288425Sjkim 138288425SjkimFlowControlKeyword 139288425Sjkim : PARSEOP_FLOWCONTROL_HW {$$ = TrCreateLeafNode (PARSEOP_FLOWCONTROL_HW);} 140288425Sjkim | PARSEOP_FLOWCONTROL_NONE {$$ = TrCreateLeafNode (PARSEOP_FLOWCONTROL_NONE);} 141288425Sjkim | PARSEOP_FLOWCONTROL_SW {$$ = TrCreateLeafNode (PARSEOP_FLOWCONTROL_SW);} 142288425Sjkim ; 143288425Sjkim 144288425SjkimInterruptLevel 145288425Sjkim : PARSEOP_INTLEVEL_ACTIVEBOTH {$$ = TrCreateLeafNode (PARSEOP_INTLEVEL_ACTIVEBOTH);} 146288425Sjkim | PARSEOP_INTLEVEL_ACTIVEHIGH {$$ = TrCreateLeafNode (PARSEOP_INTLEVEL_ACTIVEHIGH);} 147288425Sjkim | PARSEOP_INTLEVEL_ACTIVELOW {$$ = TrCreateLeafNode (PARSEOP_INTLEVEL_ACTIVELOW);} 148288425Sjkim ; 149288425Sjkim 150288425SjkimInterruptTypeKeyword 151288425Sjkim : PARSEOP_INTTYPE_EDGE {$$ = TrCreateLeafNode (PARSEOP_INTTYPE_EDGE);} 152288425Sjkim | PARSEOP_INTTYPE_LEVEL {$$ = TrCreateLeafNode (PARSEOP_INTTYPE_LEVEL);} 153288425Sjkim ; 154288425Sjkim 155288425SjkimIODecodeKeyword 156288425Sjkim : PARSEOP_IODECODETYPE_16 {$$ = TrCreateLeafNode (PARSEOP_IODECODETYPE_16);} 157288425Sjkim | PARSEOP_IODECODETYPE_10 {$$ = TrCreateLeafNode (PARSEOP_IODECODETYPE_10);} 158288425Sjkim ; 159288425Sjkim 160288425SjkimIoRestrictionKeyword 161288425Sjkim : PARSEOP_IORESTRICT_IN {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_IN);} 162288425Sjkim | PARSEOP_IORESTRICT_OUT {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_OUT);} 163288425Sjkim | PARSEOP_IORESTRICT_NONE {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_NONE);} 164288425Sjkim | PARSEOP_IORESTRICT_PRESERVE {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_PRESERVE);} 165288425Sjkim ; 166288425Sjkim 167288425SjkimLockRuleKeyword 168288425Sjkim : PARSEOP_LOCKRULE_LOCK {$$ = TrCreateLeafNode (PARSEOP_LOCKRULE_LOCK);} 169288425Sjkim | PARSEOP_LOCKRULE_NOLOCK {$$ = TrCreateLeafNode (PARSEOP_LOCKRULE_NOLOCK);} 170288425Sjkim ; 171288425Sjkim 172288425SjkimMatchOpKeyword 173288425Sjkim : PARSEOP_MATCHTYPE_MTR {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MTR);} 174288425Sjkim | PARSEOP_MATCHTYPE_MEQ {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MEQ);} 175288425Sjkim | PARSEOP_MATCHTYPE_MLE {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MLE);} 176288425Sjkim | PARSEOP_MATCHTYPE_MLT {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MLT);} 177288425Sjkim | PARSEOP_MATCHTYPE_MGE {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MGE);} 178288425Sjkim | PARSEOP_MATCHTYPE_MGT {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MGT);} 179288425Sjkim ; 180288425Sjkim 181288425SjkimMaxKeyword 182288425Sjkim : PARSEOP_MAXTYPE_FIXED {$$ = TrCreateLeafNode (PARSEOP_MAXTYPE_FIXED);} 183288425Sjkim | PARSEOP_MAXTYPE_NOTFIXED {$$ = TrCreateLeafNode (PARSEOP_MAXTYPE_NOTFIXED);} 184288425Sjkim ; 185288425Sjkim 186288425SjkimMemTypeKeyword 187288425Sjkim : PARSEOP_MEMTYPE_CACHEABLE {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_CACHEABLE);} 188288425Sjkim | PARSEOP_MEMTYPE_WRITECOMBINING {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_WRITECOMBINING);} 189288425Sjkim | PARSEOP_MEMTYPE_PREFETCHABLE {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_PREFETCHABLE);} 190288425Sjkim | PARSEOP_MEMTYPE_NONCACHEABLE {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_NONCACHEABLE);} 191288425Sjkim ; 192288425Sjkim 193288425SjkimMinKeyword 194288425Sjkim : PARSEOP_MINTYPE_FIXED {$$ = TrCreateLeafNode (PARSEOP_MINTYPE_FIXED);} 195288425Sjkim | PARSEOP_MINTYPE_NOTFIXED {$$ = TrCreateLeafNode (PARSEOP_MINTYPE_NOTFIXED);} 196288425Sjkim ; 197288425Sjkim 198288425SjkimObjectTypeKeyword 199288425Sjkim : PARSEOP_OBJECTTYPE_UNK {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_UNK);} 200288425Sjkim | PARSEOP_OBJECTTYPE_INT {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_INT);} 201288425Sjkim | PARSEOP_OBJECTTYPE_STR {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_STR);} 202288425Sjkim | PARSEOP_OBJECTTYPE_BUF {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_BUF);} 203288425Sjkim | PARSEOP_OBJECTTYPE_PKG {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_PKG);} 204288425Sjkim | PARSEOP_OBJECTTYPE_FLD {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_FLD);} 205288425Sjkim | PARSEOP_OBJECTTYPE_DEV {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_DEV);} 206288425Sjkim | PARSEOP_OBJECTTYPE_EVT {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_EVT);} 207288425Sjkim | PARSEOP_OBJECTTYPE_MTH {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_MTH);} 208288425Sjkim | PARSEOP_OBJECTTYPE_MTX {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_MTX);} 209288425Sjkim | PARSEOP_OBJECTTYPE_OPR {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_OPR);} 210288425Sjkim | PARSEOP_OBJECTTYPE_POW {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_POW);} 211288425Sjkim | PARSEOP_OBJECTTYPE_PRO {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_PRO);} 212288425Sjkim | PARSEOP_OBJECTTYPE_THZ {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_THZ);} 213288425Sjkim | PARSEOP_OBJECTTYPE_BFF {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_BFF);} 214288425Sjkim | PARSEOP_OBJECTTYPE_DDB {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_DDB);} 215288425Sjkim ; 216288425Sjkim 217288425SjkimParityTypeKeyword 218288425Sjkim : PARSEOP_PARITYTYPE_SPACE {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_SPACE);} 219288425Sjkim | PARSEOP_PARITYTYPE_MARK {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_MARK);} 220288425Sjkim | PARSEOP_PARITYTYPE_ODD {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_ODD);} 221288425Sjkim | PARSEOP_PARITYTYPE_EVEN {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_EVEN);} 222288425Sjkim | PARSEOP_PARITYTYPE_NONE {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_NONE);} 223288425Sjkim ; 224288425Sjkim 225288425SjkimPinConfigByte 226288425Sjkim : PinConfigKeyword {$$ = $1;} 227288425Sjkim | ByteConstExpr {$$ = UtCheckIntegerRange ($1, 0x80, 0xFF);} 228288425Sjkim ; 229288425Sjkim 230288425SjkimPinConfigKeyword 231288425Sjkim : PARSEOP_PIN_NOPULL {$$ = TrCreateLeafNode (PARSEOP_PIN_NOPULL);} 232288425Sjkim | PARSEOP_PIN_PULLDOWN {$$ = TrCreateLeafNode (PARSEOP_PIN_PULLDOWN);} 233288425Sjkim | PARSEOP_PIN_PULLUP {$$ = TrCreateLeafNode (PARSEOP_PIN_PULLUP);} 234288425Sjkim | PARSEOP_PIN_PULLDEFAULT {$$ = TrCreateLeafNode (PARSEOP_PIN_PULLDEFAULT);} 235288425Sjkim ; 236288425Sjkim 237288425SjkimPldKeyword 238288425Sjkim : PARSEOP_PLD_REVISION {$$ = TrCreateLeafNode (PARSEOP_PLD_REVISION);} 239288425Sjkim | PARSEOP_PLD_IGNORECOLOR {$$ = TrCreateLeafNode (PARSEOP_PLD_IGNORECOLOR);} 240288425Sjkim | PARSEOP_PLD_RED {$$ = TrCreateLeafNode (PARSEOP_PLD_RED);} 241288425Sjkim | PARSEOP_PLD_GREEN {$$ = TrCreateLeafNode (PARSEOP_PLD_GREEN);} 242288425Sjkim | PARSEOP_PLD_BLUE {$$ = TrCreateLeafNode (PARSEOP_PLD_BLUE);} 243288425Sjkim | PARSEOP_PLD_WIDTH {$$ = TrCreateLeafNode (PARSEOP_PLD_WIDTH);} 244288425Sjkim | PARSEOP_PLD_HEIGHT {$$ = TrCreateLeafNode (PARSEOP_PLD_HEIGHT);} 245288425Sjkim | PARSEOP_PLD_USERVISIBLE {$$ = TrCreateLeafNode (PARSEOP_PLD_USERVISIBLE);} 246288425Sjkim | PARSEOP_PLD_DOCK {$$ = TrCreateLeafNode (PARSEOP_PLD_DOCK);} 247288425Sjkim | PARSEOP_PLD_LID {$$ = TrCreateLeafNode (PARSEOP_PLD_LID);} 248288425Sjkim | PARSEOP_PLD_PANEL {$$ = TrCreateLeafNode (PARSEOP_PLD_PANEL);} 249288425Sjkim | PARSEOP_PLD_VERTICALPOSITION {$$ = TrCreateLeafNode (PARSEOP_PLD_VERTICALPOSITION);} 250288425Sjkim | PARSEOP_PLD_HORIZONTALPOSITION {$$ = TrCreateLeafNode (PARSEOP_PLD_HORIZONTALPOSITION);} 251288425Sjkim | PARSEOP_PLD_SHAPE {$$ = TrCreateLeafNode (PARSEOP_PLD_SHAPE);} 252288425Sjkim | PARSEOP_PLD_GROUPORIENTATION {$$ = TrCreateLeafNode (PARSEOP_PLD_GROUPORIENTATION);} 253288425Sjkim | PARSEOP_PLD_GROUPTOKEN {$$ = TrCreateLeafNode (PARSEOP_PLD_GROUPTOKEN);} 254288425Sjkim | PARSEOP_PLD_GROUPPOSITION {$$ = TrCreateLeafNode (PARSEOP_PLD_GROUPPOSITION);} 255288425Sjkim | PARSEOP_PLD_BAY {$$ = TrCreateLeafNode (PARSEOP_PLD_BAY);} 256288425Sjkim | PARSEOP_PLD_EJECTABLE {$$ = TrCreateLeafNode (PARSEOP_PLD_EJECTABLE);} 257288425Sjkim | PARSEOP_PLD_EJECTREQUIRED {$$ = TrCreateLeafNode (PARSEOP_PLD_EJECTREQUIRED);} 258288425Sjkim | PARSEOP_PLD_CABINETNUMBER {$$ = TrCreateLeafNode (PARSEOP_PLD_CABINETNUMBER);} 259288425Sjkim | PARSEOP_PLD_CARDCAGENUMBER {$$ = TrCreateLeafNode (PARSEOP_PLD_CARDCAGENUMBER);} 260288425Sjkim | PARSEOP_PLD_REFERENCE {$$ = TrCreateLeafNode (PARSEOP_PLD_REFERENCE);} 261288425Sjkim | PARSEOP_PLD_ROTATION {$$ = TrCreateLeafNode (PARSEOP_PLD_ROTATION);} 262288425Sjkim | PARSEOP_PLD_ORDER {$$ = TrCreateLeafNode (PARSEOP_PLD_ORDER);} 263288425Sjkim | PARSEOP_PLD_RESERVED {$$ = TrCreateLeafNode (PARSEOP_PLD_RESERVED);} 264288425Sjkim | PARSEOP_PLD_VERTICALOFFSET {$$ = TrCreateLeafNode (PARSEOP_PLD_VERTICALOFFSET);} 265288425Sjkim | PARSEOP_PLD_HORIZONTALOFFSET {$$ = TrCreateLeafNode (PARSEOP_PLD_HORIZONTALOFFSET);} 266288425Sjkim ; 267288425Sjkim 268288425SjkimRangeTypeKeyword 269288425Sjkim : PARSEOP_RANGETYPE_ISAONLY {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_ISAONLY);} 270288425Sjkim | PARSEOP_RANGETYPE_NONISAONLY {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_NONISAONLY);} 271288425Sjkim | PARSEOP_RANGETYPE_ENTIRE {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_ENTIRE);} 272288425Sjkim ; 273288425Sjkim 274288425SjkimRegionSpaceKeyword 275288425Sjkim : PARSEOP_REGIONSPACE_IO {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_IO);} 276288425Sjkim | PARSEOP_REGIONSPACE_MEM {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_MEM);} 277288425Sjkim | PARSEOP_REGIONSPACE_PCI {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_PCI);} 278288425Sjkim | PARSEOP_REGIONSPACE_EC {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_EC);} 279288425Sjkim | PARSEOP_REGIONSPACE_SMBUS {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_SMBUS);} 280288425Sjkim | PARSEOP_REGIONSPACE_CMOS {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_CMOS);} 281288425Sjkim | PARSEOP_REGIONSPACE_PCIBAR {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_PCIBAR);} 282288425Sjkim | PARSEOP_REGIONSPACE_IPMI {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_IPMI);} 283288425Sjkim | PARSEOP_REGIONSPACE_GPIO {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_GPIO);} 284288425Sjkim | PARSEOP_REGIONSPACE_GSBUS {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_GSBUS);} 285288425Sjkim | PARSEOP_REGIONSPACE_PCC {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_PCC);} 286288425Sjkim | PARSEOP_REGIONSPACE_FFIXEDHW {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_FFIXEDHW);} 287288425Sjkim ; 288288425Sjkim 289288425SjkimResourceTypeKeyword 290288425Sjkim : PARSEOP_RESOURCETYPE_CONSUMER {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);} 291288425Sjkim | PARSEOP_RESOURCETYPE_PRODUCER {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_PRODUCER);} 292288425Sjkim ; 293288425Sjkim 294288425SjkimSerializeRuleKeyword 295288425Sjkim : PARSEOP_SERIALIZERULE_SERIAL {$$ = TrCreateLeafNode (PARSEOP_SERIALIZERULE_SERIAL);} 296288425Sjkim | PARSEOP_SERIALIZERULE_NOTSERIAL {$$ = TrCreateLeafNode (PARSEOP_SERIALIZERULE_NOTSERIAL);} 297288425Sjkim ; 298288425Sjkim 299288425SjkimShareTypeKeyword 300288425Sjkim : PARSEOP_SHARETYPE_SHARED {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_SHARED);} 301288425Sjkim | PARSEOP_SHARETYPE_EXCLUSIVE {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_EXCLUSIVE);} 302288425Sjkim | PARSEOP_SHARETYPE_SHAREDWAKE {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_SHAREDWAKE);} 303288425Sjkim | PARSEOP_SHARETYPE_EXCLUSIVEWAKE {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_EXCLUSIVEWAKE);} 304288425Sjkim ; 305288425Sjkim 306288425SjkimSlaveModeKeyword 307288425Sjkim : PARSEOP_SLAVEMODE_CONTROLLERINIT {$$ = TrCreateLeafNode (PARSEOP_SLAVEMODE_CONTROLLERINIT);} 308288425Sjkim | PARSEOP_SLAVEMODE_DEVICEINIT {$$ = TrCreateLeafNode (PARSEOP_SLAVEMODE_DEVICEINIT);} 309288425Sjkim ; 310288425Sjkim 311288425SjkimStopBitsKeyword 312288425Sjkim : PARSEOP_STOPBITS_TWO {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_TWO);} 313288425Sjkim | PARSEOP_STOPBITS_ONEPLUSHALF {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_ONEPLUSHALF);} 314288425Sjkim | PARSEOP_STOPBITS_ONE {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_ONE);} 315288425Sjkim | PARSEOP_STOPBITS_ZERO {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_ZERO);} 316288425Sjkim ; 317288425Sjkim 318288425SjkimTranslationKeyword 319288425Sjkim : PARSEOP_TRANSLATIONTYPE_SPARSE {$$ = TrCreateLeafNode (PARSEOP_TRANSLATIONTYPE_SPARSE);} 320288425Sjkim | PARSEOP_TRANSLATIONTYPE_DENSE {$$ = TrCreateLeafNode (PARSEOP_TRANSLATIONTYPE_DENSE);} 321288425Sjkim ; 322288425Sjkim 323288425SjkimTypeKeyword 324288425Sjkim : PARSEOP_TYPE_TRANSLATION {$$ = TrCreateLeafNode (PARSEOP_TYPE_TRANSLATION);} 325288425Sjkim | PARSEOP_TYPE_STATIC {$$ = TrCreateLeafNode (PARSEOP_TYPE_STATIC);} 326288425Sjkim ; 327288425Sjkim 328288425SjkimUpdateRuleKeyword 329288425Sjkim : PARSEOP_UPDATERULE_PRESERVE {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_PRESERVE);} 330288425Sjkim | PARSEOP_UPDATERULE_ONES {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_ONES);} 331288425Sjkim | PARSEOP_UPDATERULE_ZEROS {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_ZEROS);} 332288425Sjkim ; 333288425Sjkim 334288425SjkimWireModeKeyword 335288425Sjkim : PARSEOP_WIREMODE_FOUR {$$ = TrCreateLeafNode (PARSEOP_WIREMODE_FOUR);} 336288425Sjkim | PARSEOP_WIREMODE_THREE {$$ = TrCreateLeafNode (PARSEOP_WIREMODE_THREE);} 337288425Sjkim ; 338288425Sjkim 339288425SjkimXferSizeKeyword 340288425Sjkim : PARSEOP_XFERSIZE_8 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_8, 0);} 341288425Sjkim | PARSEOP_XFERSIZE_16 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_16, 1);} 342288425Sjkim | PARSEOP_XFERSIZE_32 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_32, 2);} 343288425Sjkim | PARSEOP_XFERSIZE_64 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_64, 3);} 344288425Sjkim | PARSEOP_XFERSIZE_128 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_128, 4);} 345288425Sjkim | PARSEOP_XFERSIZE_256 {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_256, 5);} 346288425Sjkim ; 347288425Sjkim 348288425SjkimXferTypeKeyword 349288425Sjkim : PARSEOP_XFERTYPE_8 {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_8);} 350288425Sjkim | PARSEOP_XFERTYPE_8_16 {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_8_16);} 351288425Sjkim | PARSEOP_XFERTYPE_16 {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_16);} 352288425Sjkim ; 353288425Sjkim 354288425Sjkim 355288425Sjkim/******************************************************************************* 356288425Sjkim * 357288425Sjkim * ASL Resource Template Terms 358288425Sjkim * 359288425Sjkim ******************************************************************************/ 360288425Sjkim 361288425Sjkim/* 362288425Sjkim * Note: Create two default nodes to allow conversion to a Buffer AML opcode 363288425Sjkim * Also, insert the EndTag at the end of the template. 364288425Sjkim */ 365288425SjkimResourceTemplateTerm 366288425Sjkim : PARSEOP_RESOURCETEMPLATE '(' ')' 367288425Sjkim '{' 368288425Sjkim ResourceMacroList '}' {$$ = TrCreateNode (PARSEOP_RESOURCETEMPLATE,4, 369288425Sjkim TrCreateLeafNode (PARSEOP_DEFAULT_ARG), 370288425Sjkim TrCreateLeafNode (PARSEOP_DEFAULT_ARG), 371288425Sjkim $5, 372288425Sjkim TrCreateLeafNode (PARSEOP_ENDTAG));} 373288425Sjkim ; 374288425Sjkim 375288425SjkimResourceMacroList 376288425Sjkim : {$$ = NULL;} 377288425Sjkim | ResourceMacroList 378288425Sjkim ResourceMacroTerm {$$ = TrLinkPeerNode ($1,$2);} 379288425Sjkim ; 380288425Sjkim 381288425SjkimResourceMacroTerm 382288425Sjkim : DMATerm {} 383288425Sjkim | DWordIOTerm {} 384288425Sjkim | DWordMemoryTerm {} 385288425Sjkim | DWordSpaceTerm {} 386288425Sjkim | EndDependentFnTerm {} 387288425Sjkim | ExtendedIOTerm {} 388288425Sjkim | ExtendedMemoryTerm {} 389288425Sjkim | ExtendedSpaceTerm {} 390288425Sjkim | FixedDmaTerm {} 391288425Sjkim | FixedIOTerm {} 392288425Sjkim | GpioIntTerm {} 393288425Sjkim | GpioIoTerm {} 394288425Sjkim | I2cSerialBusTerm {} 395298714Sjkim | I2cSerialBusTermV2 {} 396288425Sjkim | InterruptTerm {} 397288425Sjkim | IOTerm {} 398288425Sjkim | IRQNoFlagsTerm {} 399288425Sjkim | IRQTerm {} 400288425Sjkim | Memory24Term {} 401288425Sjkim | Memory32FixedTerm {} 402288425Sjkim | Memory32Term {} 403288425Sjkim | QWordIOTerm {} 404288425Sjkim | QWordMemoryTerm {} 405288425Sjkim | QWordSpaceTerm {} 406288425Sjkim | RegisterTerm {} 407288425Sjkim | SpiSerialBusTerm {} 408298714Sjkim | SpiSerialBusTermV2 {} 409288425Sjkim | StartDependentFnNoPriTerm {} 410288425Sjkim | StartDependentFnTerm {} 411288425Sjkim | UartSerialBusTerm {} 412298714Sjkim | UartSerialBusTermV2 {} 413288425Sjkim | VendorLongTerm {} 414288425Sjkim | VendorShortTerm {} 415288425Sjkim | WordBusNumberTerm {} 416288425Sjkim | WordIOTerm {} 417288425Sjkim | WordSpaceTerm {} 418288425Sjkim ; 419288425Sjkim 420288425SjkimDMATerm 421288425Sjkim : PARSEOP_DMA '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DMA);} 422288425Sjkim DMATypeKeyword 423288425Sjkim OptionalBusMasterKeyword 424288425Sjkim ',' XferTypeKeyword 425288425Sjkim OptionalNameString_Last 426288425Sjkim ')' '{' 427288425Sjkim ByteList '}' {$$ = TrLinkChildren ($<n>3,5,$4,$5,$7,$8,$11);} 428288425Sjkim | PARSEOP_DMA '(' 429288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 430288425Sjkim ; 431288425Sjkim 432288425SjkimDWordIOTerm 433288425Sjkim : PARSEOP_DWORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDIO);} 434288425Sjkim OptionalResourceType_First 435288425Sjkim OptionalMinType 436288425Sjkim OptionalMaxType 437288425Sjkim OptionalDecodeType 438288425Sjkim OptionalRangeType 439288425Sjkim ',' DWordConstExpr 440288425Sjkim ',' DWordConstExpr 441288425Sjkim ',' DWordConstExpr 442288425Sjkim ',' DWordConstExpr 443288425Sjkim ',' DWordConstExpr 444288425Sjkim OptionalByteConstExpr 445288425Sjkim OptionalStringData 446288425Sjkim OptionalNameString 447288425Sjkim OptionalType 448288425Sjkim OptionalTranslationType_Last 449288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);} 450288425Sjkim | PARSEOP_DWORDIO '(' 451288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 452288425Sjkim ; 453288425Sjkim 454288425SjkimDWordMemoryTerm 455288425Sjkim : PARSEOP_DWORDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDMEMORY);} 456288425Sjkim OptionalResourceType_First 457288425Sjkim OptionalDecodeType 458288425Sjkim OptionalMinType 459288425Sjkim OptionalMaxType 460288425Sjkim OptionalMemType 461288425Sjkim ',' OptionalReadWriteKeyword 462288425Sjkim ',' DWordConstExpr 463288425Sjkim ',' DWordConstExpr 464288425Sjkim ',' DWordConstExpr 465288425Sjkim ',' DWordConstExpr 466288425Sjkim ',' DWordConstExpr 467288425Sjkim OptionalByteConstExpr 468288425Sjkim OptionalStringData 469288425Sjkim OptionalNameString 470288425Sjkim OptionalAddressRange 471288425Sjkim OptionalType_Last 472288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,16,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);} 473288425Sjkim | PARSEOP_DWORDMEMORY '(' 474288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 475288425Sjkim ; 476288425Sjkim 477288425SjkimDWordSpaceTerm 478288425Sjkim : PARSEOP_DWORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDSPACE);} 479288425Sjkim ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);} 480288425Sjkim OptionalResourceType 481288425Sjkim OptionalDecodeType 482288425Sjkim OptionalMinType 483288425Sjkim OptionalMaxType 484288425Sjkim ',' ByteConstExpr 485288425Sjkim ',' DWordConstExpr 486288425Sjkim ',' DWordConstExpr 487288425Sjkim ',' DWordConstExpr 488288425Sjkim ',' DWordConstExpr 489288425Sjkim ',' DWordConstExpr 490288425Sjkim OptionalByteConstExpr 491288425Sjkim OptionalStringData 492288425Sjkim OptionalNameString_Last 493288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,14,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);} 494288425Sjkim | PARSEOP_DWORDSPACE '(' 495288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 496288425Sjkim ; 497288425Sjkim 498288425SjkimEndDependentFnTerm 499288425Sjkim : PARSEOP_ENDDEPENDENTFN '(' 500288425Sjkim ')' {$$ = TrCreateLeafNode (PARSEOP_ENDDEPENDENTFN);} 501288425Sjkim | PARSEOP_ENDDEPENDENTFN '(' 502288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 503288425Sjkim ; 504288425Sjkim 505288425SjkimExtendedIOTerm 506288425Sjkim : PARSEOP_EXTENDEDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDIO);} 507288425Sjkim OptionalResourceType_First 508288425Sjkim OptionalMinType 509288425Sjkim OptionalMaxType 510288425Sjkim OptionalDecodeType 511288425Sjkim OptionalRangeType 512288425Sjkim ',' QWordConstExpr 513288425Sjkim ',' QWordConstExpr 514288425Sjkim ',' QWordConstExpr 515288425Sjkim ',' QWordConstExpr 516288425Sjkim ',' QWordConstExpr 517288425Sjkim OptionalQWordConstExpr 518288425Sjkim OptionalNameString 519288425Sjkim OptionalType 520288425Sjkim OptionalTranslationType_Last 521288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,14,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);} 522288425Sjkim | PARSEOP_EXTENDEDIO '(' 523288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 524288425Sjkim ; 525288425Sjkim 526288425SjkimExtendedMemoryTerm 527288425Sjkim : PARSEOP_EXTENDEDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDMEMORY);} 528288425Sjkim OptionalResourceType_First 529288425Sjkim OptionalDecodeType 530288425Sjkim OptionalMinType 531288425Sjkim OptionalMaxType 532288425Sjkim OptionalMemType 533288425Sjkim ',' OptionalReadWriteKeyword 534288425Sjkim ',' QWordConstExpr 535288425Sjkim ',' QWordConstExpr 536288425Sjkim ',' QWordConstExpr 537288425Sjkim ',' QWordConstExpr 538288425Sjkim ',' QWordConstExpr 539288425Sjkim OptionalQWordConstExpr 540288425Sjkim OptionalNameString 541288425Sjkim OptionalAddressRange 542288425Sjkim OptionalType_Last 543288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);} 544288425Sjkim | PARSEOP_EXTENDEDMEMORY '(' 545288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 546288425Sjkim ; 547288425Sjkim 548288425SjkimExtendedSpaceTerm 549288425Sjkim : PARSEOP_EXTENDEDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDSPACE);} 550288425Sjkim ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);} 551288425Sjkim OptionalResourceType 552288425Sjkim OptionalDecodeType 553288425Sjkim OptionalMinType 554288425Sjkim OptionalMaxType 555288425Sjkim ',' ByteConstExpr 556288425Sjkim ',' QWordConstExpr 557288425Sjkim ',' QWordConstExpr 558288425Sjkim ',' QWordConstExpr 559288425Sjkim ',' QWordConstExpr 560288425Sjkim ',' QWordConstExpr 561288425Sjkim OptionalQWordConstExpr 562288425Sjkim OptionalNameString_Last 563288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,13,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);} 564288425Sjkim | PARSEOP_EXTENDEDSPACE '(' 565288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 566288425Sjkim ; 567288425Sjkim 568288425SjkimFixedDmaTerm 569288425Sjkim : PARSEOP_FIXEDDMA '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDDMA);} 570288425Sjkim WordConstExpr /* 04: DMA RequestLines */ 571288425Sjkim ',' WordConstExpr /* 06: DMA Channels */ 572288425Sjkim OptionalXferSize /* 07: DMA TransferSize */ 573288425Sjkim OptionalNameString /* 08: DescriptorName */ 574288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,4,$4,$6,$7,$8);} 575288425Sjkim | PARSEOP_FIXEDDMA '(' 576288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 577288425Sjkim ; 578288425Sjkim 579288425SjkimFixedIOTerm 580288425Sjkim : PARSEOP_FIXEDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDIO);} 581288425Sjkim WordConstExpr 582288425Sjkim ',' ByteConstExpr 583288425Sjkim OptionalNameString_Last 584288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);} 585288425Sjkim | PARSEOP_FIXEDIO '(' 586288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 587288425Sjkim ; 588288425Sjkim 589288425SjkimGpioIntTerm 590288425Sjkim : PARSEOP_GPIO_INT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_INT);} 591288425Sjkim InterruptTypeKeyword /* 04: InterruptType */ 592288425Sjkim ',' InterruptLevel /* 06: InterruptLevel */ 593288425Sjkim OptionalShareType /* 07: SharedType */ 594288425Sjkim ',' PinConfigByte /* 09: PinConfig */ 595288425Sjkim OptionalWordConstExpr /* 10: DebounceTimeout */ 596288425Sjkim ',' StringData /* 12: ResourceSource */ 597288425Sjkim OptionalByteConstExpr /* 13: ResourceSourceIndex */ 598288425Sjkim OptionalResourceType /* 14: ResourceType */ 599288425Sjkim OptionalNameString /* 15: DescriptorName */ 600288425Sjkim OptionalBuffer_Last /* 16: VendorData */ 601288425Sjkim ')' '{' 602288425Sjkim DWordConstExpr '}' {$$ = TrLinkChildren ($<n>3,11,$4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);} 603288425Sjkim | PARSEOP_GPIO_INT '(' 604288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 605288425Sjkim ; 606288425Sjkim 607288425SjkimGpioIoTerm 608288425Sjkim : PARSEOP_GPIO_IO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_IO);} 609288425Sjkim OptionalShareType_First /* 04: SharedType */ 610288425Sjkim ',' PinConfigByte /* 06: PinConfig */ 611288425Sjkim OptionalWordConstExpr /* 07: DebounceTimeout */ 612288425Sjkim OptionalWordConstExpr /* 08: DriveStrength */ 613288425Sjkim OptionalIoRestriction /* 09: IoRestriction */ 614288425Sjkim ',' StringData /* 11: ResourceSource */ 615288425Sjkim OptionalByteConstExpr /* 12: ResourceSourceIndex */ 616288425Sjkim OptionalResourceType /* 13: ResourceType */ 617288425Sjkim OptionalNameString /* 14: DescriptorName */ 618288425Sjkim OptionalBuffer_Last /* 15: VendorData */ 619288425Sjkim ')' '{' 620288425Sjkim DWordList '}' {$$ = TrLinkChildren ($<n>3,11,$4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);} 621288425Sjkim | PARSEOP_GPIO_IO '(' 622288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 623288425Sjkim ; 624288425Sjkim 625288425SjkimI2cSerialBusTerm 626288425Sjkim : PARSEOP_I2C_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS);} 627288425Sjkim WordConstExpr /* 04: SlaveAddress */ 628288425Sjkim OptionalSlaveMode /* 05: SlaveMode */ 629288425Sjkim ',' DWordConstExpr /* 07: ConnectionSpeed */ 630288425Sjkim OptionalAddressingMode /* 08: AddressingMode */ 631288425Sjkim ',' StringData /* 10: ResourceSource */ 632288425Sjkim OptionalByteConstExpr /* 11: ResourceSourceIndex */ 633288425Sjkim OptionalResourceType /* 12: ResourceType */ 634288425Sjkim OptionalNameString /* 13: DescriptorName */ 635288425Sjkim OptionalBuffer_Last /* 14: VendorData */ 636298714Sjkim ')' {$$ = TrLinkChildren ($<n>3,10,$4,$5,$7,$8,$10,$11,$12,$13, 637298714Sjkim TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$14);} 638288425Sjkim | PARSEOP_I2C_SERIALBUS '(' 639288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 640288425Sjkim ; 641288425Sjkim 642298714SjkimI2cSerialBusTermV2 643298714Sjkim : PARSEOP_I2C_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS_V2);} 644298714Sjkim WordConstExpr /* 04: SlaveAddress */ 645298714Sjkim OptionalSlaveMode /* 05: SlaveMode */ 646298714Sjkim ',' DWordConstExpr /* 07: ConnectionSpeed */ 647298714Sjkim OptionalAddressingMode /* 08: AddressingMode */ 648298714Sjkim ',' StringData /* 10: ResourceSource */ 649298714Sjkim OptionalByteConstExpr /* 11: ResourceSourceIndex */ 650298714Sjkim OptionalResourceType /* 12: ResourceType */ 651298714Sjkim OptionalNameString /* 13: DescriptorName */ 652298714Sjkim OptionalShareType /* 14: Share */ 653298714Sjkim OptionalBuffer_Last /* 15: VendorData */ 654298714Sjkim ')' {$$ = TrLinkChildren ($<n>3,10,$4,$5,$7,$8,$10,$11,$12,$13, 655298714Sjkim $14,$15);} 656298714Sjkim | PARSEOP_I2C_SERIALBUS_V2 '(' 657298714Sjkim error ')' {$$ = AslDoError(); yyclearin;} 658298714Sjkim ; 659298714Sjkim 660288425SjkimInterruptTerm 661288425Sjkim : PARSEOP_INTERRUPT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_INTERRUPT);} 662288425Sjkim OptionalResourceType_First 663288425Sjkim ',' InterruptTypeKeyword 664288425Sjkim ',' InterruptLevel 665288425Sjkim OptionalShareType 666288425Sjkim OptionalByteConstExpr 667288425Sjkim OptionalStringData 668288425Sjkim OptionalNameString_Last 669288425Sjkim ')' '{' 670288425Sjkim DWordList '}' {$$ = TrLinkChildren ($<n>3,8,$4,$6,$8,$9,$10,$11,$12,$15);} 671288425Sjkim | PARSEOP_INTERRUPT '(' 672288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 673288425Sjkim ; 674288425Sjkim 675288425SjkimIOTerm 676288425Sjkim : PARSEOP_IO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IO);} 677288425Sjkim IODecodeKeyword 678288425Sjkim ',' WordConstExpr 679288425Sjkim ',' WordConstExpr 680288425Sjkim ',' ByteConstExpr 681288425Sjkim ',' ByteConstExpr 682288425Sjkim OptionalNameString_Last 683288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);} 684288425Sjkim | PARSEOP_IO '(' 685288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 686288425Sjkim ; 687288425Sjkim 688288425SjkimIRQNoFlagsTerm 689288425Sjkim : PARSEOP_IRQNOFLAGS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IRQNOFLAGS);} 690288425Sjkim OptionalNameString_First 691288425Sjkim ')' '{' 692288425Sjkim ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);} 693288425Sjkim | PARSEOP_IRQNOFLAGS '(' 694288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 695288425Sjkim ; 696288425Sjkim 697288425SjkimIRQTerm 698288425Sjkim : PARSEOP_IRQ '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IRQ);} 699288425Sjkim InterruptTypeKeyword 700288425Sjkim ',' InterruptLevel 701288425Sjkim OptionalShareType 702288425Sjkim OptionalNameString_Last 703288425Sjkim ')' '{' 704288425Sjkim ByteList '}' {$$ = TrLinkChildren ($<n>3,5,$4,$6,$7,$8,$11);} 705288425Sjkim | PARSEOP_IRQ '(' 706288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 707288425Sjkim ; 708288425Sjkim 709288425SjkimMemory24Term 710288425Sjkim : PARSEOP_MEMORY24 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY24);} 711288425Sjkim OptionalReadWriteKeyword 712288425Sjkim ',' WordConstExpr 713288425Sjkim ',' WordConstExpr 714288425Sjkim ',' WordConstExpr 715288425Sjkim ',' WordConstExpr 716288425Sjkim OptionalNameString_Last 717288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);} 718288425Sjkim | PARSEOP_MEMORY24 '(' 719288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 720288425Sjkim ; 721288425Sjkim 722288425SjkimMemory32FixedTerm 723288425Sjkim : PARSEOP_MEMORY32FIXED '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32FIXED);} 724288425Sjkim OptionalReadWriteKeyword 725288425Sjkim ',' DWordConstExpr 726288425Sjkim ',' DWordConstExpr 727288425Sjkim OptionalNameString_Last 728288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,4,$4,$6,$8,$9);} 729288425Sjkim | PARSEOP_MEMORY32FIXED '(' 730288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 731288425Sjkim ; 732288425Sjkim 733288425SjkimMemory32Term 734288425Sjkim : PARSEOP_MEMORY32 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32);} 735288425Sjkim OptionalReadWriteKeyword 736288425Sjkim ',' DWordConstExpr 737288425Sjkim ',' DWordConstExpr 738288425Sjkim ',' DWordConstExpr 739288425Sjkim ',' DWordConstExpr 740288425Sjkim OptionalNameString_Last 741288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);} 742288425Sjkim | PARSEOP_MEMORY32 '(' 743288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 744288425Sjkim ; 745288425Sjkim 746288425SjkimQWordIOTerm 747288425Sjkim : PARSEOP_QWORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDIO);} 748288425Sjkim OptionalResourceType_First 749288425Sjkim OptionalMinType 750288425Sjkim OptionalMaxType 751288425Sjkim OptionalDecodeType 752288425Sjkim OptionalRangeType 753288425Sjkim ',' QWordConstExpr 754288425Sjkim ',' QWordConstExpr 755288425Sjkim ',' QWordConstExpr 756288425Sjkim ',' QWordConstExpr 757288425Sjkim ',' QWordConstExpr 758288425Sjkim OptionalByteConstExpr 759288425Sjkim OptionalStringData 760288425Sjkim OptionalNameString 761288425Sjkim OptionalType 762288425Sjkim OptionalTranslationType_Last 763288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);} 764288425Sjkim | PARSEOP_QWORDIO '(' 765288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 766288425Sjkim ; 767288425Sjkim 768288425SjkimQWordMemoryTerm 769288425Sjkim : PARSEOP_QWORDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDMEMORY);} 770288425Sjkim OptionalResourceType_First 771288425Sjkim OptionalDecodeType 772288425Sjkim OptionalMinType 773288425Sjkim OptionalMaxType 774288425Sjkim OptionalMemType 775288425Sjkim ',' OptionalReadWriteKeyword 776288425Sjkim ',' QWordConstExpr 777288425Sjkim ',' QWordConstExpr 778288425Sjkim ',' QWordConstExpr 779288425Sjkim ',' QWordConstExpr 780288425Sjkim ',' QWordConstExpr 781288425Sjkim OptionalByteConstExpr 782288425Sjkim OptionalStringData 783288425Sjkim OptionalNameString 784288425Sjkim OptionalAddressRange 785288425Sjkim OptionalType_Last 786288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,16,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);} 787288425Sjkim | PARSEOP_QWORDMEMORY '(' 788288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 789288425Sjkim ; 790288425Sjkim 791288425SjkimQWordSpaceTerm 792288425Sjkim : PARSEOP_QWORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDSPACE);} 793288425Sjkim ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);} 794288425Sjkim OptionalResourceType 795288425Sjkim OptionalDecodeType 796288425Sjkim OptionalMinType 797288425Sjkim OptionalMaxType 798288425Sjkim ',' ByteConstExpr 799288425Sjkim ',' QWordConstExpr 800288425Sjkim ',' QWordConstExpr 801288425Sjkim ',' QWordConstExpr 802288425Sjkim ',' QWordConstExpr 803288425Sjkim ',' QWordConstExpr 804288425Sjkim OptionalByteConstExpr 805288425Sjkim OptionalStringData 806288425Sjkim OptionalNameString_Last 807288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,14,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);} 808288425Sjkim | PARSEOP_QWORDSPACE '(' 809288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 810288425Sjkim ; 811288425Sjkim 812288425SjkimRegisterTerm 813288425Sjkim : PARSEOP_REGISTER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_REGISTER);} 814288425Sjkim AddressSpaceKeyword 815288425Sjkim ',' ByteConstExpr 816288425Sjkim ',' ByteConstExpr 817288425Sjkim ',' QWordConstExpr 818288425Sjkim OptionalAccessSize 819288425Sjkim OptionalNameString_Last 820288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);} 821288425Sjkim | PARSEOP_REGISTER '(' 822288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 823288425Sjkim ; 824288425Sjkim 825288425SjkimSpiSerialBusTerm 826288425Sjkim : PARSEOP_SPI_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS);} 827288425Sjkim WordConstExpr /* 04: DeviceSelection */ 828288425Sjkim OptionalDevicePolarity /* 05: DevicePolarity */ 829288425Sjkim OptionalWireMode /* 06: WireMode */ 830288425Sjkim ',' ByteConstExpr /* 08: DataBitLength */ 831288425Sjkim OptionalSlaveMode /* 09: SlaveMode */ 832288425Sjkim ',' DWordConstExpr /* 11: ConnectionSpeed */ 833288425Sjkim ',' ClockPolarityKeyword /* 13: ClockPolarity */ 834288425Sjkim ',' ClockPhaseKeyword /* 15: ClockPhase */ 835288425Sjkim ',' StringData /* 17: ResourceSource */ 836288425Sjkim OptionalByteConstExpr /* 18: ResourceSourceIndex */ 837288425Sjkim OptionalResourceType /* 19: ResourceType */ 838288425Sjkim OptionalNameString /* 20: DescriptorName */ 839288425Sjkim OptionalBuffer_Last /* 21: VendorData */ 840298714Sjkim ')' {$$ = TrLinkChildren ($<n>3,14,$4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20, 841298714Sjkim TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);} 842288425Sjkim | PARSEOP_SPI_SERIALBUS '(' 843288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 844288425Sjkim ; 845288425Sjkim 846298714SjkimSpiSerialBusTermV2 847298714Sjkim : PARSEOP_SPI_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS_V2);} 848298714Sjkim WordConstExpr /* 04: DeviceSelection */ 849298714Sjkim OptionalDevicePolarity /* 05: DevicePolarity */ 850298714Sjkim OptionalWireMode /* 06: WireMode */ 851298714Sjkim ',' ByteConstExpr /* 08: DataBitLength */ 852298714Sjkim OptionalSlaveMode /* 09: SlaveMode */ 853298714Sjkim ',' DWordConstExpr /* 11: ConnectionSpeed */ 854298714Sjkim ',' ClockPolarityKeyword /* 13: ClockPolarity */ 855298714Sjkim ',' ClockPhaseKeyword /* 15: ClockPhase */ 856298714Sjkim ',' StringData /* 17: ResourceSource */ 857298714Sjkim OptionalByteConstExpr /* 18: ResourceSourceIndex */ 858298714Sjkim OptionalResourceType /* 19: ResourceType */ 859298714Sjkim OptionalNameString /* 20: DescriptorName */ 860298714Sjkim OptionalShareType /* 21: Share */ 861298714Sjkim OptionalBuffer_Last /* 22: VendorData */ 862298714Sjkim ')' {$$ = TrLinkChildren ($<n>3,14,$4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20, 863298714Sjkim $21,$22);} 864298714Sjkim | PARSEOP_SPI_SERIALBUS_V2 '(' 865298714Sjkim error ')' {$$ = AslDoError(); yyclearin;} 866298714Sjkim ; 867298714Sjkim 868288425SjkimStartDependentFnNoPriTerm 869288425Sjkim : PARSEOP_STARTDEPENDENTFN_NOPRI '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN_NOPRI);} 870288425Sjkim ')' '{' 871288425Sjkim ResourceMacroList '}' {$$ = TrLinkChildren ($<n>3,1,$6);} 872288425Sjkim | PARSEOP_STARTDEPENDENTFN_NOPRI '(' 873288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 874288425Sjkim ; 875288425Sjkim 876288425SjkimStartDependentFnTerm 877288425Sjkim : PARSEOP_STARTDEPENDENTFN '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN);} 878288425Sjkim ByteConstExpr 879288425Sjkim ',' ByteConstExpr 880288425Sjkim ')' '{' 881288425Sjkim ResourceMacroList '}' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$9);} 882288425Sjkim | PARSEOP_STARTDEPENDENTFN '(' 883288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 884288425Sjkim ; 885288425Sjkim 886288425SjkimUartSerialBusTerm 887288425Sjkim : PARSEOP_UART_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS);} 888288425Sjkim DWordConstExpr /* 04: ConnectionSpeed */ 889288425Sjkim OptionalBitsPerByte /* 05: BitsPerByte */ 890288425Sjkim OptionalStopBits /* 06: StopBits */ 891288425Sjkim ',' ByteConstExpr /* 08: LinesInUse */ 892288425Sjkim OptionalEndian /* 09: Endianess */ 893288425Sjkim OptionalParityType /* 10: Parity */ 894288425Sjkim OptionalFlowControl /* 11: FlowControl */ 895288425Sjkim ',' WordConstExpr /* 13: Rx BufferSize */ 896288425Sjkim ',' WordConstExpr /* 15: Tx BufferSize */ 897288425Sjkim ',' StringData /* 17: ResourceSource */ 898288425Sjkim OptionalByteConstExpr /* 18: ResourceSourceIndex */ 899288425Sjkim OptionalResourceType /* 19: ResourceType */ 900288425Sjkim OptionalNameString /* 20: DescriptorName */ 901288425Sjkim OptionalBuffer_Last /* 21: VendorData */ 902298714Sjkim ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20, 903298714Sjkim TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);} 904288425Sjkim | PARSEOP_UART_SERIALBUS '(' 905288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 906288425Sjkim ; 907288425Sjkim 908298714SjkimUartSerialBusTermV2 909298714Sjkim : PARSEOP_UART_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS_V2);} 910298714Sjkim DWordConstExpr /* 04: ConnectionSpeed */ 911298714Sjkim OptionalBitsPerByte /* 05: BitsPerByte */ 912298714Sjkim OptionalStopBits /* 06: StopBits */ 913298714Sjkim ',' ByteConstExpr /* 08: LinesInUse */ 914298714Sjkim OptionalEndian /* 09: Endianess */ 915298714Sjkim OptionalParityType /* 10: Parity */ 916298714Sjkim OptionalFlowControl /* 11: FlowControl */ 917298714Sjkim ',' WordConstExpr /* 13: Rx BufferSize */ 918298714Sjkim ',' WordConstExpr /* 15: Tx BufferSize */ 919298714Sjkim ',' StringData /* 17: ResourceSource */ 920298714Sjkim OptionalByteConstExpr /* 18: ResourceSourceIndex */ 921298714Sjkim OptionalResourceType /* 19: ResourceType */ 922298714Sjkim OptionalNameString /* 20: DescriptorName */ 923298714Sjkim OptionalShareType /* 21: Share */ 924298714Sjkim OptionalBuffer_Last /* 22: VendorData */ 925298714Sjkim ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20, 926298714Sjkim $21,$22);} 927298714Sjkim | PARSEOP_UART_SERIALBUS_V2 '(' 928298714Sjkim error ')' {$$ = AslDoError(); yyclearin;} 929298714Sjkim ; 930298714Sjkim 931288425SjkimVendorLongTerm 932288425Sjkim : PARSEOP_VENDORLONG '(' {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORLONG);} 933288425Sjkim OptionalNameString_First 934288425Sjkim ')' '{' 935288425Sjkim ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);} 936288425Sjkim | PARSEOP_VENDORLONG '(' 937288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 938288425Sjkim ; 939288425Sjkim 940288425SjkimVendorShortTerm 941288425Sjkim : PARSEOP_VENDORSHORT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORSHORT);} 942288425Sjkim OptionalNameString_First 943288425Sjkim ')' '{' 944288425Sjkim ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);} 945288425Sjkim | PARSEOP_VENDORSHORT '(' 946288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 947288425Sjkim ; 948288425Sjkim 949288425SjkimWordBusNumberTerm 950288425Sjkim : PARSEOP_WORDBUSNUMBER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDBUSNUMBER);} 951288425Sjkim OptionalResourceType_First 952288425Sjkim OptionalMinType 953288425Sjkim OptionalMaxType 954288425Sjkim OptionalDecodeType 955288425Sjkim ',' WordConstExpr 956288425Sjkim ',' WordConstExpr 957288425Sjkim ',' WordConstExpr 958288425Sjkim ',' WordConstExpr 959288425Sjkim ',' WordConstExpr 960288425Sjkim OptionalByteConstExpr 961288425Sjkim OptionalStringData 962288425Sjkim OptionalNameString_Last 963288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,12,$4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);} 964288425Sjkim | PARSEOP_WORDBUSNUMBER '(' 965288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 966288425Sjkim ; 967288425Sjkim 968288425SjkimWordIOTerm 969288425Sjkim : PARSEOP_WORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDIO);} 970288425Sjkim OptionalResourceType_First 971288425Sjkim OptionalMinType 972288425Sjkim OptionalMaxType 973288425Sjkim OptionalDecodeType 974288425Sjkim OptionalRangeType 975288425Sjkim ',' WordConstExpr 976288425Sjkim ',' WordConstExpr 977288425Sjkim ',' WordConstExpr 978288425Sjkim ',' WordConstExpr 979288425Sjkim ',' WordConstExpr 980288425Sjkim OptionalByteConstExpr 981288425Sjkim OptionalStringData 982288425Sjkim OptionalNameString 983288425Sjkim OptionalType 984288425Sjkim OptionalTranslationType_Last 985288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,15,$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);} 986288425Sjkim | PARSEOP_WORDIO '(' 987288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 988288425Sjkim ; 989288425Sjkim 990288425SjkimWordSpaceTerm 991288425Sjkim : PARSEOP_WORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDSPACE);} 992288425Sjkim ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);} 993288425Sjkim OptionalResourceType 994288425Sjkim OptionalDecodeType 995288425Sjkim OptionalMinType 996288425Sjkim OptionalMaxType 997288425Sjkim ',' ByteConstExpr 998288425Sjkim ',' WordConstExpr 999288425Sjkim ',' WordConstExpr 1000288425Sjkim ',' WordConstExpr 1001288425Sjkim ',' WordConstExpr 1002288425Sjkim ',' WordConstExpr 1003288425Sjkim OptionalByteConstExpr 1004288425Sjkim OptionalStringData 1005288425Sjkim OptionalNameString_Last 1006288425Sjkim ')' {$$ = TrLinkChildren ($<n>3,14,$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);} 1007288425Sjkim | PARSEOP_WORDSPACE '(' 1008288425Sjkim error ')' {$$ = AslDoError(); yyclearin;} 1009288425Sjkim ; 1010288425Sjkim 1011288425Sjkim 1012288425Sjkim/******* Object References ***********************************************/ 1013288425Sjkim 1014288425Sjkim/* Allow IO, DMA, IRQ Resource macro names to also be used as identifiers */ 1015288425Sjkim 1016288425SjkimNameString 1017288425Sjkim : NameSeg {} 1018288425Sjkim | PARSEOP_NAMESTRING {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) AslCompilerlval.s);} 1019288425Sjkim | PARSEOP_IO {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "IO");} 1020288425Sjkim | PARSEOP_DMA {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "DMA");} 1021288425Sjkim | PARSEOP_IRQ {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "IRQ");} 1022288425Sjkim ; 1023288425Sjkim 1024288425SjkimNameSeg 1025288425Sjkim : PARSEOP_NAMESEG {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESEG, (ACPI_NATIVE_INT) AslCompilerlval.s);} 1026288425Sjkim ; 1027288425Sjkim 1028288425Sjkim 1029288425Sjkim/******************************************************************************* 1030288425Sjkim * 1031288425Sjkim * ASL Helper Terms 1032288425Sjkim * 1033288425Sjkim ******************************************************************************/ 1034288425Sjkim 1035288425SjkimOptionalBusMasterKeyword 1036288425Sjkim : ',' {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_MASTER);} 1037288425Sjkim | ',' PARSEOP_BUSMASTERTYPE_MASTER {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_MASTER);} 1038288425Sjkim | ',' PARSEOP_BUSMASTERTYPE_NOTMASTER {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_NOTMASTER);} 1039288425Sjkim ; 1040288425Sjkim 1041288425SjkimOptionalAccessAttribTerm 1042288425Sjkim : {$$ = NULL;} 1043288425Sjkim | ',' {$$ = NULL;} 1044288425Sjkim | ',' ByteConstExpr {$$ = $2;} 1045288425Sjkim | ',' AccessAttribKeyword {$$ = $2;} 1046288425Sjkim ; 1047288425Sjkim 1048288425SjkimOptionalAccessSize 1049288425Sjkim : {$$ = TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0);} 1050288425Sjkim | ',' {$$ = TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0);} 1051288425Sjkim | ',' ByteConstExpr {$$ = $2;} 1052288425Sjkim ; 1053288425Sjkim 1054288425SjkimOptionalAddressingMode 1055288425Sjkim : ',' {$$ = NULL;} 1056288425Sjkim | ',' AddressingModeKeyword {$$ = $2;} 1057288425Sjkim ; 1058288425Sjkim 1059288425SjkimOptionalAddressRange 1060288425Sjkim : {$$ = NULL;} 1061288425Sjkim | ',' {$$ = NULL;} 1062288425Sjkim | ',' AddressKeyword {$$ = $2;} 1063288425Sjkim ; 1064288425Sjkim 1065288425SjkimOptionalBitsPerByte 1066288425Sjkim : ',' {$$ = NULL;} 1067288425Sjkim | ',' BitsPerByteKeyword {$$ = $2;} 1068288425Sjkim ; 1069288425Sjkim 1070288425SjkimOptionalBuffer_Last 1071288425Sjkim : {$$ = NULL;} 1072288425Sjkim | ',' {$$ = NULL;} 1073288425Sjkim | ',' RawDataBufferTerm {$$ = $2;} 1074288425Sjkim ; 1075288425Sjkim 1076288425SjkimOptionalByteConstExpr 1077288425Sjkim : {$$ = NULL;} 1078288425Sjkim | ',' {$$ = NULL;} 1079288425Sjkim | ',' ByteConstExpr {$$ = $2;} 1080288425Sjkim ; 1081288425Sjkim 1082288425SjkimOptionalDecodeType 1083288425Sjkim : ',' {$$ = NULL;} 1084288425Sjkim | ',' DecodeKeyword {$$ = $2;} 1085288425Sjkim ; 1086288425Sjkim 1087288425SjkimOptionalDevicePolarity 1088288425Sjkim : ',' {$$ = NULL;} 1089288425Sjkim | ',' DevicePolarityKeyword {$$ = $2;} 1090288425Sjkim ; 1091288425Sjkim 1092288425SjkimOptionalDWordConstExpr 1093288425Sjkim : {$$ = NULL;} 1094288425Sjkim | ',' {$$ = NULL;} 1095288425Sjkim | ',' DWordConstExpr {$$ = $2;} 1096288425Sjkim ; 1097288425Sjkim 1098288425SjkimOptionalEndian 1099288425Sjkim : ',' {$$ = NULL;} 1100288425Sjkim | ',' EndianKeyword {$$ = $2;} 1101288425Sjkim ; 1102288425Sjkim 1103288425SjkimOptionalFlowControl 1104288425Sjkim : ',' {$$ = NULL;} 1105288425Sjkim | ',' FlowControlKeyword {$$ = $2;} 1106288425Sjkim ; 1107288425Sjkim 1108288425SjkimOptionalIoRestriction 1109288425Sjkim : ',' {$$ = NULL;} 1110288425Sjkim | ',' IoRestrictionKeyword {$$ = $2;} 1111288425Sjkim ; 1112288425Sjkim 1113288425SjkimOptionalListString 1114288425Sjkim : {$$ = TrCreateValuedLeafNode (PARSEOP_STRING_LITERAL, ACPI_TO_INTEGER (""));} /* Placeholder is a NULL string */ 1115288425Sjkim | ',' {$$ = TrCreateValuedLeafNode (PARSEOP_STRING_LITERAL, ACPI_TO_INTEGER (""));} /* Placeholder is a NULL string */ 1116288425Sjkim | ',' TermArg {$$ = $2;} 1117288425Sjkim ; 1118288425Sjkim 1119288425SjkimOptionalMaxType 1120288425Sjkim : ',' {$$ = NULL;} 1121288425Sjkim | ',' MaxKeyword {$$ = $2;} 1122288425Sjkim ; 1123288425Sjkim 1124288425SjkimOptionalMemType 1125288425Sjkim : ',' {$$ = NULL;} 1126288425Sjkim | ',' MemTypeKeyword {$$ = $2;} 1127288425Sjkim ; 1128288425Sjkim 1129288425SjkimOptionalMinType 1130288425Sjkim : ',' {$$ = NULL;} 1131288425Sjkim | ',' MinKeyword {$$ = $2;} 1132288425Sjkim ; 1133288425Sjkim 1134288425SjkimOptionalNameString 1135288425Sjkim : {$$ = NULL;} 1136288425Sjkim | ',' {$$ = NULL;} 1137288425Sjkim | ',' NameString {$$ = $2;} 1138288425Sjkim ; 1139288425Sjkim 1140288425SjkimOptionalNameString_Last 1141288425Sjkim : {$$ = NULL;} 1142288425Sjkim | ',' {$$ = NULL;} 1143288425Sjkim | ',' NameString {$$ = $2;} 1144288425Sjkim ; 1145288425Sjkim 1146288425SjkimOptionalNameString_First 1147288425Sjkim : {$$ = TrCreateLeafNode (PARSEOP_ZERO);} 1148288425Sjkim | NameString {$$ = $1;} 1149288425Sjkim ; 1150288425Sjkim 1151288425SjkimOptionalObjectTypeKeyword 1152288425Sjkim : {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_UNK);} 1153288425Sjkim | ',' ObjectTypeKeyword {$$ = $2;} 1154288425Sjkim ; 1155288425Sjkim 1156288425SjkimOptionalParityType 1157288425Sjkim : ',' {$$ = NULL;} 1158288425Sjkim | ',' ParityTypeKeyword {$$ = $2;} 1159288425Sjkim ; 1160288425Sjkim 1161288425SjkimOptionalQWordConstExpr 1162288425Sjkim : {$$ = NULL;} 1163288425Sjkim | ',' {$$ = NULL;} 1164288425Sjkim | ',' QWordConstExpr {$$ = $2;} 1165288425Sjkim ; 1166288425Sjkim 1167288425SjkimOptionalRangeType 1168288425Sjkim : ',' {$$ = NULL;} 1169288425Sjkim | ',' RangeTypeKeyword {$$ = $2;} 1170288425Sjkim ; 1171288425Sjkim 1172288425SjkimOptionalReadWriteKeyword 1173288425Sjkim : {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_BOTH);} 1174288425Sjkim | PARSEOP_READWRITETYPE_BOTH {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_BOTH);} 1175288425Sjkim | PARSEOP_READWRITETYPE_READONLY {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_READONLY);} 1176288425Sjkim ; 1177288425Sjkim 1178288425SjkimOptionalResourceType_First 1179288425Sjkim : {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);} 1180288425Sjkim | ResourceTypeKeyword {$$ = $1;} 1181288425Sjkim ; 1182288425Sjkim 1183288425SjkimOptionalResourceType 1184288425Sjkim : {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);} 1185288425Sjkim | ',' {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);} 1186288425Sjkim | ',' ResourceTypeKeyword {$$ = $2;} 1187288425Sjkim ; 1188288425Sjkim 1189288425SjkimOptionalSlaveMode 1190288425Sjkim : ',' {$$ = NULL;} 1191288425Sjkim | ',' SlaveModeKeyword {$$ = $2;} 1192288425Sjkim ; 1193288425Sjkim 1194288425SjkimOptionalShareType 1195288425Sjkim : {$$ = NULL;} 1196288425Sjkim | ',' {$$ = NULL;} 1197288425Sjkim | ',' ShareTypeKeyword {$$ = $2;} 1198288425Sjkim ; 1199288425Sjkim 1200288425SjkimOptionalShareType_First 1201288425Sjkim : {$$ = NULL;} 1202288425Sjkim | ShareTypeKeyword {$$ = $1;} 1203288425Sjkim ; 1204288425Sjkim 1205288425SjkimOptionalStopBits 1206288425Sjkim : ',' {$$ = NULL;} 1207288425Sjkim | ',' StopBitsKeyword {$$ = $2;} 1208288425Sjkim ; 1209288425Sjkim 1210288425SjkimOptionalStringData 1211288425Sjkim : {$$ = NULL;} 1212288425Sjkim | ',' {$$ = NULL;} 1213288425Sjkim | ',' StringData {$$ = $2;} 1214288425Sjkim ; 1215288425Sjkim 1216288425SjkimOptionalTranslationType_Last 1217288425Sjkim : {$$ = NULL;} 1218288425Sjkim | ',' {$$ = NULL;} 1219288425Sjkim | ',' TranslationKeyword {$$ = $2;} 1220288425Sjkim ; 1221288425Sjkim 1222288425SjkimOptionalType 1223288425Sjkim : {$$ = NULL;} 1224288425Sjkim | ',' {$$ = NULL;} 1225288425Sjkim | ',' TypeKeyword {$$ = $2;} 1226288425Sjkim ; 1227288425Sjkim 1228288425SjkimOptionalType_Last 1229288425Sjkim : {$$ = NULL;} 1230288425Sjkim | ',' {$$ = NULL;} 1231288425Sjkim | ',' TypeKeyword {$$ = $2;} 1232288425Sjkim ; 1233288425Sjkim 1234288425SjkimOptionalWireMode 1235288425Sjkim : ',' {$$ = NULL;} 1236288425Sjkim | ',' WireModeKeyword {$$ = $2;} 1237288425Sjkim ; 1238288425Sjkim 1239288425SjkimOptionalWordConstExpr 1240288425Sjkim : ',' {$$ = NULL;} 1241288425Sjkim | ',' WordConstExpr {$$ = $2;} 1242288425Sjkim ; 1243288425Sjkim 1244288425SjkimOptionalXferSize 1245288425Sjkim : {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_32, 2);} 1246288425Sjkim | ',' {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_32, 2);} 1247288425Sjkim | ',' XferSizeKeyword {$$ = $2;} 1248288425Sjkim ; 1249