Probe #fa1d4bface of Star Labs StarLite

Log: acpidump_decoded

Intel ACPI Component Architecture ACPI Binary Table Extraction Utility version 20230628 Copyright (c) 2000 - 2023 Intel Corporation Signature Length Version Oem Oem Oem Compiler Compiler Id TableId RevisionId Name Revision _________ __________ ____ ________ __________ __________ _______ __________ 01) SSDT 0x00001F68 0x02 "COREv4" "COREBOOT" 0x00000000 "CORE" 0x20230628 02) MCFG 0x0000003C 0x01 "COREv4" "COREBOOT" 0x00000000 "CORE" 0x20230628 03) APIC 0x00000072 0x03 "COREv4" "COREBOOT" 0x00000000 "CORE" 0x20230628 04) TPM2 0x0000004C 0x04 "COREv4" "COREBOOT" 0x00000000 "CORE" 0x20230628 05) DSDT 0x00005248 0x02 "COREv4" "COREBOOT" 0x20220930 "INTL" 0x20230628 06) LPIT 0x00000094 0x00 "COREv4" "COREBOOT" 0x00000000 "CORE" 0x20230628 07) DBG2 0x00000061 0x00 "COREv4" "COREBOOT" 0x00000000 "CORE" 0x20230628 08) DMAR 0x00000088 0x01 "COREv4" "COREBOOT" 0x00000000 "CORE" 0x20230628 09) FACP 0x00000114 0x06 "COREv4" "COREBOOT" 0x00000000 "CORE" 0x20230628 10) HPET 0x00000038 0x01 "COREv4" "COREBOOT" 0x00000000 "CORE" 0x20230628 11) FACS 0x00000040 0x01 12) BGRT 0x00000038 0x01 "INTEL " "EDK2 " 0x00000002 " " 0x01000013 Found 12 ACPI tables in acpidump APIC ---- [000h 0000 004h] Signature : "APIC" [Multiple APIC Description Table (MADT)] [004h 0004 004h] Table Length : 00000072 [008h 0008 001h] Revision : 03 [009h 0009 001h] Checksum : 82 [00Ah 0010 006h] Oem ID : "COREv4" [010h 0016 008h] Oem Table ID : "COREBOOT" [018h 0024 004h] Oem Revision : 00000000 [01Ch 0028 004h] Asl Compiler ID : "CORE" [020h 0032 004h] Asl Compiler Revision : 20230628 [024h 0036 004h] Local Apic Address : FEE00000 [028h 0040 004h] Flags (decoded below) : C239FEFD PC-AT Compatibility : 1 [02Ch 0044 001h] Subtable Type : 01 [I/O APIC] [02Dh 0045 001h] Length : 0C [02Eh 0046 001h] I/O Apic ID : 00 [02Fh 0047 001h] Reserved : 00 [030h 0048 004h] Address : FEC00000 [034h 0052 004h] Interrupt : 00000000 [038h 0056 001h] Subtable Type : 02 [Interrupt Source Override] [039h 0057 001h] Length : 0A [03Ah 0058 001h] Bus : 00 [03Bh 0059 001h] Source : 00 [03Ch 0060 004h] Interrupt : 00000002 [040h 0064 002h] Flags (decoded below) : 0005 Polarity : 1 Trigger Mode : 1 [042h 0066 001h] Subtable Type : 02 [Interrupt Source Override] [043h 0067 001h] Length : 0A [044h 0068 001h] Bus : 00 [045h 0069 001h] Source : 09 [046h 0070 004h] Interrupt : 00000009 [04Ah 0074 002h] Flags (decoded below) : 000D Polarity : 1 Trigger Mode : 3 [04Ch 0076 001h] Subtable Type : 00 [Processor Local APIC] [04Dh 0077 001h] Length : 08 [04Eh 0078 001h] Processor ID : 00 [04Fh 0079 001h] Local Apic ID : 00 [050h 0080 004h] Flags (decoded below) : 00000001 Processor Enabled : 1 Runtime Online Capable : 0 [054h 0084 001h] Subtable Type : 00 [Processor Local APIC] [055h 0085 001h] Length : 08 [056h 0086 001h] Processor ID : 01 [057h 0087 001h] Local Apic ID : 02 [058h 0088 004h] Flags (decoded below) : 00000001 Processor Enabled : 1 Runtime Online Capable : 0 [05Ch 0092 001h] Subtable Type : 00 [Processor Local APIC] [05Dh 0093 001h] Length : 08 [05Eh 0094 001h] Processor ID : 02 [05Fh 0095 001h] Local Apic ID : 04 [060h 0096 004h] Flags (decoded below) : 00000001 Processor Enabled : 1 Runtime Online Capable : 0 [064h 0100 001h] Subtable Type : 00 [Processor Local APIC] [065h 0101 001h] Length : 08 [066h 0102 001h] Processor ID : 03 [067h 0103 001h] Local Apic ID : 06 [068h 0104 004h] Flags (decoded below) : 00000001 Processor Enabled : 1 Runtime Online Capable : 0 [06Ch 0108 001h] Subtable Type : 04 [Local APIC NMI] [06Dh 0109 001h] Length : 06 [06Eh 0110 001h] Processor ID : FF [06Fh 0111 002h] Flags (decoded below) : 0005 Polarity : 1 Trigger Mode : 1 [071h 0113 001h] Interrupt Input LINT : 01 Raw Table Data: Length 114 (0x72) 0000: 41 50 49 43 72 00 00 00 03 82 43 4F 52 45 76 34 // APICr.....COREv4 0010: 43 4F 52 45 42 4F 4F 54 00 00 00 00 43 4F 52 45 // COREBOOT....CORE 0020: 28 06 23 20 00 00 E0 FE FD FE 39 C2 01 0C 00 00 // (.# ......9..... 0030: 00 00 C0 FE 00 00 00 00 02 0A 00 00 02 00 00 00 // ................ 0040: 05 00 02 0A 00 09 09 00 00 00 0D 00 00 08 00 00 // ................ 0050: 01 00 00 00 00 08 01 02 01 00 00 00 00 08 02 04 // ................ 0060: 01 00 00 00 00 08 03 06 01 00 00 00 04 06 FF 05 // ................ 0070: 00 01 // .. BGRT ---- [000h 0000 004h] Signature : "BGRT" [Boot Graphics Resource Table] [004h 0004 004h] Table Length : 00000038 [008h 0008 001h] Revision : 01 [009h 0009 001h] Checksum : 96 [00Ah 0010 006h] Oem ID : "INTEL " [010h 0016 008h] Oem Table ID : "EDK2 " [018h 0024 004h] Oem Revision : 00000002 [01Ch 0028 004h] Asl Compiler ID : " " [020h 0032 004h] Asl Compiler Revision : 01000013 [024h 0036 002h] Version : 0001 [026h 0038 001h] Status (decoded below) : 01 Displayed : 1 Orientation Offset : 0 [027h 0039 001h] Image Type : 00 [028h 0040 008h] Image Address : 000000007352A018 [030h 0048 004h] Image OffsetX : 0000025C [034h 0052 004h] Image OffsetY : 0000016C Raw Table Data: Length 56 (0x38) 0000: 42 47 52 54 38 00 00 00 01 96 49 4E 54 45 4C 20 // BGRT8.....INTEL 0010: 45 44 4B 32 20 20 20 20 02 00 00 00 20 20 20 20 // EDK2 .... 0020: 13 00 00 01 01 00 01 00 18 A0 52 73 00 00 00 00 // ..........Rs.... 0030: 5C 02 00 00 6C 01 00 00 // \...l... DBG2 ---- [000h 0000 004h] Signature : "DBG2" [Debug Port Table type 2] [004h 0004 004h] Table Length : 00000061 [008h 0008 001h] Revision : 00 [009h 0009 001h] Checksum : B0 [00Ah 0010 006h] Oem ID : "COREv4" [010h 0016 008h] Oem Table ID : "COREBOOT" [018h 0024 004h] Oem Revision : 00000000 [01Ch 0028 004h] Asl Compiler ID : "CORE" [020h 0032 004h] Asl Compiler Revision : 20230628 [024h 0036 004h] Info Offset : 0000002C [028h 0040 004h] Info Count : 00000001 [02Ch 0044 001h] Revision : 00 [02Dh 0045 002h] Length : 0035 [02Fh 0047 001h] Register Count : 01 [030h 0048 002h] Namepath Length : 000F [032h 0050 002h] Namepath Offset : 0026 [034h 0052 002h] OEM Data Length : 0000 [Optional field not present] [036h 0054 002h] OEM Data Offset : 0000 [Optional field not present] [038h 0056 002h] Port Type : 8000 [03Ah 0058 002h] Port Subtype : 0012 [03Ch 0060 002h] Reserved : 0000 [03Eh 0062 002h] Base Address Offset : 0016 [040h 0064 002h] Address Size Offset : 0022 [042h 0066 00Ch] Base Address Register : [Generic Address Structure] [042h 0066 001h] Space ID : 00 [SystemMemory] [043h 0067 001h] Bit Width : 00 [044h 0068 001h] Bit Offset : 00 [045h 0069 001h] Encoded Access Width : 03 [DWord Access:32] [046h 0070 008h] Address : 00000000FE03E000 [04Eh 0078 004h] Address Size : 00001000 [052h 0082 00Fh] Namepath : "\_SB.PCI0.UAR0" Raw Table Data: Length 97 (0x61) 0000: 44 42 47 32 61 00 00 00 00 B0 43 4F 52 45 76 34 // DBG2a.....COREv4 0010: 43 4F 52 45 42 4F 4F 54 00 00 00 00 43 4F 52 45 // COREBOOT....CORE 0020: 28 06 23 20 2C 00 00 00 01 00 00 00 00 35 00 01 // (.# ,........5.. 0030: 0F 00 26 00 00 00 00 00 00 80 12 00 00 00 16 00 // ..&............. 0040: 22 00 00 00 00 03 00 E0 03 FE 00 00 00 00 00 10 // "............... 0050: 00 00 5C 5F 53 42 2E 50 43 49 30 2E 55 41 52 30 // ..\_SB.PCI0.UAR0 0060: 00 // . DMAR ---- [000h 0000 004h] Signature : "DMAR" [DMA Remapping Table] [004h 0004 004h] Table Length : 00000088 [008h 0008 001h] Revision : 01 [009h 0009 001h] Checksum : 97 [00Ah 0010 006h] Oem ID : "COREv4" [010h 0016 008h] Oem Table ID : "COREBOOT" [018h 0024 004h] Oem Revision : 00000000 [01Ch 0028 004h] Asl Compiler ID : "CORE" [020h 0032 004h] Asl Compiler Revision : 20230628 [024h 0036 001h] Host Address Width : 26 [025h 0037 001h] Flags : 05 [026h 0038 00Ah] Reserved : 00 00 00 00 00 00 00 00 00 00 [030h 0048 002h] Subtable Type : 0000 [Hardware Unit Definition] [032h 0050 002h] Length : 0018 [034h 0052 001h] Flags : 00 [035h 0053 001h] Reserved : 00 [036h 0054 002h] PCI Segment Number : 0000 [038h 0056 008h] Register Base Address : 00000000FED90000 [040h 0064 001h] Device Scope Type : 01 [PCI Endpoint Device] [041h 0065 001h] Entry Length : 08 [042h 0066 002h] Reserved : 0000 [044h 0068 001h] Enumeration ID : 00 [045h 0069 001h] PCI Bus Number : 00 [046h 0070 002h] PCI Path : 02,00 [048h 0072 002h] Subtable Type : 0000 [Hardware Unit Definition] [04Ah 0074 002h] Length : 0020 [04Ch 0076 001h] Flags : 01 [04Dh 0077 001h] Reserved : 00 [04Eh 0078 002h] PCI Segment Number : 0000 [050h 0080 008h] Register Base Address : 00000000FED91000 [058h 0088 001h] Device Scope Type : 03 [IOAPIC Device] [059h 0089 001h] Entry Length : 08 [05Ah 0090 002h] Reserved : 0000 [05Ch 0092 001h] Enumeration ID : 00 [05Dh 0093 001h] PCI Bus Number : 00 [05Eh 0094 002h] PCI Path : 1E,07 [060h 0096 001h] Device Scope Type : 04 [Message-capable HPET Device] [061h 0097 001h] Entry Length : 08 [062h 0098 002h] Reserved : 0000 [064h 0100 001h] Enumeration ID : 00 [065h 0101 001h] PCI Bus Number : 00 [066h 0102 002h] PCI Path : 1E,06 [068h 0104 002h] Subtable Type : 0001 [Reserved Memory Region] [06Ah 0106 002h] Length : 0020 [06Ch 0108 002h] Reserved : 0000 [06Eh 0110 002h] PCI Segment Number : 0000 [070h 0112 008h] Base Address : 000000007C000000 [078h 0120 008h] End Address (limit) : 00000000803FFFFF [080h 0128 001h] Device Scope Type : 01 [PCI Endpoint Device] [081h 0129 001h] Entry Length : 08 [082h 0130 002h] Reserved : 0000 [084h 0132 001h] Enumeration ID : 00 [085h 0133 001h] PCI Bus Number : 00 [086h 0134 002h] PCI Path : 02,00 Raw Table Data: Length 136 (0x88) 0000: 44 4D 41 52 88 00 00 00 01 97 43 4F 52 45 76 34 // DMAR......COREv4 0010: 43 4F 52 45 42 4F 4F 54 00 00 00 00 43 4F 52 45 // COREBOOT....CORE 0020: 28 06 23 20 26 05 00 00 00 00 00 00 00 00 00 00 // (.# &........... 0030: 00 00 18 00 00 00 00 00 00 00 D9 FE 00 00 00 00 // ................ 0040: 01 08 00 00 00 00 02 00 00 00 20 00 01 00 00 00 // .......... ..... 0050: 00 10 D9 FE 00 00 00 00 03 08 00 00 00 00 1E 07 // ................ 0060: 04 08 00 00 00 00 1E 06 01 00 20 00 00 00 00 00 // .......... ..... 0070: 00 00 00 7C 00 00 00 00 FF FF 3F 80 00 00 00 00 // ...|......?..... 0080: 01 08 00 00 00 00 02 00 // ........ DSDT ---- DefinitionBlock ("", "DSDT", 2, "COREv4", "COREBOOT", 0x20220930) { External (_SB_.CNOT, MethodObj) // 1 Arguments External (_SB_.MPTS, MethodObj) // 1 Arguments External (_SB_.MWAK, MethodObj) // 1 Arguments External (_SB_.PCI0.A4GB, IntObj) External (_SB_.PCI0.A4GS, IntObj) External (_SB_.PCI0.EGPM, MethodObj) // 0 Arguments External (_SB_.PCI0.GFX0.LCD0, DeviceObj) External (_SB_.PCI0.LPCB.EC0_.PTS_, MethodObj) // 1 Arguments External (_SB_.PCI0.LPCB.EC0_.WAK_, MethodObj) // 1 Arguments External (_SB_.PCI0.RGPM, MethodObj) // 0 Arguments External (A4GB, IntObj) External (A4GS, IntObj) External (DNVS, OpRegionObj) External (GNVS, OpRegionObj) External (OSFG, IntObj) Scope (\) { OperationRegion (GNVS, SystemMemory, 0x76FFE860, 0x38) } Name (OSYS, Zero) Name (PICM, Zero) Name (PWRS, One) Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model { PICM = Arg0 } Scope (_SB) { Name (PCBA, 0xC0000000) Name (PCLN, 0x10000000) OperationRegion (PCFG, SystemMemory, PCBA, PCLN) Device (PERC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x0000000000000000, // Granularity 0x0000000000000000, // Range Minimum 0x0000000000000001, // Range Maximum 0x0000000000000000, // Translation Offset 0x0000000000000002, // Length ,, _Y00, AddressRangeMemory, TypeStatic) }) CreateQWordField (RBUF, \_SB.PERC._CRS._Y00._MIN, MIN1) // _MIN: Minimum Base Address CreateQWordField (RBUF, \_SB.PERC._CRS._Y00._MAX, MAX1) // _MAX: Maximum Base Address CreateQWordField (RBUF, \_SB.PERC._CRS._Y00._LEN, LEN1) // _LEN: Length MIN1 = 0xC0000000 MAX1 = ((MIN1 + 0x10000000) - One) LEN1 = 0x10000000 Return (RBUF) /* \_SB_.PERC._CRS.RBUF */ } } } Scope (_SB) { Method (_SWS, 0, NotSerialized) // _SWS: System Wake Source { Return (PM1I) /* \PM1I */ } } Scope (_GPE) { Method (_SWS, 0, NotSerialized) // _SWS: System Wake Source { Return (GPEI) /* \GPEI */ } } OperationRegion (POST, SystemIO, 0x80, One) Field (POST, ByteAcc, Lock, Preserve) { DBG0, 8 } Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep { DBG0 = 0x96 If (CondRefOf (\_SB.PCI0.LPCB.EC0.PTS)) { \_SB.PCI0.LPCB.EC0.PTS (Arg0) } If (CondRefOf (\_SB.MPTS)) { \_SB.MPTS (Arg0) } If (CondRefOf (\_SB.PCI0.EGPM)) { \_SB.PCI0.EGPM () } } Method (_WAK, 1, NotSerialized) // _WAK: Wake { DBG0 = 0x97 If (CondRefOf (\_SB.PCI0.LPCB.EC0.WAK)) { \_SB.PCI0.LPCB.EC0.WAK (Arg0) } If (CondRefOf (\_SB.MWAK)) { \_SB.MWAK (Arg0) } If (CondRefOf (\_SB.PCI0.RGPM)) { \_SB.PCI0.RGPM () } Return (Package (0x02) { Zero, Zero }) } Field (GNVS, ByteAcc, NoLock, Preserve) { Offset (0x02), SMIF, 8, Offset (0x04), PPCM, 8, TLVL, 8, LIDS, 8, Offset (0x08), Offset (0x0C), PM1I, 64, GPEI, 64, DPTE, 8, NHLA, 64, NHLL, 32, Offset (0x2B), U2WE, 16, U3WE, 16, UIOR, 8, Offset (0x38) } Method (PNOT, 0, NotSerialized) { \_SB.CNOT (0x81) } Method (PPCN, 0, NotSerialized) { \_SB.CNOT (0x80) } Method (TNOT, 0, NotSerialized) { \_SB.CNOT (0x82) } Device (_SB.PCI0) { Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID Name (_SEG, Zero) // _SEG: PCI Segment Name (_UID, Zero) // _UID: Unique ID Device (MCHC) { Name (_ADR, Zero) // _ADR: Address OperationRegion (MCHP, PCI_Config, Zero, 0x0100) Field (MCHP, DWordAcc, NoLock, Preserve) { Offset (0x40), EPEN, 1, , 11, EPBR, 20, Offset (0x48), MHEN, 1, , 14, MHBR, 17, Offset (0x60), PXEN, 1, PXSZ, 2, , 23, PXBR, 6, Offset (0x68), DIEN, 1, , 11, DIBR, 20, Offset (0xA0), TOM, 64, TUUD, 64, Offset (0xBC), TLUD, 32 } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (MCRS, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000CF7, // Range Maximum 0x00000000, // Translation Offset 0x00000CF8, // Length ,, , TypeStatic, DenseTranslation) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000D00, // Range Minimum 0x0000FFFF, // Range Maximum 0x00000000, // Translation Offset 0x0000F300, // Length ,, , TypeStatic, DenseTranslation) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000E3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E4000, // Range Minimum 0x000E7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E8000, // Range Minimum 0x000EBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000EC000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000F0000, // Range Minimum 0x000FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00010000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0xDFFFFFFF, // Range Maximum 0x00000000, // Translation Offset 0xE0000000, // Length ,, _Y01, AddressRangeMemory, TypeStatic) QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x0000000000000000, // Granularity 0x0000000000010000, // Range Minimum 0x000000000001FFFF, // Range Maximum 0x0000000000000000, // Translation Offset 0x0000000000010000, // Length ,, _Y02, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0xFC800000, // Range Minimum 0xFE7FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x02000000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0xFED40000, // Range Minimum 0xFED47FFF, // Range Maximum 0x00000000, // Translation Offset 0x00008000, // Length ,, , AddressRangeMemory, TypeStatic) }) CreateDWordField (MCRS, \_SB.PCI0._CRS._Y01._MIN, PMIN) // _MIN: Minimum Base Address CreateDWordField (MCRS, \_SB.PCI0._CRS._Y01._MAX, PMAX) // _MAX: Maximum Base Address CreateDWordField (MCRS, \_SB.PCI0._CRS._Y01._LEN, PLEN) // _LEN: Length PMIN = (^MCHC.TLUD & 0xFFF00000) PLEN = ((PMAX - PMIN) + One) If ((A4GS == Zero)) { CreateQWordField (MCRS, \_SB.PCI0._CRS._Y02._LEN, MSEN) // _LEN: Length MSEN = Zero } Else { CreateQWordField (MCRS, \_SB.PCI0._CRS._Y02._MIN, MMIN) // _MIN: Minimum Base Address CreateQWordField (MCRS, \_SB.PCI0._CRS._Y02._MAX, MMAX) // _MAX: Maximum Base Address CreateQWordField (MCRS, \_SB.PCI0._CRS._Y02._LEN, MLEN) // _LEN: Length MLEN = A4GS /* External reference */ MMIN = A4GB /* External reference */ MMAX = ((MMIN + MLEN) - One) } Return (MCRS) /* \_SB_.PCI0._CRS.MCRS */ } Method (GMHB, 0, Serialized) { Local0 = (^MCHC.MHBR << 0x0F) Return (Local0) } Method (GEPB, 0, Serialized) { Local0 = (^MCHC.EPBR << 0x0C) Return (Local0) } Method (GPCB, 0, Serialized) { Local0 = (^MCHC.PXBR << 0x1A) Return (Local0) } Method (GPCL, 0, Serialized) { Local0 = (0x10000000 >> ^MCHC.PXSZ) /* \_SB_.PCI0.MCHC.PXSZ */ Return (Local0) } Method (GDMB, 0, Serialized) { Local0 = (^MCHC.DIBR << 0x0C) Return (Local0) } Device (PDRC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00020000, // Address Length _Y03) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y04) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y05) Memory32Fixed (ReadOnly, 0xFED90000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x01000000, // Address Length _Y06) Memory32Fixed (ReadOnly, 0xF8000000, // Address Base 0x02000000, // Address Length ) Memory32Fixed (ReadOnly, 0xFEE00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED00000, // Address Base 0x00000400, // Address Length ) }) CreateDWordField (BUF0, \_SB.PCI0.PDRC._CRS._Y03._BAS, MBR0) // _BAS: Base Address MBR0 = GMHB () CreateDWordField (BUF0, \_SB.PCI0.PDRC._CRS._Y04._BAS, DBR0) // _BAS: Base Address DBR0 = GDMB () CreateDWordField (BUF0, \_SB.PCI0.PDRC._CRS._Y05._BAS, EBR0) // _BAS: Base Address EBR0 = GEPB () CreateDWordField (BUF0, \_SB.PCI0.PDRC._CRS._Y06._BAS, FBR0) // _BAS: Base Address FBR0 = 0xFF000000 Return (BUF0) /* \_SB_.PCI0.PDRC._CRS.BUF0 */ } } Device (GFX0) { Name (_ADR, 0x00020000) // _ADR: Address } Method (GPCR, 2, NotSerialized) { If ((Arg0 == Zero)) { Local0 = 0xFD000000 } ElseIf ((Arg0 == One)) { Local0 = Zero } Else { Debug = Concatenate (Concatenate ("Invalid Die index (", Arg0), ")\n") Return (Zero) } Return ((Local0 + (Arg1 << 0x10))) } Method (RPCR, 3, Serialized) { OperationRegion (PCRD, SystemMemory, (GPCR (Arg0, Arg1) + Arg2), 0x04) Field (PCRD, DWordAcc, NoLock, Preserve) { DATA, 32 } Return (DATA) /* \_SB_.PCI0.RPCR.DATA */ } Method (APCR, 4, Serialized) { OperationRegion (PCRD, SystemMemory, (GPCR (Arg0, Arg1) + Arg2), 0x04) Field (PCRD, DWordAcc, NoLock, Preserve) { DATA, 32 } DATA &= Arg3 RPCR (Arg0, Arg1, Arg2) } Method (OPCR, 4, Serialized) { OperationRegion (PCRD, SystemMemory, (GPCR (Arg0, Arg1) + Arg2), 0x04) Field (PCRD, DWordAcc, NoLock, Preserve) { DATA, 32 } DATA |= Arg3 RPCR (Arg0, Arg1, Arg2) } Method (PCRB, 1, NotSerialized) { Return (GPCR (Zero, Arg0)) } Method (PCRR, 2, Serialized) { Return (RPCR (Zero, Arg0, Arg1)) } Method (PCRA, 3, Serialized) { APCR (Zero, Arg0, Arg1, Arg2) } Method (PCRO, 3, Serialized) { OPCR (Zero, Arg0, Arg1, Arg2) } Scope (\_SB.PCI0) { Name (ICKB, Zero) ICKB = (PCRB (0xAD) + 0x8000) Method (RAOW, 3, Serialized) { OperationRegion (ICLK, SystemMemory, (ICKB + (Arg0 * 0x0C)), 0x04) Field (ICLK, AnyAcc, NoLock, Preserve) { VAL0, 32 } Local0 = VAL0 /* \_SB_.PCI0.RAOW.VAL0 */ VAL0 = ((Local0 & Arg1) | Arg2) } Method (MCON, 2, NotSerialized) { RAOW (Arg0, 0xFFFFFFFFFFFFFFFE, Arg1) RAOW (Arg0, 0xFFFFFFFFFFFFFFFD, 0x02) } Method (MCOF, 1, NotSerialized) { RAOW (Arg0, 0xFFFFFFFFFFFFFFFD, Zero) } } Method (CGPM, 2, Serialized) { Local0 = GPID (Arg0) If ((Local0 != Zero)) { PCRA (Local0, 0x10, 0xFFFFFFFFFFFFFF00) PCRO (Local0, 0x10, (Arg1 & 0xFF)) } } Method (GRXS, 1, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 0x04) Field (PREG, AnyAcc, NoLock, Preserve) { , 1, RXST, 1 } Return (RXST) /* \_SB_.PCI0.GRXS.RXST */ } Method (GTXS, 1, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 0x04) Field (PREG, AnyAcc, NoLock, Preserve) { TXST, 1 } Return (TXST) /* \_SB_.PCI0.GTXS.TXST */ } Method (STXS, 1, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 0x04) Field (PREG, AnyAcc, NoLock, Preserve) { TXST, 1 } TXST = One } Method (CTXS, 1, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 0x04) Field (PREG, AnyAcc, NoLock, Preserve) { TXST, 1 } TXST = Zero } Method (GPMO, 2, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 0x04) Field (PREG, AnyAcc, NoLock, Preserve) { , 10, MODE, 3 } MODE = Arg1 } Method (GTXE, 2, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 0x04) Field (PREG, AnyAcc, NoLock, Preserve) { Offset (0x01), TXDI, 1 } TXDI = !Arg1 } Method (GRXE, 2, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 0x04) Field (PREG, AnyAcc, NoLock, Preserve) { , 9, RXDI, 1 } RXDI = !Arg1 } Method (GSCI, 2, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 0x04) Field (PREG, AnyAcc, NoLock, Preserve) { , 19, SCIR, 1 } SCIR = Arg1 } Device (GPIO) { Name (_HID, "INTC1057") // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_DDN, "GPIO Controller") // _DDN: DOS Device Name Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y07) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y08) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y09) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y0A) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x0000000E, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.GPIO._Y07._BAS, BAS0) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.GPIO._Y07._LEN, LEN0) // _LEN: Length BAS0 = PCRB (0x6E) LEN0 = 0x00010000 CreateDWordField (RBUF, \_SB.PCI0.GPIO._Y08._BAS, BAS1) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.GPIO._Y08._LEN, LEN1) // _LEN: Length BAS1 = PCRB (0x6D) LEN1 = 0x00010000 CreateDWordField (RBUF, \_SB.PCI0.GPIO._Y09._BAS, BAS4) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.GPIO._Y09._LEN, LEN4) // _LEN: Length BAS4 = PCRB (0x6A) LEN4 = 0x00010000 CreateDWordField (RBUF, \_SB.PCI0.GPIO._Y0A._BAS, BAS5) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.GPIO._Y0A._LEN, LEN5) // _LEN: Length BAS5 = PCRB (0x69) LEN5 = 0x00010000 Return (RBUF) /* \_SB_.PCI0.GPIO.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } } Method (GADD, 1, NotSerialized) { If (((Arg0 >= Zero) && (Arg0 <= 0x42))) { Local0 = 0x6E Local1 = (Arg0 - Zero) } If (((Arg0 >= 0x43) && (Arg0 <= 0xA8))) { Local0 = 0x6D Local1 = (Arg0 - 0x43) } If (((Arg0 >= 0xA9) && (Arg0 <= 0xB9))) { Local0 = 0x6C Local1 = (Arg0 - 0xA9) } If (((Arg0 >= 0xBA) && (Arg0 <= 0x0124))) { Local0 = 0x6B Local1 = (Arg0 - 0xBA) } If (((Arg0 >= 0x0125) && (Arg0 <= 0x0174))) { Local0 = 0x6A Local1 = (Arg0 - 0x0125) } If (((Arg0 >= 0x0175) && (Arg0 <= 0x0184))) { Local0 = 0x69 Local1 = (Arg0 - 0x0175) } Local2 = ((PCRB (Local0) + 0x0700) + (Local1 * 0x10)) Return (Local2) } Method (GPID, 1, Serialized) { Switch (ToInteger (Arg0)) { Case (Zero) { Local0 = 0x6E } Case (One) { Local0 = 0x6D } Case (0x02) { Local0 = 0x6C } Case (0x03) { Local0 = 0x6B } Case (0x04) { Local0 = 0x6A } Case (0x05) { Local0 = 0x69 } Default { Return (Zero) } } Return (Local0) } Name (GPMB, Package (0x06) { Zero, Zero, Zero, Zero, Zero, Zero }) Method (SGPM, 0, Serialized) { Local0 = Zero While ((Local0 < 0x06)) { Local1 = GPID (Local0) GPMB [Local0] = PCRR (Local1, 0x10) Local0++ } } Method (RGPM, 0, Serialized) { Local0 = Zero While ((Local0 < 0x06)) { CGPM (Local0, DerefOf (GPMB [Local0])) Local0++ } } Method (EGPM, 0, Serialized) { SGPM () Local0 = Zero While ((Local0 < 0x06)) { CGPM (Local0, 0xFF) Local0++ } } Device (LPCB) { Name (_ADR, 0x001F0000) // _ADR: Address Name (_DDN, "LPC Bus Device") // _DDN: DOS Device Name Device (DMAC) { Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x01, // Alignment 0x11, // Length ) IO (Decode16, 0x0093, // Range Minimum 0x0093, // Range Maximum 0x01, // Alignment 0x0D, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) DMA (Compatibility, NotBusMaster, Transfer8_16, ) {4} }) } Device (FWH) { Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */) // _HID: Hardware ID Name (_DDN, "Firmware Hub") // _DDN: DOS Device Name Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadOnly, 0xFF000000, // Address Base 0x01000000, // Address Length ) }) } Device (HPET) { Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0C01") /* System Board */) // _CID: Compatible ID Name (_DDN, "High Precision Event Timer") // _DDN: DOS Device Name Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadWrite, 0xFED00000, // Address Base 0x00000400, // Address Length ) }) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } } Device (MATH) { Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {13} }) } Device (PIC) { Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID Name (_DDN, "8259 Interrupt Controller") // _DDN: DOS Device Name Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0024, // Range Minimum 0x0024, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0028, // Range Minimum 0x0028, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x002C, // Range Minimum 0x002C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0030, // Range Minimum 0x0030, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0034, // Range Minimum 0x0034, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0038, // Range Minimum 0x0038, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x003C, // Range Minimum 0x003C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A4, // Range Minimum 0x00A4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A8, // Range Minimum 0x00A8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00AC, // Range Minimum 0x00AC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B0, // Range Minimum 0x00B0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B4, // Range Minimum 0x00B4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B8, // Range Minimum 0x00B8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00BC, // Range Minimum 0x00BC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (LDRC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Name (_DDN, "Legacy Device Resources") // _DDN: DOS Device Name Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x004E, // Range Minimum 0x004E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0063, // Range Minimum 0x0063, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0067, // Range Minimum 0x0067, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x00B2, // Range Minimum 0x00B2, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x1800, // Range Minimum 0x1800, // Range Maximum 0x01, // Alignment 0xFF, // Length ) }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID Name (_DDN, "Real Time Clock") // _DDN: DOS Device Name Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) }) } Device (TIMR) { Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID Name (_DDN, "8254 Timer") // _DDN: DOS Device Name Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0050, // Range Minimum 0x0050, // Range Maximum 0x10, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } } Device (HDAS) { Name (_ADR, 0x001F0003) // _ADR: Address Name (_DDN, "Audio Controller") // _DDN: DOS Device Name Name (UUID, ToUUID ("a69f886e-6ceb-4594-a41f-7b5dce24c553") /* Unknown UUID */) Name (_S0W, 0x03) // _S0W: S0 Device Wake State Name (NBUF, ResourceTemplate () { QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly, 0x0000000000000000, // Granularity 0x0000000000000000, // Range Minimum 0x0000000000000000, // Range Maximum 0x0000000000000000, // Translation Offset 0x0000000000000001, // Length ,, _Y0B, AddressRangeACPI, TypeStatic) }) Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == UUID)) { If ((Arg2 == Zero)) { If ((((Arg1 == One) && (NHLA != Zero)) && ( NHLL != Zero))) { Return (Buffer (One) { 0x03 // . }) } Else { Return (Buffer (One) { 0x01 // . }) } } If ((Arg2 == One)) { CreateQWordField (NBUF, \_SB.PCI0.HDAS._Y0B._MIN, NBAS) // _MIN: Minimum Base Address CreateQWordField (NBUF, \_SB.PCI0.HDAS._Y0B._MAX, NMAS) // _MAX: Maximum Base Address CreateQWordField (NBUF, \_SB.PCI0.HDAS._Y0B._LEN, NLEN) // _LEN: Length NBAS = NHLA /* \NHLA */ NMAS = NHLA /* \NHLA */ NLEN = NHLL /* \NHLL */ Return (NBUF) /* \_SB_.PCI0.HDAS.NBUF */ } } Return (Buffer (One) { 0x00 // . }) } } Method (IRQM, 1, Serialized) { Name (IQAA, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (IQAP, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x0B }, Package (0x04) { 0xFFFF, One, Zero, 0x0A }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x0B }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x0B } }) Name (IQBA, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (IQBP, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x0A }, Package (0x04) { 0xFFFF, One, Zero, 0x0B }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x0B }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x0B } }) Name (IQCA, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (IQCP, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x0B }, Package (0x04) { 0xFFFF, One, Zero, 0x0B }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x0B }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x0A } }) Name (IQDA, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Name (IQDP, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x0B }, Package (0x04) { 0xFFFF, One, Zero, 0x0B }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x0A }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x0B } }) Switch (ToInteger (Arg0)) { Case (Package (0x07) { One, 0x05, 0x09, 0x0D, 0x11, 0x15, 0x19 } ) { If (PICM) { Return (IQAA) /* \_SB_.PCI0.IRQM.IQAA */ } Else { Return (IQAP) /* \_SB_.PCI0.IRQM.IQAP */ } } Case (Package (0x07) { 0x02, 0x06, 0x0A, 0x0E, 0x12, 0x16, 0x1A } ) { If (PICM) { Return (IQBA) /* \_SB_.PCI0.IRQM.IQBA */ } Else { Return (IQBP) /* \_SB_.PCI0.IRQM.IQBP */ } } Case (Package (0x07) { 0x03, 0x07, 0x0B, 0x0F, 0x13, 0x17, 0x1B } ) { If (PICM) { Return (IQCA) /* \_SB_.PCI0.IRQM.IQCA */ } Else { Return (IQCP) /* \_SB_.PCI0.IRQM.IQCP */ } } Case (Package (0x07) { 0x04, 0x08, 0x0C, 0x10, 0x14, 0x18, 0x1C } ) { If (PICM) { Return (IQDA) /* \_SB_.PCI0.IRQM.IQDA */ } Else { Return (IQDP) /* \_SB_.PCI0.IRQM.IQDP */ } } Default { If (PICM) { Return (IQDA) /* \_SB_.PCI0.IRQM.IQDA */ } Else { Return (IQDP) /* \_SB_.PCI0.IRQM.IQDP */ } } } } Device (RP01) { Name (_ADR, 0x001C0000) // _ADR: Address OperationRegion (RPCS, PCI_Config, 0x4C, 0x04) Field (RPCS, AnyAcc, NoLock, Preserve) { Offset (0x03), RPPN, 8 } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { Return (IRQM (RPPN)) } } Device (RP02) { Name (_ADR, 0x001C0001) // _ADR: Address OperationRegion (RPCS, PCI_Config, 0x4C, 0x04) Field (RPCS, AnyAcc, NoLock, Preserve) { Offset (0x03), RPPN, 8 } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { Return (IRQM (RPPN)) } } Device (RP03) { Name (_ADR, 0x001C0002) // _ADR: Address OperationRegion (RPCS, PCI_Config, 0x4C, 0x04) Field (RPCS, AnyAcc, NoLock, Preserve) { Offset (0x03), RPPN, 8 } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { Return (IRQM (RPPN)) } } Device (RP04) { Name (_ADR, 0x001C0003) // _ADR: Address OperationRegion (RPCS, PCI_Config, 0x4C, 0x04) Field (RPCS, AnyAcc, NoLock, Preserve) { Offset (0x03), RPPN, 8 } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { Return (IRQM (RPPN)) } } Device (RP05) { Name (_ADR, 0x001C0004) // _ADR: Address OperationRegion (RPCS, PCI_Config, 0x4C, 0x04) Field (RPCS, AnyAcc, NoLock, Preserve) { Offset (0x03), RPPN, 8 } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { Return (IRQM (RPPN)) } } Device (RP06) { Name (_ADR, 0x001C0005) // _ADR: Address OperationRegion (RPCS, PCI_Config, 0x4C, 0x04) Field (RPCS, AnyAcc, NoLock, Preserve) { Offset (0x03), RPPN, 8 } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { Return (IRQM (RPPN)) } } Device (RP07) { Name (_ADR, 0x001C0006) // _ADR: Address OperationRegion (RPCS, PCI_Config, 0x4C, 0x04) Field (RPCS, AnyAcc, NoLock, Preserve) { Offset (0x03), RPPN, 8 } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { Return (IRQM (RPPN)) } } Device (RP08) { Name (_ADR, 0x001C0007) // _ADR: Address OperationRegion (RPCS, PCI_Config, 0x4C, 0x04) Field (RPCS, AnyAcc, NoLock, Preserve) { Offset (0x03), RPPN, 8 } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { Return (IRQM (RPPN)) } } Device (RP09) { Name (_ADR, 0x001D0000) // _ADR: Address OperationRegion (RPCS, PCI_Config, 0x4C, 0x04) Field (RPCS, AnyAcc, NoLock, Preserve) { Offset (0x03), RPPN, 8 } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { Return (IRQM (RPPN)) } } Device (RP10) { Name (_ADR, 0x001D0001) // _ADR: Address OperationRegion (RPCS, PCI_Config, 0x4C, 0x04) Field (RPCS, AnyAcc, NoLock, Preserve) { Offset (0x03), RPPN, 8 } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { Return (IRQM (RPPN)) } } Device (RP11) { Name (_ADR, 0x001D0002) // _ADR: Address OperationRegion (RPCS, PCI_Config, 0x4C, 0x04) Field (RPCS, AnyAcc, NoLock, Preserve) { Offset (0x03), RPPN, 8 } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { Return (IRQM (RPPN)) } } Device (RP12) { Name (_ADR, 0x001D0003) // _ADR: Address OperationRegion (RPCS, PCI_Config, 0x4C, 0x04) Field (RPCS, AnyAcc, NoLock, Preserve) { Offset (0x03), RPPN, 8 } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { Return (IRQM (RPPN)) } } Device (SRAM) { Name (_ADR, 0x00140002) // _ADR: Address } Device (HEC1) { Name (_ADR, 0x00160000) // _ADR: Address } Device (I2C0) { Name (_ADR, 0x00150000) // _ADR: Address Name (_DDN, "Serial IO I2C Controller 0") // _DDN: DOS Device Name } Device (I2C1) { Name (_ADR, 0x00150001) // _ADR: Address Name (_DDN, "Serial IO I2C Controller 1") // _DDN: DOS Device Name } Device (I2C2) { Name (_ADR, 0x00150002) // _ADR: Address Name (_DDN, "Serial IO I2C Controller 2") // _DDN: DOS Device Name } Device (I2C3) { Name (_ADR, 0x00150003) // _ADR: Address Name (_DDN, "Serial IO I2C Controller 3") // _DDN: DOS Device Name } Device (I2C4) { Name (_ADR, 0x00190000) // _ADR: Address Name (_DDN, "Serial IO I2C Controller 4") // _DDN: DOS Device Name } Device (I2C5) { Name (_ADR, 0x00190001) // _ADR: Address Name (_DDN, "Serial IO I2C Controller 5") // _DDN: DOS Device Name } Device (I2C6) { Name (_ADR, 0x00100000) // _ADR: Address Name (_DDN, "Serial IO I2C Controller 6") // _DDN: DOS Device Name } Device (I2C7) { Name (_ADR, 0x00100001) // _ADR: Address Name (_DDN, "Serial IO I2C Controller 7") // _DDN: DOS Device Name } Device (FSPI) { Name (_ADR, 0x001F0005) // _ADR: Address Name (_DDN, "Fast SPI") // _DDN: DOS Device Name } Device (SPI0) { Name (_ADR, 0x001E0002) // _ADR: Address Name (_DDN, "Serial IO SPI Controller 0") // _DDN: DOS Device Name } Device (SPI1) { Name (_ADR, 0x001E0003) // _ADR: Address Name (_DDN, "Serial IO SPI Controller 1") // _DDN: DOS Device Name } Device (SPI2) { Name (_ADR, 0x00120006) // _ADR: Address Name (_DDN, "Serial IO SPI Controller 2") // _DDN: DOS Device Name } Device (SPI3) { Name (_ADR, 0x00130000) // _ADR: Address Name (_DDN, "Serial IO SPI Controller 3") // _DDN: DOS Device Name } Device (UAR0) { Name (_ADR, 0x001E0000) // _ADR: Address Name (_DDN, "Serial IO UART Controller 0") // _DDN: DOS Device Name } Device (UAR1) { Name (_ADR, 0x001E0001) // _ADR: Address Name (_DDN, "Serial IO UART Controller 1") // _DDN: DOS Device Name } Device (UAR2) { Name (_ADR, 0x00190002) // _ADR: Address Name (_DDN, "Serial IO UART Controller 2") // _DDN: DOS Device Name } Device (UAR3) { Name (_ADR, 0x00110000) // _ADR: Address Name (_DDN, "Serial IO UART Controller 3") // _DDN: DOS Device Name } Scope (\_SB.PCI0) { Method (SCSC, 1, Serialized) { PCRA (Arg0, 0x1C20, Zero) PCRA (Arg0, 0x4820, Zero) } Device (EMMC) { Name (_ADR, 0x001A0000) // _ADR: Address Name (_DDN, "eMMC Controller") // _DDN: DOS Device Name Name (TEMP, Zero) OperationRegion (SCSR, PCI_Config, Zero, 0x0100) Field (SCSR, WordAcc, NoLock, Preserve) { Offset (0x84), PMCR, 16, Offset (0xA2), , 2, PGEN, 1 } Method (_INI, 0, NotSerialized) // _INI: Initialize { SCSC (0xA1) } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { Stall (0x32) PGEN = Zero SCSC (0xA1) PMCR &= 0xFFFC TEMP = PMCR /* \_SB_.PCI0.EMMC.PMCR */ } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { PGEN = One PMCR |= 0x03 TEMP = PMCR /* \_SB_.PCI0.EMMC.PMCR */ } Device (CARD) { Name (_ADR, 0x08) // _ADR: Address Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } } } } Scope (\_SB.PCI0) { Device (UFS) { Name (_ADR, 0x00120007) // _ADR: Address Name (_DDN, "UFS Controller") // _DDN: DOS Device Name Name (_DSD, Package (0x02) // _DSD: Device-Specific Data { ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, Package (0x01) { Package (0x02) { "ref-clk-freq", 0x0124F800 } } }) Method (OCPD, 0, Serialized) { PCRA (0x50, 0x4020, Zero) PCRA (0x50, 0x4820, Zero) PCRA (0x50, 0x5C20, Zero) PCRA (0x50, 0x5820, Zero) PCRA (0x50, 0x1078, Zero) } OperationRegion (SCSR, PCI_Config, Zero, 0x0100) Field (SCSR, ByteAcc, NoLock, Preserve) { Offset (0x84), PSTA, 32, Offset (0xA2), , 2, PGEN, 1 } OperationRegion (PWMR, SystemMemory, 0xFE000000, 0x00010000) Field (PWMR, DWordAcc, NoLock, Preserve) { Offset (0x1B0C), , 18, LTRU, 1 } Method (ULTR, 1, Serialized) { LTRU = Arg0 } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { PGEN = Zero PSTA &= 0xFFFFFFFC ULTR (Zero) OCPD () } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { ULTR (One) PGEN = One } Method (_INI, 0, NotSerialized) // _INI: Initialize { OCPD () } } } Device (SBUS) { Name (_ADR, 0x001F0004) // _ADR: Address } Device (ISHB) { Name (_ADR, 0x00120000) // _ADR: Address Name (_DDN, "Integrated Sensor Hub Controller") // _DDN: DOS Device Name } Method (UPWE, 3, Serialized) { Local0 = (Arg1 + ((Arg0 - One) * 0x10)) OperationRegion (PSCR, SystemMemory, ((Arg2 << 0x10) + Local0), 0x10) Field (PSCR, DWordAcc, NoLock, Preserve) { PSCT, 32 } Local0 = PSCT /* \_SB_.PCI0.UPWE.PSCT */ Local0 &= 0xFFFFFFFF7F01FFED Local0 |= 0x06000000 PSCT = Local0 } Method (UWES, 3, Serialized) { Local0 = Arg0 While (One) { FindSetRightBit (Local0, Local1) If ((Local1 == Zero)) { Break } UPWE (Local1, Arg1, Arg2) Local0 &= (Local0 - One) } } Device (XHCI) { Name (_ADR, 0x00140000) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x6D, 0x03 }) OperationRegion (XPRT, PCI_Config, Zero, 0x0100) Field (XPRT, AnyAcc, NoLock, Preserve) { Offset (0x10), Offset (0x12), XMEM, 16 } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { UWES ((U2WE & 0x0FFF), 0x0480, XMEM) UWES ((U3WE & 0x3F), 0x0540, XMEM) } Name (_S3D, 0x03) // _S3D: S3 Device State Name (_S0W, 0x03) // _S0W: S0 Device Wake State Name (_S3W, 0x03) // _S3W: S3 Device Wake State Method (_PS0, 0, Serialized) // _PS0: Power State 0 { } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { } Device (RHUB) { Name (_ADR, Zero) // _ADR: Address Device (HS01) { Name (_ADR, One) // _ADR: Address } Device (HS02) { Name (_ADR, 0x02) // _ADR: Address } Device (HS03) { Name (_ADR, 0x03) // _ADR: Address } Device (HS04) { Name (_ADR, 0x04) // _ADR: Address } Device (HS05) { Name (_ADR, 0x05) // _ADR: Address } Device (HS06) { Name (_ADR, 0x06) // _ADR: Address } Device (HS07) { Name (_ADR, 0x07) // _ADR: Address } Device (HS08) { Name (_ADR, 0x08) // _ADR: Address } Device (HS09) { Name (_ADR, 0x09) // _ADR: Address } Device (HS10) { Name (_ADR, 0x0A) // _ADR: Address } Device (SS01) { Name (_ADR, 0x0D) // _ADR: Address } Device (SS02) { Name (_ADR, 0x0E) // _ADR: Address } Device (SS03) { Name (_ADR, 0x0F) // _ADR: Address } Device (SS04) { Name (_ADR, 0x10) // _ADR: Address } } } Scope (\_SB.PCI0) { Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) { Return (Arg3) } Else { CreateDWordField (Arg3, Zero, CDW1) CDW1 |= 0x04 Return (Arg3) } } } Device (GLAN) { Name (_ADR, 0x001F0006) // _ADR: Address Name (_S0W, 0x03) // _S0W: S0 Device Wake State Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x6D, 0x04 }) Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } } Scope (\_SB) { Method (BASE, 1, NotSerialized) { Local0 = (Arg0 & 0x07) Local1 = ((Arg0 >> 0x10) & 0x1F) Local2 = ((Local0 << 0x0C) + (Local1 << 0x0F)) Local3 = (^PCI0.GPCB () + Local2) Return (Local3) } OperationRegion (PMIO, SystemIO, 0x1800, 0x80) Field (PMIO, ByteAcc, NoLock, Preserve) { Offset (0x6C), , 19, CPWS, 1, Offset (0x7C), , 19, CPWE, 1 } Name (C2PW, Zero) Method (C2PM, 4, NotSerialized) { Local0 = (One << Arg3) If ((Arg0 && Arg1)) { If ((CPWE == Zero)) { If (CPWS) { CPWS = One } CPWE = One } If (((C2PW & Local0) == Zero)) { C2PW |= Local0 } } ElseIf ((Arg0 || Arg2)) { If ((CPWE == Zero)) { If (CPWS) { CPWS = One } CPWE = One } If (((C2PW & Local0) == Zero)) { C2PW |= Local0 } } Else { If (((C2PW & Local0) != Zero)) { C2PW &= ~Local0 } If (((CPWE != Zero) && (C2PW == Zero))) { CPWE = Zero } } Return (Zero) } Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities { CreateDWordField (Arg3, Zero, CDW1) If ((Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */)) { If ((Arg1 != One)) { CDW1 |= 0x08 } Return (Arg3) } Else { CDW1 |= 0x04 Return (Arg3) } } } Scope (_GPE) { Method (_L61, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF { Sleep (0x64) If (CondRefOf (\_SB.PCI0.TXHC)) { \_SB.PCI0.TRP0.HPEV () \_SB.PCI0.TRP1.HPEV () \_SB.PCI0.TRP2.HPEV () \_SB.PCI0.TRP3.HPEV () } If (((\_SB.PCI0.TRP0.VDID != 0xFFFFFFFF) && \_SB.PCI0.TRP0.HPSX)) { If (\_SB.PCI0.TRP0.PDCX) { \_SB.PCI0.TRP0.PDCX = One \_SB.PCI0.TRP0.HPSX = One If (!\_SB.PCI0.TRP0.PDSX) { \_SB.PCI0.TRP0.L0SE = Zero } Notify (\_SB.PCI0.TRP0, Zero) // Bus Check } Else { \_SB.PCI0.TRP0.HPSX = One } } If (((\_SB.PCI0.TRP1.VDID != 0xFFFFFFFF) && \_SB.PCI0.TRP1.HPSX)) { If (\_SB.PCI0.TRP1.PDCX) { \_SB.PCI0.TRP1.PDCX = One \_SB.PCI0.TRP1.HPSX = One If (!\_SB.PCI0.TRP1.PDSX) { \_SB.PCI0.TRP1.L0SE = Zero } Notify (\_SB.PCI0.TRP1, Zero) // Bus Check } Else { \_SB.PCI0.TRP1.HPSX = One } } If (((\_SB.PCI0.TRP2.VDID != 0xFFFFFFFF) && \_SB.PCI0.TRP2.HPSX)) { If (\_SB.PCI0.TRP2.PDCX) { \_SB.PCI0.TRP2.PDCX = One \_SB.PCI0.TRP2.HPSX = One If (!\_SB.PCI0.TRP2.PDSX) { \_SB.PCI0.TRP2.L0SE = Zero } Notify (\_SB.PCI0.TRP2, Zero) // Bus Check } Else { \_SB.PCI0.TRP2.HPSX = One } } If (((\_SB.PCI0.TRP3.VDID != 0xFFFFFFFF) && \_SB.PCI0.TRP3.HPSX)) { If (\_SB.PCI0.TRP3.PDCX) { \_SB.PCI0.TRP3.PDCX = One \_SB.PCI0.TRP3.HPSX = One If (!\_SB.PCI0.TRP3.PDSX) { \_SB.PCI0.TRP3.L0SE = Zero } Notify (\_SB.PCI0.TRP3, Zero) // Bus Check } Else { \_SB.PCI0.TRP3.HPSX = One } } } Method (_L69, 0, Serialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF { If (CondRefOf (\_SB.PCI0.TXHC)) { If ((\_SB.PCI0.TRP0.HPME () == One)) { Notify (\_SB.PCI0.TDM0, 0x02) // Device Wake Notify (\_SB.PCI0.TRP0, 0x02) // Device Wake } If ((\_SB.PCI0.TRP1.HPME () == One)) { Notify (\_SB.PCI0.TDM0, 0x02) // Device Wake Notify (\_SB.PCI0.TRP1, 0x02) // Device Wake } If ((\_SB.PCI0.TRP2.HPME () == One)) { Notify (\_SB.PCI0.TDM1, 0x02) // Device Wake Notify (\_SB.PCI0.TRP2, 0x02) // Device Wake } If ((\_SB.PCI0.TRP3.HPME () == One)) { Notify (\_SB.PCI0.TDM1, 0x02) // Device Wake Notify (\_SB.PCI0.TRP3, 0x02) // Device Wake } } \_SB.PCI0.TRP0.HPME () \_SB.PCI0.TRP1.HPME () \_SB.PCI0.TRP2.HPME () \_SB.PCI0.TRP3.HPME () } } Scope (\_SB.PCI0) { Device (IOM) { Name (_HID, "INTC1079") // _HID: Hardware ID Name (_DDN, "Intel(R) Alder Lake Input Output Manager(IOM) driver") // _DDN: DOS Device Name Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadWrite, 0xFBC10000, // Address Base 0x00001600, // Address Length ) }) Name (_STA, 0x0B) // _STA: Status } OperationRegion (TDEN, SystemMemory, (GMHB () + 0x7090), 0x04) Field (TDEN, ByteAcc, NoLock, Preserve) { TRE0, 1, TRE1, 1, TRE2, 1, TRE3, 1, Offset (0x01), THCE, 1, TDCE, 1, DME0, 1, DME1, 1, Offset (0x04) } OperationRegion (MBAR, SystemMemory, (GMHB () + 0x7100), 0x1000) Field (MBAR, ByteAcc, NoLock, Preserve) { Offset (0x10), RBAR, 64 } OperationRegion (PBAR, SystemMemory, (GMHB () + 0x5DA0), 0x08) Field (PBAR, DWordAcc, NoLock, Preserve) { PMBD, 32, PMBC, 8, PSCM, 8, , 15, PMBR, 1 } Method (PMBY, 0, NotSerialized) { Local0 = Zero While ((PMBR && (Local0 < 0x03E8))) { Local0++ Stall (One) } If ((Local0 == 0x03E8)) { Debug = "Timeout occurred." Return (0xFF) } Return (Zero) } Method (IOMA, 0, NotSerialized) { Return ((RBAR & 0xFFFFFFFFFFFFFFFE)) } OperationRegion (IOMR, SystemMemory, (IOMA () + 0x00C10000), 0x0100) Field (IOMR, DWordAcc, NoLock, Preserve) { Offset (0x40), , 15, TD3C, 1, TACK, 1, DPOF, 1, Offset (0x70), IMCD, 32, IMDA, 32 } Method (TG0N, 0, NotSerialized) { If ((^TDM0.VDID == 0xFFFFFFFF)) { Debug = "TDM0 does not exist." } Else { If ((^TDM0.STAT == Zero)) { ^TDM0.D3CX () Debug = "Bring TBT RPs out of D3Code." If ((^TRP0.VDID != 0xFFFFFFFF)) { ^TRP0.D3CX () } If ((^TRP1.VDID != 0xFFFFFFFF)) { ^TRP1.D3CX () } } Else { Debug = "Drop TG0N due to it is already exit D3 cold." } Sleep (0x0A) } } Method (TG0F, 0, NotSerialized) { If ((^TDM0.VDID == 0xFFFFFFFF)) { Debug = "TDM0 does not exist." } ElseIf ((^TDM0.STAT == One)) { ^TDM0.D3CE () If ((^TDM0.IF30 != One)) { Return (Zero) } Debug = "Push TBT RPs to D3Cold together" If ((^TRP0.VDID != 0xFFFFFFFF)) { ^TRP0.D3CE () } If ((^TRP1.VDID != 0xFFFFFFFF)) { ^TRP1.D3CE () } } } Method (TG1N, 0, NotSerialized) { If ((^TDM1.VDID == 0xFFFFFFFF)) { Debug = "TDM1 does not exist." } Else { If ((^TDM1.STAT == Zero)) { ^TDM1.D3CX () Debug = "Bring TBT RPs out of D3Code." If ((^TRP2.VDID != 0xFFFFFFFF)) { ^TRP2.D3CX () } If ((^TRP3.VDID != 0xFFFFFFFF)) { ^TRP3.D3CX () } } Else { Debug = "Drop TG1N due to it is already exit D3 cold." } Sleep (0x0A) } } Method (TG1F, 0, NotSerialized) { If ((^TDM1.VDID == 0xFFFFFFFF)) { Debug = "TDM1 does not exist." } ElseIf ((^TDM1.STAT == One)) { ^TDM1.D3CE () If ((^TDM1.IF30 != One)) { Return (Zero) } Debug = "Push TBT RPs to D3Cold together" If ((^TRP2.VDID != 0xFFFFFFFF)) { ^TRP2.D3CE () } If ((^TRP3.VDID != 0xFFFFFFFF)) { ^TRP3.D3CE () } } } PowerResource (TBT0, 0x05, 0x0001) { Method (_STA, 0, NotSerialized) // _STA: Status { Return (^^TDM0.STAT) /* \_SB_.PCI0.TDM0.STAT */ } Method (_ON, 0, NotSerialized) // _ON_: Power On { TG0N () } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { If ((^^TDM0.SD3C == Zero)) { TG0F () } } } PowerResource (TBT1, 0x05, 0x0001) { Method (_STA, 0, NotSerialized) // _STA: Status { Return (^^TDM1.STAT) /* \_SB_.PCI0.TDM1.STAT */ } Method (_ON, 0, NotSerialized) // _ON_: Power On { TG1N () } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { If ((^^TDM1.SD3C == Zero)) { TG1F () } } } Device (TXHC) { Name (_ADR, 0x000D0000) // _ADR: Address Name (_DDN, "North XHCI controller") // _DDN: DOS Device Name Name (_STR, Unicode ("North XHCI controller")) // _STR: Description String Name (DCPM, 0x04) Method (_STA, 0, NotSerialized) // _STA: Status { If ((THCE == One)) { Return (0x0F) } Else { Return (Zero) } } OperationRegion (XPRT, SystemMemory, BASE (_ADR), 0x0100) Field (XPRT, ByteAcc, NoLock, Preserve) { VDID, 32, Offset (0x74), D0D3, 2, Offset (0x75), PMEE, 1, , 6, PMES, 1 } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { If ((PMEE == One)) { PMEE = Zero } } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { If ((PMEE == Zero)) { PMEE = One } } Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State { Return (0x03) } Name (SD3C, Zero) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Return (Buffer (One) { 0x00 // . }) } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x03) } Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State { Return (0x03) } Method (_S3W, 0, NotSerialized) // _S3W: S3 Device Wake State { Return (0x03) } Method (_S4W, 0, NotSerialized) // _S4W: S4 Device Wake State { Return (0x03) } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x6D, 0x04 }) } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { C2PM (Arg0, Arg1, Arg2, DCPM) SD3C = Arg1 } Device (RHUB) { Name (_ADR, Zero) // _ADR: Address Device (HS01) { Name (_ADR, One) // _ADR: Address } Device (SS01) { Name (_ADR, 0x02) // _ADR: Address Method (_DSD, 0, NotSerialized) // _DSD: Device-Specific Data { Return (Package (0x02) { ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, Package (0x02) { Package (0x02) { "usb4-host-interface", TDM0 }, Package (0x02) { "usb4-port-number", Zero } } }) } } Device (SS02) { Name (_ADR, 0x03) // _ADR: Address Method (_DSD, 0, NotSerialized) // _DSD: Device-Specific Data { Return (Package (0x02) { ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, Package (0x02) { Package (0x02) { "usb4-host-interface", TDM0 }, Package (0x02) { "usb4-port-number", One } } }) } } Device (SS03) { Name (_ADR, 0x04) // _ADR: Address Method (_DSD, 0, NotSerialized) // _DSD: Device-Specific Data { Return (Package (0x02) { ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, Package (0x02) { Package (0x02) { "usb4-host-interface", TDM1 }, Package (0x02) { "usb4-port-number", Zero } } }) } } Device (SS04) { Name (_ADR, 0x05) // _ADR: Address Method (_DSD, 0, NotSerialized) // _DSD: Device-Specific Data { Return (Package (0x02) { ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, Package (0x02) { Package (0x02) { "usb4-host-interface", TDM1 }, Package (0x02) { "usb4-port-number", One } } }) } } } } Device (TDM0) { Name (_ADR, 0x000D0002) // _ADR: Address Name (_DDN, "TBT DMA0 controller") // _DDN: DOS Device Name Name (_STR, Unicode ("TBT DMA0 controller")) // _STR: Description String Name (DUID, Zero) Name (DCPM, 0x06) Method (_STA, 0, NotSerialized) // _STA: Status { If ((DME0 == One)) { Return (0x0F) } Else { Return (Zero) } } OperationRegion (DPME, SystemMemory, BASE (_ADR), 0x0100) Field (DPME, AnyAcc, NoLock, Preserve) { VDID, 32, Offset (0x84), PMST, 2, Offset (0x85), PMEE, 1, , 6, PMES, 1, Offset (0xC8), , 30, IF30, 1, INFR, 1, Offset (0xEC), TB2P, 32, P2TB, 32, Offset (0xFC), DD3E, 1, DFPE, 1, Offset (0xFF), DMAD, 8 } Name (STAT, One) Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State { Return (0x03) } Method (_PR0, 0, NotSerialized) // _PR0: Power Resources for D0 { If ((DUID == Zero)) { Return (Package (0x01) { TBT0 }) } Else { Return (Package (0x01) { TBT1 }) } } Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot { If ((DUID == Zero)) { Return (Package (0x01) { TBT0 }) } Else { Return (Package (0x01) { TBT1 }) } } Method (D3CX, 0, Serialized) { DD3E = Zero STAT = One } Method (D3CE, 0, Serialized) { DD3E = One STAT = Zero } Name (SD3C, Zero) Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { SD3C = Arg1 } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x6D, 0x04 }) } } Device (TDM1) { Name (_ADR, 0x000D0003) // _ADR: Address Name (_DDN, "TBT DMA1 controller") // _DDN: DOS Device Name Name (_STR, Unicode ("TBT DMA1 controller")) // _STR: Description String Name (DUID, One) Name (DCPM, 0x07) Method (_STA, 0, NotSerialized) // _STA: Status { If ((DME1 == One)) { Return (0x0F) } Else { Return (Zero) } } OperationRegion (DPME, SystemMemory, BASE (_ADR), 0x0100) Field (DPME, AnyAcc, NoLock, Preserve) { VDID, 32, Offset (0x84), PMST, 2, Offset (0x85), PMEE, 1, , 6, PMES, 1, Offset (0xC8), , 30, IF30, 1, INFR, 1, Offset (0xEC), TB2P, 32, P2TB, 32, Offset (0xFC), DD3E, 1, DFPE, 1, Offset (0xFF), DMAD, 8 } Name (STAT, One) Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State { Return (0x03) } Method (_PR0, 0, NotSerialized) // _PR0: Power Resources for D0 { If ((DUID == Zero)) { Return (Package (0x01) { TBT0 }) } Else { Return (Package (0x01) { TBT1 }) } } Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot { If ((DUID == Zero)) { Return (Package (0x01) { TBT0 }) } Else { Return (Package (0x01) { TBT1 }) } } Method (D3CX, 0, Serialized) { DD3E = Zero STAT = One } Method (D3CE, 0, Serialized) { DD3E = One STAT = Zero } Name (SD3C, Zero) Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { SD3C = Arg1 } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x6D, 0x04 }) } } Device (TRP0) { Name (_ADR, 0x00070000) // _ADR: Address Name (TUID, Zero) Name (LTEN, Zero) Name (LMSL, Zero) Name (LNSL, Zero) Name (DCPM, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { If ((TRE0 == One)) { Return (0x0F) } Else { Return (Zero) } } Method (_INI, 0, NotSerialized) // _INI: Initialize { LTEN = Zero LMSL = 0x88C8 LNSL = 0x88C8 } OperationRegion (PXCS, SystemMemory, BASE (_ADR), 0x0800) Field (PXCS, AnyAcc, NoLock, Preserve) { VDID, 32, Offset (0x50), L0SE, 1, , 3, LDIS, 1, Offset (0x51), Offset (0x52), , 13, LASX, 1, Offset (0x5A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x5B), DLSC, 1, Offset (0x60), Offset (0x62), PSPX, 1, Offset (0xA4), D3HT, 2, Offset (0xD8), , 30, HPEX, 1, PMEX, 1, Offset (0xE2), , 2, L23E, 1, L23R, 1, Offset (0x420), , 30, DPGE, 1, Offset (0x5BC), , 3, RPER, 1, RPFE, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0xDC), , 30, HPSX, 1, PMSX, 1 } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Return (Buffer (One) { 0x00 // . }) } Name (OPTS, Buffer (0x02) { 0x00, 0x00 // .. }) Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) { If ((Arg1 >= 0x03)) { If ((Arg2 == Zero)) { CreateBitField (OPTS, 0x09, FUN9) FUN9 = One Return (OPTS) /* \_SB_.PCI0.TRP0.OPTS */ } ElseIf ((Arg2 == 0x09)) { Return (Package (0x05) { 0xC350, One, One, 0xC350, One }) } } } Return (Buffer (One) { 0x00 // . }) } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x69, 0x04 }) } } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { If (((TUID == Zero) || (TUID == One))) { ^^TDM0.SD3C = Arg1 } Else { ^^TDM1.SD3C = Arg1 } C2PM (Arg0, Arg1, Arg2, DCPM) } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x69, 0x04 }) } Method (HPEV, 0, Serialized) { If (((VDID != 0xFFFFFFFF) && HPSX)) { If (((PDCX == One) && (DLSC == One))) { PDCX = One HPSX = One Notify (^, Zero) // Bus Check } Else { HPSX = One } } } Name (STAT, One) Method (D3CX, 0, Serialized) { If ((STAT == One)) { Return (Zero) } RPFE = Zero RPER = Zero L23R = One Local0 = Zero Local1 = L23R /* \_SB_.PCI0.TRP0.L23R */ While (Local1) { If ((Local0 > 0x14)) { Break } Sleep (0x05) Local0++ Local1 = L23R /* \_SB_.PCI0.TRP0.L23R */ } STAT = One } Method (D3CE, 0, Serialized) { If ((STAT == Zero)) { Return (Zero) } L23E = One Local0 = Zero Local1 = L23E /* \_SB_.PCI0.TRP0.L23E */ While (Local1) { If ((Local0 > 0x14)) { Break } Sleep (0x05) Local0++ Local1 = L23E /* \_SB_.PCI0.TRP0.L23E */ } STAT = Zero RPFE = One RPER = One } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { HPEV () If ((HPEX == One)) { HPEX = Zero } HPME () If ((PMEX == One)) { PMEX = Zero } } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { If ((PDCX == One)) { If ((DLSC == Zero)) { PDCX = One } } If ((HPEX == Zero)) { HPEX = One HPEV () } If ((PMEX == Zero)) { PMEX = One HPME () } } Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State { Return (0x03) } Method (_PR0, 0, NotSerialized) // _PR0: Power Resources for D0 { If (((TUID == Zero) || (TUID == One))) { Return (Package (0x01) { TBT0 }) } Else { Return (Package (0x01) { TBT1 }) } } Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot { If (((TUID == Zero) || (TUID == One))) { Return (Package (0x01) { TBT0 }) } Else { Return (Package (0x01) { TBT1 }) } } Method (HPME, 0, Serialized) { If (((VDID != 0xFFFFFFFF) && (PMSX == One))) { Notify (PXSX, 0x02) // Device Wake PMSX = One PSPX = One Return (One) } Return (Zero) } } Device (TRP1) { Name (_ADR, 0x00070001) // _ADR: Address Name (TUID, One) Name (LTEN, Zero) Name (LMSL, Zero) Name (LNSL, Zero) Name (DCPM, One) Method (_STA, 0, NotSerialized) // _STA: Status { If ((TRE1 == One)) { Return (0x0F) } Else { Return (Zero) } } Method (_INI, 0, NotSerialized) // _INI: Initialize { LTEN = Zero LMSL = 0x88C8 LNSL = 0x88C8 } OperationRegion (PXCS, SystemMemory, BASE (_ADR), 0x0800) Field (PXCS, AnyAcc, NoLock, Preserve) { VDID, 32, Offset (0x50), L0SE, 1, , 3, LDIS, 1, Offset (0x51), Offset (0x52), , 13, LASX, 1, Offset (0x5A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x5B), DLSC, 1, Offset (0x60), Offset (0x62), PSPX, 1, Offset (0xA4), D3HT, 2, Offset (0xD8), , 30, HPEX, 1, PMEX, 1, Offset (0xE2), , 2, L23E, 1, L23R, 1, Offset (0x420), , 30, DPGE, 1, Offset (0x5BC), , 3, RPER, 1, RPFE, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0xDC), , 30, HPSX, 1, PMSX, 1 } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Return (Buffer (One) { 0x00 // . }) } Name (OPTS, Buffer (0x02) { 0x00, 0x00 // .. }) Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) { If ((Arg1 >= 0x03)) { If ((Arg2 == Zero)) { CreateBitField (OPTS, 0x09, FUN9) FUN9 = One Return (OPTS) /* \_SB_.PCI0.TRP1.OPTS */ } ElseIf ((Arg2 == 0x09)) { Return (Package (0x05) { 0xC350, One, One, 0xC350, One }) } } } Return (Buffer (One) { 0x00 // . }) } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x69, 0x04 }) } } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { If (((TUID == Zero) || (TUID == One))) { ^^TDM0.SD3C = Arg1 } Else { ^^TDM1.SD3C = Arg1 } C2PM (Arg0, Arg1, Arg2, DCPM) } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x69, 0x04 }) } Method (HPEV, 0, Serialized) { If (((VDID != 0xFFFFFFFF) && HPSX)) { If (((PDCX == One) && (DLSC == One))) { PDCX = One HPSX = One Notify (^, Zero) // Bus Check } Else { HPSX = One } } } Name (STAT, One) Method (D3CX, 0, Serialized) { If ((STAT == One)) { Return (Zero) } RPFE = Zero RPER = Zero L23R = One Local0 = Zero Local1 = L23R /* \_SB_.PCI0.TRP1.L23R */ While (Local1) { If ((Local0 > 0x14)) { Break } Sleep (0x05) Local0++ Local1 = L23R /* \_SB_.PCI0.TRP1.L23R */ } STAT = One } Method (D3CE, 0, Serialized) { If ((STAT == Zero)) { Return (Zero) } L23E = One Local0 = Zero Local1 = L23E /* \_SB_.PCI0.TRP1.L23E */ While (Local1) { If ((Local0 > 0x14)) { Break } Sleep (0x05) Local0++ Local1 = L23E /* \_SB_.PCI0.TRP1.L23E */ } STAT = Zero RPFE = One RPER = One } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { HPEV () If ((HPEX == One)) { HPEX = Zero } HPME () If ((PMEX == One)) { PMEX = Zero } } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { If ((PDCX == One)) { If ((DLSC == Zero)) { PDCX = One } } If ((HPEX == Zero)) { HPEX = One HPEV () } If ((PMEX == Zero)) { PMEX = One HPME () } } Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State { Return (0x03) } Method (_PR0, 0, NotSerialized) // _PR0: Power Resources for D0 { If (((TUID == Zero) || (TUID == One))) { Return (Package (0x01) { TBT0 }) } Else { Return (Package (0x01) { TBT1 }) } } Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot { If (((TUID == Zero) || (TUID == One))) { Return (Package (0x01) { TBT0 }) } Else { Return (Package (0x01) { TBT1 }) } } Method (HPME, 0, Serialized) { If (((VDID != 0xFFFFFFFF) && (PMSX == One))) { Notify (PXSX, 0x02) // Device Wake PMSX = One PSPX = One Return (One) } Return (Zero) } } Device (TRP2) { Name (_ADR, 0x00070002) // _ADR: Address Name (TUID, 0x02) Name (LTEN, Zero) Name (LMSL, Zero) Name (LNSL, Zero) Name (DCPM, 0x02) Method (_STA, 0, NotSerialized) // _STA: Status { If ((TRE2 == One)) { Return (0x0F) } Else { Return (Zero) } } Method (_INI, 0, NotSerialized) // _INI: Initialize { LTEN = Zero LMSL = 0x88C8 LNSL = 0x88C8 } OperationRegion (PXCS, SystemMemory, BASE (_ADR), 0x0800) Field (PXCS, AnyAcc, NoLock, Preserve) { VDID, 32, Offset (0x50), L0SE, 1, , 3, LDIS, 1, Offset (0x51), Offset (0x52), , 13, LASX, 1, Offset (0x5A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x5B), DLSC, 1, Offset (0x60), Offset (0x62), PSPX, 1, Offset (0xA4), D3HT, 2, Offset (0xD8), , 30, HPEX, 1, PMEX, 1, Offset (0xE2), , 2, L23E, 1, L23R, 1, Offset (0x420), , 30, DPGE, 1, Offset (0x5BC), , 3, RPER, 1, RPFE, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0xDC), , 30, HPSX, 1, PMSX, 1 } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Return (Buffer (One) { 0x00 // . }) } Name (OPTS, Buffer (0x02) { 0x00, 0x00 // .. }) Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) { If ((Arg1 >= 0x03)) { If ((Arg2 == Zero)) { CreateBitField (OPTS, 0x09, FUN9) FUN9 = One Return (OPTS) /* \_SB_.PCI0.TRP2.OPTS */ } ElseIf ((Arg2 == 0x09)) { Return (Package (0x05) { 0xC350, One, One, 0xC350, One }) } } } Return (Buffer (One) { 0x00 // . }) } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x69, 0x04 }) } } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { If (((TUID == Zero) || (TUID == One))) { ^^TDM0.SD3C = Arg1 } Else { ^^TDM1.SD3C = Arg1 } C2PM (Arg0, Arg1, Arg2, DCPM) } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x69, 0x04 }) } Method (HPEV, 0, Serialized) { If (((VDID != 0xFFFFFFFF) && HPSX)) { If (((PDCX == One) && (DLSC == One))) { PDCX = One HPSX = One Notify (^, Zero) // Bus Check } Else { HPSX = One } } } Name (STAT, One) Method (D3CX, 0, Serialized) { If ((STAT == One)) { Return (Zero) } RPFE = Zero RPER = Zero L23R = One Local0 = Zero Local1 = L23R /* \_SB_.PCI0.TRP2.L23R */ While (Local1) { If ((Local0 > 0x14)) { Break } Sleep (0x05) Local0++ Local1 = L23R /* \_SB_.PCI0.TRP2.L23R */ } STAT = One } Method (D3CE, 0, Serialized) { If ((STAT == Zero)) { Return (Zero) } L23E = One Local0 = Zero Local1 = L23E /* \_SB_.PCI0.TRP2.L23E */ While (Local1) { If ((Local0 > 0x14)) { Break } Sleep (0x05) Local0++ Local1 = L23E /* \_SB_.PCI0.TRP2.L23E */ } STAT = Zero RPFE = One RPER = One } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { HPEV () If ((HPEX == One)) { HPEX = Zero } HPME () If ((PMEX == One)) { PMEX = Zero } } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { If ((PDCX == One)) { If ((DLSC == Zero)) { PDCX = One } } If ((HPEX == Zero)) { HPEX = One HPEV () } If ((PMEX == Zero)) { PMEX = One HPME () } } Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State { Return (0x03) } Method (_PR0, 0, NotSerialized) // _PR0: Power Resources for D0 { If (((TUID == Zero) || (TUID == One))) { Return (Package (0x01) { TBT0 }) } Else { Return (Package (0x01) { TBT1 }) } } Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot { If (((TUID == Zero) || (TUID == One))) { Return (Package (0x01) { TBT0 }) } Else { Return (Package (0x01) { TBT1 }) } } Method (HPME, 0, Serialized) { If (((VDID != 0xFFFFFFFF) && (PMSX == One))) { Notify (PXSX, 0x02) // Device Wake PMSX = One PSPX = One Return (One) } Return (Zero) } } Device (TRP3) { Name (_ADR, 0x00070003) // _ADR: Address Name (TUID, 0x03) Name (LTEN, Zero) Name (LMSL, Zero) Name (LNSL, Zero) Name (DCPM, 0x03) Method (_STA, 0, NotSerialized) // _STA: Status { If ((TRE3 == One)) { Return (0x0F) } Else { Return (Zero) } } Method (_INI, 0, NotSerialized) // _INI: Initialize { LTEN = Zero LMSL = 0x88C8 LNSL = 0x88C8 } OperationRegion (PXCS, SystemMemory, BASE (_ADR), 0x0800) Field (PXCS, AnyAcc, NoLock, Preserve) { VDID, 32, Offset (0x50), L0SE, 1, , 3, LDIS, 1, Offset (0x51), Offset (0x52), , 13, LASX, 1, Offset (0x5A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x5B), DLSC, 1, Offset (0x60), Offset (0x62), PSPX, 1, Offset (0xA4), D3HT, 2, Offset (0xD8), , 30, HPEX, 1, PMEX, 1, Offset (0xE2), , 2, L23E, 1, L23R, 1, Offset (0x420), , 30, DPGE, 1, Offset (0x5BC), , 3, RPER, 1, RPFE, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0xDC), , 30, HPSX, 1, PMSX, 1 } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Return (Buffer (One) { 0x00 // . }) } Name (OPTS, Buffer (0x02) { 0x00, 0x00 // .. }) Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) { If ((Arg1 >= 0x03)) { If ((Arg2 == Zero)) { CreateBitField (OPTS, 0x09, FUN9) FUN9 = One Return (OPTS) /* \_SB_.PCI0.TRP3.OPTS */ } ElseIf ((Arg2 == 0x09)) { Return (Package (0x05) { 0xC350, One, One, 0xC350, One }) } } } Return (Buffer (One) { 0x00 // . }) } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x69, 0x04 }) } } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { If (((TUID == Zero) || (TUID == One))) { ^^TDM0.SD3C = Arg1 } Else { ^^TDM1.SD3C = Arg1 } C2PM (Arg0, Arg1, Arg2, DCPM) } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x69, 0x04 }) } Method (HPEV, 0, Serialized) { If (((VDID != 0xFFFFFFFF) && HPSX)) { If (((PDCX == One) && (DLSC == One))) { PDCX = One HPSX = One Notify (^, Zero) // Bus Check } Else { HPSX = One } } } Name (STAT, One) Method (D3CX, 0, Serialized) { If ((STAT == One)) { Return (Zero) } RPFE = Zero RPER = Zero L23R = One Local0 = Zero Local1 = L23R /* \_SB_.PCI0.TRP3.L23R */ While (Local1) { If ((Local0 > 0x14)) { Break } Sleep (0x05) Local0++ Local1 = L23R /* \_SB_.PCI0.TRP3.L23R */ } STAT = One } Method (D3CE, 0, Serialized) { If ((STAT == Zero)) { Return (Zero) } L23E = One Local0 = Zero Local1 = L23E /* \_SB_.PCI0.TRP3.L23E */ While (Local1) { If ((Local0 > 0x14)) { Break } Sleep (0x05) Local0++ Local1 = L23E /* \_SB_.PCI0.TRP3.L23E */ } STAT = Zero RPFE = One RPER = One } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { HPEV () If ((HPEX == One)) { HPEX = Zero } HPME () If ((PMEX == One)) { PMEX = Zero } } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { If ((PDCX == One)) { If ((DLSC == Zero)) { PDCX = One } } If ((HPEX == Zero)) { HPEX = One HPEV () } If ((PMEX == Zero)) { PMEX = One HPME () } } Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State { Return (0x03) } Method (_PR0, 0, NotSerialized) // _PR0: Power Resources for D0 { If (((TUID == Zero) || (TUID == One))) { Return (Package (0x01) { TBT0 }) } Else { Return (Package (0x01) { TBT1 }) } } Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot { If (((TUID == Zero) || (TUID == One))) { Return (Package (0x01) { TBT0 }) } Else { Return (Package (0x01) { TBT1 }) } } Method (HPME, 0, Serialized) { If (((VDID != 0xFFFFFFFF) && (PMSX == One))) { Notify (PXSX, 0x02) // Device Wake PMSX = One PSPX = One Return (One) } Return (Zero) } } } Scope (GFX0) { OperationRegion (GFXC, PCI_Config, Zero, 0x0100) Field (GFXC, DWordAcc, NoLock, Preserve) { Offset (0x10), BAR0, 64, Offset (0xE4), ASLE, 32, Offset (0xFC), ASLS, 32 } OperationRegion (GFRG, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFFFF0), 0x00400000) Field (GFRG, DWordAcc, NoLock, Preserve) { Offset (0xC8258), BCLV, 32 } Field (GFRG, DWordAcc, NoLock, Preserve) { Offset (0xC8254), BCLM, 32 } Device (BOX3) { Name (_ADR, Zero) // _ADR: Address OperationRegion (OPRG, SystemMemory, ASLS, 0x2000) Field (OPRG, DWordAcc, NoLock, Preserve) { Offset (0x58), MBOX, 32, Offset (0x300), ARDY, 1, Offset (0x304), ASLC, 32, TCHE, 32, ALSI, 32, BCLP, 32, PFIT, 32, CBLV, 32 } Method (XBCM, 1, Serialized) { If ((ASLS == Zero)) { Return (Ones) } If (((MBOX & 0x04) == Zero)) { Return (Ones) } Local1 = ((Arg0 * 0xFF) / 0x64) If ((Local1 > 0xFF)) { Local1 = 0xFF } BCLP = (Local1 | 0x80000000) If ((ARDY == Zero)) { Return (Ones) } ASLC = 0x02 ASLE = One Local0 = 0x20 While ((Local0 > Zero)) { Sleep (One) If (((ASLC & 0x02) == Zero)) { Local1 = ((ASLC >> 0x0C) & 0x03) If ((Local1 == Zero)) { Return (Zero) } Else { Return (Ones) } } Local0-- } Return (Ones) } } Device (LEGA) { Name (_ADR, Zero) // _ADR: Address Method (DRCL, 2, NotSerialized) { Return (((Arg0 + (Arg1 / 0x02)) / Arg1)) } Method (XBCM, 1, NotSerialized) { BCLV = DRCL ((Arg0 * BCLM), 0x64) } Method (XBQC, 0, NotSerialized) { If ((BCLM == Zero)) { Return (Zero) } Local0 = DRCL ((BCLV * 0x64), BCLM) Local1 = 0x02 While ((Local1 < (SizeOf (BRIG) - One))) { Local2 = DerefOf (BRIG [Local1]) Local3 = DerefOf (BRIG [(Local1 + One)]) If ((Local0 < Local3)) { If (((Local0 < Local2) || ((Local0 - Local2) < (Local3 - Local0)))) { Return (Local2) } Else { Return (Local3) } } Local1++ } Return (Local3) } } Method (XBCM, 1, NotSerialized) { If ((^BOX3.XBCM (Arg0) == Ones)) { ^LEGA.XBCM (Arg0) } } Method (XBQC, 0, NotSerialized) { Return (^LEGA.XBQC ()) } Name (BRCT, Zero) Method (BRID, 1, NotSerialized) { Local0 = Match (BRIG, MEQ, Arg0, MTR, Zero, 0x02) If ((Local0 == Ones)) { Return ((SizeOf (BRIG) - One)) } Return (Local0) } Method (XBCL, 0, NotSerialized) { BRCT = One Return (BRIG) /* \_SB_.PCI0.GFX0.BRIG */ } Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching { } Method (DECB, 0, NotSerialized) { If (BRCT) { Notify (LCD0, 0x87) // Device-Specific } Else { Local0 = BRID (XBQC ()) If ((Local0 != 0x02)) { Local0-- } XBCM (DerefOf (BRIG [Local0])) } } Method (INCB, 0, NotSerialized) { If (BRCT) { Notify (LCD0, 0x86) // Device-Specific } Else { Local0 = BRID (XBQC ()) If ((Local0 != (SizeOf (BRIG) - One))) { Local0++ } XBCM (DerefOf (BRIG [Local0])) } } } Scope (GFX0) { Name (BRIG, Package (0x12) { 0x64, 0x64, 0x02, 0x04, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x12, 0x14, 0x18, 0x1D, 0x21, 0x28, 0x32, 0x43, 0x64 }) } Device (GNA) { Name (_ADR, 0x00080000) // _ADR: Address Name (_DDN, "GNA Scoring Accelerator") // _DDN: DOS Device Name } Device (PS2K) { Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID Name (_CID, EisaId ("PNP030B")) // _CID: Compatible ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {1} }) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } } Device (PS2M) { Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } } } Name (SSFG, 0x0D) If (One) { SSFG &= 0xFE } If (Zero) { SSFG &= 0xF7 } If (CondRefOf (\OSFG)) { SSFG = OSFG /* External reference */ } Name (_S0, Package (0x04) // _S0_: S0 System State { Zero, Zero, Zero, Zero }) If ((SSFG & One)) { Name (_S1, Package (0x04) // _S1_: S1 System State { One, Zero, Zero, Zero }) } If ((SSFG & 0x04)) { Name (_S3, Package (0x04) // _S3_: S3 System State { 0x05, Zero, Zero, Zero }) } If ((SSFG & 0x08)) { Name (_S4, Package (0x04) // _S4_: S4 System State { 0x06, 0x04, Zero, Zero }) } Name (_S5, Package (0x04) // _S5_: S5 System State { 0x07, Zero, Zero, Zero }) Scope (_SB.PCI0.LPCB) { OperationRegion (CMS2, SystemIO, 0x72, 0x02) Field (CMS2, ByteAcc, NoLock, Preserve) { IND2, 8, DAT2, 8 } IndexField (IND2, DAT2, ByteAcc, NoLock, Preserve) { Offset (0x80), FLKC, 8, TPLC, 8, KLBC, 8, KLSC, 8 } Device (EC) { Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (_GPE, 0x6E) // _GPE: General Purpose Events Name (ECAV, Zero) Name (ECTK, One) Name (B2ST, Zero) Name (CFAN, Zero) Name (CMDR, Zero) Name (DOCK, Zero) Name (PLMX, Zero) Name (PECH, Zero) Name (PECL, Zero) Name (PENV, Zero) Name (PINV, Zero) Name (PPSH, Zero) Name (PPSL, Zero) Name (PSTP, Zero) Name (RPWR, Zero) Name (VPWR, Zero) Name (WTMS, Zero) Name (AWT2, Zero) Name (AWT1, Zero) Name (AWT0, Zero) Name (DLED, Zero) Name (SPT2, Zero) Name (PB10, Zero) Name (IWCW, Zero) Name (IWCR, Zero) Name (PVOL, Zero) Mutex (ECMT, 0x00) Name (BFFR, ResourceTemplate () { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Return (BFFR) /* \_SB_.PCI0.LPCB.EC__.BFFR */ } Method (_STA, 0, NotSerialized) // _STA: Status { LIDS = 0x03 Return (0x0F) } OperationRegion (SIPR, SystemIO, 0xB2, One) Field (SIPR, ByteAcc, Lock, Preserve) { SMB2, 8 } OperationRegion (ECF2, EmbeddedControl, Zero, 0x0100) Field (ECF2, ByteAcc, Lock, Preserve) { Offset (0x00), ECMV, 8, ECSV, 8, Offset (0x04), OSFG, 8, FRMF, 8, Offset (0x09), KLBE, 8, KLSE, 8, Offset (0x0C), TPLE, 8, Offset (0x0F), FLKE, 8, KLTE, 8, Offset (0x17), FCLA, 8, Offset (0x1A), BFCP, 8, FANM, 8, Offset (0x40), SHIP, 8, Offset (0x7F), LSTE, 1, Offset (0x80), Offset (0x80), ECPS, 8, B1MN, 8, B1SN, 16, B1DC, 16, B1DV, 16, B1FC, 16, B1TP, 16, B1ST, 8, B1PR, 16, B1RC, 16, B1PV, 16, B1RP, 16, B1CC, 16 } Method (ECRD, 1, Serialized) { If (ECTK) { If ((_REV >= 0x02)) { ECAV = One } ECTK = Zero } Local0 = Acquire (ECMT, 0x03E8) If ((Local0 == Zero)) { If (ECAV) { Local1 = DerefOf (Arg0) Release (ECMT) Return (Local1) } Else { Release (ECMT) } } Return (Zero) } Method (ECWR, 2, Serialized) { Local0 = Acquire (ECMT, 0x03E8) If ((Local0 == Zero)) { If (ECAV) { Arg1 = Arg0 Local1 = Zero While (One) { If ((Arg0 == DerefOf (Arg1))) { Break } Sleep (One) Arg1 = Arg0 Local1 += One If ((Local1 == 0x03)) { Break } } } Release (ECMT) } } Device (ADP1) { Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_PSR, 0, NotSerialized) // _PSR: Power Source { PWRS = (ECRD (RefOf (ECPS)) & One) Return (PWRS) /* \PWRS */ } Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List { Return (Package (0x01) { _SB }) } } Device (BAT0) { Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((ECPS & 0x02)) { Return (0x1F) } Return (0x0F) } Name (SBIF, Package (0x0D) { One, 0xFFFFFFFF, 0xFFFFFFFF, One, 0xFFFFFFFF, Zero, Zero, 0xFFFFFFFF, 0xFFFFFFFF, "AEC3756153-2S1P-N", "Unknown", "LION", "Apower Electronics" }) Method (_BIF, 0, NotSerialized) // _BIF: Battery Information { If (B1DC) { SBIF [One] = B1DC /* \_SB_.PCI0.LPCB.EC__.B1DC */ If ((B1FC != 0xFFFF)) { SBIF [0x02] = B1FC /* \_SB_.PCI0.LPCB.EC__.B1FC */ } Else { SBIF [0x02] = B1DC /* \_SB_.PCI0.LPCB.EC__.B1DC */ } SBIF [0x04] = B1DV /* \_SB_.PCI0.LPCB.EC__.B1DV */ SBIF [0x05] = (B1DC / 0x05) SBIF [0x06] = (B1DC / 0x14) SBIF [0x07] = (B1DC / 0x01F4) SBIF [0x08] = (B1DC / 0x01F4) } Return (SBIF) /* \_SB_.PCI0.LPCB.EC__.BAT0.SBIF */ } Name (XBIF, Package (0x15) { One, One, 0xFFFFFFFF, 0xFFFFFFFF, One, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x02, 0x1388, 0x03E8, 0x1388, 0x03E8, 0xFFFFFFFF, 0xFFFFFFFF, "AEC3756153-2S1P-N", "Unknown", "LION", "Apower Electronics", One }) Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended { If (B1DC) { XBIF [0x02] = B1DC /* \_SB_.PCI0.LPCB.EC__.B1DC */ If ((B1FC != 0xFFFF)) { XBIF [0x03] = B1FC /* \_SB_.PCI0.LPCB.EC__.B1FC */ } Else { XBIF [0x03] = B1DC /* \_SB_.PCI0.LPCB.EC__.B1DC */ } XBIF [0x05] = B1DV /* \_SB_.PCI0.LPCB.EC__.B1DV */ XBIF [0x06] = (B1DC / 0x05) XBIF [0x07] = (B1DC / 0x14) If ((B1CC != 0xFFFF)) { XBIF [0x08] = B1CC /* \_SB_.PCI0.LPCB.EC__.B1CC */ } XBIF [0x0E] = (B1DC / 0x01F4) XBIF [0x0F] = (B1DC / 0x01F4) } Return (XBIF) /* \_SB_.PCI0.LPCB.EC__.BAT0.XBIF */ } Name (PKG1, Package (0x04) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Method (_BST, 0, NotSerialized) // _BST: Battery Status { PKG1 [Zero] = (B1ST & 0x07) PKG1 [One] = B1PR /* \_SB_.PCI0.LPCB.EC__.B1PR */ If ((B1RC != 0xFFFF)) { PKG1 [0x02] = B1RC /* \_SB_.PCI0.LPCB.EC__.B1RC */ } Else { PKG1 [0x02] = (B1RP * (B1DC / 0x64)) } PKG1 [0x03] = B1PV /* \_SB_.PCI0.LPCB.EC__.B1PV */ Return (PKG1) /* \_SB_.PCI0.LPCB.EC__.BAT0.PKG1 */ } Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List { Return (Package (0x01) { _SB }) } } Method (_Q05, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { ^^^^HIDD.HPEM (0x14) } Method (_Q06, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { ^^^^HIDD.HPEM (0x13) } Method (_Q0A, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { Notify (ADP1, 0x80) // Status Change } Method (_Q0B, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { Notify (BAT0, 0x80) // Status Change } Method (_Q0C, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { LIDS = LSTE /* \_SB_.PCI0.LPCB.EC__.LSTE */ Notify (LID0, 0x80) // Status Change } Device (LID0) { Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_LID, 0, NotSerialized) // _LID: Lid Status { Return (ECRD (RefOf (LSTE))) } } Method (_REG, 2, NotSerialized) // _REG: Region Availability { If (((Arg0 == 0x03) && (Arg1 == One))) { ECAV = One LIDS = LSTE /* \_SB_.PCI0.LPCB.EC__.LSTE */ OSFG = One PWRS = (ECRD (RefOf (ECPS)) & One) PNOT () } } } } Scope (_SB) { Device (HIDD) { Name (_HID, "INTC1051") // _HID: Hardware ID Name (HBSY, Zero) Name (HIDX, Zero) Name (HMDE, Zero) Name (HRDY, Zero) Name (BTLD, Zero) Name (BTS1, Zero) Method (_STA, 0, Serialized) // _STA: Status { Return (0x0F) } Name (DPKG, Package (0x04) { 0x11111111, 0x22222222, 0x33333333, 0x44444444 }) Method (HDDM, 0, Serialized) { Return (DPKG) /* \_SB_.HIDD.DPKG */ } Method (HDEM, 0, Serialized) { HBSY = Zero If ((HMDE == Zero)) { Return (HIDX) /* \_SB_.HIDD.HIDX */ } Return (HMDE) /* \_SB_.HIDD.HMDE */ } Method (HDMM, 0, Serialized) { Return (HMDE) /* \_SB_.HIDD.HMDE */ } Method (HDSM, 1, Serialized) { HRDY = Arg0 } Method (HPEM, 1, Serialized) { HBSY = One If ((HMDE == Zero)) { HIDX = Arg0 } Else { HIDX = Arg0 } Notify (HIDD, 0xC0) // Hardware-Specific Local0 = Zero While (((Local0 < 0xFA) && HBSY)) { Sleep (0x04) Local0++ } If ((HBSY == One)) { HBSY = Zero HIDX = Zero Return (One) } Else { Return (Zero) } } Method (BTNL, 0, Serialized) { BTS1 = Zero } Method (BTNE, 1, Serialized) { Return (BTS1) /* \_SB_.HIDD.BTS1 */ } Method (BTNS, 0, Serialized) { Return (BTS1) /* \_SB_.HIDD.BTS1 */ } Method (BTNC, 0, Serialized) { Return (0x1F) } Name (HEB2, Zero) Method (HEBC, 0, Serialized) { Return (Zero) } Method (H2BC, 0, Serialized) { Return (Zero) } Method (HEEC, 0, Serialized) { Return (Zero) } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("eeec56b3-4442-408f-a792-4edd4d758054") /* Unknown UUID */)) { If ((One == ToInteger (Arg1))) { Switch (ToInteger (Arg2)) { Case (Zero) { Return (Buffer (0x02) { 0xFF, 0x03 // .. }) } Case (One) { BTNL () } Case (0x02) { Return (HDMM ()) } Case (0x03) { HDSM (DerefOf (Arg3 [Zero])) } Case (0x04) { Return (HDEM ()) } Case (0x05) { Return (BTNS ()) } Case (0x06) { BTNE (DerefOf (Arg3 [Zero])) } Case (0x07) { Return (HEBC ()) } Case (0x08) { Return (Zero) } Case (0x09) { Return (H2BC ()) } } } } Return (Buffer (One) { 0x00 // . }) } } Method (RPTS, 1, Serialized) { Switch (ToInteger (^PCI0.LPCB.EC.ECRD (RefOf (^PCI0.LPCB.EC.TPLE)))) { Case (Zero) { ^PCI0.LPCB.TPLC = Zero } Case (0x11) { ^PCI0.LPCB.TPLC = Zero } Case (0x22) { ^PCI0.LPCB.TPLC = One } } ^PCI0.LPCB.FLKC = ^PCI0.LPCB.EC.ECRD (RefOf (^PCI0.LPCB.EC.FLKE)) Switch (ToInteger (^PCI0.LPCB.EC.ECRD (RefOf (^PCI0.LPCB.EC.KLSE)))) { Case (Zero) { ^PCI0.LPCB.KLSC = Zero } Case (0xDD) { ^PCI0.LPCB.KLSC = One } } Switch (ToInteger (^PCI0.LPCB.EC.ECRD (RefOf (^PCI0.LPCB.EC.KLBE)))) { Case (0xDD) { ^PCI0.LPCB.KLBC = Zero } Case (0xCC) { ^PCI0.LPCB.KLBC = One } Case (0xBB) { ^PCI0.LPCB.KLBC = 0x02 } Case (0xAA) { ^PCI0.LPCB.KLBC = 0x03 } } ^PCI0.LPCB.EC.OSFG = Zero } Method (RWAK, 1, Serialized) { ^PCI0.LPCB.EC.OSFG = One Switch (ToInteger (^PCI0.LPCB.TPLC)) { Case (Zero) { ^PCI0.LPCB.EC.ECWR (Zero, RefOf (^PCI0.LPCB.EC.TPLE)) } Case (One) { ^PCI0.LPCB.EC.ECWR (0x22, RefOf (^PCI0.LPCB.EC.TPLE)) } } ^PCI0.LPCB.EC.ECWR (^PCI0.LPCB.FLKC, RefOf (^PCI0.LPCB.EC.FLKE)) Switch (ToInteger (^PCI0.LPCB.KLSC)) { Case (Zero) { ^PCI0.LPCB.EC.ECWR (Zero, RefOf (^PCI0.LPCB.EC.KLSE)) } Case (One) { ^PCI0.LPCB.EC.ECWR (0xDD, RefOf (^PCI0.LPCB.EC.KLSE)) } } Switch (ToInteger (^PCI0.LPCB.KLBC)) { Case (Zero) { ^PCI0.LPCB.EC.ECWR (0xDD, RefOf (^PCI0.LPCB.EC.KLBE)) } Case (One) { ^PCI0.LPCB.EC.ECWR (0xCC, RefOf (^PCI0.LPCB.EC.KLBE)) } Case (0x02) { ^PCI0.LPCB.EC.ECWR (0xBB, RefOf (^PCI0.LPCB.EC.KLBE)) } Case (0x03) { ^PCI0.LPCB.EC.ECWR (0xAA, RefOf (^PCI0.LPCB.EC.KLBE)) } } } } Scope (_SB) { Method (MPTS, 1, NotSerialized) { RPTS (Arg0) } Method (MWAK, 1, NotSerialized) { RWAK (Arg0) } } } FACP ---- [000h 0000 004h] Signature : "FACP" [Fixed ACPI Description Table (FADT)] [004h 0004 004h] Table Length : 00000114 [008h 0008 001h] Revision : 06 [009h 0009 001h] Checksum : C6 [00Ah 0010 006h] Oem ID : "COREv4" [010h 0016 008h] Oem Table ID : "COREBOOT" [018h 0024 004h] Oem Revision : 00000000 [01Ch 0028 004h] Asl Compiler ID : "CORE" [020h 0032 004h] Asl Compiler Revision : 20230628 [024h 0036 004h] FACS Address : 7687B240 [028h 0040 004h] DSDT Address : 76859000 [02Ch 0044 001h] Model : 00 [02Dh 0045 001h] PM Profile : 08 [Tablet] [02Eh 0046 002h] SCI Interrupt : 0009 [030h 0048 004h] SMI Command Port : 000000B2 [034h 0052 001h] ACPI Enable Value : E1 [035h 0053 001h] ACPI Disable Value : 1E [036h 0054 001h] S4BIOS Command : 00 [037h 0055 001h] P-State Control : 00 [038h 0056 004h] PM1A Event Block Address : 00001800 [03Ch 0060 004h] PM1B Event Block Address : 00000000 [040h 0064 004h] PM1A Control Block Address : 00001804 [044h 0068 004h] PM1B Control Block Address : 00000000 [048h 0072 004h] PM2 Control Block Address : 00000000 [04Ch 0076 004h] PM Timer Block Address : 00001808 [050h 0080 004h] GPE0 Block Address : 00001860 [054h 0084 004h] GPE1 Block Address : 00000000 [058h 0088 001h] PM1 Event Block Length : 04 [059h 0089 001h] PM1 Control Block Length : 02 [05Ah 0090 001h] PM2 Control Block Length : 00 [05Bh 0091 001h] PM Timer Block Length : 04 [05Ch 0092 001h] GPE0 Block Length : 20 [05Dh 0093 001h] GPE1 Block Length : 00 [05Eh 0094 001h] GPE1 Base Offset : 00 [05Fh 0095 001h] _CST Support : 00 [060h 0096 002h] C2 Latency : 0065 [062h 0098 002h] C3 Latency : 03E9 [064h 0100 002h] CPU Cache Size : 0000 [066h 0102 002h] Cache Flush Stride : 0000 [068h 0104 001h] Duty Cycle Offset : 00 [069h 0105 001h] Duty Cycle Width : 00 [06Ah 0106 001h] RTC Day Alarm Index : 0D [06Bh 0107 001h] RTC Month Alarm Index : 00 [06Ch 0108 001h] RTC Century Index : 32 [06Dh 0109 002h] Boot Flags (decoded below) : 0000 Legacy Devices Supported (V2) : 0 8042 Present on ports 60/64 (V2) : 0 VGA Not Present (V4) : 0 MSI Not Supported (V4) : 0 PCIe ASPM Not Supported (V4) : 0 CMOS RTC Not Present (V5) : 0 [06Fh 0111 001h] Reserved : 00 [070h 0112 004h] Flags (decoded below) : 00000CA5 WBINVD instruction is operational (V1) : 1 WBINVD flushes all caches (V1) : 0 All CPUs support C1 (V1) : 1 C2 works on MP system (V1) : 0 Control Method Power Button (V1) : 0 Control Method Sleep Button (V1) : 1 RTC wake not in fixed reg space (V1) : 0 RTC can wake system from S4 (V1) : 1 32-bit PM Timer (V1) : 0 Docking Supported (V1) : 0 Reset Register Supported (V2) : 1 Sealed Case (V3) : 1 Headless - No Video (V3) : 0 Use native instr after SLP_TYPx (V3) : 0 PCIEXP_WAK Bits Supported (V4) : 0 Use Platform Timer (V4) : 0 RTC_STS valid on S4 wake (V4) : 0 Remote Power-on capable (V4) : 0 Use APIC Cluster Model (V4) : 0 Use APIC Physical Destination Mode (V4) : 0 Hardware Reduced (V5) : 0 Low Power S0 Idle (V5) : 0 [074h 0116 00Ch] Reset Register : [Generic Address Structure] [074h 0116 001h] Space ID : 01 [SystemIO] [075h 0117 001h] Bit Width : 08 [076h 0118 001h] Bit Offset : 00 [077h 0119 001h] Encoded Access Width : 01 [Byte Access:8] [078h 0120 008h] Address : 0000000000000CF9 [080h 0128 001h] Value to cause reset : 06 [081h 0129 002h] ARM Flags (decoded below) : 0000 PSCI Compliant : 0 Must use HVC for PSCI : 0 [083h 0131 001h] FADT Minor Revision : 00 [084h 0132 008h] FACS Address : 0000000000000000 [08Ch 0140 008h] DSDT Address : 0000000076859000 [094h 0148 00Ch] PM1A Event Block : [Generic Address Structure] [094h 0148 001h] Space ID : 01 [SystemIO] [095h 0149 001h] Bit Width : 20 [096h 0150 001h] Bit Offset : 00 [097h 0151 001h] Encoded Access Width : 02 [Word Access:16] [098h 0152 008h] Address : 0000000000001800 [0A0h 0160 00Ch] PM1B Event Block : [Generic Address Structure] [0A0h 0160 001h] Space ID : 00 [SystemMemory] [0A1h 0161 001h] Bit Width : 00 [0A2h 0162 001h] Bit Offset : 00 [0A3h 0163 001h] Encoded Access Width : 00 [Undefined/Legacy] [0A4h 0164 008h] Address : 0000000000000000 [0ACh 0172 00Ch] PM1A Control Block : [Generic Address Structure] [0ACh 0172 001h] Space ID : 01 [SystemIO] [0ADh 0173 001h] Bit Width : 10 [0AEh 0174 001h] Bit Offset : 00 [0AFh 0175 001h] Encoded Access Width : 02 [Word Access:16] [0B0h 0176 008h] Address : 0000000000001804 [0B8h 0184 00Ch] PM1B Control Block : [Generic Address Structure] [0B8h 0184 001h] Space ID : 00 [SystemMemory] [0B9h 0185 001h] Bit Width : 00 [0BAh 0186 001h] Bit Offset : 00 [0BBh 0187 001h] Encoded Access Width : 00 [Undefined/Legacy] [0BCh 0188 008h] Address : 0000000000000000 [0C4h 0196 00Ch] PM2 Control Block : [Generic Address Structure] [0C4h 0196 001h] Space ID : 00 [SystemMemory] [0C5h 0197 001h] Bit Width : 00 [0C6h 0198 001h] Bit Offset : 00 [0C7h 0199 001h] Encoded Access Width : 00 [Undefined/Legacy] [0C8h 0200 008h] Address : 0000000000000000 [0D0h 0208 00Ch] PM Timer Block : [Generic Address Structure] [0D0h 0208 001h] Space ID : 01 [SystemIO] [0D1h 0209 001h] Bit Width : 20 [0D2h 0210 001h] Bit Offset : 00 [0D3h 0211 001h] Encoded Access Width : 03 [DWord Access:32] [0D4h 0212 008h] Address : 0000000000001808 [0DCh 0220 00Ch] GPE0 Block : [Generic Address Structure] [0DCh 0220 001h] Space ID : 01 [SystemIO] [0DDh 0221 001h] Bit Width : 00 [0DEh 0222 001h] Bit Offset : 00 [0DFh 0223 001h] Encoded Access Width : 01 [Byte Access:8] [0E0h 0224 008h] Address : 0000000000001860 [0E8h 0232 00Ch] GPE1 Block : [Generic Address Structure] [0E8h 0232 001h] Space ID : 00 [SystemMemory] [0E9h 0233 001h] Bit Width : 00 [0EAh 0234 001h] Bit Offset : 00 [0EBh 0235 001h] Encoded Access Width : 00 [Undefined/Legacy] [0ECh 0236 008h] Address : 0000000000000000 [0F4h 0244 00Ch] Sleep Control Register : [Generic Address Structure] [0F4h 0244 001h] Space ID : 00 [SystemMemory] [0F5h 0245 001h] Bit Width : 00 [0F6h 0246 001h] Bit Offset : 00 [0F7h 0247 001h] Encoded Access Width : 00 [Undefined/Legacy] [0F8h 0248 008h] Address : 0000000000000000 [100h 0256 00Ch] Sleep Status Register : [Generic Address Structure] [100h 0256 001h] Space ID : 00 [SystemMemory] [101h 0257 001h] Bit Width : 00 [102h 0258 001h] Bit Offset : 00 [103h 0259 001h] Encoded Access Width : 00 [Undefined/Legacy] [104h 0260 008h] Address : 0000000000000000 [10Ch 0268 008h] Hypervisor ID : 0000000000000000 Raw Table Data: Length 276 (0x114) 0000: 46 41 43 50 14 01 00 00 06 C6 43 4F 52 45 76 34 // FACP......COREv4 0010: 43 4F 52 45 42 4F 4F 54 00 00 00 00 43 4F 52 45 // COREBOOT....CORE 0020: 28 06 23 20 40 B2 87 76 00 90 85 76 00 08 09 00 // (.# @..v...v.... 0030: B2 00 00 00 E1 1E 00 00 00 18 00 00 00 00 00 00 // ................ 0040: 04 18 00 00 00 00 00 00 00 00 00 00 08 18 00 00 // ................ 0050: 60 18 00 00 00 00 00 00 04 02 00 04 20 00 00 00 // `........... ... 0060: 65 00 E9 03 00 00 00 00 00 00 0D 00 32 00 00 00 // e...........2... 0070: A5 0C 00 00 01 08 00 01 F9 0C 00 00 00 00 00 00 // ................ 0080: 06 00 00 00 00 00 00 00 00 00 00 00 00 90 85 76 // ...............v 0090: 00 00 00 00 01 20 00 02 00 18 00 00 00 00 00 00 // ..... .......... 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 02 // ................ 00B0: 04 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ 00D0: 01 20 00 03 08 18 00 00 00 00 00 00 01 00 00 01 // . .............. 00E0: 60 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // `............... 00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ 0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ 0110: 00 00 00 00 // .... FACS ---- [000h 0000 004h] Signature : "FACS" [004h 0004 004h] Length : 00000040 [008h 0008 004h] Hardware Signature : 00000000 [00Ch 0012 004h] 32 Firmware Waking Vector : 00000000 [010h 0016 004h] Global Lock : 00000000 [014h 0020 004h] Flags (decoded below) : 00000000 S4BIOS Support Present : 0 64-bit Wake Supported (V2) : 0 [018h 0024 008h] 64 Firmware Waking Vector : 0000000000000000 [020h 0032 001h] Version : 01 [021h 0033 003h] Reserved : CC4F8A [024h 0036 004h] OspmFlags (decoded below) : CEE75BAF 64-bit Wake Env Required (V2) : 1 Raw Table Data: Length 64 (0x40) 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ 0020: 01 8A 4F CC AF 5B E7 CE 87 A6 2A AD A4 50 BF 96 // ..O..[....*..P.. 0030: C5 64 38 BB 14 E0 3A 13 E9 48 59 DA 1F EB 62 4B // .d8...:..HY...bK HPET ---- [000h 0000 004h] Signature : "HPET" [High Precision Event Timer Table] [004h 0004 004h] Table Length : 00000038 [008h 0008 001h] Revision : 01 [009h 0009 001h] Checksum : 10 [00Ah 0010 006h] Oem ID : "COREv4" [010h 0016 008h] Oem Table ID : "COREBOOT" [018h 0024 004h] Oem Revision : 00000000 [01Ch 0028 004h] Asl Compiler ID : "CORE" [020h 0032 004h] Asl Compiler Revision : 20230628 [024h 0036 004h] Hardware Block ID : 8086A701 [028h 0040 00Ch] Timer Block Register : [Generic Address Structure] [028h 0040 001h] Space ID : 00 [SystemMemory] [029h 0041 001h] Bit Width : 40 [02Ah 0042 001h] Bit Offset : 00 [02Bh 0043 001h] Encoded Access Width : 00 [Undefined/Legacy] [02Ch 0044 008h] Address : 00000000FED00000 [034h 0052 001h] Sequence Number : 00 [035h 0053 002h] Minimum Clock Ticks : 0000 [037h 0055 001h] Flags (decoded below) : 00 4K Page Protect : 0 64K Page Protect : 0 Raw Table Data: Length 56 (0x38) 0000: 48 50 45 54 38 00 00 00 01 10 43 4F 52 45 76 34 // HPET8.....COREv4 0010: 43 4F 52 45 42 4F 4F 54 00 00 00 00 43 4F 52 45 // COREBOOT....CORE 0020: 28 06 23 20 01 A7 86 80 00 40 00 00 00 00 D0 FE // (.# .....@...... 0030: 00 00 00 00 00 00 00 00 // ........ LPIT ---- [000h 0000 004h] Signature : "LPIT" [Low Power Idle Table] [004h 0004 004h] Table Length : 00000094 [008h 0008 001h] Revision : 00 [009h 0009 001h] Checksum : D2 [00Ah 0010 006h] Oem ID : "COREv4" [010h 0016 008h] Oem Table ID : "COREBOOT" [018h 0024 004h] Oem Revision : 00000000 [01Ch 0028 004h] Asl Compiler ID : "CORE" [020h 0032 004h] Asl Compiler Revision : 20230628 [024h 0036 004h] Subtable Type : 00000000 [Native C-state Idle Structure] [028h 0040 004h] Length : 00000038 [02Ch 0044 002h] Unique ID : 0000 [02Eh 0046 002h] Reserved : 0000 [030h 0048 004h] Flags (decoded below) : 00000000 State Disabled : 0 No Counter : 0 [034h 0052 00Ch] Entry Trigger : [Generic Address Structure] [034h 0052 001h] Space ID : 7F [FunctionalFixedHW] [035h 0053 001h] Bit Width : 01 [036h 0054 001h] Bit Offset : 02 [037h 0055 001h] Encoded Access Width : 00 [Undefined/Legacy] [038h 0056 008h] Address : 0000000000000060 [040h 0064 004h] Residency : 00007530 [044h 0068 004h] Latency : 00000BB8 [048h 0072 00Ch] Residency Counter : [Generic Address Structure] [048h 0072 001h] Space ID : 7F [FunctionalFixedHW] [049h 0073 001h] Bit Width : 40 [04Ah 0074 001h] Bit Offset : 00 [04Bh 0075 001h] Encoded Access Width : 00 [Undefined/Legacy] [04Ch 0076 008h] Address : 0000000000000632 [054h 0084 008h] Counter Frequency : 0000000000000000 [05Ch 0092 004h] Subtable Type : 00000000 [Native C-state Idle Structure] [060h 0096 004h] Length : 00000038 [064h 0100 002h] Unique ID : 0001 [066h 0102 002h] Reserved : 0000 [068h 0104 004h] Flags (decoded below) : 00000000 State Disabled : 0 No Counter : 0 [06Ch 0108 00Ch] Entry Trigger : [Generic Address Structure] [06Ch 0108 001h] Space ID : 7F [FunctionalFixedHW] [06Dh 0109 001h] Bit Width : 01 [06Eh 0110 001h] Bit Offset : 02 [06Fh 0111 001h] Encoded Access Width : 00 [Undefined/Legacy] [070h 0112 008h] Address : 0000000000000060 [078h 0120 004h] Residency : 00007530 [07Ch 0124 004h] Latency : 00000BB8 [080h 0128 00Ch] Residency Counter : [Generic Address Structure] [080h 0128 001h] Space ID : 00 [SystemMemory] [081h 0129 001h] Bit Width : 20 [082h 0130 001h] Bit Offset : 00 [083h 0131 001h] Encoded Access Width : 03 [DWord Access:32] [084h 0132 008h] Address : 00000000FE00193C [08Ch 0140 008h] Counter Frequency : 0000000000002005 Raw Table Data: Length 148 (0x94) 0000: 4C 50 49 54 94 00 00 00 00 D2 43 4F 52 45 76 34 // LPIT......COREv4 0010: 43 4F 52 45 42 4F 4F 54 00 00 00 00 43 4F 52 45 // COREBOOT....CORE 0020: 28 06 23 20 00 00 00 00 38 00 00 00 00 00 00 00 // (.# ....8....... 0030: 00 00 00 00 7F 01 02 00 60 00 00 00 00 00 00 00 // ........`....... 0040: 30 75 00 00 B8 0B 00 00 7F 40 00 00 32 06 00 00 // 0u.......@..2... 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ 0060: 38 00 00 00 01 00 00 00 00 00 00 00 7F 01 02 00 // 8............... 0070: 60 00 00 00 00 00 00 00 30 75 00 00 B8 0B 00 00 // `.......0u...... 0080: 00 20 00 03 3C 19 00 FE 00 00 00 00 05 20 00 00 // . ..<........ .. 0090: 00 00 00 00 // .... MCFG ---- [000h 0000 004h] Signature : "MCFG" [Memory Mapped Configuration Table] [004h 0004 004h] Table Length : 0000003C [008h 0008 001h] Revision : 01 [009h 0009 001h] Checksum : 1D [00Ah 0010 006h] Oem ID : "COREv4" [010h 0016 008h] Oem Table ID : "COREBOOT" [018h 0024 004h] Oem Revision : 00000000 [01Ch 0028 004h] Asl Compiler ID : "CORE" [020h 0032 004h] Asl Compiler Revision : 20230628 [024h 0036 008h] Reserved : 0000000000000000 [02Ch 0044 008h] Base Address : 00000000C0000000 [034h 0052 002h] Segment Group Number : 0000 [036h 0054 001h] Start Bus Number : 00 [037h 0055 001h] End Bus Number : FF [038h 0056 004h] Reserved : 00000000 Raw Table Data: Length 60 (0x3C) 0000: 4D 43 46 47 3C 00 00 00 01 1D 43 4F 52 45 76 34 // MCFG<.....COREv4 0010: 43 4F 52 45 42 4F 4F 54 00 00 00 00 43 4F 52 45 // COREBOOT....CORE 0020: 28 06 23 20 00 00 00 00 00 00 00 00 00 00 00 C0 // (.# ............ 0030: 00 00 00 00 00 00 00 FF 00 00 00 00 // ............ SSDT ---- DefinitionBlock ("", "SSDT", 2, "COREv4", "COREBOOT", 0x00000000) { /* * iASL Warning: There were 8 external control methods found during * disassembly, but only 0 were resolved (8 unresolved). Additional * ACPI tables may be required to properly disassemble the code. This * resulting disassembler output file may not compile because the * disassembler did not know how many arguments to assign to the * unresolved methods. Note: SSDTs can be dynamically loaded at * runtime and may or may not be available via the host OS. * * To specify the tables needed to resolve external control method * references, the -e option can be used to specify the filenames. * Example iASL invocations: * iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml * iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml * iasl -e ssdt*.aml -d dsdt.aml * * In addition, the -fe option can be used to specify a file containing * control method external declarations with the associated method * argument counts. Each line of the file must be of the form: * External (<method pathname>, MethodObj, <argument count>) * Invocation: * iasl -fe refs.txt -d dsdt.aml * * The following methods were unresolved and many not compile properly * because the disassembler had to guess at the number of arguments * required for each: */ External (_SB_.MDSX, MethodObj) // Warning: Unknown method, guessing 1 arguments External (_SB_.MS0X, MethodObj) // Warning: Unknown method, guessing 1 arguments External (_SB_.PCI0, DeviceObj) External (_SB_.PCI0.CTXS, MethodObj) // Warning: Unknown method, guessing 1 arguments External (_SB_.PCI0.DPOF, UnknownObj) External (_SB_.PCI0.EGPM, MethodObj) // Warning: Unknown method, guessing 0 arguments External (_SB_.PCI0.FSPI, UnknownObj) External (_SB_.PCI0.GFX0, UnknownObj) External (_SB_.PCI0.GNA_, UnknownObj) External (_SB_.PCI0.GTXS, IntObj) External (_SB_.PCI0.HDAS, UnknownObj) External (_SB_.PCI0.HEC1, UnknownObj) External (_SB_.PCI0.I2C0, DeviceObj) External (_SB_.PCI0.I2C2, DeviceObj) External (_SB_.PCI0.LPCB, UnknownObj) External (_SB_.PCI0.LPCB.EC0_.EDSX, MethodObj) // Warning: Unknown method, guessing 1 arguments External (_SB_.PCI0.LPCB.EC0_.S0IX, MethodObj) // Warning: Unknown method, guessing 1 arguments External (_SB_.PCI0.MCHC, UnknownObj) External (_SB_.PCI0.RGPM, MethodObj) // Warning: Unknown method, guessing 0 arguments External (_SB_.PCI0.RP09, DeviceObj) External (_SB_.PCI0.SRAM, UnknownObj) External (_SB_.PCI0.STXS, MethodObj) // Warning: Unknown method, guessing 1 arguments External (_SB_.PCI0.UAR0, UnknownObj) External (_SB_.PCI0.XHCI, UnknownObj) External (PICM, IntObj) External (PPCM, IntObj) Device (CTBL) { Name (_HID, "BOOT0000") // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0B) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadOnly, 0x00000000, // Granularity 0x7689F000, // Range Minimum 0x768A6FFF, // Range Maximum 0x00000000, // Translation Offset 0x00008000, // Length ,, , AddressRangeMemory, TypeStatic) }) } Scope (\_SB.PCI0) { Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (Package (0x3C) { Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x00000010 }, Package (0x04) { 0x0002FFFF, 0x00, 0x00, 0x00000011 }, Package (0x04) { 0x0004FFFF, 0x00, 0x00, 0x00000012 }, Package (0x04) { 0x0005FFFF, 0x00, 0x00, 0x00000010 }, Package (0x04) { 0x0006FFFF, 0x00, 0x00, 0x00000010 }, Package (0x04) { 0x0006FFFF, 0x02, 0x00, 0x00000012 }, Package (0x04) { 0x0007FFFF, 0x00, 0x00, 0x00000013 }, Package (0x04) { 0x0007FFFF, 0x01, 0x00, 0x00000014 }, Package (0x04) { 0x0007FFFF, 0x02, 0x00, 0x00000015 }, Package (0x04) { 0x0007FFFF, 0x03, 0x00, 0x00000016 }, Package (0x04) { 0x0008FFFF, 0x00, 0x00, 0x00000017 }, Package (0x04) { 0x000DFFFF, 0x00, 0x00, 0x00000011 }, Package (0x04) { 0x000DFFFF, 0x01, 0x00, 0x00000013 }, Package (0x04) { 0x0010FFFF, 0x00, 0x00, 0x00000018 }, Package (0x04) { 0x0010FFFF, 0x01, 0x00, 0x00000019 }, Package (0x04) { 0x0010FFFF, 0x02, 0x00, 0x00000014 }, Package (0x04) { 0x0010FFFF, 0x03, 0x00, 0x00000015 }, Package (0x04) { 0x0011FFFF, 0x00, 0x00, 0x0000001A }, Package (0x04) { 0x0011FFFF, 0x01, 0x00, 0x0000001B }, Package (0x04) { 0x0011FFFF, 0x02, 0x00, 0x0000001C }, Package (0x04) { 0x0011FFFF, 0x03, 0x00, 0x0000001D }, Package (0x04) { 0x0012FFFF, 0x00, 0x00, 0x0000001E }, Package (0x04) { 0x0012FFFF, 0x01, 0x00, 0x0000001F }, Package (0x04) { 0x0012FFFF, 0x02, 0x00, 0x00000016 }, Package (0x04) { 0x0013FFFF, 0x00, 0x00, 0x00000020 }, Package (0x04) { 0x0013FFFF, 0x01, 0x00, 0x00000021 }, Package (0x04) { 0x0013FFFF, 0x02, 0x00, 0x00000022 }, Package (0x04) { 0x0013FFFF, 0x03, 0x00, 0x00000023 }, Package (0x04) { 0x0014FFFF, 0x01, 0x00, 0x00000017 }, Package (0x04) { 0x0014FFFF, 0x00, 0x00, 0x00000024 }, Package (0x04) { 0x0014FFFF, 0x02, 0x00, 0x00000011 }, Package (0x04) { 0x0015FFFF, 0x00, 0x00, 0x00000025 }, Package (0x04) { 0x0015FFFF, 0x01, 0x00, 0x00000026 }, Package (0x04) { 0x0015FFFF, 0x02, 0x00, 0x00000027 }, Package (0x04) { 0x0015FFFF, 0x03, 0x00, 0x00000028 }, Package (0x04) { 0x0016FFFF, 0x00, 0x00, 0x00000012 }, Package (0x04) { 0x0016FFFF, 0x01, 0x00, 0x00000013 }, Package (0x04) { 0x0016FFFF, 0x02, 0x00, 0x00000014 }, Package (0x04) { 0x0016FFFF, 0x03, 0x00, 0x00000015 }, Package (0x04) { 0x0017FFFF, 0x00, 0x00, 0x00000016 }, Package (0x04) { 0x0019FFFF, 0x00, 0x00, 0x00000029 }, Package (0x04) { 0x0019FFFF, 0x01, 0x00, 0x0000002A }, Package (0x04) { 0x0019FFFF, 0x02, 0x00, 0x0000002B }, Package (0x04) { 0x001AFFFF, 0x00, 0x00, 0x00000017 }, Package (0x04) { 0x001CFFFF, 0x00, 0x00, 0x00000010 }, Package (0x04) { 0x001CFFFF, 0x01, 0x00, 0x00000011 }, Package (0x04) { 0x001CFFFF, 0x02, 0x00, 0x00000012 }, Package (0x04) { 0x001CFFFF, 0x03, 0x00, 0x00000013 }, Package (0x04) { 0x001DFFFF, 0x00, 0x00, 0x00000010 }, Package (0x04) { 0x001DFFFF, 0x01, 0x00, 0x00000011 }, Package (0x04) { 0x001DFFFF, 0x02, 0x00, 0x00000012 }, Package (0x04) { 0x001DFFFF, 0x03, 0x00, 0x00000013 }, Package (0x04) { 0x001EFFFF, 0x00, 0x00, 0x00000014 }, Package (0x04) { 0x001EFFFF, 0x01, 0x00, 0x00000015 }, Package (0x04) { 0x001EFFFF, 0x02, 0x00, 0x0000002C }, Package (0x04) { 0x001EFFFF, 0x03, 0x00, 0x0000002D }, Package (0x04) { 0x001FFFFF, 0x01, 0x00, 0x00000017 }, Package (0x04) { 0x001FFFFF, 0x02, 0x00, 0x00000014 }, Package (0x04) { 0x001FFFFF, 0x03, 0x00, 0x00000015 }, Package (0x04) { 0x001FFFFF, 0x00, 0x00, 0x00000016 } }) } Else { Return (Package (0x3C) { Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x0000000B }, Package (0x04) { 0x0002FFFF, 0x00, 0x00, 0x0000000A }, Package (0x04) { 0x0004FFFF, 0x00, 0x00, 0x0000000B }, Package (0x04) { 0x0005FFFF, 0x00, 0x00, 0x0000000B }, Package (0x04) { 0x0006FFFF, 0x00, 0x00, 0x0000000B }, Package (0x04) { 0x0006FFFF, 0x02, 0x00, 0x0000000B }, Package (0x04) { 0x0007FFFF, 0x00, 0x00, 0x0000000B }, Package (0x04) { 0x0007FFFF, 0x01, 0x00, 0x0000000B }, Package (0x04) { 0x0007FFFF, 0x02, 0x00, 0x0000000B }, Package (0x04) { 0x0007FFFF, 0x03, 0x00, 0x0000000B }, Package (0x04) { 0x0008FFFF, 0x00, 0x00, 0x0000000B }, Package (0x04) { 0x000DFFFF, 0x00, 0x00, 0x0000000A }, Package (0x04) { 0x000DFFFF, 0x01, 0x00, 0x0000000B }, Package (0x04) { 0x0010FFFF, 0x02, 0x00, 0x0000000B }, Package (0x04) { 0x0010FFFF, 0x03, 0x00, 0x0000000B }, Package (0x04) { 0x0012FFFF, 0x02, 0x00, 0x0000000B }, Package (0x04) { 0x0014FFFF, 0x01, 0x00, 0x0000000B }, Package (0x04) { 0x0014FFFF, 0x02, 0x00, 0x0000000A }, Package (0x04) { 0x0016FFFF, 0x00, 0x00, 0x0000000B }, Package (0x04) { 0x0016FFFF, 0x01, 0x00, 0x0000000B }, Package (0x04) { 0x0016FFFF, 0x02, 0x00, 0x0000000B }, Package (0x04) { 0x0016FFFF, 0x03, 0x00, 0x0000000B }, Package (0x04) { 0x0017FFFF, 0x00, 0x00, 0x0000000B }, Package (0x04) { 0x001AFFFF, 0x00, 0x00, 0x0000000B }, Package (0x04) { 0x001CFFFF, 0x00, 0x00, 0x0000000B }, Package (0x04) { 0x001CFFFF, 0x01, 0x00, 0x0000000A }, Package (0x04) { 0x001CFFFF, 0x02, 0x00, 0x0000000B }, Package (0x04) { 0x001CFFFF, 0x03, 0x00, 0x0000000B }, Package (0x04) { 0x001DFFFF, 0x00, 0x00, 0x0000000B }, Package (0x04) { 0x001DFFFF, 0x01, 0x00, 0x0000000A }, Package (0x04) { 0x001DFFFF, 0x02, 0x00, 0x0000000B }, Package (0x04) { 0x001DFFFF, 0x03, 0x00, 0x0000000B }, Package (0x04) { 0x001EFFFF, 0x00, 0x00, 0x0000000B }, Package (0x04) { 0x001EFFFF, 0x01, 0x00, 0x0000000B }, Package (0x04) { 0x001FFFFF, 0x01, 0x00, 0x0000000B }, Package (0x04) { 0x001FFFFF, 0x02, 0x00, 0x0000000B }, Package (0x04) { 0x001FFFFF, 0x03, 0x00, 0x0000000B }, Package (0x04) { 0x001FFFFF, 0x00, 0x00, 0x0000000B } }) } } } Device (\_SB.CP00) { Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_CST, Package (0x04) // _CST: C-States { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, 0x01, 0x0001, 0x000003E8 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000021, // Address 0x01, // Access Size ) }, 0x02, 0x007F, 0x0000015E }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000033, // Address 0x01, // Access Size ) }, 0x03, 0x00FD, 0x000000C8 } }) Name (GCPC, Package (0x17) { 0x00000017, 0x03, ResourceTemplate () { Register (FFixedHW, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000000771, // Address 0x04, // Access Size ) }, ResourceTemplate () { Register (FFixedHW, 0x08, // Bit Width 0x08, // Bit Offset 0x00000000000000CE, // Address 0x04, // Access Size ) }, ResourceTemplate () { Register (FFixedHW, 0x08, // Bit Width 0x10, // Bit Offset 0x0000000000000771, // Address 0x04, // Access Size ) }, ResourceTemplate () { Register (FFixedHW, 0x08, // Bit Width 0x18, // Bit Offset 0x0000000000000771, // Address 0x04, // Access Size ) }, ResourceTemplate () { Register (FFixedHW, 0x08, // Bit Width 0x08, // Bit Offset 0x0000000000000771, // Address 0x04, // Access Size ) }, ResourceTemplate () { Register (FFixedHW, 0x08, // Bit Width 0x10, // Bit Offset 0x0000000000000774, // Address 0x04, // Access Size ) }, ResourceTemplate () { Register (FFixedHW, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000000774, // Address 0x04, // Access Size ) }, ResourceTemplate () { Register (FFixedHW, 0x08, // Bit Width 0x08, // Bit Offset 0x0000000000000774, // Address 0x04, // Access Size ) }, ResourceTemplate () { Register (SystemMemory, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, ResourceTemplate () { Register (SystemMemory, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, ResourceTemplate () { Register (SystemMemory, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x40, // Bit Width 0x00, // Bit Offset 0x00000000000000E7, // Address 0x04, // Access Size ) }, ResourceTemplate () { Register (FFixedHW, 0x40, // Bit Width 0x00, // Bit Offset 0x00000000000000E8, // Address 0x04, // Access Size ) }, ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000777, // Address 0x04, // Access Size ) }, ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x00, // Bit Offset 0x0000000000000770, // Address 0x04, // Access Size ) }, 0x00000001, ResourceTemplate () { Register (FFixedHW, 0x0A, // Bit Width 0x20, // Bit Offset 0x0000000000000774, // Address 0x04, // Access Size ) }, ResourceTemplate () { Register (FFixedHW, 0x08, // Bit Width 0x18, // Bit Offset 0x0000000000000774, // Address 0x04, // Access Size ) }, ResourceTemplate () { Register (SystemMemory, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, ResourceTemplate () { Register (SystemMemory, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, ResourceTemplate () { Register (SystemMemory, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) Method (_CPC, 0, NotSerialized) // _CPC: Continuous Performance Control { GCPC [0x03] = 0x0A GCPC [0x16] = 0x03E8 Return (GCPC) /* \_SB_.CP00.GCPC */ } Name (_PCT, Package (0x02) // _PCT: Performance Control { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities { Return (PPCM) /* External reference */ } Name (_PSD, Package (0x01) // _PSD: Power State Dependencies { Package (0x05) { 0x05, 0x00, 0x00000000, 0x000000FE, 0x00000001 } }) Name (_PSS, Package (0x03) // _PSS: Performance Supported States { Package (0x06) { 0x000003E9, 0x00001770, 0x0000000A, 0x0000000A, 0x00002500, 0x00002500 }, Package (0x06) { 0x000003E8, 0x00001770, 0x0000000A, 0x0000000A, 0x00000A00, 0x00000A00 }, Package (0x06) { 0x00000320, 0x00001251, 0x0000000A, 0x0000000A, 0x00000800, 0x00000800 } }) } Device (\_SB.CP01) { Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (_CST, Package (0x04) // _CST: C-States { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, 0x01, 0x0001, 0x000003E8 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000021, // Address 0x01, // Access Size ) }, 0x02, 0x007F, 0x0000015E }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000033, // Address 0x01, // Access Size ) }, 0x03, 0x00FD, 0x000000C8 } }) Method (_CPC, 0, NotSerialized) // _CPC: Continuous Performance Control { \_SB.CP00.GCPC [0x03] = 0x0A \_SB.CP00.GCPC [0x16] = 0x03E8 Return (\_SB.CP00.GCPC) } Name (_PCT, Package (0x02) // _PCT: Performance Control { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities { Return (PPCM) /* External reference */ } Name (_PSD, Package (0x01) // _PSD: Power State Dependencies { Package (0x05) { 0x05, 0x00, 0x00000001, 0x000000FE, 0x00000001 } }) Name (_PSS, Package (0x03) // _PSS: Performance Supported States { Package (0x06) { 0x000003E9, 0x00001770, 0x0000000A, 0x0000000A, 0x00002500, 0x00002500 }, Package (0x06) { 0x000003E8, 0x00001770, 0x0000000A, 0x0000000A, 0x00000A00, 0x00000A00 }, Package (0x06) { 0x00000320, 0x00001251, 0x0000000A, 0x0000000A, 0x00000800, 0x00000800 } }) } Device (\_SB.CP02) { Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Name (_CST, Package (0x04) // _CST: C-States { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, 0x01, 0x0001, 0x000003E8 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000021, // Address 0x01, // Access Size ) }, 0x02, 0x007F, 0x0000015E }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000033, // Address 0x01, // Access Size ) }, 0x03, 0x00FD, 0x000000C8 } }) Method (_CPC, 0, NotSerialized) // _CPC: Continuous Performance Control { \_SB.CP00.GCPC [0x03] = 0x0A \_SB.CP00.GCPC [0x16] = 0x03E8 Return (\_SB.CP00.GCPC) } Name (_PCT, Package (0x02) // _PCT: Performance Control { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities { Return (PPCM) /* External reference */ } Name (_PSD, Package (0x01) // _PSD: Power State Dependencies { Package (0x05) { 0x05, 0x00, 0x00000002, 0x000000FE, 0x00000001 } }) Name (_PSS, Package (0x03) // _PSS: Performance Supported States { Package (0x06) { 0x000003E9, 0x00001770, 0x0000000A, 0x0000000A, 0x00002500, 0x00002500 }, Package (0x06) { 0x000003E8, 0x00001770, 0x0000000A, 0x0000000A, 0x00000A00, 0x00000A00 }, Package (0x06) { 0x00000320, 0x00001251, 0x0000000A, 0x0000000A, 0x00000800, 0x00000800 } }) } Device (\_SB.CP03) { Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Name (_CST, Package (0x04) // _CST: C-States { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, 0x01, 0x0001, 0x000003E8 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000021, // Address 0x01, // Access Size ) }, 0x02, 0x007F, 0x0000015E }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000033, // Address 0x01, // Access Size ) }, 0x03, 0x00FD, 0x000000C8 } }) Method (_CPC, 0, NotSerialized) // _CPC: Continuous Performance Control { \_SB.CP00.GCPC [0x03] = 0x0A \_SB.CP00.GCPC [0x16] = 0x03E8 Return (\_SB.CP00.GCPC) } Name (_PCT, Package (0x02) // _PCT: Performance Control { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities { Return (PPCM) /* External reference */ } Name (_PSD, Package (0x01) // _PSD: Power State Dependencies { Package (0x05) { 0x05, 0x00, 0x00000003, 0x000000FE, 0x00000001 } }) Name (_PSS, Package (0x03) // _PSS: Performance Supported States { Package (0x06) { 0x000003E9, 0x00001770, 0x0000000A, 0x0000000A, 0x00002500, 0x00002500 }, Package (0x06) { 0x000003E8, 0x00001770, 0x0000000A, 0x0000000A, 0x00000A00, 0x00000A00 }, Package (0x06) { 0x00000320, 0x00001251, 0x0000000A, 0x0000000A, 0x00000800, 0x00000800 } }) } Name (PPKG, Package (0x04) { \_SB.CP00, \_SB.CP01, \_SB.CP02, \_SB.CP03 }) Method (\_SB.CNOT, 1, NotSerialized) { Notify (\_SB.CP00, Arg0) Notify (\_SB.CP01, Arg0) Notify (\_SB.CP02, Arg0) Notify (\_SB.CP03, Arg0) } Scope (\_SB.PCI0) { Name (A4GB, 0x000000047FC00000) Name (A4GS, 0x0000007B80400000) } Scope (\_SB.PCI0) { Device (CNVW) { Name (_ADR, 0x0000000000140003) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } } } Scope (\_SB.PCI0.I2C0) { Name (FMCN, Package (0x03) { 0x006A, 0x00D5, 0x00000028 }) } Scope (\_SB.PCI0.I2C2) { Name (FMCN, Package (0x03) { 0x006A, 0x00D5, 0x00000028 }) } Scope (\_SB.PCI0) { Device (PMC) { Name (_HID, "INTC1026") // _HID: Hardware ID Name (_DDN, "Intel(R) Alder Lake IPC Controller") // _DDN: DOS Device Name Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0B) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadWrite, 0xFE000000, // Address Base 0x00010000, // Address Length ) }) Name (RVAL, Package (0x05) { Zero, Zero, Zero, Zero, Zero }) Method (IPCS, 7, Serialized) { OperationRegion (IPCM, SystemMemory, 0xFE000000, 0xFF) Field (IPCM, DWordAcc, NoLock, Preserve) { Offset (0x00), ICMD, 32, Offset (0x04), IBSY, 1, IERR, 1, Offset (0x06), IERC, 8, Offset (0x80), IWB0, 32, IWB1, 32, IWB2, 32, IWB3, 32, Offset (0x90), IRB0, 32, IRB1, 32, IRB2, 32, IRB3, 32 } IWB0 = Arg3 IWB1 = Arg4 IWB2 = Arg5 IWB3 = Arg6 Local0 = Zero Local0 += (Arg0 << Zero) Local0 += (Arg1 << 0x0C) Local1 = Zero Local0 += (Local1 << 0x08) Local0 += (Arg2 << 0x10) ICMD = Local0 Local1 = 0x03E8 While ((Local1 > Zero)) { If ((IBSY == Zero)) { RVAL [Zero] = Zero RVAL [One] = IRB0 /* \_SB_.PCI0.PMC_.IPCS.IRB0 */ RVAL [0x02] = IRB1 /* \_SB_.PCI0.PMC_.IPCS.IRB1 */ RVAL [0x03] = IRB2 /* \_SB_.PCI0.PMC_.IPCS.IRB2 */ RVAL [0x04] = IRB3 /* \_SB_.PCI0.PMC_.IPCS.IRB3 */ Return (RVAL) /* \_SB_.PCI0.PMC_.RVAL */ } If ((IERR == One)) { Debug = "IPCS ERROR" Debug = IERC /* \_SB_.PCI0.PMC_.IPCS.IERC */ RVAL [Zero] = One Return (RVAL) /* \_SB_.PCI0.PMC_.RVAL */ } Sleep (One) Local1-- } Debug = "IPCS TIMEOUT" RVAL [Zero] = 0x02 Return (RVAL) /* \_SB_.PCI0.PMC_.RVAL */ } } } Scope (\_SB.PCI0) { Device (PEPD) { Name (_HID, "INT33A1" /* Intel Power Engine */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0D80") /* Windows-compatible System Power Management Controller */) // _CID: Compatible ID Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { ToBuffer (Arg0, Local0) If ((Local0 == ToUUID ("c4eb40a0-6cd2-11e2-bcfd-0800200c9a66") /* Unknown UUID */)) { ToInteger (Arg2, Local1) If ((Local1 == Zero)) { Return (Buffer (One) { 0x7B // { }) } If ((Local1 == One)) { Return (Package (0x12) { Package (0x03) { \_SB.PCI0.MCHC, One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { \_SB.PCI0.GFX0, One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { \_SB.PCI0.GNA, One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { \_SB.PCI0.XHCI, One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { \_SB.PCI0.SRAM, One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { \_SB.PCI0.CNVW, One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { \_SB.PCI0.I2C0, One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { \_SB.PCI0.I2C2, One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { \_SB.PCI0.HEC1, One, Package (0x02) { Zero, Package (0x02) { 0xFF, Zero } } }, Package (0x03) { \_SB.PCI0.RP09, One, Package (0x02) { Zero, Package (0x02) { 0xFF, Zero } } }, Package (0x03) { \_SB.PCI0.UAR0, One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { \_SB.PCI0.LPCB, One, Package (0x02) { Zero, Package (0x02) { 0xFF, Zero } } }, Package (0x03) { \_SB.PCI0.HDAS, One, Package (0x02) { Zero, Package (0x02) { 0xFF, Zero } } }, Package (0x03) { \_SB.PCI0.FSPI, One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { \_SB.CP00, One, Package (0x02) { Zero, Package (0x02) { 0xFF, Zero } } }, Package (0x03) { \_SB.CP01, One, Package (0x02) { Zero, Package (0x02) { 0xFF, Zero } } }, Package (0x03) { \_SB.CP02, One, Package (0x02) { Zero, Package (0x02) { 0xFF, Zero } } }, Package (0x03) { \_SB.CP03, One, Package (0x02) { Zero, Package (0x02) { 0xFF, Zero } } } }) } If ((Local1 == 0x02)){} If ((Local1 == 0x03)) { If (CondRefOf (\_SB.PCI0.LPCB.EC0.EDSX)) { \_SB.PCI0.LPCB.EC0.EDSX (Zero) } If (CondRefOf (\_SB.MDSX)) { \_SB.MDSX (Zero) } } If ((Local1 == 0x04)) { If (CondRefOf (\_SB.PCI0.LPCB.EC0.EDSX)) { \_SB.PCI0.LPCB.EC0.EDSX (One) } If (CondRefOf (\_SB.MDSX)) { \_SB.MDSX (One) } } If ((Local1 == 0x05)) { If (CondRefOf (\_SB.PCI0.LPCB.EC0.S0IX)) { \_SB.PCI0.LPCB.EC0.S0IX (One) } If (CondRefOf (\_SB.MS0X)) { \_SB.MS0X (One) } If (CondRefOf (\_SB.PCI0.EGPM)) { \_SB.PCI0.EGPM () } If (CondRefOf (\_SB.PCI0.TXHC)) { \_SB.PCI0.DPOF = One } } If ((Local1 == 0x06)) { If (CondRefOf (\_SB.PCI0.LPCB.EC0.S0IX)) { \_SB.PCI0.LPCB.EC0.S0IX (Zero) } If (CondRefOf (\_SB.MS0X)) { \_SB.MS0X (Zero) } If (CondRefOf (\_SB.PCI0.RGPM)) { \_SB.PCI0.RGPM () } If (CondRefOf (\_SB.PCI0.TXHC)) { \_SB.PCI0.DPOF = Zero } } Return (Buffer (One) { 0x00 // . }) } If ((Local0 == ToUUID ("57a6512e-3979-4e9d-9708-ff13b2508972") /* Unknown UUID */)) { ToInteger (Arg2, Local1) If ((Local1 == Zero)) { Return (Buffer (One) { 0x03 // . }) } If ((Local1 == One)) { Return (Buffer (0xC0) { /* 0000 */ 0x36, 0x02, 0x7C, 0x75, 0xEF, 0x01, 0x7C, 0x80, // 6.|u..|. /* 0008 */ 0xAC, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0010 */ 0x05, 0xE8, 0x3F, 0x18, 0x00, 0x00, 0xA0, 0xAA, // ..?..... /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0048 */ 0x7E, 0x02, 0xFE, 0xF7, 0xEF, 0x01, 0x7C, 0xE8, // ~.....|. /* 0050 */ 0xAD, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0058 */ 0xC5, 0xE8, 0x3F, 0x38, 0x00, 0x00, 0xA0, 0xAA, // ..?8.... /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0078 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0080 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0088 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0090 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0098 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 00A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 00A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 00B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 00B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ }) } Return (Buffer (One) { 0x00 // . }) } Return (Buffer (One) { 0x00 // . }) } } } Scope (\_SB.PCI0.CNVW) { Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x6D, 0x03 }) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { ToBuffer (Arg0, Local0) Return (Buffer (One) { 0x00 // . }) } } Scope (\_SB.PCI0.I2C0) { Device (D00F) { Name (_HID, "KIOX000A") // _HID: Hardware ID Name (_CID, "KIOX000A") // _CID: Compatible ID Name (_UID, Zero) // _UID: Unique ID Name (_DDN, "Accelerometer") // _DDN: DOS Device Name Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { I2cSerialBusV2 (0x000F, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C0", 0x00, ResourceConsumer, , Exclusive, ) }) Method (ROTM, 0, NotSerialized) { Package (0x03) { "1 0 0", "0 -1 0", "0 0 1" } } Method (_CDM, 1, NotSerialized) // _CDM: Clock Domain { Return (0x00ABCD06) } } } Scope (\_SB.PCI0.I2C2) { Device (H05D) { Name (_HID, "GXTP7386") // _HID: Hardware ID Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_UID, Zero) // _UID: Unique ID Name (_DDN, "Touchscreen") // _DDN: DOS Device Name Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { I2cSerialBusV2 (0x005D, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C2", 0x00, ResourceConsumer, , Exclusive, ) GpioInt (Level, ActiveLow, Exclusive, PullDefault, 0x0000, "\\_SB.PCI0.GPIO", 0x00, ResourceConsumer, , ) { // Pin list 0x0132 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.PCI0.GPIO", 0x00, ResourceConsumer, , ) { // Pin list 0x0131 } }) Name (_DSD, Package (0x02) // _DSD: Device-Specific Data { ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, Package (0x02) { Package (0x02) { "irq-gpios", Package (0x04) { \_SB.PCI0.I2C2.H05D, Zero, Zero, Zero } }, Package (0x02) { "reset-gpios", Package (0x04) { \_SB.PCI0.I2C2.H05D, One, Zero, One } } } }) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { ToBuffer (Arg0, Local0) If ((Local0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { ToInteger (Arg2, Local1) If ((Local1 == Zero)) { ToInteger (Arg1, Local2) If ((Local2 == One)) { Return (Buffer (One) { 0x03 // . }) } Else { Return (Buffer (One) { 0x00 // . }) } } If ((Local1 == One)) { Return (0x01) } Return (Buffer (One) { 0x00 // . }) } Return (Buffer (One) { 0x00 // . }) } } } Scope (\_SB.PCI0) { Mutex (R3MX, 0x00) } Scope (\_SB.PCI0.RP09) { OperationRegion (PXCS, PCI_Config, Zero, 0xFF) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x52), , 13, LASX, 1, Offset (0xE0), , 7, NCB7, 1, Offset (0xE2), , 2, L23E, 1, L23R, 1 } OperationRegion (PMCP, SystemMemory, 0xFE001000, 0xFF) Field (PMCP, DWordAcc, NoLock, Preserve) { Offset (0xD0), Offset (0xD1), EMPG, 1, Offset (0xD4), Offset (0xD5), AMPG, 1 } Name (_PR0, Package (0x01) // _PR0: Power Resources for D0 { RTD3 }) PowerResource (RTD3, 0x00, 0x0000) { Method (_STA, 0, NotSerialized) // _STA: Status { 0x87 = \_SB.PCI0.GTXS /* External reference */ Local0 Return (Local0) } Method (_ON, 0, Serialized) // _ON_: Power On { Local0 = \_SB.PCI0.RP09.RTD3._STA () If ((Local0 == One)) { Return (One) } Acquire (\_SB.PCI0.R3MX, 0xFFFF) EMPG = Zero Local7 = 0x32 While ((Local7 > Zero)) { If ((AMPG == Zero)) { Break } Sleep (0x02) Local7-- } If ((Local7 == Zero)) { Debug = "WARN: Wait loop timeout for variable AMPG" } Release (\_SB.PCI0.R3MX) \_SB.PCI0.STXS (0x87) \_SB.PCI0.PMC.IPCS (0xAC, Zero, 0x10, 0x00000001, 0x00000001, 0x00000100, 0x00000100) \_SB.PCI0.STXS (0x5F) If ((NCB7 == One)) { L23R = One Local7 = 0xA0 While ((Local7 > Zero)) { If ((L23R == Zero)) { Break } Sleep (0x02) Local7-- } If ((Local7 == Zero)) { Debug = "WARN: Wait loop timeout for variable L23R" } NCB7 = Zero Local7 = 0x40 While ((Local7 > Zero)) { If ((LASX == One)) { Break } Sleep (0x02) Local7-- } If ((Local7 == Zero)) { Debug = "WARN: Wait loop timeout for variable LASX" } } } Method (_OFF, 0, Serialized) // _OFF: Power Off { L23E = One Local7 = 0x40 While ((Local7 > Zero)) { If ((L23E == Zero)) { Break } Sleep (0x02) Local7-- } If ((Local7 == Zero)) { Debug = "WARN: Wait loop timeout for variable L23E" } NCB7 = One \_SB.PCI0.CTXS (0x5F) Acquire (\_SB.PCI0.R3MX, 0xFFFF) EMPG = One Local7 = 0x32 While ((Local7 > Zero)) { If ((AMPG == One)) { Break } Sleep (0x02) Local7-- } If ((Local7 == Zero)) { Debug = "WARN: Wait loop timeout for variable AMPG" } Release (\_SB.PCI0.R3MX) \_SB.PCI0.PMC.IPCS (0xAC, Zero, 0x10, 0x00000001, 0x00000000, 0x00000100, 0x00000000) \_SB.PCI0.CTXS (0x87) } } Name (_DSD, Package (0x02) // _DSD: Device-Specific Data { ToUUID ("6211e2c0-58a3-4af3-90e1-927a4e0c55a4") /* Unknown UUID */, Package (0x01) { Package (0x02) { "HotPlugSupportInD3", One } } }) Device (PXSX) { Name (_ADR, 0x0000000000000000) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_S0W, 0x03) // _S0W: S0 Device Wake State Name (_DSD, Package (0x02) // _DSD: Device-Specific Data { ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, Package (0x01) { Package (0x02) { "StorageD3Enable", One } } }) } } Scope (\_SB.PCI0.PMC) { Device (MUX) { Name (_HID, "INTC105C") // _HID: Hardware ID Name (_DDN, "Intel PMC MUX Driver") // _DDN: DOS Device Name } } Scope (\_SB.PCI0.PMC.MUX) { Device (CON0) { Name (_ADR, Zero) // _ADR: Address Name (_DSD, Package (0x02) // _DSD: Device-Specific Data { ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, Package (0x02) { Package (0x02) { "usb2-port-number", One }, Package (0x02) { "usb3-port-number", 0x03 } } }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x2, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x1, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "CENTER", PLD_HorizontalPosition = "CENTER", PLD_Shape = "HORIZONTALRECTANGLE", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) } } Scope (\_SB.PCI0.PMC.MUX) { Device (CON1) { Name (_ADR, One) // _ADR: Address Name (_DSD, Package (0x02) // _DSD: Device-Specific Data { ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, Package (0x02) { Package (0x02) { "usb2-port-number", 0x02 }, Package (0x02) { "usb3-port-number", One } } }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x2, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x1, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "CENTER", PLD_HorizontalPosition = "CENTER", PLD_Shape = "HORIZONTALRECTANGLE", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) } } } TPM2 ---- [000h 0000 004h] Signature : "TPM2" [Trusted Platform Module hardware interface Table] [004h 0004 004h] Table Length : 0000004C [008h 0008 001h] Revision : 04 [009h 0009 001h] Checksum : 10 [00Ah 0010 006h] Oem ID : "COREv4" [010h 0016 008h] Oem Table ID : "COREBOOT" [018h 0024 004h] Oem Revision : 00000000 [01Ch 0028 004h] Asl Compiler ID : "CORE" [020h 0032 004h] Asl Compiler Revision : 20230628 [024h 0036 002h] Platform Class : 0000 [026h 0038 002h] Reserved : 0000 [028h 0040 008h] Control Address : 0000000000000000 [030h 0048 004h] Start Method : 06 [Memory Mapped I/O] [034h 0052 00Ch] Method Parameters : 00 00 00 00 00 00 00 00 00 00 00 00 [040h 0064 004h] Minimum Log Length : 00010000 [044h 0068 008h] Log Address : 000000007686B000 Raw Table Data: Length 76 (0x4C) 0000: 54 50 4D 32 4C 00 00 00 04 10 43 4F 52 45 76 34 // TPM2L.....COREv4 0010: 43 4F 52 45 42 4F 4F 54 00 00 00 00 43 4F 52 45 // COREBOOT....CORE 0020: 28 06 23 20 00 00 00 00 00 00 00 00 00 00 00 00 // (.# ............ 0030: 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ 0040: 00 00 01 00 00 B0 86 76 00 00 00 00 // .......v....


Hardware for Linux and BSD

GitHub