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     *
30     * Different type data for different needs
31     *
32     */
33    /*
34     SEE: uncomment m918 after fixing bug (?) of ACPICA
35     SEE: uncomment below:
36     //	Method(m918) { return (tz90) }
37     */
38    Name (Z113, 0x71)
39    /* Not Computational Data */
40
41    Event (E900)
42    Event (E9Z0)
43    Mutex (MX90, 0x00)
44    Mutex (MX91, 0x00)
45    Device (D900)
46    {
47        Name (I900, 0xABCD0017)
48    }
49
50    Device (D9Z0)
51    {
52        Name (I900, 0xABCD0017)
53    }
54
55    ThermalZone (TZ90)
56    {
57    }
58
59    ThermalZone (TZ91)
60    {
61    }
62
63    Processor (PR90, 0x00, 0xFFFFFFFF, 0x00){}
64    Processor (PR91, 0x00, 0xFFFFFFFF, 0x00){}
65    OperationRegion (R900, SystemMemory, 0x0100, 0x0100)
66    OperationRegion (R9Z0, SystemMemory, 0x0100, 0x0100)
67    PowerResource (PW90, 0x01, 0x0000)
68    {
69        Method (MMMM, 0, NotSerialized)
70        {
71            Return (0x00)
72        }
73    }
74
75    PowerResource (PW91, 0x01, 0x0000)
76    {
77        Method (MMMM, 0, NotSerialized)
78        {
79            Return (0x00)
80        }
81    }
82
83    /* Computational Data */
84
85    Name (I900, 0xFE7CB391D65A0000)
86    Name (I9Z0, 0xFE7CB391D65A0000)
87    Name (I901, 0xC1790001)
88    Name (I9Z1, 0xC1790001)
89    Name (I902, 0x00)
90    Name (I903, 0xFFFFFFFFFFFFFFFF)
91    Name (I904, 0xFFFFFFFF)
92    Name (S900, "12340002")
93    Name (S9Z0, "12340002")
94    Name (S901, "qwrtyu0003")
95    Name (S9Z1, "qwrtyu0003")
96    Name (B900, Buffer (0x05)
97    {
98         0xB0, 0xB1, 0xB2, 0xB3, 0xB4                     // .....
99    })
100    Name (B9Z0, Buffer (0x05)
101    {
102         0xB0, 0xB1, 0xB2, 0xB3, 0xB4                     // .....
103    })
104    CreateField (B9Z0, 0x00, 0x08, BF90)
105    Field (R9Z0, ByteAcc, NoLock, Preserve)
106    {
107        F900,   8,
108        F901,   8,
109        F902,   8,
110        F903,   8
111    }
112
113    BankField (R9Z0, F901, 0x00, ByteAcc, NoLock, Preserve)
114    {
115        BN90,   4
116    }
117
118    IndexField (F902, F903, ByteAcc, NoLock, Preserve)
119    {
120        IF90,   8,
121        IF91,   8
122    }
123
124    /* Elements of Package are Uninitialized */
125
126    Name (P900, Package (0x01){})
127    /* Elements of Package are Computational Data */
128
129    Name (P901, Package (0x02)
130    {
131        0xABCD0004,
132        0x1122334455660005
133    })
134    Name (P902, Package (0x02)
135    {
136        "12340006",
137        "q1w2e3r4t5y6u7i80007"
138    })
139    Name (P903, Package (0x02)
140    {
141        "qwrtyuiop0008",
142        "1234567890abdef0250009"
143    })
144    Name (P904, Package (0x02)
145    {
146        Buffer (0x03)
147        {
148             0xB5, 0xB6, 0xB7                                 // ...
149        },
150
151        Buffer (0x02)
152        {
153             0xB8, 0xB9                                       // ..
154        }
155    })
156    Name (P905, Package (0x01)
157    {
158        Package (0x03)
159        {
160            0x0ABC000A,
161            "0xabc000b",
162            "abc000c"
163        }
164    })
165    Name (P906, Package (0x01)
166    {
167        Package (0x01)
168        {
169            "abc000d"
170        }
171    })
172    Name (P907, Package (0x01)
173    {
174        Package (0x01)
175        {
176            "aqwevbgnm000e"
177        }
178    })
179    Name (P908, Package (0x01)
180    {
181        Package (0x01)
182        {
183            Buffer (0x05)
184            {
185                 0xBA, 0xBB, 0xBC, 0xBD, 0xBE                     // .....
186            }
187        }
188    })
189    Name (P909, Package (0x01)
190    {
191        Package (0x01)
192        {
193            Package (0x01)
194            {
195                0x0ABC000F
196            }
197        }
198    })
199    Name (P90A, Package (0x01)
200    {
201        Package (0x01)
202        {
203            Package (0x01)
204            {
205                "12340010"
206            }
207        }
208    })
209    Name (P90B, Package (0x01)
210    {
211        Package (0x01)
212        {
213            Package (0x01)
214            {
215                "zxswefas0011"
216            }
217        }
218    })
219    Name (P90C, Package (0x01)
220    {
221        Package (0x01)
222        {
223            Package (0x01)
224            {
225                Buffer (0x03)
226                {
227                     0xBF, 0xC0, 0xC1                                 // ...
228                }
229            }
230        }
231    })
232    Name (P90D, Package (0x01)
233    {
234        I900
235    })
236    Name (P90E, Package (0x01)
237    {
238        I901
239    })
240    Name (P90F, Package (0x01)
241    {
242        S900
243    })
244    Name (P910, Package (0x01)
245    {
246        S901
247    })
248    Name (P911, Package (0x01)
249    {
250        B9Z0
251    })
252    Name (P912, Package (0x01)
253    {
254        F900
255    })
256    Name (P913, Package (0x01)
257    {
258        BN90
259    })
260    Name (P914, Package (0x01)
261    {
262        IF90
263    })
264    Name (P915, Package (0x01)
265    {
266        BF90
267    })
268    /* Elements of Package are NOT Computational Data */
269
270    Name (P916, Package (0x01)
271    {
272        D900
273    })
274    Name (P917, Package (0x01)
275    {
276        E900
277    })
278    Name (P918, Package (0x01)
279    {
280        MX90
281    })
282    Name (P919, Package (0x01)
283    {
284        R9Z0
285    })
286    Name (P91A, Package (0x01)
287    {
288        PW90
289    })
290    Name (P91B, Package (0x01)
291    {
292        PR90
293    })
294    Name (P91C, Package (0x01)
295    {
296        TZ90
297    })
298    /* Methods */
299
300    Method (M900, 0, NotSerialized)
301    {
302    }
303
304    Method (M901, 0, NotSerialized)
305    {
306        Return (0x0ABC0012)
307    }
308
309    Method (M902, 0, NotSerialized)
310    {
311        Return ("zxvgswquiy0013")
312    }
313
314    Method (M903, 0, NotSerialized)
315    {
316        Return (Buffer (0x01)
317        {
318             0xC2                                             // .
319        })
320    }
321
322    Method (M904, 0, NotSerialized)
323    {
324        Return (Package (0x01)
325        {
326            0x0ABC0014
327        })
328    }
329
330    Method (M905, 0, NotSerialized)
331    {
332        Return (Package (0x01)
333        {
334            "lkjhgtre0015"
335        })
336    }
337
338    Method (M906, 0, NotSerialized)
339    {
340        Return (Package (0x01)
341        {
342            Buffer (0x01)
343            {
344                 0xC3                                             // .
345            }
346        })
347    }
348
349    Method (M907, 0, NotSerialized)
350    {
351        Return (Package (0x01)
352        {
353            Package (0x01)
354            {
355                0x0ABC0016
356            }
357        })
358    }
359
360    Method (M908, 0, NotSerialized)
361    {
362        Return (I900) /* \I900 */
363    }
364
365    Method (M909, 0, NotSerialized)
366    {
367        Return (I901) /* \I901 */
368    }
369
370    Method (M90A, 0, NotSerialized)
371    {
372        Return (S900) /* \S900 */
373    }
374
375    Method (M90B, 0, NotSerialized)
376    {
377        Return (S901) /* \S901 */
378    }
379
380    Method (M90C, 0, NotSerialized)
381    {
382        Return (B9Z0) /* \B9Z0 */
383    }
384
385    Method (M90D, 0, NotSerialized)
386    {
387        Return (F900) /* \F900 */
388    }
389
390    Method (M90E, 0, NotSerialized)
391    {
392        Return (BN90) /* \BN90 */
393    }
394
395    Method (M90F, 0, NotSerialized)
396    {
397        Return (IF90) /* \IF90 */
398    }
399
400    Method (M910, 0, NotSerialized)
401    {
402        Return (BF90) /* \BF90 */
403    }
404
405    Method (M911, 0, NotSerialized)
406    {
407        Return (D900) /* \D900 */
408    }
409
410    Method (M912, 0, NotSerialized)
411    {
412        Return (E900) /* \E900 */
413    }
414
415    Method (M913, 0, NotSerialized)
416    {
417        Return (M901 ())
418    }
419
420    Method (M914, 0, NotSerialized)
421    {
422        Return (MX90) /* \MX90 */
423    }
424
425    Method (M915, 0, NotSerialized)
426    {
427        Return (R9Z0) /* \R9Z0 */
428    }
429
430    Method (M916, 0, NotSerialized)
431    {
432        Return (PW90) /* \PW90 */
433    }
434
435    Method (M917, 0, NotSerialized)
436    {
437        Return (PR90) /* \PR90 */
438    }
439
440    /*	Method(m918) { return (tz90) } */
441
442    Method (M918, 0, NotSerialized)
443    {
444        Return (0x00)
445    }
446
447    Method (M919, 0, NotSerialized)
448    {
449        Return (P900) /* \P900 */
450    }
451
452    Method (M91A, 0, NotSerialized)
453    {
454        Return (P901) /* \P901 */
455    }
456
457    Method (M91B, 0, NotSerialized)
458    {
459        Return (P902) /* \P902 */
460    }
461
462    Method (M91C, 0, NotSerialized)
463    {
464        Return (P903) /* \P903 */
465    }
466
467    Method (M91D, 0, NotSerialized)
468    {
469        Return (P904) /* \P904 */
470    }
471
472    Method (M91E, 0, NotSerialized)
473    {
474        Return (P905) /* \P905 */
475    }
476
477    Method (M91F, 0, NotSerialized)
478    {
479        Return (P906) /* \P906 */
480    }
481
482    Method (M920, 0, NotSerialized)
483    {
484        Return (P907) /* \P907 */
485    }
486
487    Method (M921, 0, NotSerialized)
488    {
489        Return (P908) /* \P908 */
490    }
491
492    Method (M922, 0, NotSerialized)
493    {
494        Return (P909) /* \P909 */
495    }
496
497    Method (M923, 0, NotSerialized)
498    {
499        Return (P90A) /* \P90A */
500    }
501
502    Method (M924, 0, NotSerialized)
503    {
504        Return (P90B) /* \P90B */
505    }
506
507    Method (M925, 0, NotSerialized)
508    {
509        Return (P90C) /* \P90C */
510    }
511
512    Method (M926, 0, NotSerialized)
513    {
514        Return (P90D) /* \P90D */
515    }
516
517    Method (M927, 0, NotSerialized)
518    {
519        Return (P90E) /* \P90E */
520    }
521
522    Method (M928, 0, NotSerialized)
523    {
524        Return (P90F) /* \P90F */
525    }
526
527    Method (M929, 0, NotSerialized)
528    {
529        Return (P910) /* \P910 */
530    }
531
532    Method (M92A, 0, NotSerialized)
533    {
534        Return (P911) /* \P911 */
535    }
536
537    Method (M92B, 0, NotSerialized)
538    {
539        Return (P912) /* \P912 */
540    }
541
542    Method (M92C, 0, NotSerialized)
543    {
544        Return (P913) /* \P913 */
545    }
546
547    Method (M92D, 0, NotSerialized)
548    {
549        Return (P914) /* \P914 */
550    }
551
552    Method (M92E, 0, NotSerialized)
553    {
554        Return (P915) /* \P915 */
555    }
556
557    Method (M92F, 0, NotSerialized)
558    {
559        Return (P916) /* \P916 */
560    }
561
562    Method (M930, 0, NotSerialized)
563    {
564        Return (P917) /* \P917 */
565    }
566
567    Method (M931, 0, NotSerialized)
568    {
569        Return (P918) /* \P918 */
570    }
571
572    Method (M932, 0, NotSerialized)
573    {
574        Return (P919) /* \P919 */
575    }
576
577    Method (M933, 0, NotSerialized)
578    {
579        Return (P91A) /* \P91A */
580    }
581
582    Method (M934, 0, NotSerialized)
583    {
584        Return (P91B) /* \P91B */
585    }
586
587    Method (M935, 0, NotSerialized)
588    {
589        Return (P91C) /* \P91C */
590    }
591
592    /* Elements of Package are Methods */
593
594    Name (P91D, Package (0x01)
595    {
596        M900
597    })
598    Name (P91E, Package (0x01)
599    {
600        M901
601    })
602    Name (P91F, Package (0x01)
603    {
604        M902
605    })
606    Name (P920, Package (0x01)
607    {
608        M903
609    })
610    Name (P921, Package (0x01)
611    {
612        M904
613    })
614    Name (P922, Package (0x01)
615    {
616        M905
617    })
618    Name (P923, Package (0x01)
619    {
620        M906
621    })
622    Name (P924, Package (0x01)
623    {
624        M907
625    })
626    Name (P925, Package (0x01)
627    {
628        M908
629    })
630    Name (P926, Package (0x01)
631    {
632        M909
633    })
634    Name (P927, Package (0x01)
635    {
636        M90A
637    })
638    Name (P928, Package (0x01)
639    {
640        M90B
641    })
642    Name (P929, Package (0x01)
643    {
644        M90C
645    })
646    Name (P92A, Package (0x01)
647    {
648        M90D
649    })
650    Name (P92B, Package (0x01)
651    {
652        M90E
653    })
654    Name (P92C, Package (0x01)
655    {
656        M90F
657    })
658    Name (P92D, Package (0x01)
659    {
660        M910
661    })
662    Name (P92E, Package (0x01)
663    {
664        M911
665    })
666    Name (P92F, Package (0x01)
667    {
668        M912
669    })
670    Name (P930, Package (0x01)
671    {
672        M913
673    })
674    Name (P931, Package (0x01)
675    {
676        M914
677    })
678    Name (P932, Package (0x01)
679    {
680        M915
681    })
682    Name (P933, Package (0x01)
683    {
684        M916
685    })
686    Name (P934, Package (0x01)
687    {
688        M917
689    })
690    If (Y103)
691    {
692        Name (P935, Package (0x01)
693        {
694            M918
695        })
696    }
697
698    Name (P936, Package (0x01)
699    {
700        M919
701    })
702    Name (P937, Package (0x01)
703    {
704        M91A
705    })
706    Name (P938, Package (0x01)
707    {
708        M91B
709    })
710    Name (P939, Package (0x01)
711    {
712        M91C
713    })
714    Name (P93A, Package (0x01)
715    {
716        M91D
717    })
718    Name (P93B, Package (0x01)
719    {
720        M91E
721    })
722    Name (P93C, Package (0x01)
723    {
724        M91F
725    })
726    Name (P93D, Package (0x01)
727    {
728        M920
729    })
730    Name (P93E, Package (0x01)
731    {
732        M921
733    })
734    Name (P93F, Package (0x01)
735    {
736        M922
737    })
738    Name (P940, Package (0x01)
739    {
740        M923
741    })
742    Name (P941, Package (0x01)
743    {
744        M924
745    })
746    Name (P942, Package (0x01)
747    {
748        M925
749    })
750    Name (P943, Package (0x01)
751    {
752        M926
753    })
754    Name (P944, Package (0x01)
755    {
756        M927
757    })
758    Name (P945, Package (0x01)
759    {
760        M928
761    })
762    Name (P946, Package (0x01)
763    {
764        M929
765    })
766    Name (P947, Package (0x01)
767    {
768        M92A
769    })
770    Name (P948, Package (0x01)
771    {
772        M92B
773    })
774    Name (P949, Package (0x01)
775    {
776        M92C
777    })
778    Name (P94A, Package (0x01)
779    {
780        M92D
781    })
782    Name (P94B, Package (0x01)
783    {
784        M92E
785    })
786    Name (P94C, Package (0x01)
787    {
788        M92F
789    })
790    Name (P94D, Package (0x01)
791    {
792        M930
793    })
794    Name (P94E, Package (0x01)
795    {
796        M931
797    })
798    Name (P94F, Package (0x01)
799    {
800        M932
801    })
802    Name (P950, Package (0x01)
803    {
804        M933
805    })
806    Name (P951, Package (0x01)
807    {
808        M934
809    })
810    Name (P952, Package (0x01)
811    {
812        M935
813    })
814    Name (P953, Package (0x02)
815    {
816        0xABCD0018,
817        0xABCD0019
818    })
819    Name (P954, Package (0x02)
820    {
821        0xABCD0018,
822        0xABCD0019
823    })
824    Name (I905, 0xABCD001A)
825    Name (I9Z5, 0xABCD001A)
826    Method (M936, 0, NotSerialized)
827    {
828        I905 = 0x00
829        Return (MX90) /* \MX90 */
830    }
831
832    Name (P955, Package (0x12)
833    {
834        0x00,
835        I900,
836        S900,
837        B900,
838        P953,
839        F900,
840        D900,
841        E900,
842        M936,
843        MX90,
844        R900,
845        PW90,
846        PR90,
847        TZ90,
848        BF90,
849        0x0F,
850        0x10
851    })
852    Name (P956, Package (0x12)
853    {
854        0x00,
855        I900,
856        S900,
857        B900,
858        P953,
859        F900,
860        D900,
861        E900,
862        M936,
863        MX90,
864        R900,
865        PW90,
866        PR90,
867        TZ90,
868        BF90,
869        0x0F,
870        0x10
871    })
872    /* Global Standard Data */
873
874    Name (IA00, 0x77)
875    Name (SA00, "qwer0000")
876    Name (BA00, Buffer (0x04)
877    {
878         0x01, 0x77, 0x03, 0x04                           // .w..
879    })
880    Name (PA00, Package (0x03)
881    {
882        0x05,
883        0x77,
884        0x07
885    })
886    Name (IA10, 0x77)
887    Name (SA10, "qwer0000")
888    Name (BA10, Buffer (0x04)
889    {
890         0x01, 0x77, 0x03, 0x04                           // .w..
891    })
892    Name (PA10, Package (0x03)
893    {
894        0x05,
895        0x77,
896        0x07
897    })
898    Name (IA01, 0x2B)
899    Name (SA01, "qw+r0000")
900    Name (BA01, Buffer (0x04)
901    {
902         0x01, 0x2B, 0x03, 0x04                           // .+..
903    })
904    Name (PA01, Package (0x03)
905    {
906        0x05,
907        0x2B,
908        0x07
909    })
910    Name (IA11, 0x2B)
911    Name (SA11, "qw+r0000")
912    Name (BA11, Buffer (0x04)
913    {
914         0x01, 0x2B, 0x03, 0x04                           // .+..
915    })
916    Name (PA11, Package (0x03)
917    {
918        0x05,
919        0x2B,
920        0x07
921    })
922