From 6ea3f7019090900de599a0608636d718897387d7 Mon Sep 17 00:00:00 2001 From: Marijan Limov Date: Wed, 8 Sep 2021 16:58:07 +0200 Subject: [PATCH] beryllium: Add support for Focaltech touchscreen --- beryllium/DSDT.aml | Bin 243781 -> 245057 bytes beryllium/DSDT.dsl | 160 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 157 insertions(+), 3 deletions(-) diff --git a/beryllium/DSDT.aml b/beryllium/DSDT.aml index d4007e5e1382afb506dee633a556b261177c3ceb..ba0ed7b944070833bee12dc9124970e34a3fb06c 100644 GIT binary patch delta 891 zcmbV~ziSjh6vuC7QXF%5s6=8TJnaPKcK7afX252D%p@Ts{E$L_zjJeyeb{_T-oAg-Xf$sn zX7SusPFg<~$_FWHles|N=oBN(E)=gdTcCbeeAMhZ>!Ej7v-#psvpo_NUk$s4p990L zl3sask=>iid8c!CJigDt?}O)|aWDqD35P)0lN8`9@O+mbG2ukSxue>hh9Dvk3PcZN zVoe301gO})C6@C*2nWR;&uuYFX%Hz$zrwLX3<7ZTqzgajFZRJOd8 zs&$Y?smMX;3_4ayu+iK}p~Bx%dPZSGmDyHKHz#Fg5K8HPrPu!4QTF2PRbcn0mp|!u zkpDl>bW}+Mo`D=6&$xQi;bJJ(5ceTUAqpY#s`-VWa2_}$ylm{U>mXG(fsoO5W5N&& zT78JCZ91Oa^e-`3?HYI&5w16HwpdlDxIJV&j@y|%96jC`@$$(ETWV1b<<5}3SZl5g qvq3iuMY*!gT6BK(ayCeU=K9iddd6hgKnhe7DU$pZ^2;{lDM< delta 155 zcmV;M0A&Bc`VPhL4hlq5L{vq%0{{XykqXQLg?6#n^#K8JgU$kn&H@3q&H@5r?E-;7 zw=(boB2*NOR{>vAPfY^|P(wyX5ra|z3mp}=aYO?S0Rl8Imw`nCE&?<(m$5|yEdnwy zm)}JL;+Mik11teBm+wXcDFHIK8Ak(V1h-I514s+En^^;eP6$**Q&clEGcdO(r~?ZE Jw^FPF?-0>rF;xHn 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){} -- 2.45.2