1    /*
2     * Some or all of this work - Copyright (c) 2006 - 2021, Intel Corp.
3     * All rights reserved.
4     *
5     * Redistribution and use in source and binary forms, with or without modification,
6     * are permitted provided that the following conditions are met:
7     *
8     * Redistributions of source code must retain the above copyright notice,
9     * this list of conditions and the following disclaimer.
10     * Redistributions in binary form must reproduce the above copyright notice,
11     * this list of conditions and the following disclaimer in the documentation
12     * and/or other materials provided with the distribution.
13     * Neither the name of Intel Corporation nor the names of its contributors
14     * may be used to endorse or promote products derived from this software
15     * without specific prior written permission.
16     *
17     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19     * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20     * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21     * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22     * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23     * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24     * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27     */
28    /*
29     * Resource Descriptor macros
30     *
31     * Word Bus Number Resource Descriptor Macro
32     */
33    Name (P428, Package (0x19)
34    {
35        ResourceTemplate ()
36        {
37            WordBusNumber (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode,
38                0xF6F7,             // Granularity
39                0xF8F9,             // Range Minimum
40                0xFAFB,             // Range Maximum
41                0xFCFD,             // Translation Offset
42                0xFEFF,             // Length
43                ,, )
44        },
45
46        ResourceTemplate ()
47        {
48            WordBusNumber (ResourceProducer, MinNotFixed, MaxNotFixed, SubDecode,
49                0xF6F7,             // Granularity
50                0xF8F9,             // Range Minimum
51                0xFAFB,             // Range Maximum
52                0xFCFD,             // Translation Offset
53                0xFEFF,             // Length
54                ,, )
55        },
56
57        ResourceTemplate ()
58        {
59            WordBusNumber (ResourceProducer, MinNotFixed, MaxFixed, PosDecode,
60                0xF6F7,             // Granularity
61                0xF8F9,             // Range Minimum
62                0xFAFB,             // Range Maximum
63                0xFCFD,             // Translation Offset
64                0xFEFF,             // Length
65                ,, )
66        },
67
68        ResourceTemplate ()
69        {
70            WordBusNumber (ResourceProducer, MinNotFixed, MaxFixed, SubDecode,
71                0xF6F7,             // Granularity
72                0xF8F9,             // Range Minimum
73                0xFAFB,             // Range Maximum
74                0xFCFD,             // Translation Offset
75                0xFEFF,             // Length
76                ,, )
77        },
78
79        ResourceTemplate ()
80        {
81            WordBusNumber (ResourceProducer, MinFixed, MaxNotFixed, PosDecode,
82                0xF6F7,             // Granularity
83                0xF8F9,             // Range Minimum
84                0xFAFB,             // Range Maximum
85                0xFCFD,             // Translation Offset
86                0xFEFF,             // Length
87                ,, )
88        },
89
90        ResourceTemplate ()
91        {
92            WordBusNumber (ResourceProducer, MinFixed, MaxNotFixed, SubDecode,
93                0xF6F7,             // Granularity
94                0xF8F9,             // Range Minimum
95                0xFAFB,             // Range Maximum
96                0xFCFD,             // Translation Offset
97                0xFEFF,             // Length
98                ,, )
99        },
100
101        ResourceTemplate ()
102        {
103            WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
104                0xF6F7,             // Granularity
105                0xF8F9,             // Range Minimum
106                0xFAFB,             // Range Maximum
107                0xFCFD,             // Translation Offset
108                0xFEFF,             // Length
109                ,, )
110        },
111
112        ResourceTemplate ()
113        {
114            WordBusNumber (ResourceProducer, MinFixed, MaxFixed, SubDecode,
115                0xF6F7,             // Granularity
116                0xF8F9,             // Range Minimum
117                0xFAFB,             // Range Maximum
118                0xFCFD,             // Translation Offset
119                0xFEFF,             // Length
120                ,, )
121        },
122
123        ResourceTemplate ()
124        {
125            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
126                0xF6F7,             // Granularity
127                0xF8F9,             // Range Minimum
128                0xFAFB,             // Range Maximum
129                0xFCFD,             // Translation Offset
130                0xFEFF,             // Length
131                ,, )
132        },
133
134        ResourceTemplate ()
135        {
136            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, SubDecode,
137                0xF6F7,             // Granularity
138                0xF8F9,             // Range Minimum
139                0xFAFB,             // Range Maximum
140                0xFCFD,             // Translation Offset
141                0xFEFF,             // Length
142                ,, )
143        },
144
145        ResourceTemplate ()
146        {
147            WordBusNumber (ResourceConsumer, MinNotFixed, MaxFixed, PosDecode,
148                0xF6F7,             // Granularity
149                0xF8F9,             // Range Minimum
150                0xFAFB,             // Range Maximum
151                0xFCFD,             // Translation Offset
152                0xFEFF,             // Length
153                ,, )
154        },
155
156        ResourceTemplate ()
157        {
158            WordBusNumber (ResourceConsumer, MinNotFixed, MaxFixed, SubDecode,
159                0xF6F7,             // Granularity
160                0xF8F9,             // Range Minimum
161                0xFAFB,             // Range Maximum
162                0xFCFD,             // Translation Offset
163                0xFEFF,             // Length
164                ,, )
165        },
166
167        ResourceTemplate ()
168        {
169            WordBusNumber (ResourceConsumer, MinFixed, MaxNotFixed, PosDecode,
170                0xF6F7,             // Granularity
171                0xF8F9,             // Range Minimum
172                0xFAFB,             // Range Maximum
173                0xFCFD,             // Translation Offset
174                0xFEFF,             // Length
175                ,, )
176        },
177
178        ResourceTemplate ()
179        {
180            WordBusNumber (ResourceConsumer, MinFixed, MaxNotFixed, SubDecode,
181                0xF6F7,             // Granularity
182                0xF8F9,             // Range Minimum
183                0xFAFB,             // Range Maximum
184                0xFCFD,             // Translation Offset
185                0xFEFF,             // Length
186                ,, )
187        },
188
189        ResourceTemplate ()
190        {
191            WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, PosDecode,
192                0xF6F7,             // Granularity
193                0xF8F9,             // Range Minimum
194                0xFAFB,             // Range Maximum
195                0xFCFD,             // Translation Offset
196                0xFEFF,             // Length
197                ,, )
198        },
199
200        ResourceTemplate ()
201        {
202            WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
203                0xF6F7,             // Granularity
204                0xF8F9,             // Range Minimum
205                0xFAFB,             // Range Maximum
206                0xFCFD,             // Translation Offset
207                0xFEFF,             // Length
208                ,, )
209        },
210
211        ResourceTemplate ()
212        {
213            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
214                0xF6F7,             // Granularity
215                0xF8F9,             // Range Minimum
216                0xFAFB,             // Range Maximum
217                0xFCFD,             // Translation Offset
218                0xFEFF,             // Length
219                ,, )
220        },
221
222        ResourceTemplate ()
223        {
224            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
225                0xF6F7,             // Granularity
226                0xF8F9,             // Range Minimum
227                0xFAFB,             // Range Maximum
228                0xFCFD,             // Translation Offset
229                0xFEFF,             // Length
230                ,, )
231        },
232
233        ResourceTemplate ()
234        {
235            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
236                0xF6F7,             // Granularity
237                0xF8F9,             // Range Minimum
238                0xFAFB,             // Range Maximum
239                0xFCFD,             // Translation Offset
240                0xFEFF,             // Length
241                0x01, "", )
242        },
243
244        ResourceTemplate ()
245        {
246            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
247                0xF6F7,             // Granularity
248                0xF8F9,             // Range Minimum
249                0xFAFB,             // Range Maximum
250                0xFCFD,             // Translation Offset
251                0xFEFF,             // Length
252                0x0F, "P", )
253        },
254
255        ResourceTemplate ()
256        {
257            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
258                0xF6F7,             // Granularity
259                0xF8F9,             // Range Minimum
260                0xFAFB,             // Range Maximum
261                0xFCFD,             // Translation Offset
262                0xFEFF,             // Length
263                0xF0, "PATH", )
264        },
265
266        ResourceTemplate ()
267        {
268            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
269                0xF6F7,             // Granularity
270                0xF8F9,             // Range Minimum
271                0xFAFB,             // Range Maximum
272                0xFCFD,             // Translation Offset
273                0xFEFF,             // Length
274                0xFF, "!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*", )
275        },
276
277        ResourceTemplate ()
278        {
279            WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
280                0xF6F7,             // Granularity
281                0xF8F9,             // Range Minimum
282                0xFAFB,             // Range Maximum
283                0xFCFD,             // Translation Offset
284                0xFEFF,             // Length
285                0xFF, "PATHPATHPATH", )
286        },
287
288        ResourceTemplate ()
289        {
290            WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
291                0x0000,             // Granularity
292                0x0000,             // Range Minimum
293                0x0000,             // Range Maximum
294                0x0000,             // Translation Offset
295                0x0000,             // Length
296                0xFF, "PATHPATHPATH", )
297        },
298
299        ResourceTemplate ()
300        {
301            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
302                0xF6F7,             // Granularity
303                0xF8F9,             // Range Minimum
304                0xFAFB,             // Range Maximum
305                0xFCFD,             // Translation Offset
306                0xFEFF,             // Length
307                0x0F,, )
308        }
309    })
310    /*
311     ACPI Specification, Revision 3.0, September 2, 2004
312     6.4.3.5.3   Word Address Space Descriptor
313     Bus Number Word Address Space Descriptor layout:
314     Byte 0 (Tag Bits): Value=10001000B (0x88) (Type = 1, Large item name = 0x8)
315     Byte 1 (Length, bits[7:0]): Variable: Value = 13 (minimum)
316     Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
317     Byte 3 (Resource Type):
318     2		Bus number range
319     Byte 4 (General Flags):
320     Bits[7:4] 	Reserved (must be 0)
321     Bit[3] 		Min Address Fixed, _MAF:
322     1	The specified maximum address is fixed
323     0	The specified maximum address is not fixed
324     and can be changed
325     Bit[2] 		Max Address Fixed,_MIF:
326     1	The specified minimum address is fixed
327     0	The specified minimum address is not fixed
328     and can be changed
329     Bit[1] 		Decode Type, _DEC:
330     1	This bridge subtractively decodes this address
331     (top level bridges only)
332     0	This bridge positively decodes this address
333     Bit[0] 		Consumer/Producer:
334     1-This device consumes this resource
335     0-This device produces and consumes this resource
336     Byte 5 (Type Specific Flags):
337     Flags that are specific to each resource type. The meaning of the flags
338     in this field depends on the value of the Resource Type field (see above)
339     Bit[7:0]	Reserved (must be 0)
340     Byte 6 (Address space granularity, _GRA bits[7:0]):
341     A set bit in this mask means that this bit is decoded. All bits less
342     significant than the most significant set bit must be set. (in other
343     words, the value of the full Address Space Granularity field (all 16
344     bits) must be a number (2**n-1).
345     Byte 7 (Address space granularity, _GRA bits[15:8])
346     Byte 8 (Address range minimum, _MIN bits [7:0]):
347     For bridges that translate addresses, this is the address space
348     on the secondary side of the bridge
349     Byte 9 (Address range minimum, _MIN bits[15:8])
350     Byte 10 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
351     Byte 11 (Address range maximum, _MAX bits[15:8])
352     Byte 12 (Address Translation offset, _TRA bits [7:0]):
353     For bridges that translate addresses across the bridge, this is the
354     offset that must be added to the address on the secondary side to obtain
355     the address on the primary side. Non-bridge devices must list 0 for all
356     Address Translation offset bits
357     Byte 13 (Address Translation offset, _TRA bits[15:8])
358     Byte 14 (Address Length, _LEN bits [7:0])
359     Byte 15 (Address Length, _LEN bits[15:8])
360     Byte 16 (Resource Source Index):
361     (Optional) Only present if Resource Source (below) is present. This
362     field gives an index to the specific resource descriptor that this
363     device consumes from in the current resource template for the device
364     object pointed to in Resource Source
365     String (Resource Source):
366     (Optional) If present, the device that uses this descriptor consumes
367     its resources from the resources produced by the named device object.
368     If not present, the device consumes its resources out of a global pool.
369     If not present, the device consumes this resource from its hierarchical
370     parent.
371     */
372    Name (P429, Package (0x19)
373    {
374        /* Byte 4 (General Flags) of Word Address Space Descriptor */
375
376        ResourceTemplate ()
377        {
378            WordBusNumber (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode,
379                0xF6F7,             // Granularity
380                0xF8F9,             // Range Minimum
381                0xFAFB,             // Range Maximum
382                0xFCFD,             // Translation Offset
383                0xFEFF,             // Length
384                ,, )
385        },
386
387        ResourceTemplate ()
388        {
389            WordBusNumber (ResourceProducer, MinNotFixed, MaxNotFixed, SubDecode,
390                0xF6F7,             // Granularity
391                0xF8F9,             // Range Minimum
392                0xFAFB,             // Range Maximum
393                0xFCFD,             // Translation Offset
394                0xFEFF,             // Length
395                ,, )
396        },
397
398        ResourceTemplate ()
399        {
400            WordBusNumber (ResourceProducer, MinNotFixed, MaxFixed, PosDecode,
401                0xF6F7,             // Granularity
402                0xF8F9,             // Range Minimum
403                0xFAFB,             // Range Maximum
404                0xFCFD,             // Translation Offset
405                0xFEFF,             // Length
406                ,, )
407        },
408
409        ResourceTemplate ()
410        {
411            WordBusNumber (ResourceProducer, MinNotFixed, MaxFixed, SubDecode,
412                0xF6F7,             // Granularity
413                0xF8F9,             // Range Minimum
414                0xFAFB,             // Range Maximum
415                0xFCFD,             // Translation Offset
416                0xFEFF,             // Length
417                ,, )
418        },
419
420        ResourceTemplate ()
421        {
422            WordBusNumber (ResourceProducer, MinFixed, MaxNotFixed, PosDecode,
423                0xF6F7,             // Granularity
424                0xF8F9,             // Range Minimum
425                0xFAFB,             // Range Maximum
426                0xFCFD,             // Translation Offset
427                0xFEFF,             // Length
428                ,, )
429        },
430
431        ResourceTemplate ()
432        {
433            WordBusNumber (ResourceProducer, MinFixed, MaxNotFixed, SubDecode,
434                0xF6F7,             // Granularity
435                0xF8F9,             // Range Minimum
436                0xFAFB,             // Range Maximum
437                0xFCFD,             // Translation Offset
438                0xFEFF,             // Length
439                ,, )
440        },
441
442        ResourceTemplate ()
443        {
444            WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
445                0xF6F7,             // Granularity
446                0xF8F9,             // Range Minimum
447                0xFAFB,             // Range Maximum
448                0xFCFD,             // Translation Offset
449                0xFEFF,             // Length
450                ,, )
451        },
452
453        ResourceTemplate ()
454        {
455            WordBusNumber (ResourceProducer, MinFixed, MaxFixed, SubDecode,
456                0xF6F7,             // Granularity
457                0xF8F9,             // Range Minimum
458                0xFAFB,             // Range Maximum
459                0xFCFD,             // Translation Offset
460                0xFEFF,             // Length
461                ,, )
462        },
463
464        ResourceTemplate ()
465        {
466            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
467                0xF6F7,             // Granularity
468                0xF8F9,             // Range Minimum
469                0xFAFB,             // Range Maximum
470                0xFCFD,             // Translation Offset
471                0xFEFF,             // Length
472                ,, )
473        },
474
475        ResourceTemplate ()
476        {
477            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, SubDecode,
478                0xF6F7,             // Granularity
479                0xF8F9,             // Range Minimum
480                0xFAFB,             // Range Maximum
481                0xFCFD,             // Translation Offset
482                0xFEFF,             // Length
483                ,, )
484        },
485
486        ResourceTemplate ()
487        {
488            WordBusNumber (ResourceConsumer, MinNotFixed, MaxFixed, PosDecode,
489                0xF6F7,             // Granularity
490                0xF8F9,             // Range Minimum
491                0xFAFB,             // Range Maximum
492                0xFCFD,             // Translation Offset
493                0xFEFF,             // Length
494                ,, )
495        },
496
497        ResourceTemplate ()
498        {
499            WordBusNumber (ResourceConsumer, MinNotFixed, MaxFixed, SubDecode,
500                0xF6F7,             // Granularity
501                0xF8F9,             // Range Minimum
502                0xFAFB,             // Range Maximum
503                0xFCFD,             // Translation Offset
504                0xFEFF,             // Length
505                ,, )
506        },
507
508        ResourceTemplate ()
509        {
510            WordBusNumber (ResourceConsumer, MinFixed, MaxNotFixed, PosDecode,
511                0xF6F7,             // Granularity
512                0xF8F9,             // Range Minimum
513                0xFAFB,             // Range Maximum
514                0xFCFD,             // Translation Offset
515                0xFEFF,             // Length
516                ,, )
517        },
518
519        ResourceTemplate ()
520        {
521            WordBusNumber (ResourceConsumer, MinFixed, MaxNotFixed, SubDecode,
522                0xF6F7,             // Granularity
523                0xF8F9,             // Range Minimum
524                0xFAFB,             // Range Maximum
525                0xFCFD,             // Translation Offset
526                0xFEFF,             // Length
527                ,, )
528        },
529
530        ResourceTemplate ()
531        {
532            WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, PosDecode,
533                0xF6F7,             // Granularity
534                0xF8F9,             // Range Minimum
535                0xFAFB,             // Range Maximum
536                0xFCFD,             // Translation Offset
537                0xFEFF,             // Length
538                ,, )
539        },
540
541        ResourceTemplate ()
542        {
543            WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
544                0xF6F7,             // Granularity
545                0xF8F9,             // Range Minimum
546                0xFAFB,             // Range Maximum
547                0xFCFD,             // Translation Offset
548                0xFEFF,             // Length
549                ,, )
550        },
551
552        /* Particular cases */
553
554        ResourceTemplate ()
555        {
556            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
557                0xF6F7,             // Granularity
558                0xF8F9,             // Range Minimum
559                0xFAFB,             // Range Maximum
560                0xFCFD,             // Translation Offset
561                0xFEFF,             // Length
562                ,, )
563        },
564
565        ResourceTemplate ()
566        {
567            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
568                0xF6F7,             // Granularity
569                0xF8F9,             // Range Minimum
570                0xFAFB,             // Range Maximum
571                0xFCFD,             // Translation Offset
572                0xFEFF,             // Length
573                ,, )
574        },
575
576        /* Resource Source */
577
578        ResourceTemplate ()
579        {
580            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
581                0xF6F7,             // Granularity
582                0xF8F9,             // Range Minimum
583                0xFAFB,             // Range Maximum
584                0xFCFD,             // Translation Offset
585                0xFEFF,             // Length
586                0x01, "", )
587        },
588
589        ResourceTemplate ()
590        {
591            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
592                0xF6F7,             // Granularity
593                0xF8F9,             // Range Minimum
594                0xFAFB,             // Range Maximum
595                0xFCFD,             // Translation Offset
596                0xFEFF,             // Length
597                0x0F, "P", )
598        },
599
600        ResourceTemplate ()
601        {
602            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
603                0xF6F7,             // Granularity
604                0xF8F9,             // Range Minimum
605                0xFAFB,             // Range Maximum
606                0xFCFD,             // Translation Offset
607                0xFEFF,             // Length
608                0xF0, "PATH", )
609        },
610
611        ResourceTemplate ()
612        {
613            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
614                0xF6F7,             // Granularity
615                0xF8F9,             // Range Minimum
616                0xFAFB,             // Range Maximum
617                0xFCFD,             // Translation Offset
618                0xFEFF,             // Length
619                0xFF, "!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*", )
620        },
621
622        /* Particular cases */
623
624        ResourceTemplate ()
625        {
626            WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
627                0xF6F7,             // Granularity
628                0xF8F9,             // Range Minimum
629                0xFAFB,             // Range Maximum
630                0xFCFD,             // Translation Offset
631                0xFEFF,             // Length
632                0xFF, "PATHPATHPATH", )
633        },
634
635        ResourceTemplate ()
636        {
637            WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
638                0x0000,             // Granularity
639                0x0000,             // Range Minimum
640                0x0000,             // Range Maximum
641                0x0000,             // Translation Offset
642                0x0000,             // Length
643                0xFF, "PATHPATHPATH", )
644        },
645
646        /* 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection) */
647
648        ResourceTemplate ()
649        {
650            WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
651                0xF6F7,             // Granularity
652                0xF8F9,             // Range Minimum
653                0xFAFB,             // Range Maximum
654                0xFCFD,             // Translation Offset
655                0xFEFF,             // Length
656                0x0F,, )
657        }
658    })
659    Method (RT12, 0, Serialized)
660    {
661        /* Emit test header, set the filename */
662
663        THDR (__METHOD__, "WordBusNumber Resource Descriptor Macro", "wordbusnumber.asl")
664        /* Main test case for packages above */
665
666        M330 (__METHOD__, 0x19, "p428", P428, P429)
667        /* Check resource descriptor tag offsets */
668
669        Local0 = ResourceTemplate ()
670            {
671                WordBusNumber (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode,
672                    0xF6F7,             // Granularity
673                    0xF8F9,             // Range Minimum
674                    0xFAFB,             // Range Maximum
675                    0xFCFD,             // Translation Offset
676                    0xFEFF,             // Length
677                    ,, )
678                WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
679                    0xF6F7,             // Granularity
680                    0xF8F9,             // Range Minimum
681                    0xFAFB,             // Range Maximum
682                    0xFCFD,             // Translation Offset
683                    0xFEFF,             // Length
684                    ,, )
685            }
686        M331 (__METHOD__, 0x01, 0x21, 0x21, 0xA1, 0xA1, "_DEC")
687        M331 (__METHOD__, 0x02, 0x22, 0x22, 0xA2, 0xA2, "_MIF")
688        M331 (__METHOD__, 0x03, 0x23, 0x23, 0xA3, 0xA3, "_MAF")
689        M331 (__METHOD__, 0x07, 0x30, 0x30, 0xB0, 0xB0, "_GRA")
690        M331 (__METHOD__, 0x08, 0x40, 0x40, 0xC0, 0xC0, "_MIN")
691        M331 (__METHOD__, 0x09, 0x50, 0x50, 0xD0, 0xD0, "_MAX")
692        M331 (__METHOD__, 0x0A, 0x60, 0x60, 0xE0, 0xE0, "_TRA")
693        M331 (__METHOD__, 0x0B, 0x70, 0x70, 0xF0, 0xF0, "_LEN")
694    }
695