From: Marijan Limov Date: 星期三, 8 Sep 2021 14:58:07 +0000 (+0200) Subject: beryllium: Add support for Focaltech touchscreen X-Git-Url: https://git.renegade-project.org/?a=commitdiff_plain;h=6ea3f7019090900de599a0608636d718897387d7;p=edk2-sdm845-acpi.git beryllium: Add support for Focaltech touchscreen --- diff --git a/beryllium/DSDT.aml b/beryllium/DSDT.aml index d4007e5..ba0ed7b 100644 Binary files a/beryllium/DSDT.aml and b/beryllium/DSDT.aml differ diff --git a/beryllium/DSDT.dsl b/beryllium/DSDT.dsl index bec0a4e..20a837a 100644 --- a/beryllium/DSDT.dsl +++ b/beryllium/DSDT.dsl @@ -127,7 +127,7 @@ DefinitionBlock ("", "DSDT", 2, "QCOMM ", "SDM850 ", 0x00000003) "\\_SB.GIO0", 0x00, ResourceConsumer, , ) { // Pin list - 112 + 0xC0 } GpioIo (Shared, PullUp, 0x0000, 0x0000, IoRestrictionNone, "\\_SB.GIO0", 0x00, ResourceConsumer, , @@ -52418,7 +52418,12 @@ DefinitionBlock ("", "DSDT", 2, "QCOMM ", "SDM850 ", 0x00000003) Method (_ROM, 3, NotSerialized) // _ROM: Read-Only Memory { - Include("displayXML.asl") + + + If (ToInteger (Arg2) == 0){ + Include("displayXML.asl") + } + Local2 = PCFG /* \_SB_.GPU0._ROM.PCFG */ If ((Arg0 >= SizeOf (Local2))) @@ -57679,10 +57684,12 @@ Include("cust_thermal_zones.asl") Name (_SUB, "RENEGA0E") // _SUB: Subsystem ID } + + Device (TSC1) { //change HID back to TEST3330 - Name (_HID, "TEST3330") // _HID: Hardware ID + Name (_HID, "NVTS3667") // _HID: Hardware ID //Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID //Name (_SUB, "C153144D") // _SUB: Subsystem ID Name (_HRV, One) // _HRV: Hardware Revision @@ -57816,6 +57823,153 @@ Include("cust_thermal_zones.asl") } } + Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 + { + DEID = Buffer (ESNL){} + DVAL = 0x03 + DEID = PGID /* \_SB_.TSC1.PGID */ + If (^^ABD.AVBL) + { + ^^PEP0.FLD0 = DBUF /* \_SB_.TSC1.DBUF */ + } + } + } + + Device (TSC2) + { + Name (_HID, "FTTS8719") // _HID: Hardware ID + //Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID + //Name (_SUB, "C153144D") // _SUB: Subsystem ID + Name (_HRV, One) // _HRV: Hardware Revision + Name (_ADR, Zero) // _ADR: Address + Name (_UID, One) // _UID: Unique ID + Name (_DEP, Package (0x03) // _DEP: Dependencies + { + PEP0, + GIO0, + IC15 + }) + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Name (RBUF, ResourceTemplate () + { + I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80, + AddressingMode7Bit, "\\_SB.IC15", + 0x00, ResourceConsumer, , Exclusive, + ) + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000, + "\\_SB.GIO0", 0x00, ResourceConsumer, , + ) + { // Pin list + 31 + } + //GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionNone, + // "\\_SB.GIO0", 0x00, ResourceConsumer, , + // ) + // { // Pin list + // 32 + // } + }) + Return (RBUF) /* \_SB_.TSC1._CRS.RBUF */ + } + + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method + { + While (One) + { + Name (_T_0, Buffer (0x01) // _T_x: Emitted by ASL Compiler + { + 0x00 // . + }) + CopyObject (ToBuffer (Arg0), _T_0) /* \_SB_.TSC1._DSM._T_0 */ + If ((_T_0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) + { + While (One) + { + Name (_T_1, 0x00) // _T_x: Emitted by ASL Compiler + _T_1 = ToInteger (Arg2) + If ((_T_1 == Zero)) + { + While (One) + { + Name (_T_2, 0x00) // _T_x: Emitted by ASL Compiler + _T_2 = ToInteger (Arg1) + If ((_T_2 == One)) + { + Return (Buffer (One) + { + 0x03 // . + }) + } + Else + { + Return (Buffer (One) + { + 0x00 // . + }) + } + + Break + } + } + ElseIf ((_T_1 == One)) + { + Debug = "Method _DSM Function HID" + Return (0x20) + } + Else + { + } + + Break + } + } + Else + { + Return (Buffer (One) + { + 0x00 // . + }) + } + + Break + } + } + + Name (PGID, Buffer (0x0A) + { + "\\_SB.TSC1" + }) + Name (DBUF, Buffer (DBFL){}) + CreateByteField (DBUF, Zero, STAT) + CreateByteField (DBUF, 0x02, DVAL) + CreateField (DBUF, 0x18, 0xA0, DEID) + Method (_S1D, 0, NotSerialized) // _S1D: S1 Device State + { + Return (0x03) + } + + Method (_S2D, 0, NotSerialized) // _S2D: S2 Device State + { + Return (0x03) + } + + Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State + { + Return (0x03) + } + + Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 + { + DEID = Buffer (ESNL){} + DVAL = Zero + DEID = PGID /* \_SB_.TSC1.PGID */ + If (^^ABD.AVBL) + { + ^^PEP0.FLD0 = DBUF /* \_SB_.TSC1.DBUF */ + } + } + Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { DEID = Buffer (ESNL){}