diff --git a/dsdt.dsl b/dsdt.dsl index b1bae7e..d9848a5 100644 --- a/dsdt.dsl +++ b/dsdt.dsl @@ -5,7 +5,7 @@ * * Disassembling to symbolic ASL+ operators * - * Disassembly of dsdt.dat, Thu Mar 26 23:11:31 2024 + * Disassembly of dsdt.dat, Sun Mar 17 00:25:39 2024 * * Original Table Header: * Signature "DSDT" @@ -18,7 +18,7 @@ * Compiler ID "ACPI" * Compiler Version 0x00040000 (262144) */ -DefinitionBlock ("", "DSDT", 2, "INSYDE", "EDK2 ", 0x00000002) +DefinitionBlock ("", "DSDT", 2, "INSYDE", "EDK2 ", 0x00000003) { External (_SB_.ALIB, MethodObj) // 2 Arguments External (_SB_.APTS, MethodObj) // 1 Arguments @@ -430,6 +430,47 @@ DefinitionBlock ("", "DSDT", 2, "INSYDE", "EDK2 ", 0x00000002) TRCF, 16 } + //total hack??? + //makes TS code compile + OperationRegion (COMP, SystemMemory, 0x2FF56018, 0x0200) + Field (COMP, AnyAcc, Lock, Preserve) + { + RSR0, 32, + BDDD, 8, + CPFB, 8, + PBTI, 8, + BRLV, 8, + CAVR, 8, + TJMA, 16, + CORE, 8, + TPDF, 8, + TPLF, 8, + TPDD, 8, + TMUD, 8, + CG16, 8, + CG17, 8, + CG18, 8, + CG19, 8, + CG20, 8, + CG21, 8, + CG22, 8, + CG23, 8, + CG24, 8, + CG25, 8, + CG26, 8, + CG27, 8, + CG28, 8, + CG29, 8, + CG30, 8, + CG31, 8, + SFNO, 16, + STDT, 16, + BFDT, 1024, + RSR1, 736, + IDFD, 1024, + RSR3, 1024 + } + Method (SCMP, 2, NotSerialized) { Name (STG1, Buffer (0x50){}) @@ -8142,17 +8183,165 @@ DefinitionBlock ("", "DSDT", 2, "INSYDE", "EDK2 ", 0x00000002) Scope (I2CD) { - Device (TPAD) + // Device (TPAD) + // { + // Name (_ADR, One) // _ADR: Address + // Name (_HID, "PIXA3854") // _HID: Hardware ID + // Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID + // Name (_UID, 0x06) // _UID: Unique ID + // Name (SBFB, ResourceTemplate () + // { + // I2cSerialBusV2 (0x002C, ControllerInitiated, 0x00061A80, + // AddressingMode7Bit, "\\_SB.I2CD", + // 0x00, ResourceConsumer, , Exclusive, + // ) + // }) + // Name (SBFG, ResourceTemplate () + // { + // GpioInt (Level, ActiveLow, ExclusiveAndWake, PullUp, 0x0000, + // "\\_SB.GPIO", 0x00, ResourceConsumer, , + // ) + // { // Pin list + // 0x0008 + // } + // }) + // Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method + // { + // If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) + // { + // If ((Arg2 == Zero)) + // { + // If ((Arg1 == One)) + // { + // Return (Buffer (One) + // { + // 0x03 // . + // }) + // } + // Else + // { + // Return (Buffer (One) + // { + // 0x00 // . + // }) + // } + // } + + // If ((Arg2 == One)) + // { + // Return (0x20) + // } + // } + // Else + // { + // Return (Buffer (One) + // { + // 0x00 // . + // }) + // } + + // Return (Zero) + // } + + // Method (_STA, 0, NotSerialized) // _STA: Status + // { + // Return (0x0F) + // } + + // Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings + // { + // If (Ones) + // { + // Return (ConcatenateResTemplate (SBFB, SBFG)) + // } + // } + // } + + Device (TPNL) { Name (_ADR, One) // _ADR: Address - Name (_HID, "PIXA3854") // _HID: Hardware ID - Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID - Name (_UID, 0x06) // _UID: Unique ID + Name (_UID, One) // _UID: Unique ID + Name (_S0W, 0x04) // _S0W: S0 Device Wake State + Name (HID3, Zero) + Name (TPID, Package (0x08) + { + Package (0x05) + { + One, + 0x0A, + One, + "WCOM50F8", + "PNP0C50" + }, + + Package (0x05) + { + 0x02, + 0x0A, + One, + "WCOM50F9", + "PNP0C50" + }, + + Package (0x05) + { + 0x03, + 0x0A, + One, + "WCOM50FA", + "PNP0C50" + }, + + Package (0x05) + { + 0x04, + 0x0A, + One, + "WCOM50FB", + "PNP0C50" + }, + + Package (0x05) + { + 0x05, + 0x0A, + One, + "WCOM50FC", + "PNP0C50" + }, + + Package (0x05) + { + 0x06, + 0x0A, + One, + "WCOM50FD", + "PNP0C50" + }, + + Package (0x05) + { + 0x07, + 0x0A, + One, + "WCOM50FE", + "PNP0C50" + }, + + Package (0x05) + { + 0xFF, + 0x0A, + One, + "WCOM50FB", + "PNP0C50" + } + }) Name (SBFB, ResourceTemplate () { I2cSerialBusV2 (0x002C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2CD", - 0x00, ResourceConsumer, , Exclusive, + 0x00, ResourceConsumer, _Y33, Exclusive, ) }) Name (SBFG, ResourceTemplate () @@ -8164,6 +8353,94 @@ DefinitionBlock ("", "DSDT", 2, "INSYDE", "EDK2 ", 0x00000002) 0x0008 } }) + // Name (SBFI, ResourceTemplate () + // { + // Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, ) + // { + // 0x0000001B, + // } + // }) + //Name (SBFG, ResourceTemplate () + //{ + // GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000, + // "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, , + // ) + // { // Pin list + // 0x0063 + // } + //}) + CreateWordField (SBFB, \_SB.I2CD.TPNL._Y33._ADR, ADR0) // _ADR: Address + Method (_HID, 0, Serialized) // _HID: Hardware ID + { + If (~CondRefOf (TPLF)) + { + Name (TPLF, 0xFF) + } + + Switch (One) + { + Case (Zero) + { + TPLF = 0xFF + } + Case (One) + { + } + Default + { + TPLF = 0xFF + } + + } + + Return (TPDS (0x03, 0xFF, "ATML3432")) + } + + Method (_CID, 0, Serialized) // _CID: Compatible ID + { + If (~CondRefOf (TPLF)) + { + Name (TPLF, 0xFF) + } + + Switch (One) + { + Case (Zero) + { + TPLF = 0xFF + } + Case (One) + { + } + Default + { + TPLF = 0xFF + } + + } + + Return (TPDS (0x04, 0xFF, "PNP0C50")) + } + + Method (TPDS, 3, NotSerialized) + { + Local0 = Zero + Local1 = Zero + Local1 = DerefOf (DerefOf (TPID [Local0]) [Zero]) + While (((Local1 != Arg1) && (Local1 != TPLF))) + { + Local0++ + If ((Local0 >= SizeOf (TPID))) + { + Return (Arg2) + } + + Local1 = DerefOf (DerefOf (TPID [Local0]) [Zero]) + } + + Return (DerefOf (DerefOf (TPID [Local0]) [Arg0])) + } + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) @@ -8188,7 +8465,7 @@ DefinitionBlock ("", "DSDT", 2, "INSYDE", "EDK2 ", 0x00000002) If ((Arg2 == One)) { - Return (0x20) + Return (HID3) /* \_SB_.PCI0.I2C1.TPNL.HID2 */ } } Else @@ -8199,7 +8476,43 @@ DefinitionBlock ("", "DSDT", 2, "INSYDE", "EDK2 ", 0x00000002) }) } - Return (Zero) + If ((Arg0 == ToUUID ("ef87eb82-f951-46da-84ec-14871ac6f84b") /* Unknown UUID */)) + { + If ((Arg2 == Zero)) + { + If ((Arg1 == One)) + { + Return (Buffer (One) + { + 0x03 // . + }) + } + Else + { + Return (Buffer (One) + { + 0x00 // . + }) + } + } + + If ((Arg2 == One)) + { + Return (ConcatenateResTemplate (SBFB, SBFG)) + } + } + Else + { + Return (Buffer (One) + { + 0x00 // . + }) + } + + Return (Buffer (One) + { + 0x00 // . + }) } Method (_STA, 0, NotSerialized) // _STA: Status @@ -8209,10 +8522,34 @@ DefinitionBlock ("", "DSDT", 2, "INSYDE", "EDK2 ", 0x00000002) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { - If (Ones) + Local0 = Zero + Local1 = Zero + Local1 = DerefOf (DerefOf (TPID [Local0]) [Zero]) + While (((Local1 != 0xFF) && (Local1 != TPLF))) { - Return (ConcatenateResTemplate (SBFB, SBFG)) + Local0++ + If ((Local0 >= SizeOf (TPID))) + { + Break + } + + Local1 = DerefOf (DerefOf (TPID [Local0]) [Zero]) } + + ADR0 = DerefOf (DerefOf (TPID [Local0]) [One]) + HID3 = DerefOf (DerefOf (TPID [Local0]) [0x02]) + // If ((OSYS < 0x07DC)) + // { + // Return (SBFI) /* \_SB_.PCI0.I2C1.TPNL.SBFI */ + // } + + // If (Zero) + // { + // Return (ConcatenateResTemplate (SBFB, SBFG)) + // } + + //Return (ConcatenateResTemplate (SBFB, SBFI)) + Return (ConcatenateResTemplate (SBFB, SBFG)) } } }