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     * Bug 0051:
30     *
31     * SUMMARY: Register() macro missing parameter
32     *
33     * NOTE: introduce into FULL after fixing bug of iASL
34     */
35    Method (MDDB, 5, NotSerialized)
36    {
37        If ((Arg0 != Arg1))
38        {
39            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Arg0, Arg1)
40        }
41
42        If ((Arg2 != Arg3))
43        {
44            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, Arg0, Arg1)
45        }
46    }
47
48    Method (MDDC, 0, Serialized)
49    {
50        Name (RT00, ResourceTemplate ()
51        {
52            Register (SystemMemory,
53                0xF0,               // Bit Width
54                0xF1,               // Bit Offset
55                0xF2F3F4F5F6F7F8F9, // Address
56                0x01,               // Access Size
57                )
58        })
59        Name (BUF0, ResourceTemplate ()
60        {
61            Register (SystemMemory,
62                0xF0,               // Bit Width
63                0xF1,               // Bit Offset
64                0xF2F3F4F5F6F7F8F9, // Address
65                0x01,               // Access Size
66                )
67        })
68        /* Currently Register macro DescriptorName is not implemented */
69
70        Local0 = ResourceTemplate ()
71            {
72                Register (SystemMemory,
73                    0xF0,               // Bit Width
74                    0xF1,               // Bit Offset
75                    0xF2F3F4F5F6F7F8F9, // Address
76                    ,)
77                Register (SystemMemory,
78                    0xF0,               // Bit Width
79                    0xF1,               // Bit Offset
80                    0xF2F3F4F5F6F7F8F9, // Address
81                    ,)
82            }
83        MDDB (0x18, 0x03, 0x90, 0x12, "_ASI")
84        MDDB (0x20, 0x04, 0x98, 0x13, "_RBW")
85        MDDB (0x28, 0x05, 0xA0, 0x14, "_RBO")
86        MDDB (0x30, 0x06, 0xA8, 0x15, "_ASZ")
87        MDDB (0x38, 0x07, 0xB0, 0x16, "_ADR")
88        If ((RT00 != BUF0))
89        {
90            ERR (__METHOD__, ZFFF, __LINE__, 0x00, 0x00, RT00, BUF0)
91        }
92    }
93