• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* SPDX-License-Identifier: GPL-2.0-only */
2
3/* Intel ICH USB support */
4
5// USB Controller 0:1d.0
6
7Device (USB1)
8{
9	Name(_ADR, 0x001d0000)
10
11	OperationRegion(U01P, PCI_Config, 0, 256)
12	Field(U01P, DWordAcc, NoLock, Preserve)
13	{
14		Offset(0xc4),
15		U1WE, 2		// USB Wake Enable
16	}
17
18	Name (_PRW, Package(){ 3, 4 }) // Power Resources for Wake
19
20	Method (_PSW, 1)	// Power State Wake method
21	{
22		// USB Controller can wake OS from Sleep State
23		If (Arg0) {
24			U1WE = 3
25		} Else {
26			U1WE = 0
27		}
28	}
29
30	// Leave USB ports on for to allow Wake from USB
31
32	Method(_S3D,0)	// Highest D State in S3 State
33	{
34		Return (2)
35	}
36
37	Method(_S4D,0)	// Highest D State in S4 State
38	{
39		Return (2)
40	}
41}
42
43// USB Controller 0:1d.1
44
45Device (USB2)
46{
47	Name(_ADR, 0x001d0001)
48
49	OperationRegion(U02P, PCI_Config, 0, 256)
50	Field(U02P, DWordAcc, NoLock, Preserve)
51	{
52		Offset(0xc4),
53		U2WE, 2		// USB Wake Enable
54	}
55
56	Name (_PRW, Package(){ 3, 4 }) // Power Resources for Wake
57
58	Method (_PSW, 1)	// Power State Wake method
59	{
60		// USB Controller can wake OS from Sleep State
61		If (Arg0) {
62			U2WE = 3
63		} Else {
64			U2WE = 0
65		}
66	}
67
68	// Leave USB ports on for to allow Wake from USB
69
70	Method(_S3D,0)	// Highest D State in S3 State
71	{
72		Return (2)
73	}
74
75	Method(_S4D,0)	// Highest D State in S4 State
76	{
77		Return (2)
78	}
79
80}
81
82// USB Controller 0:1d.2
83
84Device (USB3)
85{
86	Name(_ADR, 0x001d0002)
87
88	OperationRegion(U03P, PCI_Config, 0, 256)
89	Field(U03P, DWordAcc, NoLock, Preserve)
90	{
91		Offset(0xc4),
92		U3WE, 2		// USB Wake Enable
93	}
94
95	Name (_PRW, Package(){ 3, 4 }) // Power Resources for Wake
96
97	Method (_PSW, 1)	// Power State Wake method
98	{
99		// USB Controller can wake OS from Sleep State
100		If (Arg0) {
101			U3WE = 3
102		} Else {
103			U3WE = 0
104		}
105	}
106
107	// Leave USB ports on for to allow Wake from USB
108
109	Method(_S3D,0)	// Highest D State in S3 State
110	{
111		Return (2)
112	}
113
114	Method(_S4D,0)	// Highest D State in S4 State
115	{
116		Return (2)
117	}
118
119}
120
121// USB Controller 0:1d.3
122
123Device (USB4)
124{
125	Name(_ADR, 0x001d0003)
126
127	OperationRegion(U04P, PCI_Config, 0, 256)
128	Field(U04P, DWordAcc, NoLock, Preserve)
129	{
130		Offset(0xc4),
131		U4WE, 2		// USB Wake Enable
132	}
133
134	Name (_PRW, Package(){ 3, 4 }) // Power Resources for Wake
135
136	Method (_PSW, 1)	// Power State Wake method
137	{
138		// USB Controller can wake OS from Sleep State
139		If (Arg0) {
140			U4WE = 3
141		} Else {
142			U4WE = 0
143		}
144	}
145
146	// Leave USB ports on for to allow Wake from USB
147
148	Method(_S3D,0)	// Highest D State in S3 State
149	{
150		Return (2)
151	}
152
153	Method(_S4D,0)	// Highest D State in S4 State
154	{
155		Return (2)
156	}
157
158}
159
160// EHCI Controller 0:1d.7
161
162Device (EHC1)
163{
164	Name(_ADR, 0x001d0007)
165
166	Name (_PRW, Package(){ 13, 4 }) // Power Resources for Wake
167
168	// Leave USB ports on for to allow Wake from USB
169
170	Method(_S3D,0)	// Highest D State in S3 State
171	{
172		Return (2)
173	}
174
175	Method(_S4D,0)	// Highest D State in S4 State
176	{
177		Return (2)
178	}
179
180	Device (HUB7)
181	{
182		Name (_ADR, 0x00000000)
183
184		// How many are there?
185		Device (PRT1) { Name (_ADR, 1) } // USB Port 0
186		Device (PRT2) { Name (_ADR, 2) } // USB Port 1
187		Device (PRT3) { Name (_ADR, 3) } // USB Port 2
188		Device (PRT4) { Name (_ADR, 4) } // USB Port 3
189		Device (PRT5) { Name (_ADR, 5) } // USB Port 4
190		Device (PRT6) { Name (_ADR, 6) } // USB Port 5
191	}
192}
193