soc: Remove copyright notices
[coreboot.git] / src / soc / intel / cannonlake / acpi / gpio_op.asl
blobe25c9034797a169ce61fd50edcfdabf41725b75a
1 /*
2  * This file is part of the coreboot project.
3  *
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; version 2 of the License.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  */
16  * Get GPIO Value
17  * Arg0 - GPIO Number
18  */
19 Method (GRXS, 1, Serialized)
21         OperationRegion (PREG, SystemMemory, GADD (Arg0), 4)
22         Field (PREG, AnyAcc, NoLock, Preserve)
23         {
24                 VAL0, 32
25         }
26         And (GPIORXSTATE_MASK, ShiftRight (VAL0, GPIORXSTATE_SHIFT), Local0)
28         Return (Local0)
32  * Get GPIO Tx Value
33  * Arg0 - GPIO Number
34  */
35 Method (GTXS, 1, Serialized)
37         OperationRegion (PREG, SystemMemory, GADD (Arg0), 4)
38         Field (PREG, AnyAcc, NoLock, Preserve)
39         {
40                 VAL0, 32
41         }
42         And (GPIOTXSTATE_MASK, VAL0, Local0)
44         Return (Local0)
48  * Set GPIO Tx Value
49  * Arg0 - GPIO Number
50  */
51 Method (STXS, 1, Serialized)
53         OperationRegion (PREG, SystemMemory, GADD (Arg0), 4)
54         Field (PREG, AnyAcc, NoLock, Preserve)
55         {
56                 VAL0, 32
57         }
58         Or (GPIOTXSTATE_MASK, VAL0, VAL0)
62  * Clear GPIO Tx Value
63  * Arg0 - GPIO Number
64  */
65 Method (CTXS, 1, Serialized)
67         OperationRegion (PREG, SystemMemory, GADD (Arg0), 4)
68         Field (PREG, AnyAcc, NoLock, Preserve)
69         {
70                 VAL0, 32
71         }
72         And (Not (GPIOTXSTATE_MASK), VAL0, VAL0)
76  * Set Pad mode
77  * Arg0 - GPIO Number
78  * Arg1 - Pad mode
79  *     0 = GPIO control pad
80  *     1 = Native Function 1
81  *     2 = Native Function 2
82  *     3 = Native Function 3
83  */
84 Method (GPMO, 2, Serialized)
86         OperationRegion (PREG, SystemMemory, GADD (Arg0), 4)
87         Field (PREG, AnyAcc, NoLock, Preserve)
88         {
89                 VAL0, 32
90         }
91         Store (VAL0, Local0)
92         And (Not (GPIOPADMODE_MASK), Local0, Local0)
93         And (ShiftLeft (Arg1, GPIOPADMODE_SHIFT, Arg1), GPIOPADMODE_MASK, Arg1)
94         Or (Local0, Arg1, VAL0)
98  * Enable/Disable Tx buffer
99  * Arg0 - GPIO Number
100  * Arg1 - TxBuffer state
101  *     0 = Disable Tx Buffer
102  *     1 = Enable Tx Buffer
103  */
104 Method (GTXE, 2, Serialized)
106         OperationRegion (PREG, SystemMemory, GADD (Arg0), 4)
107         Field (PREG, AnyAcc, NoLock, Preserve)
108         {
109                 VAL0, 32
110         }
112         If (LEqual (Arg1, 1)) {
113                 And (Not (GPIOTXBUFDIS_MASK), VAL0, VAL0)
114         } ElseIf (LEqual (Arg1, 0)){
115                 Or (GPIOTXBUFDIS_MASK, VAL0, VAL0)
116         }
120  * Enable/Disable Rx buffer
121  * Arg0 - GPIO Number
122  * Arg1 - RxBuffer state
123  *     0 = Disable Rx Buffer
124  *     1 = Enable Rx Buffer
125  */
126 Method (GRXE, 2, Serialized)
128         OperationRegion (PREG, SystemMemory, GADD (Arg0), 4)
129         Field (PREG, AnyAcc, NoLock, Preserve)
130         {
131                 VAL0, 32
132         }
134         If (LEqual (Arg1, 1)) {
135                 And (Not (GPIORXBUFDIS_MASK), VAL0, VAL0)
136         } ElseIf (LEqual (Arg1, 0)){
137                 Or (GPIORXBUFDIS_MASK, VAL0, VAL0)
138         }