1/* SPDX-License-Identifier: GPL-2.0-only */ 2 3Device (LNKA) 4{ 5 Name (_HID, EISAID("PNP0C0F")) 6 Name (_UID, 1) 7 8 /* Disable method */ 9 Method (_DIS, 0, Serialized) 10 { 11 PRTA = 0x80 12 } 13 14 /* Possible Resource Settings for this Link */ 15 Name (_PRS, ResourceTemplate() 16 { 17 IRQ(Level, ActiveLow, Shared) 18 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 } 19 }) 20 21 /* Current Resource Settings for this link */ 22 Method (_CRS, 0, Serialized) 23 { 24 Name (RTLA, ResourceTemplate() 25 { 26 IRQ(Level, ActiveLow, Shared) {} 27 }) 28 CreateWordField(RTLA, 1, IRQ0) 29 30 /* Clear the WordField */ 31 IRQ0 = 0 32 33 /* Set the bit from PRTA */ 34 IRQ0 = 1 << (PRTA & 0x0f) 35 36 Return (RTLA) 37 } 38 39 /* Set Resource Setting for this IRQ link */ 40 Method (_SRS, 1, Serialized) 41 { 42 CreateWordField(Arg0, 1, IRQ0) 43 44 /* Which bit is set? */ 45 FindSetRightBit(IRQ0, Local0) 46 47 Local0-- 48 PRTA = Local0 49 } 50 51 /* Status */ 52 Method (_STA, 0, Serialized) 53 { 54 If (PRTA & 0x80) { 55 Return (0x9) 56 } Else { 57 Return (0xb) 58 } 59 } 60} 61 62Device (LNKB) 63{ 64 Name (_HID, EISAID("PNP0C0F")) 65 Name (_UID, 2) 66 67 /* Disable method */ 68 Method (_DIS, 0, Serialized) 69 { 70 PRTB = 0x80 71 } 72 73 /* Possible Resource Settings for this Link */ 74 Name (_PRS, ResourceTemplate() 75 { 76 IRQ(Level, ActiveLow, Shared) 77 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 } 78 }) 79 80 /* Current Resource Settings for this link */ 81 Method (_CRS, 0, Serialized) 82 { 83 Name (RTLB, ResourceTemplate() 84 { 85 IRQ(Level, ActiveLow, Shared) {} 86 }) 87 CreateWordField(RTLB, 1, IRQ0) 88 89 /* Clear the WordField */ 90 IRQ0 = 0 91 92 /* Set the bit from PRTB */ 93 IRQ0 = 1 << (PRTB & 0x0f) 94 95 Return (RTLB) 96 } 97 98 /* Set Resource Setting for this IRQ link */ 99 Method (_SRS, 1, Serialized) 100 { 101 CreateWordField(Arg0, 1, IRQ0) 102 103 /* Which bit is set? */ 104 FindSetRightBit(IRQ0, Local0) 105 106 Local0-- 107 PRTB = Local0 108 } 109 110 /* Status */ 111 Method (_STA, 0, Serialized) 112 { 113 If (PRTB & 0x80) { 114 Return (0x9) 115 } Else { 116 Return (0xb) 117 } 118 } 119} 120 121Device (LNKC) 122{ 123 Name (_HID, EISAID("PNP0C0F")) 124 Name (_UID, 3) 125 126 /* Disable method */ 127 Method (_DIS, 0, Serialized) 128 { 129 PRTC = 0x80 130 } 131 132 /* Possible Resource Settings for this Link */ 133 Name (_PRS, ResourceTemplate() 134 { 135 IRQ(Level, ActiveLow, Shared) 136 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 } 137 }) 138 139 /* Current Resource Settings for this link */ 140 Method (_CRS, 0, Serialized) 141 { 142 Name (RTLC, ResourceTemplate() 143 { 144 IRQ(Level, ActiveLow, Shared) {} 145 }) 146 CreateWordField(RTLC, 1, IRQ0) 147 148 /* Clear the WordField */ 149 IRQ0 = 0 150 151 /* Set the bit from PRTC */ 152 IRQ0 = 1 << (PRTC & 0x0f) 153 154 Return (RTLC) 155 } 156 157 /* Set Resource Setting for this IRQ link */ 158 Method (_SRS, 1, Serialized) 159 { 160 CreateWordField(Arg0, 1, IRQ0) 161 162 /* Which bit is set? */ 163 FindSetRightBit(IRQ0, Local0) 164 165 Local0-- 166 PRTC = Local0 167 } 168 169 /* Status */ 170 Method (_STA, 0, Serialized) 171 { 172 If (PRTC & 0x80) { 173 Return (0x9) 174 } Else { 175 Return (0xb) 176 } 177 } 178} 179 180Device (LNKD) 181{ 182 Name (_HID, EISAID("PNP0C0F")) 183 Name (_UID, 4) 184 185 /* Disable method */ 186 Method (_DIS, 0, Serialized) 187 { 188 PRTD = 0x80 189 } 190 191 /* Possible Resource Settings for this Link */ 192 Name (_PRS, ResourceTemplate() 193 { 194 IRQ(Level, ActiveLow, Shared) 195 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 } 196 }) 197 198 /* Current Resource Settings for this link */ 199 Method (_CRS, 0, Serialized) 200 { 201 Name (RTLD, ResourceTemplate() 202 { 203 IRQ(Level, ActiveLow, Shared) {} 204 }) 205 CreateWordField(RTLD, 1, IRQ0) 206 207 /* Clear the WordField */ 208 IRQ0 = 0 209 210 /* Set the bit from PRTD */ 211 IRQ0 = 1 << (PRTD & 0x0f) 212 213 Return (RTLD) 214 } 215 216 /* Set Resource Setting for this IRQ link */ 217 Method (_SRS, 1, Serialized) 218 { 219 CreateWordField(Arg0, 1, IRQ0) 220 221 /* Which bit is set? */ 222 FindSetRightBit(IRQ0, Local0) 223 224 Local0-- 225 PRTD = Local0 226 } 227 228 /* Status */ 229 Method (_STA, 0, Serialized) 230 { 231 If (PRTD & 0x80) { 232 Return (0x9) 233 } Else { 234 Return (0xb) 235 } 236 } 237} 238 239Device (LNKE) 240{ 241 Name (_HID, EISAID("PNP0C0F")) 242 Name (_UID, 5) 243 244 /* Disable method */ 245 Method (_DIS, 0, Serialized) 246 { 247 PRTE = 0x80 248 } 249 250 /* Possible Resource Settings for this Link */ 251 Name (_PRS, ResourceTemplate() 252 { 253 IRQ(Level, ActiveLow, Shared) 254 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 } 255 }) 256 257 /* Current Resource Settings for this link */ 258 Method (_CRS, 0, Serialized) 259 { 260 Name (RTLE, ResourceTemplate() 261 { 262 IRQ(Level, ActiveLow, Shared) {} 263 }) 264 CreateWordField(RTLE, 1, IRQ0) 265 266 /* Clear the WordField */ 267 IRQ0 = 0 268 269 /* Set the bit from PRTE */ 270 IRQ0 = 1 << (PRTE & 0x0f) 271 272 Return (RTLE) 273 } 274 275 /* Set Resource Setting for this IRQ link */ 276 Method (_SRS, 1, Serialized) 277 { 278 CreateWordField(Arg0, 1, IRQ0) 279 280 /* Which bit is set? */ 281 FindSetRightBit(IRQ0, Local0) 282 283 Local0-- 284 PRTE = Local0 285 } 286 287 /* Status */ 288 Method (_STA, 0, Serialized) 289 { 290 If (PRTE & 0x80) { 291 Return (0x9) 292 } Else { 293 Return (0xb) 294 } 295 } 296} 297 298Device (LNKF) 299{ 300 Name (_HID, EISAID("PNP0C0F")) 301 Name (_UID, 6) 302 303 /* Disable method */ 304 Method (_DIS, 0, Serialized) 305 { 306 PRTF = 0x80 307 } 308 309 /* Possible Resource Settings for this Link */ 310 Name (_PRS, ResourceTemplate() 311 { 312 IRQ(Level, ActiveLow, Shared) 313 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 } 314 }) 315 316 /* Current Resource Settings for this link */ 317 Method (_CRS, 0, Serialized) 318 { 319 Name (RTLF, ResourceTemplate() 320 { 321 IRQ(Level, ActiveLow, Shared) {} 322 }) 323 CreateWordField(RTLF, 1, IRQ0) 324 325 /* Clear the WordField */ 326 IRQ0 = 0 327 328 /* Set the bit from PRTF */ 329 IRQ0 = 1 << (PRTF & 0x0f) 330 331 Return (RTLF) 332 } 333 334 /* Set Resource Setting for this IRQ link */ 335 Method (_SRS, 1, Serialized) 336 { 337 CreateWordField(Arg0, 1, IRQ0) 338 339 /* Which bit is set? */ 340 FindSetRightBit(IRQ0, Local0) 341 342 Local0-- 343 PRTF = Local0 344 } 345 346 /* Status */ 347 Method (_STA, 0, Serialized) 348 { 349 If (PRTF & 0x80) { 350 Return (0x9) 351 } Else { 352 Return (0xb) 353 } 354 } 355} 356 357Device (LNKG) 358{ 359 Name (_HID, EISAID("PNP0C0F")) 360 Name (_UID, 7) 361 362 /* Disable method */ 363 Method (_DIS, 0, Serialized) 364 { 365 PRTG = 0x80 366 } 367 368 /* Possible Resource Settings for this Link */ 369 Name (_PRS, ResourceTemplate() 370 { 371 IRQ(Level, ActiveLow, Shared) 372 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 } 373 }) 374 375 /* Current Resource Settings for this link */ 376 Method (_CRS, 0, Serialized) 377 { 378 Name (RTLG, ResourceTemplate() 379 { 380 IRQ(Level, ActiveLow, Shared) {} 381 }) 382 CreateWordField(RTLG, 1, IRQ0) 383 384 /* Clear the WordField */ 385 IRQ0 = 0 386 387 /* Set the bit from PRTG */ 388 IRQ0 = 1 << (PRTG & 0x0f) 389 390 Return (RTLG) 391 } 392 393 /* Set Resource Setting for this IRQ link */ 394 Method (_SRS, 1, Serialized) 395 { 396 CreateWordField(Arg0, 1, IRQ0) 397 398 /* Which bit is set? */ 399 FindSetRightBit(IRQ0, Local0) 400 401 Local0-- 402 PRTG = Local0 403 } 404 405 /* Status */ 406 Method (_STA, 0, Serialized) 407 { 408 If (PRTG & 0x80) { 409 Return (0x9) 410 } Else { 411 Return (0xb) 412 } 413 } 414} 415 416Device (LNKH) 417{ 418 Name (_HID, EISAID("PNP0C0F")) 419 Name (_UID, 8) 420 421 /* Disable method */ 422 Method (_DIS, 0, Serialized) 423 { 424 PRTH = 0x80 425 } 426 427 /* Possible Resource Settings for this Link */ 428 Name (_PRS, ResourceTemplate() 429 { 430 IRQ(Level, ActiveLow, Shared) 431 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 } 432 }) 433 434 /* Current Resource Settings for this link */ 435 Method (_CRS, 0, Serialized) 436 { 437 Name (RTLH, ResourceTemplate() 438 { 439 IRQ(Level, ActiveLow, Shared) {} 440 }) 441 CreateWordField(RTLH, 1, IRQ0) 442 443 /* Clear the WordField */ 444 IRQ0 = 0 445 446 /* Set the bit from PRTH */ 447 IRQ0 = 1 << (PRTH & 0x0f) 448 449 Return (RTLH) 450 } 451 452 /* Set Resource Setting for this IRQ link */ 453 Method (_SRS, 1, Serialized) 454 { 455 CreateWordField(Arg0, 1, IRQ0) 456 457 /* Which bit is set? */ 458 FindSetRightBit(IRQ0, Local0) 459 460 Local0-- 461 PRTH = Local0 462 } 463 464 /* Status */ 465 Method (_STA, 0, Serialized) 466 { 467 If (PRTH & 0x80) { 468 Return (0x9) 469 } Else { 470 Return (0xb) 471 } 472 } 473} 474