blob: d4fc433bebc38f69052030c4950a7b77dc2adc9c [file] [log] [blame]
Marc Jones738347e2010-09-13 19:24:38 +00001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2010 Advanced Micro Devices, Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
Marc Jones738347e2010-09-13 19:24:38 +000014 */
15
16/* simple name description */
17/*
18DefinitionBlock ("DSDT.AML","DSDT",0x01,"XXXXXX","XXXXXXXX",0x00010001
19 )
20 {
21 #include "usb.asl"
22 }
23*/
24Method(UCOC, 0) {
25 Sleep(20)
Elyes HAOUAS75b22372016-09-29 21:28:49 +020026 Store(0x13,CMTI)
Marc Jones738347e2010-09-13 19:24:38 +000027 Store(0,GPSL)
28}
29
30/* USB Port 0 overcurrent uses Gpm 0 */
31If(LLessEqual(UOM0,9)) {
32 Scope (\_GPE) {
33 Method (_L13) {
34 UCOC()
35 if(LEqual(GPB0,PLC0)) {
36 Not(PLC0,PLC0)
37 Store(PLC0, \_SB.PT0D)
38 }
39 }
40 }
41}
42
43/* USB Port 1 overcurrent uses Gpm 1 */
44If (LLessEqual(UOM1,9)) {
45 Scope (\_GPE) {
46 Method (_L14) {
47 UCOC()
48 if (LEqual(GPB1,PLC1)) {
49 Not(PLC1,PLC1)
50 Store(PLC1, \_SB.PT1D)
51 }
52 }
53 }
54}
55
56/* USB Port 2 overcurrent uses Gpm 2 */
57If (LLessEqual(UOM2,9)) {
58 Scope (\_GPE) {
59 Method (_L15) {
60 UCOC()
61 if (LEqual(GPB2,PLC2)) {
62 Not(PLC2,PLC2)
63 Store(PLC2, \_SB.PT2D)
64 }
65 }
66 }
67}
68
69/* USB Port 3 overcurrent uses Gpm 3 */
70If (LLessEqual(UOM3,9)) {
71 Scope (\_GPE) {
72 Method (_L16) {
73 UCOC()
74 if (LEqual(GPB3,PLC3)) {
75 Not(PLC3,PLC3)
76 Store(PLC3, \_SB.PT3D)
77 }
78 }
79 }
80}
81
82/* USB Port 4 overcurrent uses Gpm 4 */
83If (LLessEqual(UOM4,9)) {
84 Scope (\_GPE) {
85 Method (_L19) {
86 UCOC()
87 if (LEqual(GPB4,PLC4)) {
88 Not(PLC4,PLC4)
89 Store(PLC4, \_SB.PT4D)
90 }
91 }
92 }
93}
94
95/* USB Port 5 overcurrent uses Gpm 5 */
96If (LLessEqual(UOM5,9)) {
97 Scope (\_GPE) {
98 Method (_L1A) {
99 UCOC()
100 if (LEqual(GPB5,PLC5)) {
101 Not(PLC5,PLC5)
102 Store(PLC5, \_SB.PT5D)
103 }
104 }
105 }
106}
107
108/* USB Port 6 overcurrent uses Gpm 6 */
109If (LLessEqual(UOM6,9)) {
110 Scope (\_GPE) {
111 /* Method (_L1C) { */
112 Method (_L06) {
113 UCOC()
114 if (LEqual(GPB6,PLC6)) {
115 Not(PLC6,PLC6)
116 Store(PLC6, \_SB.PT6D)
117 }
118 }
119 }
120}
121
122/* USB Port 7 overcurrent uses Gpm 7 */
123If (LLessEqual(UOM7,9)) {
Elyes HAOUAS75b22372016-09-29 21:28:49 +0200124 Scope (\_GPE) {
Marc Jones738347e2010-09-13 19:24:38 +0000125 /* Method (_L1D) { */
126 Method (_L07) {
127 UCOC()
128 if (LEqual(GPB7,PLC7)) {
129 Not(PLC7,PLC7)
130 Store(PLC7, \_SB.PT7D)
131 }
132 }
133 }
134}
135
136/* USB Port 8 overcurrent uses Gpm 8 */
137If (LLessEqual(UOM8,9)) {
138 Scope (\_GPE) {
139 Method (_L17) {
140 if (LEqual(G8IS,PLC8)) {
141 Not(PLC8,PLC8)
142 Store(PLC8, \_SB.PT8D)
143 }
144 }
145 }
146}
147
148/* USB Port 9 overcurrent uses Gpm 9 */
149If (LLessEqual(UOM9,9)) {
150 Scope (\_GPE) {
151 Method (_L0E) {
152 if (LEqual(G9IS,0)) {
153 Store(1,\_SB.PT9D)
154 }
155 }
156 }
157}