beryllium: Add support for Focaltech touchscreen
authorMarijan Limov <marijan.limov@gmail.com>
星期三, 8 Sep 2021 14:58:07 +0000 (16:58 +0200)
committerMarijan Limov <marijan.limov@gmail.com>
星期三, 8 Sep 2021 14:58:07 +0000 (16:58 +0200)
beryllium/DSDT.aml
beryllium/DSDT.dsl

index d4007e5e1382afb506dee633a556b261177c3ceb..ba0ed7b944070833bee12dc9124970e34a3fb06c 100644 (file)
Binary files a/beryllium/DSDT.aml and b/beryllium/DSDT.aml differ
index bec0a4e5351e6d05448a62d80c6a7699b385a38c..20a837a6335aceb010c9983766cf3ebc0a323c79 100644 (file)
@@ -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){}