1 /* 2 * Some or all of this work - Copyright (c) 2006 - 2021, Intel Corp. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without modification, 6 * are permitted provided that the following conditions are met: 7 * 8 * Redistributions of source code must retain the above copyright notice, 9 * this list of conditions and the following disclaimer. 10 * Redistributions in binary form must reproduce the above copyright notice, 11 * this list of conditions and the following disclaimer in the documentation 12 * and/or other materials provided with the distribution. 13 * Neither the name of Intel Corporation nor the names of its contributors 14 * may be used to endorse or promote products derived from this software 15 * without specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 /* 29 * Resource Descriptor macros 30 * 31 * PinConfig Resource Descriptor Macro 32 */ 33 Name (P45E, Package (0x21) 34 { 35 ResourceTemplate () 36 { 37 PinConfig (Exclusive, 0x00 /* Default */, 0x1000, 38 "\\SB.GP01", 0x00, ResourceConsumer, , 39 RawDataBuffer (0x03) // Vendor Data 40 { 41 0x0A, 0x0B, 0x0C 42 }) 43 { // Pin list 44 0x00AA, 45 0x00BB, 46 0x00CC, 47 0x00DD 48 } 49 }, 50 51 ResourceTemplate () 52 { 53 PinConfig (Exclusive, 0x01 /* Bias Pull-up */, 0x2000, 54 "\\SB.GP01", 0x00, ResourceConsumer, , 55 RawDataBuffer (0x03) // Vendor Data 56 { 57 0x0A, 0x0B, 0x0C 58 }) 59 { // Pin list 60 0x00AA, 61 0x00BB, 62 0x00CC, 63 0x000D 64 } 65 }, 66 67 ResourceTemplate () 68 { 69 PinConfig (Exclusive, 0x02 /* Bias Pull-down */, 0x3000, 70 "\\SB.GP01", 0x00, ResourceConsumer, , 71 RawDataBuffer (0x03) // Vendor Data 72 { 73 0x0A, 0x0B, 0x0C 74 }) 75 { // Pin list 76 0x00AA, 77 0x00BB, 78 0x00CC, 79 0x00DD 80 } 81 }, 82 83 ResourceTemplate () 84 { 85 PinConfig (Exclusive, 0x03 /* Bias Default */, 0x4000, 86 "\\SB.GP01", 0x00, ResourceConsumer, , 87 RawDataBuffer (0x03) // Vendor Data 88 { 89 0x0A, 0x0B, 0x0C 90 }) 91 { // Pin list 92 0x00AA, 93 0x00BB, 94 0x00CC, 95 0x00DD 96 } 97 }, 98 99 ResourceTemplate () 100 { 101 PinConfig (Exclusive, 0x04 /* Bias Disable */, 0x5000, 102 "\\SB.GP01", 0x00, ResourceConsumer, , 103 RawDataBuffer (0x03) // Vendor Data 104 { 105 0x0A, 0x0B, 0x0C 106 }) 107 { // Pin list 108 0x00AA, 109 0x00BB, 110 0x00CC, 111 0x00DD 112 } 113 }, 114 115 ResourceTemplate () 116 { 117 PinConfig (Exclusive, 0x05 /* Bias High Impedance */, 0x6000, 118 "\\SB.GP01", 0x00, ResourceConsumer, , 119 RawDataBuffer (0x03) // Vendor Data 120 { 121 0x0A, 0x0B, 0x0C 122 }) 123 { // Pin list 124 0x00AA, 125 0x00BB, 126 0x00CC, 127 0x00DD 128 } 129 }, 130 131 ResourceTemplate () 132 { 133 PinConfig (Exclusive, 0x06 /* Bias Bus Hold */, 0x7000, 134 "\\SB.GP01", 0x00, ResourceConsumer, , 135 RawDataBuffer (0x03) // Vendor Data 136 { 137 0x0A, 0x0B, 0x0C 138 }) 139 { // Pin list 140 0x00AA, 141 0x00BB, 142 0x00CC, 143 0x00DD 144 } 145 }, 146 147 ResourceTemplate () 148 { 149 PinConfig (Exclusive, 0x07 /* Drive Open Drain */, 0x8000, 150 "\\SB.GP01", 0x00, ResourceConsumer, , 151 RawDataBuffer (0x03) // Vendor Data 152 { 153 0x0A, 0x0B, 0x0C 154 }) 155 { // Pin list 156 0x00AA, 157 0x00BB, 158 0x00CC, 159 0x00DD 160 } 161 }, 162 163 ResourceTemplate () 164 { 165 PinConfig (Exclusive, 0x08 /* Drive Open Source */, 0x9000, 166 "\\SB.GP01", 0x00, ResourceConsumer, , 167 RawDataBuffer (0x03) // Vendor Data 168 { 169 0x0A, 0x0B, 0x0C 170 }) 171 { // Pin list 172 0x00AA, 173 0x00BB, 174 0x00CC, 175 0x00DD 176 } 177 }, 178 179 ResourceTemplate () 180 { 181 PinConfig (Exclusive, 0x09 /* Drive Push Pull */, 0xA000, 182 "\\SB.GP01", 0x00, ResourceConsumer, , 183 RawDataBuffer (0x03) // Vendor Data 184 { 185 0x0A, 0x0B, 0x0C 186 }) 187 { // Pin list 188 0x00AA, 189 0x00BB, 190 0x00CC, 191 0x00DD 192 } 193 }, 194 195 ResourceTemplate () 196 { 197 PinConfig (Exclusive, 0x0A /* Drive Strength */, 0xB000, 198 "\\SB.GP01", 0x00, ResourceConsumer, , 199 RawDataBuffer (0x03) // Vendor Data 200 { 201 0x0A, 0x0B, 0x0C 202 }) 203 { // Pin list 204 0x00AA, 205 0x00BB, 206 0x00CC, 207 0x00DD 208 } 209 }, 210 211 ResourceTemplate () 212 { 213 PinConfig (Exclusive, 0x0B /* Slew Rate */, 0xC000, 214 "\\SB.GP01", 0x00, ResourceConsumer, , 215 RawDataBuffer (0x03) // Vendor Data 216 { 217 0x0A, 0x0B, 0x0C 218 }) 219 { // Pin list 220 0x00AA, 221 0x00BB, 222 0x00CC, 223 0x00DD 224 } 225 }, 226 227 ResourceTemplate () 228 { 229 PinConfig (Exclusive, 0x0C /* Input Debounce */, 0xD000, 230 "\\SB.GP01", 0x00, ResourceConsumer, , 231 RawDataBuffer (0x03) // Vendor Data 232 { 233 0x0A, 0x0B, 0x0C 234 }) 235 { // Pin list 236 0x00AA, 237 0x00BB, 238 0x00CC, 239 0x00DD 240 } 241 }, 242 243 ResourceTemplate () 244 { 245 PinConfig (Exclusive, 0x0D /* Input Schmitt Trigger */, 0xE000, 246 "\\SB.GP01", 0x00, ResourceConsumer, , 247 RawDataBuffer (0x03) // Vendor Data 248 { 249 0x0A, 0x0B, 0x0C 250 }) 251 { // Pin list 252 0x00AA, 253 0x00BB, 254 0x00CC, 255 0x00DD 256 } 257 }, 258 259 ResourceTemplate () 260 { 261 PinConfig (Exclusive, 0x80, /* Vendor Defined */ 0xF000, 262 "\\SB.GP01", 0x00, ResourceConsumer, , 263 RawDataBuffer (0x03) // Vendor Data 264 { 265 0x0A, 0x0B, 0x0C 266 }) 267 { // Pin list 268 0x00AA, 269 0x00BB, 270 0x00CC, 271 0x00DD 272 } 273 }, 274 275 ResourceTemplate () 276 { 277 PinConfig (Exclusive, 0xFE, /* Vendor Defined */ 0xF100, 278 "\\SB.GP01", 0x00, ResourceConsumer, , 279 RawDataBuffer (0x03) // Vendor Data 280 { 281 0x0A, 0x0B, 0x0C 282 }) 283 { // Pin list 284 0x00AA, 285 0x00BB, 286 0x00CC, 287 0x00DD 288 } 289 }, 290 291 ResourceTemplate () 292 { 293 PinConfig (Shared, 0x00 /* Default */, 0x1000, 294 "\\SB.GP01", 0x00, ResourceConsumer, , 295 RawDataBuffer (0x03) // Vendor Data 296 { 297 0x0A, 0x0B, 0x0C 298 }) 299 { // Pin list 300 0x00AA, 301 0x00BB, 302 0x00CC, 303 0x00DD 304 } 305 }, 306 307 ResourceTemplate () 308 { 309 PinConfig (Shared, 0x01 /* Bias Pull-up */, 0x2000, 310 "\\SB.GP01", 0x00, ResourceConsumer, , 311 RawDataBuffer (0x03) // Vendor Data 312 { 313 0x0A, 0x0B, 0x0C 314 }) 315 { // Pin list 316 0x00AA, 317 0x00BB, 318 0x00CC, 319 0x000D 320 } 321 }, 322 323 ResourceTemplate () 324 { 325 PinConfig (Shared, 0x02 /* Bias Pull-down */, 0x3000, 326 "\\SB.GP01", 0x00, ResourceConsumer, , 327 RawDataBuffer (0x03) // Vendor Data 328 { 329 0x0A, 0x0B, 0x0C 330 }) 331 { // Pin list 332 0x00AA, 333 0x00BB, 334 0x00CC, 335 0x00DD 336 } 337 }, 338 339 ResourceTemplate () 340 { 341 PinConfig (Shared, 0x03 /* Bias Default */, 0x4000, 342 "\\SB.GP01", 0x00, ResourceConsumer, , 343 RawDataBuffer (0x03) // Vendor Data 344 { 345 0x0A, 0x0B, 0x0C 346 }) 347 { // Pin list 348 0x00AA, 349 0x00BB, 350 0x00CC, 351 0x00DD 352 } 353 }, 354 355 ResourceTemplate () 356 { 357 PinConfig (Shared, 0x04 /* Bias Disable */, 0x5000, 358 "\\SB.GP01", 0x00, ResourceConsumer, , 359 RawDataBuffer (0x03) // Vendor Data 360 { 361 0x0A, 0x0B, 0x0C 362 }) 363 { // Pin list 364 0x00AA, 365 0x00BB, 366 0x00CC, 367 0x00DD 368 } 369 }, 370 371 ResourceTemplate () 372 { 373 PinConfig (Shared, 0x05 /* Bias High Impedance */, 0x6000, 374 "\\SB.GP01", 0x00, ResourceConsumer, , 375 RawDataBuffer (0x03) // Vendor Data 376 { 377 0x0A, 0x0B, 0x0C 378 }) 379 { // Pin list 380 0x00AA, 381 0x00BB, 382 0x00CC, 383 0x00DD 384 } 385 }, 386 387 ResourceTemplate () 388 { 389 PinConfig (Shared, 0x06 /* Bias Bus Hold */, 0x7000, 390 "\\SB.GP01", 0x00, ResourceConsumer, , 391 RawDataBuffer (0x03) // Vendor Data 392 { 393 0x0A, 0x0B, 0x0C 394 }) 395 { // Pin list 396 0x00AA, 397 0x00BB, 398 0x00CC, 399 0x00DD 400 } 401 }, 402 403 ResourceTemplate () 404 { 405 PinConfig (Shared, 0x07 /* Drive Open Drain */, 0x8000, 406 "\\SB.GP01", 0x00, ResourceConsumer, , 407 RawDataBuffer (0x03) // Vendor Data 408 { 409 0x0A, 0x0B, 0x0C 410 }) 411 { // Pin list 412 0x00AA, 413 0x00BB, 414 0x00CC, 415 0x00DD 416 } 417 }, 418 419 ResourceTemplate () 420 { 421 PinConfig (Shared, 0x08 /* Drive Open Source */, 0x9000, 422 "\\SB.GP01", 0x00, ResourceConsumer, , 423 RawDataBuffer (0x03) // Vendor Data 424 { 425 0x0A, 0x0B, 0x0C 426 }) 427 { // Pin list 428 0x00AA, 429 0x00BB, 430 0x00CC, 431 0x00DD 432 } 433 }, 434 435 ResourceTemplate () 436 { 437 PinConfig (Shared, 0x09 /* Drive Push Pull */, 0xA000, 438 "\\SB.GP01", 0x00, ResourceConsumer, , 439 RawDataBuffer (0x03) // Vendor Data 440 { 441 0x0A, 0x0B, 0x0C 442 }) 443 { // Pin list 444 0x00AA, 445 0x00BB, 446 0x00CC, 447 0x00DD 448 } 449 }, 450 451 ResourceTemplate () 452 { 453 PinConfig (Shared, 0x0A /* Drive Strength */, 0xB000, 454 "\\SB.GP01", 0x00, ResourceConsumer, , 455 RawDataBuffer (0x03) // Vendor Data 456 { 457 0x0A, 0x0B, 0x0C 458 }) 459 { // Pin list 460 0x00AA, 461 0x00BB, 462 0x00CC, 463 0x00DD 464 } 465 }, 466 467 ResourceTemplate () 468 { 469 PinConfig (Shared, 0x0B /* Slew Rate */, 0xC000, 470 "\\SB.GP01", 0x00, ResourceConsumer, , 471 RawDataBuffer (0x03) // Vendor Data 472 { 473 0x0A, 0x0B, 0x0C 474 }) 475 { // Pin list 476 0x00AA, 477 0x00BB, 478 0x00CC, 479 0x00DD 480 } 481 }, 482 483 ResourceTemplate () 484 { 485 PinConfig (Shared, 0x0C /* Input Debounce */, 0xD000, 486 "\\SB.GP01", 0x00, ResourceConsumer, , 487 RawDataBuffer (0x03) // Vendor Data 488 { 489 0x0A, 0x0B, 0x0C 490 }) 491 { // Pin list 492 0x00AA, 493 0x00BB, 494 0x00CC, 495 0x00DD 496 } 497 }, 498 499 ResourceTemplate () 500 { 501 PinConfig (Shared, 0x0D /* Input Schmitt Trigger */, 0xE000, 502 "\\SB.GP01", 0x00, ResourceConsumer, , 503 RawDataBuffer (0x03) // Vendor Data 504 { 505 0x0A, 0x0B, 0x0C 506 }) 507 { // Pin list 508 0x00AA, 509 0x00BB, 510 0x00CC, 511 0x00DD 512 } 513 }, 514 515 ResourceTemplate () 516 { 517 PinConfig (Shared, 0x80, /* Vendor Defined */ 0xF000, 518 "\\SB.GP01", 0x00, ResourceConsumer, , 519 RawDataBuffer (0x03) // Vendor Data 520 { 521 0x0A, 0x0B, 0x0C 522 }) 523 { // Pin list 524 0x00AA, 525 0x00BB, 526 0x00CC, 527 0x00DD 528 } 529 }, 530 531 ResourceTemplate () 532 { 533 PinConfig (Shared, 0xFE, /* Vendor Defined */ 0xF100, 534 "\\SB.GP01", 0x00, ResourceConsumer, , 535 RawDataBuffer (0x03) // Vendor Data 536 { 537 0x0A, 0x0B, 0x0C 538 }) 539 { // Pin list 540 0x00AA, 541 0x00BB, 542 0x00CC, 543 0x00DD 544 } 545 }, 546 547 ResourceTemplate () 548 { 549 PinConfig (Exclusive, 0x00 /* Default */, 0x0000, 550 "\\SB.GP01", 0x00, ResourceConsumer, ,) 551 { // Pin list 552 0x0001, 553 0x0002 554 } 555 } 556 }) 557 Name (P45F, Package (0x21) 558 { 559 ResourceTemplate () 560 { 561 PinConfig (Exclusive, 0x00 /* Default */, 0x1000, 562 "\\SB.GP01", 0x00, ResourceConsumer, , 563 RawDataBuffer (0x03) // Vendor Data 564 { 565 0x0A, 0x0B, 0x0C 566 }) 567 { // Pin list 568 0x00AA, 569 0x00BB, 570 0x00CC, 571 0x00DD 572 } 573 }, 574 575 ResourceTemplate () 576 { 577 PinConfig (Exclusive, 0x01 /* Bias Pull-up */, 0x2000, 578 "\\SB.GP01", 0x00, ResourceConsumer, , 579 RawDataBuffer (0x03) // Vendor Data 580 { 581 0x0A, 0x0B, 0x0C 582 }) 583 { // Pin list 584 0x00AA, 585 0x00BB, 586 0x00CC, 587 0x000D 588 } 589 }, 590 591 ResourceTemplate () 592 { 593 PinConfig (Exclusive, 0x02 /* Bias Pull-down */, 0x3000, 594 "\\SB.GP01", 0x00, ResourceConsumer, , 595 RawDataBuffer (0x03) // Vendor Data 596 { 597 0x0A, 0x0B, 0x0C 598 }) 599 { // Pin list 600 0x00AA, 601 0x00BB, 602 0x00CC, 603 0x00DD 604 } 605 }, 606 607 ResourceTemplate () 608 { 609 PinConfig (Exclusive, 0x03 /* Bias Default */, 0x4000, 610 "\\SB.GP01", 0x00, ResourceConsumer, , 611 RawDataBuffer (0x03) // Vendor Data 612 { 613 0x0A, 0x0B, 0x0C 614 }) 615 { // Pin list 616 0x00AA, 617 0x00BB, 618 0x00CC, 619 0x00DD 620 } 621 }, 622 623 ResourceTemplate () 624 { 625 PinConfig (Exclusive, 0x04 /* Bias Disable */, 0x5000, 626 "\\SB.GP01", 0x00, ResourceConsumer, , 627 RawDataBuffer (0x03) // Vendor Data 628 { 629 0x0A, 0x0B, 0x0C 630 }) 631 { // Pin list 632 0x00AA, 633 0x00BB, 634 0x00CC, 635 0x00DD 636 } 637 }, 638 639 ResourceTemplate () 640 { 641 PinConfig (Exclusive, 0x05 /* Bias High Impedance */, 0x6000, 642 "\\SB.GP01", 0x00, ResourceConsumer, , 643 RawDataBuffer (0x03) // Vendor Data 644 { 645 0x0A, 0x0B, 0x0C 646 }) 647 { // Pin list 648 0x00AA, 649 0x00BB, 650 0x00CC, 651 0x00DD 652 } 653 }, 654 655 ResourceTemplate () 656 { 657 PinConfig (Exclusive, 0x06 /* Bias Bus Hold */, 0x7000, 658 "\\SB.GP01", 0x00, ResourceConsumer, , 659 RawDataBuffer (0x03) // Vendor Data 660 { 661 0x0A, 0x0B, 0x0C 662 }) 663 { // Pin list 664 0x00AA, 665 0x00BB, 666 0x00CC, 667 0x00DD 668 } 669 }, 670 671 ResourceTemplate () 672 { 673 PinConfig (Exclusive, 0x07 /* Drive Open Drain */, 0x8000, 674 "\\SB.GP01", 0x00, ResourceConsumer, , 675 RawDataBuffer (0x03) // Vendor Data 676 { 677 0x0A, 0x0B, 0x0C 678 }) 679 { // Pin list 680 0x00AA, 681 0x00BB, 682 0x00CC, 683 0x00DD 684 } 685 }, 686 687 ResourceTemplate () 688 { 689 PinConfig (Exclusive, 0x08 /* Drive Open Source */, 0x9000, 690 "\\SB.GP01", 0x00, ResourceConsumer, , 691 RawDataBuffer (0x03) // Vendor Data 692 { 693 0x0A, 0x0B, 0x0C 694 }) 695 { // Pin list 696 0x00AA, 697 0x00BB, 698 0x00CC, 699 0x00DD 700 } 701 }, 702 703 ResourceTemplate () 704 { 705 PinConfig (Exclusive, 0x09 /* Drive Push Pull */, 0xA000, 706 "\\SB.GP01", 0x00, ResourceConsumer, , 707 RawDataBuffer (0x03) // Vendor Data 708 { 709 0x0A, 0x0B, 0x0C 710 }) 711 { // Pin list 712 0x00AA, 713 0x00BB, 714 0x00CC, 715 0x00DD 716 } 717 }, 718 719 ResourceTemplate () 720 { 721 PinConfig (Exclusive, 0x0A /* Drive Strength */, 0xB000, 722 "\\SB.GP01", 0x00, ResourceConsumer, , 723 RawDataBuffer (0x03) // Vendor Data 724 { 725 0x0A, 0x0B, 0x0C 726 }) 727 { // Pin list 728 0x00AA, 729 0x00BB, 730 0x00CC, 731 0x00DD 732 } 733 }, 734 735 ResourceTemplate () 736 { 737 PinConfig (Exclusive, 0x0B /* Slew Rate */, 0xC000, 738 "\\SB.GP01", 0x00, ResourceConsumer, , 739 RawDataBuffer (0x03) // Vendor Data 740 { 741 0x0A, 0x0B, 0x0C 742 }) 743 { // Pin list 744 0x00AA, 745 0x00BB, 746 0x00CC, 747 0x00DD 748 } 749 }, 750 751 ResourceTemplate () 752 { 753 PinConfig (Exclusive, 0x0C /* Input Debounce */, 0xD000, 754 "\\SB.GP01", 0x00, ResourceConsumer, , 755 RawDataBuffer (0x03) // Vendor Data 756 { 757 0x0A, 0x0B, 0x0C 758 }) 759 { // Pin list 760 0x00AA, 761 0x00BB, 762 0x00CC, 763 0x00DD 764 } 765 }, 766 767 ResourceTemplate () 768 { 769 PinConfig (Exclusive, 0x0D /* Input Schmitt Trigger */, 0xE000, 770 "\\SB.GP01", 0x00, ResourceConsumer, , 771 RawDataBuffer (0x03) // Vendor Data 772 { 773 0x0A, 0x0B, 0x0C 774 }) 775 { // Pin list 776 0x00AA, 777 0x00BB, 778 0x00CC, 779 0x00DD 780 } 781 }, 782 783 ResourceTemplate () 784 { 785 PinConfig (Exclusive, 0x80, /* Vendor Defined */ 0xF000, 786 "\\SB.GP01", 0x00, ResourceConsumer, , 787 RawDataBuffer (0x03) // Vendor Data 788 { 789 0x0A, 0x0B, 0x0C 790 }) 791 { // Pin list 792 0x00AA, 793 0x00BB, 794 0x00CC, 795 0x00DD 796 } 797 }, 798 799 ResourceTemplate () 800 { 801 PinConfig (Exclusive, 0xFE, /* Vendor Defined */ 0xF100, 802 "\\SB.GP01", 0x00, ResourceConsumer, , 803 RawDataBuffer (0x03) // Vendor Data 804 { 805 0x0A, 0x0B, 0x0C 806 }) 807 { // Pin list 808 0x00AA, 809 0x00BB, 810 0x00CC, 811 0x00DD 812 } 813 }, 814 815 ResourceTemplate () 816 { 817 PinConfig (Shared, 0x00 /* Default */, 0x1000, 818 "\\SB.GP01", 0x00, ResourceConsumer, , 819 RawDataBuffer (0x03) // Vendor Data 820 { 821 0x0A, 0x0B, 0x0C 822 }) 823 { // Pin list 824 0x00AA, 825 0x00BB, 826 0x00CC, 827 0x00DD 828 } 829 }, 830 831 ResourceTemplate () 832 { 833 PinConfig (Shared, 0x01 /* Bias Pull-up */, 0x2000, 834 "\\SB.GP01", 0x00, ResourceConsumer, , 835 RawDataBuffer (0x03) // Vendor Data 836 { 837 0x0A, 0x0B, 0x0C 838 }) 839 { // Pin list 840 0x00AA, 841 0x00BB, 842 0x00CC, 843 0x000D 844 } 845 }, 846 847 ResourceTemplate () 848 { 849 PinConfig (Shared, 0x02 /* Bias Pull-down */, 0x3000, 850 "\\SB.GP01", 0x00, ResourceConsumer, , 851 RawDataBuffer (0x03) // Vendor Data 852 { 853 0x0A, 0x0B, 0x0C 854 }) 855 { // Pin list 856 0x00AA, 857 0x00BB, 858 0x00CC, 859 0x00DD 860 } 861 }, 862 863 ResourceTemplate () 864 { 865 PinConfig (Shared, 0x03 /* Bias Default */, 0x4000, 866 "\\SB.GP01", 0x00, ResourceConsumer, , 867 RawDataBuffer (0x03) // Vendor Data 868 { 869 0x0A, 0x0B, 0x0C 870 }) 871 { // Pin list 872 0x00AA, 873 0x00BB, 874 0x00CC, 875 0x00DD 876 } 877 }, 878 879 ResourceTemplate () 880 { 881 PinConfig (Shared, 0x04 /* Bias Disable */, 0x5000, 882 "\\SB.GP01", 0x00, ResourceConsumer, , 883 RawDataBuffer (0x03) // Vendor Data 884 { 885 0x0A, 0x0B, 0x0C 886 }) 887 { // Pin list 888 0x00AA, 889 0x00BB, 890 0x00CC, 891 0x00DD 892 } 893 }, 894 895 ResourceTemplate () 896 { 897 PinConfig (Shared, 0x05 /* Bias High Impedance */, 0x6000, 898 "\\SB.GP01", 0x00, ResourceConsumer, , 899 RawDataBuffer (0x03) // Vendor Data 900 { 901 0x0A, 0x0B, 0x0C 902 }) 903 { // Pin list 904 0x00AA, 905 0x00BB, 906 0x00CC, 907 0x00DD 908 } 909 }, 910 911 ResourceTemplate () 912 { 913 PinConfig (Shared, 0x06 /* Bias Bus Hold */, 0x7000, 914 "\\SB.GP01", 0x00, ResourceConsumer, , 915 RawDataBuffer (0x03) // Vendor Data 916 { 917 0x0A, 0x0B, 0x0C 918 }) 919 { // Pin list 920 0x00AA, 921 0x00BB, 922 0x00CC, 923 0x00DD 924 } 925 }, 926 927 ResourceTemplate () 928 { 929 PinConfig (Shared, 0x07 /* Drive Open Drain */, 0x8000, 930 "\\SB.GP01", 0x00, ResourceConsumer, , 931 RawDataBuffer (0x03) // Vendor Data 932 { 933 0x0A, 0x0B, 0x0C 934 }) 935 { // Pin list 936 0x00AA, 937 0x00BB, 938 0x00CC, 939 0x00DD 940 } 941 }, 942 943 ResourceTemplate () 944 { 945 PinConfig (Shared, 0x08 /* Drive Open Source */, 0x9000, 946 "\\SB.GP01", 0x00, ResourceConsumer, , 947 RawDataBuffer (0x03) // Vendor Data 948 { 949 0x0A, 0x0B, 0x0C 950 }) 951 { // Pin list 952 0x00AA, 953 0x00BB, 954 0x00CC, 955 0x00DD 956 } 957 }, 958 959 ResourceTemplate () 960 { 961 PinConfig (Shared, 0x09 /* Drive Push Pull */, 0xA000, 962 "\\SB.GP01", 0x00, ResourceConsumer, , 963 RawDataBuffer (0x03) // Vendor Data 964 { 965 0x0A, 0x0B, 0x0C 966 }) 967 { // Pin list 968 0x00AA, 969 0x00BB, 970 0x00CC, 971 0x00DD 972 } 973 }, 974 975 ResourceTemplate () 976 { 977 PinConfig (Shared, 0x0A /* Drive Strength */, 0xB000, 978 "\\SB.GP01", 0x00, ResourceConsumer, , 979 RawDataBuffer (0x03) // Vendor Data 980 { 981 0x0A, 0x0B, 0x0C 982 }) 983 { // Pin list 984 0x00AA, 985 0x00BB, 986 0x00CC, 987 0x00DD 988 } 989 }, 990 991 ResourceTemplate () 992 { 993 PinConfig (Shared, 0x0B /* Slew Rate */, 0xC000, 994 "\\SB.GP01", 0x00, ResourceConsumer, , 995 RawDataBuffer (0x03) // Vendor Data 996 { 997 0x0A, 0x0B, 0x0C 998 }) 999 { // Pin list 1000 0x00AA, 1001 0x00BB, 1002 0x00CC, 1003 0x00DD 1004 } 1005 }, 1006 1007 ResourceTemplate () 1008 { 1009 PinConfig (Shared, 0x0C /* Input Debounce */, 0xD000, 1010 "\\SB.GP01", 0x00, ResourceConsumer, , 1011 RawDataBuffer (0x03) // Vendor Data 1012 { 1013 0x0A, 0x0B, 0x0C 1014 }) 1015 { // Pin list 1016 0x00AA, 1017 0x00BB, 1018 0x00CC, 1019 0x00DD 1020 } 1021 }, 1022 1023 ResourceTemplate () 1024 { 1025 PinConfig (Shared, 0x0D /* Input Schmitt Trigger */, 0xE000, 1026 "\\SB.GP01", 0x00, ResourceConsumer, , 1027 RawDataBuffer (0x03) // Vendor Data 1028 { 1029 0x0A, 0x0B, 0x0C 1030 }) 1031 { // Pin list 1032 0x00AA, 1033 0x00BB, 1034 0x00CC, 1035 0x00DD 1036 } 1037 }, 1038 1039 ResourceTemplate () 1040 { 1041 PinConfig (Shared, 0x80, /* Vendor Defined */ 0xF000, 1042 "\\SB.GP01", 0x00, ResourceConsumer, , 1043 RawDataBuffer (0x03) // Vendor Data 1044 { 1045 0x0A, 0x0B, 0x0C 1046 }) 1047 { // Pin list 1048 0x00AA, 1049 0x00BB, 1050 0x00CC, 1051 0x00DD 1052 } 1053 }, 1054 1055 ResourceTemplate () 1056 { 1057 PinConfig (Shared, 0xFE, /* Vendor Defined */ 0xF100, 1058 "\\SB.GP01", 0x00, ResourceConsumer, , 1059 RawDataBuffer (0x03) // Vendor Data 1060 { 1061 0x0A, 0x0B, 0x0C 1062 }) 1063 { // Pin list 1064 0x00AA, 1065 0x00BB, 1066 0x00CC, 1067 0x00DD 1068 } 1069 }, 1070 1071 ResourceTemplate () 1072 { 1073 PinConfig (Exclusive, 0x00 /* Default */, 0x0000, 1074 "\\SB.GP01", 0x00, ResourceConsumer, ,) 1075 { // Pin list 1076 0x0001, 1077 0x0002 1078 } 1079 } 1080 }) 1081 Method (RT27, 0, Serialized) 1082 { 1083 /* Emit test header, set the filename */ 1084 1085 THDR (__METHOD__, "PinConfig Resource Descriptor Macro", "pinconfig.asl") 1086 /* The main test packages must have the same number of entries */ 1087 1088 If ((SizeOf (P45E) != SizeOf (P45F))) 1089 { 1090 ERR (__METHOD__, 0xB3, __LINE__, 0x00, 0x00, 0x00, "Incorrect package length") 1091 Return (Zero) 1092 } 1093 1094 /* Main test case for packages above */ 1095 1096 M330 (__METHOD__, SizeOf (P45E), "P45E", P45E, P45F) 1097 /* Check resource descriptor tag offsets */ 1098 1099Local0 = ResourceTemplate () 1100 { 1101 PinConfig (Shared, 0x0C /* Input Debounce */, 0xABCD, 1102 "\\SB.GP01", 0x00, ResourceConsumer, , 1103 RawDataBuffer (0x03) // Vendor Data 1104 { 1105 0x0A, 0x0B, 0x0C 1106 }) 1107 { // Pin list 1108 0x00AA, 1109 0x00BB, 1110 0x00CC, 1111 0x00DD 1112 } 1113 PinConfig (Shared, 0x0C /* Input Debounce */, 0xABCD, 1114 "\\SB.GP01", 0x00, ResourceConsumer, , 1115 RawDataBuffer (0x03) // Vendor Data 1116 { 1117 0x0A, 0x0B, 0x0C 1118 }) 1119 { // Pin list 1120 0x00AA, 1121 0x00BB, 1122 0x00CC, 1123 0x00DD 1124 } 1125 } 1126 M331 (__METHOD__, 0x01, 0x20, 0x20, 0x0160, 0x0160, "_SHR") 1127 M331 (__METHOD__, 0x01, 0x30, 0x30, 0x0170, 0x0170, "_TYP") 1128 M331 (__METHOD__, 0x01, 0x38, 0x38, 0x0178, 0x0178, "_VAL") 1129 M331 (__METHOD__, 0x01, 0xA0, 0xA0, 0x01E0, 0x01E0, "_PIN") 1130 M331 (__METHOD__, 0x01, 0x0128, 0x0128, 0x0268, 0x0268, "_VEN") 1131 } 1132