From 6ced3d742cc9bb0a79f03ae72c89570e70899db7 Mon Sep 17 00:00:00 2001 From: BigfootACA Date: Fri, 27 Aug 2021 19:14:30 +0800 Subject: [PATCH] Fix Bluetooth on dipper (maybe) Signed-off-by: sunshuyu <1582956180@qq.com> Signed-off-by: BigfootACA --- dipper/DSDT.aml | Bin 241996 -> 241212 bytes dipper/DSDT.dsl | 628 +------------------------------------ dipper/wcnss_bt.asl | 49 +++ dipper/wcnss_resources.asl | 384 +++++++++++++++++++++++ 4 files changed, 436 insertions(+), 625 deletions(-) create mode 100644 dipper/wcnss_bt.asl create mode 100644 dipper/wcnss_resources.asl diff --git a/dipper/DSDT.aml b/dipper/DSDT.aml index 510bea9c98b2ceb16b2e50184ccfc88094ecd5f8..bc826165a38ea44296e43bdb5eace70beeba48b1 100644 GIT binary patch delta 225 zcmX@}h;PpwJ}#GFmk^tE%nVHS6S>YZUA1bw*?N<4>rEy;LD`T1*8l?%Zr5;M7ltL_ zPC?EbAVSC`m|4hAYC4M$lPR+oJIiz%A*KpeXLc4|m+9{=F&a!)6=AYx2J)v{NHQ6L zdD9C-nM5TWgqV3|;)9*^oc&!R7=%0prZ0HID8&jiiZ@`ooe)zQvlGbF zON@pP&5y*H9!rEy;LD|*-*8l?%Zr5;M7ltL_ zPC?EbAVSEcg;~hSVmgZulPR;GAp3M1A*PDyPu?-APcBernZ8DpiDUYj-;7$*?};+; zPA`7Ps6G9F7!#{F4@0az10xqZgOIlXJFiP{h+~K=0~gcu{-2B*)Ax%p@l3B0U{VL^ zVw-w|Nf&HboEQ`P)Kfsw01+nE>F!rs8!+8Yh^dUQr^FDR@&bA)0OBb|Qk`{4gy|8sFyloS o?<>GQU0ayR2ox;sz+l-PC&sMT!RR-=cOJ7ZBh&WV^OzI)0W^(;EdT%j diff --git a/dipper/DSDT.dsl b/dipper/DSDT.dsl index 44576a9..619d496 100644 --- a/dipper/DSDT.dsl +++ b/dipper/DSDT.dsl @@ -30492,595 +30492,7 @@ DefinitionBlock ("", "DSDT", 2, "QCOMM ", "SDM850 ", 0x00000003) }) } - Scope (PEP0) - { - Method (EWMD, 0, NotSerialized) - { - Return (WBRC) /* \_SB_.PEP0.WBRC */ - } - - Name (WBRC, Package (0x03) - { - Package (0x07) - { - "DEVICE", - "\\_SB.AMSS.QWLN", - Package (0x03) - { - "COMPONENT", - Zero, - Package (0x02) - { - "FSTATE", - Zero - } - }, - - Package (0x07) - { - "DSTATE", - Zero, - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_SMPS7_A", - 0x02, - 0x000FAFA0, - One, - 0x06, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO5_A", - One, - 0x000C3500, - One, - 0x07, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO7_A", - One, - 0x001B7740, - One, - 0x07, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO17_A", - One, - 0x0013E5C0, - One, - 0x07, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO25_A", - One, - 0x002F5D00, - One, - 0x07, - Zero - } - } - }, - - Package (0x07) - { - "DSTATE", - 0x02, - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO25_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO17_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO7_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO5_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_SMPS7_A", - 0x02, - Zero, - Zero, - 0x05, - Zero - } - } - }, - - Package (0x07) - { - "DSTATE", - 0x03, - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO25_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO17_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO7_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO5_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_SMPS7_A", - 0x02, - Zero, - Zero, - 0x05, - Zero - } - } - }, - - Package (0x02) - { - "ABANDON_DSTATE", - 0x02 - } - }, - - Package (0x03) - { - "DEVICE", - "\\_SB.COEX", - Package (0x05) - { - "COMPONENT", - Zero, - Package (0x02) - { - "FSTATE", - Zero - }, - - Package (0x07) - { - "PSTATE", - Zero, - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_SMPS7_A", - 0x02, - 0x000FAFA0, - One, - 0x06, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO5_A", - One, - 0x000C3500, - One, - 0x07, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO7_A", - One, - 0x001B7740, - One, - 0x07, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO17_A", - One, - 0x0013E5C0, - One, - 0x07, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO25_A", - One, - 0x002F5D00, - One, - 0x07, - Zero - } - } - }, - - Package (0x07) - { - "PSTATE", - One, - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO25_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO17_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO7_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO5_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_SMPS7_A", - 0x02, - Zero, - Zero, - 0x05, - Zero - } - } - } - } - }, - - Package (0x05) - { - "DEVICE", - "\\_SB.BTH0", - Package (0x03) - { - "COMPONENT", - Zero, - Package (0x02) - { - "FSTATE", - Zero - } - }, - - Package (0x07) - { - "DSTATE", - Zero, - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_SMPS3_A", - 0x02, - 0x0014A140, - One, - 0x06, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_SMPS5_A", - 0x02, - 0x001F20C0, - One, - 0x06, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO7_A", - One, - 0x001B7740, - One, - 0x07, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO17_A", - One, - 0x0013E5C0, - One, - 0x07, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO25_A", - One, - 0x002F5D00, - One, - 0x07, - Zero - } - } - }, - - Package (0x07) - { - "DSTATE", - 0x03, - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO7_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO17_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_LDO25_A", - One, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_SMPS3_A", - 0x02, - Zero, - Zero, - 0x05, - Zero - } - }, - - Package (0x02) - { - "PMICVREGVOTE", - Package (0x06) - { - "PPP_RESOURCE_ID_SMPS5_A", - 0x02, - Zero, - Zero, - 0x05, - Zero - } - } - } - } - }) - } + Include ("wcnss_resources.asl") Scope (PEP0) { @@ -58980,42 +58392,8 @@ Include("cust_thermal_zones.asl") Alias (PSUB, _SUB) } - Device (BTH0) - { - Name (_HID, "QCON02B5") // _HID: Hardware ID - Alias (PSUB, _SUB) - Name (_DEP, Package (0x03) // _DEP: Dependencies - { - PEP0, - PMIC, - UAR7 - }) - Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake - { - Zero, - Zero - }) - Name (_S4W, 0x02) // _S4W: S4 Device Wake State - Name (_S0W, 0x02) // _S0W: S0 Device Wake State - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Name (PBUF, ResourceTemplate () - { - UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne, - 0xC0, LittleEndian, ParityTypeNone, FlowControlHardware, - 0x0020, 0x0020, "\\_SB.UAR7", - 0x00, ResourceConsumer, , Exclusive, - ) - }) - Return (PBUF) /* \_SB_.BTH0._CRS.PBUF */ - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (0x0F) - } - } - + Include ("wcnss_bt.asl") + Include("adc.asl") } diff --git a/dipper/wcnss_bt.asl b/dipper/wcnss_bt.asl new file mode 100644 index 0000000..eb5021c --- /dev/null +++ b/dipper/wcnss_bt.asl @@ -0,0 +1,49 @@ +// +// WCN3990 Bluetooth +// +Device(BTH0) +{ + Name(_HID, "QCOM02B5") + Alias(\_SB.PSUB, _SUB) + Name(_DEP, Package(0x3) + { + \_SB_.PEP0, + \_SB_.PMIC, + \_SB_.UAR7 // depends on UART ACPI definition + }) + Name(_PRW, Package(0x2) + { + Zero, + Zero + }) + Name(_S4W, 0x2) + Name(_S0W, 0x2) + Method(_CRS, 0x0, NotSerialized) + { + Name(PBUF, ResourceTemplate() + { + UARTSerialBus( + 115200, // ConnectionSpeed + DataBitsEight, // BitsPerByte (defaults to DataBitsEight) + StopBitsOne, // StopBits (defaults to StopBitsOne) + 0xC0, // LinesInUse + LittleEndian, // IsBigEndian (defaults to LittleEndian) + ParityTypeNone, // Parity (defaults to ParityTypeNone) + FlowControlHardware, // FlowControl (defaults to FlowControlNone) + 0x20, // ReceiveBufferSize + 0x20, // TransmitBufferSize + "\\_SB.UAR7", // depends on UART ACPI definition + 0, // ResourceSourceIndex (defaults to 0) + ResourceConsumer, // ResourceUsage (defaults to ResourceConsumer) + , // DescriptorName + ) + + // GpioIo(Exclusive, PullDown, 0, 0, , "\\_SB.PM01", , , , ) {146} // 0x690 - PM_INT__PM1_GPIO19__GPIO_IN_STS + }) + Return(PBUF) + } + Method(_STA, 0x0, NotSerialized) + { + Return(0xF) + } +}//End BTH0 diff --git a/dipper/wcnss_resources.asl b/dipper/wcnss_resources.asl new file mode 100644 index 0000000..18cc61c --- /dev/null +++ b/dipper/wcnss_resources.asl @@ -0,0 +1,384 @@ +// PEP resources for WCNSS +Scope(\_SB_.PEP0) +{ + //Wireless Connectivity Devices + Method(EWMD) + { + Return(WBRC) + } + + Name(WBRC, + Package() + { + // PEP settings for Wlan iHelium + Package() + { + "DEVICE", + "\\_SB.AMSS.QWLN", + + Package() + { + "COMPONENT", + 0x0, // Component 0 + + Package() + { + "FSTATE", + 0x0, // F0 state + }, + }, + + Package() + { + "DSTATE", + 0x0, // D0 state + + package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_SMPS7_A", // Resource ID + 2, // Voltage Regulator type 2 = SMPS + 1028000, // Voltage = 1.028 V + 1, // Software Enable = Enable + 6, // Software Power Mode = Auto + 0, // Head Room + }, + }, + package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_LDO5_A", // Resource ID + 1, // Voltage Regulator type 1 = LDO + 800000, // Voltage = 0.8 V + 1, // Software Enable = Enable + 7, // Software Power Mode = NPM + 0, // Head Room + }, + }, + }, + Package() + { + "DSTATE", + 0x2, // D2 state + + Package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_LDO5_A", // Resource ID + 1, // Voltage Regulator type 1 = LDO + 0, // Voltage = 0 V + 0, // Software Enable = Disable + 5, // Software Power Mode = LPM + 0, // Head Room + }, + }, + package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_SMPS7_A", // Resource ID + 2, // Voltage Regulator type 2 = SMPS + 0, // Voltage = 0 V + 0, // Software Enable = Disable + 5, // Software Power Mode = LPM + 0, // Head Room + }, + }, + }, + Package() + { + "DSTATE", + 0x3, // D3 state + + Package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_LDO5_A", // Resource ID + 1, // Voltage Regulator type 1 = LDO + 0, // Voltage = 0 V + 0, // Software Enable = Disable + 5, // Software Power Mode = LPM + 0, // Head Room + }, + }, + package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_SMPS7_A", // Resource ID + 2, // Voltage Regulator type 2 = SMPS + 0, // Voltage = 0 V + 0, // Software Enable = Disable + 5, // Software Power Mode = LPM + 0, // Head Room + }, + }, + }, + + package() + { + "ABANDON_DSTATE", + 2 // Abandon D state defined as D2 + }, + }, + // END AMSS.QWLN + + // PEP settings for Ltecoex device + Package() + { + "DEVICE", + "\\_SB.COEX", + Package() + { + "COMPONENT", + 0x0, // Component 0. + Package() + { + "FSTATE", + 0x0, // f0 state + }, + + Package() + { + "PSTATE", + 0x0, // P0 state + + package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_SMPS7_A", // Resource ID + 2, // Voltage Regulator type 2 = SMPS + 1028000, // Voltage = 1.028 V + 1, // Software Enable = Enable + 6, // Software Power Mode = Auto + 0, // Head Room + }, + }, + + package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_LDO5_A", // Resource ID + 1, // Voltage Regulator type 1 = LDO + 800000, // Voltage = 0.8 V + 1, // Software Enable = Enable + 7, // Software Power Mode = NPM + 0, // Head Room + }, + }, + }, + Package() + { + "PSTATE", + 0x1, // P1 state + + Package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_LDO5_A", // Resource ID + 1, // Voltage Regulator type 1 = LDO + 0, // Voltage = 0 V + 0, // Software Enable = Disable + 5, // Software Power Mode = LPM + 0, // Head Room + }, + }, + package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_SMPS7_A", // Resource ID + 2, // Voltage Regulator type 2 = SMPS + 0, // Voltage = 0 V + 0, // Software Enable = Disable + 5, // Software Power Mode = LPM + 0, // Head Room + }, + }, + }, + }, + }, + // END _SB.COEX + + // PEP settings for Bluetooth SOC + Package() + { + "DEVICE", + "\\_SB.BTH0", + Package() + { + "COMPONENT", + 0x0, // Component 0. + Package() + { + "FSTATE", + 0x0, // f0 state + }, + }, + Package() + { + "DSTATE", + 0x0, // D0 state + + package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_SMPS3_A", // Resource ID + 2, // Voltage Regulator type 2 = SMPS + 1352000, // Voltage = 1.352 V + 1, // Software Enable = Enable + 6, // Software Power Mode = Auto + 0, // Head Room + }, + }, + package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_SMPS5_A", // Resource ID + 2, // Voltage Regulator type 2 = SMPS + 2040000, // Voltage = 2.04 V + 1, // Software Enable = Enable + 6, // Software Power Mode = Auto + 0, // Head Room + }, + }, + Package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_LDO7_A", // Resource ID + 1, // Voltage Regulator type 1 = LDO + 1800000, // Voltage = 1.8 V + 1, // Software Enable = Enable + 5, // Software Power Mode = LPM + 0, // Head Room + }, + }, + Package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_LDO17_A", // Resource ID + 1, // Voltage Regulator type 1 = LDO + 1304000, // Voltage = 1.304 V + 1, // Software Enable = Enable + 5, // Software Power Mode = LPM + 0, // Head Room + }, + }, + Package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_LDO25_A", // Resource ID + 1, // Voltage Regulator type 1 = LDO + 3104000, // Voltage = 3.104 V + 1, // Software Enable = Enable + 5, // Software Power Mode = LPM + 0, // Head Room + }, + }, + }, + Package() + { + "DSTATE", + 0x3, // D3 state + + Package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_LDO7_A", // Resource ID + 1, // Voltage Regulator type 1 = LDO + 0, // Voltage = 0 V + 0, // Software Enable = Disable + 5, // Software Power Mode = LPM + 0, // Head Room + }, + }, + Package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_LDO17_A", // Resource ID + 1, // Voltage Regulator type 1 = LDO + 0, // Voltage = 0 V + 0, // Software Enable = Disable + 5, // Software Power Mode = LPM + 0, // Head Room + }, + }, + Package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_LDO25_A", // Resource ID + 1, // Voltage Regulator type 1 = LDO + 0, // Voltage = 0 V + 0, // Software Enable = Disable + 5, // Software Power Mode = LPM + 0, // Head Room + }, + }, + package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_SMPS3_A", // Resource ID + 2, // Voltage Regulator type 2 = SMPS + 0, // Voltage = 0 V + 0, // Software Enable = Disable + 5, // Software Power Mode = LPM + 0, // Head Room + }, + }, + package() + { + "PMICVREGVOTE", + package() + { + "PPP_RESOURCE_ID_SMPS5_A", // Resource ID + 2, // Voltage Regulator type 2 = SMPS + 0, // Voltage = 0 V + 0, // Software Enable = Disable + 5, // Software Power Mode = LPM + 0, // Head Room + }, + }, + }, + }, + // END BTH0 + + // PEP settings for FM SOC + // END FM + + }) // END WBRC +} -- 2.45.2