From f989009df7e18e990ef3dc356b798faf6d5b6546 Mon Sep 17 00:00:00 2001 From: Marijan Limov Date: Thu, 3 Feb 2022 20:27:33 +0100 Subject: [PATCH] beryllium: Fix Focaltech touchscreen --- beryllium/DSDT.AML | Bin 256839 -> 258709 bytes beryllium/Dsdt.asl | 2 +- beryllium/audio_bus.asl | 1 + beryllium/dsdt_common.asl | 5 +- beryllium/focaltech.asl | 141 ++++++++++++++++++++++++++++++ beryllium/focaltech_resources.asl | 141 ++++++++++++++++++++++++++++++ beryllium/pep.asl | 2 +- 7 files changed, 288 insertions(+), 4 deletions(-) create mode 100644 beryllium/focaltech.asl create mode 100644 beryllium/focaltech_resources.asl diff --git a/beryllium/DSDT.AML b/beryllium/DSDT.AML index 2c3b9939c04052e078cc4e371a2bced4ca3244ce..ec21eea86ad9502a7d98f52a9bbad7630c71644f 100644 GIT binary patch delta 2411 zcmbW3e{54#6vxlKukY>ct#93KOS_J3eH$S#-Il$Ibtpg9z1OlryOy;O5Zq%F!%zbw zK!|^65fT#&CN>S+5QA=H#Q29Xi-!8+55)N6FQX>9V1!MQ%^36_O_09~-uJqeZnn|* z$GUsZ=X}pS=f3;yd0);r&M!D5J*lV8|G@!%J1ec^POaITUHdf-dFkK+-i`-c^z{Yo z%iZV2`eY)qes7PF955n&Es+0W0m~?R?~m$z&2n15X$ zkZVOsCJ+G8*b&i@XlPmxTw0Bx4JSby9@r6X3<}ayFV_Ns{!=0}0Gt&7q2B=DoWhI< zTG=1;p6~#8VHGof0()5!J?2uD3ql~8E&wH$7t36phbii~hWRGJ&?8B3)f&lE5T+!@ zp40t8a6mV*f3=*sit<+x@_&cVy+QAMk2-CybRb*aJ%jqh=4h6e_0Z0U76RE?*(?`` zo~fnRTk+~lEbNsNEM_WXBtt0x;^h|SY%F7@jRtoE;See#Xc=iPX(U`7aTQR;S{fu< z1-6Lz>PV=LYN{i#3}wv1%F?ebW6Mxob!4xOdw71*xgld zHm8838d#OY_FaCdjQbZ^C(A^%@4JHSOc!=7DTrByY^4n7Y!g-lc0Fi@KR2CQL5(iN zH+=eQUAYsYb4}P+?)A+j%r~;MNc=%4R{JtH_mlgvRWu2gxpB1pGu*ZqjsAWbyWL@X z@hMw-E^*`uc2H>R8Qg|AdNhbvh!Tc^aW0Qr5XxPj_B2Qskqr+{6x;h5@aZ=>h5Ri=6zPS9LsibU@Hu25G!g>tf6DKkU~$+AP=%xnYLjDs)Yl| zjN(C_d~6oI|6~5=k8yY{H`EiP**kcIzB-Q+Xo$|vRB{daDL=t7)x}WJ$A9f-io&5-Vumbd}o2YB6 zy3V=^`cJMbyvdH@ZQ|@4?}ntbGUd;ZiHtLkUvPnU$NpIHIYK z($zP(4trmr`_}GyHikXQLK5;mG{LqoZ3j1P#J?fOCOrk4A6@B3bw-0Tk v6CZF&Tg%8ukNL3>+&K^(*V$(ao12w~qk6Av6FrjW+Fg}=^64MA`NqEirCt~D delta 1430 zcmaJ>TWAwm7(SOYre`y@GpVL=%XX-!QLr|ml0{rMnM*pF$xJe-RZ@&=b$b!Cf(QyF z>aws8OHsz%1H0~;UHTySq@uygqqisZLA+A!gS&!4^+9}D5YNf9(o5EX1M`39`@io$ z|D1n*`KRI5g9f5HYCiQE19bBQ`4S&H|ILZ$U3Uci@q_5Ah(4IVk4A#D?-5*%)5me; zQ_DOMJHLL*)hDJRnl9alx*<{sYG$8b_z4pAL#DJtV z5c=n06suoXOaK@Jxfb`sruKN;i~d~+AejfGFcR`<(@fch1tj7pVaRYi7aykOF&s8} z0e}EV^AU4QC$<5}2MLlEP8X^7lU^n=n{`{#zL+PdPCk*>0KxQd6h-NG<8ZaVS`nac z@1Q1MnCa8~cTfm3CpyF+|1jX5l~Xs69>r>Vf@a^L?NpgSHdN`!3Dl1^H`5OjD2qBn zH2Vg%27}P+kz*TQUpNW{SaIK?hu2Gnn$Z9d#VFzch8|QPE!jX(_TLAzIN0;`j!u+Oin1ir{CK28R zwruv*HP{riEh__tAdjkn4u${^c(wXx{I~v(zh28QFF$qGTIn0v z!SUPzHOS_AlbDX5VU&F^MgBS6OWeW<&zK!sIl{b;5)7i~NlAgPPLhj?bU^BnC z-YgnQZ0+P!YIX;G_zbtLlfB!=x2C2Kc@y|)`i5s*(9s;LgpNJOJG>gMj^iidN3Pyu Ab^rhX diff --git a/beryllium/Dsdt.asl b/beryllium/Dsdt.asl index c3024f3..41f0140 100644 --- a/beryllium/Dsdt.asl +++ b/beryllium/Dsdt.asl @@ -22,7 +22,7 @@ DefinitionBlock("DSDT.AML", "DSDT", 0x02, "QCOMM ", "SDM850 ", 3) // // Touch // - Include("cust_touch.asl") + Include("focaltech.asl") // // Buttons diff --git a/beryllium/audio_bus.asl b/beryllium/audio_bus.asl index d0c74f9..7dbff2e 100644 --- a/beryllium/audio_bus.asl +++ b/beryllium/audio_bus.asl @@ -44,6 +44,7 @@ Device (ADCM) Name (_DEP, Package() { \_SB_.SPI9, + \_SB_.I2C6 }) Method (_CRS, 0x0, NotSerialized) diff --git a/beryllium/dsdt_common.asl b/beryllium/dsdt_common.asl index 7cb6338..ba08adb 100644 --- a/beryllium/dsdt_common.asl +++ b/beryllium/dsdt_common.asl @@ -27,12 +27,13 @@ Name (TCML, 0x01400000) // Holds TrEE Carveout Memory Length //Audio Drivers Include("audio.asl") +Include("audio_bus.asl") // // Storage - UFS/SD // Include("../Common/ufs.asl") - // Include("../Common/sdc.asl") // No SD support on polaris + Include("../Common/sdc.asl") // // ASL Bridge Device @@ -143,6 +144,6 @@ Include("pmic_batt.asl") // Include("../Common/qgpi.asl") -Include("nfc.asl") +//Include("nfc.asl") Include("../Common/sar_manager.asl") diff --git a/beryllium/focaltech.asl b/beryllium/focaltech.asl new file mode 100644 index 0000000..8390051 --- /dev/null +++ b/beryllium/focaltech.asl @@ -0,0 +1,141 @@ +Include ("focaltech_resources.asl") + +Device (TSC1) +{ + Name (_HID, "FTTS8719") // _HID: Hardware ID + //Name (_HID, "TEST3330") // _HID: Hardware 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 + 0x001F + } + }) + Return (RBUF) /* \_SB_.TSC1._CRS.RBUF */ + } + + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method + { + While (One) + { + Name (_T_0, Buffer (One) // _T_x: Emitted by ASL Compiler, x=0-9, A-Z + { + 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, Zero) // _T_x: Emitted by ASL Compiler, x=0-9, A-Z + _T_1 = ToInteger (Arg2) + If ((_T_1 == Zero)) + { + While (One) + { + Name (_T_2, Zero) // _T_x: Emitted by ASL Compiler, x=0-9, A-Z + _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){} + DVAL = 0x03 + DEID = PGID /* \_SB_.TSC1.PGID */ + If (^^ABD.AVBL) + { + ^^PEP0.FLD0 = DBUF /* \_SB_.TSC1.DBUF */ + } + } +} \ No newline at end of file diff --git a/beryllium/focaltech_resources.asl b/beryllium/focaltech_resources.asl new file mode 100644 index 0000000..335daf3 --- /dev/null +++ b/beryllium/focaltech_resources.asl @@ -0,0 +1,141 @@ +Scope (PEP0) + { + Method (LPMX, 0, NotSerialized) + { + Return (LPXC) /* \_SB_.PEP0.LPXC */ + } + + Name (LPXC, Package (0x01) + { + Package (0x04) + { + "DEVICE", + "\\_SB.TSC1", + Package (0x08) + { + "DSTATE", + Zero, + Package (0x02) + { + "TLMMGPIO", + Package (0x06) + { + 0x1F, + Zero, + Zero, + Zero, + 0x03, + Zero + } + }, + + Package (0x02) + { + "TLMMGPIO", + Package (0x06) + { + 0x20, + Zero, + Zero, + One, + Zero, + Zero + } + }, + + Package (0x02) + { + "PMICVREGVOTE", + Package (0x06) + { + "PPP_RESOURCE_ID_LDO14_A", + One, + 0x001B7740, + One, + 0x07, + Zero + } + }, + + Package (0x02) + { + "DELAY", + Package (0x01) + { + 0x03E8 + } + }, + + Package (0x02) + { + "TLMMGPIO", + Package (0x06) + { + 0x20, + One, + Zero, + One, + Zero, + Zero + } + }, + + Package (0x02) + { + "DELAY", + Package (0x01) + { + 0x4E20 + } + } + }, + + Package (0x05) + { + "DSTATE", + 0x03, + Package (0x02) + { + "PMICVREGVOTE", + Package (0x06) + { + "PPP_RESOURCE_ID_LDO14_A", + One, + Zero, + Zero, + 0x05, + Zero + } + }, + + Package (0x02) + { + "TLMMGPIO", + Package (0x06) + { + 0x20, + Zero, + Zero, + Zero, + One, + Zero + } + }, + + Package (0x02) + { + "TLMMGPIO", + Package (0x06) + { + 0x1F, + Zero, + Zero, + Zero, + One, + Zero + } + } + } + } + }) + } \ No newline at end of file diff --git a/beryllium/pep.asl b/beryllium/pep.asl index de49c9d..42beb38 100644 --- a/beryllium/pep.asl +++ b/beryllium/pep.asl @@ -9,4 +9,4 @@ Include("../Common/pep_common.asl") Include("cust_camera_resources.asl") //Include("nfc_resources.asl") //NFC -Include("cust_touch_resources.asl") +//Include("cust_touch_resources.asl") -- 2.45.2