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