diff --git a/device/community/linux-postmarketos-qcom-sdm845/0001-Revert-dts-arm64-qcom-sdm845-shift-axolotl-enable-SL.patch b/device/community/linux-postmarketos-qcom-sdm845/0001-Revert-dts-arm64-qcom-sdm845-shift-axolotl-enable-SL.patch new file mode 100644 index 0000000000000000000000000000000000000000..47d99b628641526bfabf75d4c8a2e04ce79e3a66 --- /dev/null +++ b/device/community/linux-postmarketos-qcom-sdm845/0001-Revert-dts-arm64-qcom-sdm845-shift-axolotl-enable-SL.patch @@ -0,0 +1,30 @@ +From 7a95a0a73db77842b980751ebc2405ae9a0d92c5 Mon Sep 17 00:00:00 2001 +From: Dylan Van Assche <me@dylanvanassche.be> +Date: Mon, 1 May 2023 19:00:05 +0200 +Subject: [PATCH 01/14] Revert "dts: arm64: qcom: sdm845-shift-axolotl: enable + SLPI" + +This reverts commit 253e1ecd100d1980a60efd790e15d623fb3e9913. +--- + arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts +index cad23ecc7aae..79ab1a27cf46 100644 +--- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts ++++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts +@@ -516,11 +516,6 @@ &ipa { + status = "okay"; + }; + +-&slpi_pas { +- status = "okay"; +- firmware-name = "qcom/sdm845/axolotl/slpi.mbn"; +-}; +- + &mdss { + status = "okay"; + }; +-- +2.40.0 + diff --git a/device/community/linux-postmarketos-qcom-sdm845/0002-Revert-dts-arm64-qcom-sdm845-oneplus-enable-slpi.patch b/device/community/linux-postmarketos-qcom-sdm845/0002-Revert-dts-arm64-qcom-sdm845-oneplus-enable-slpi.patch new file mode 100644 index 0000000000000000000000000000000000000000..0de011485f63aaa803a77c6cadec048e31f8d3a7 --- /dev/null +++ b/device/community/linux-postmarketos-qcom-sdm845/0002-Revert-dts-arm64-qcom-sdm845-oneplus-enable-slpi.patch @@ -0,0 +1,29 @@ +From 149fd3c6e2840e577233411c748a6553a0a76b43 Mon Sep 17 00:00:00 2001 +From: Dylan Van Assche <me@dylanvanassche.be> +Date: Mon, 1 May 2023 19:00:40 +0200 +Subject: [PATCH 02/14] Revert "dts: arm64: qcom: sdm845-oneplus: enable slpi" + +This reverts commit 9a20640070d5b140c47c22cf963ad699185ff125. +--- + arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi +index 4c9728b85839..5e694c0684f6 100644 +--- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi ++++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi +@@ -476,11 +476,6 @@ &ipa { + status = "okay"; + }; + +-&slpi_pas { +- status = "okay"; +- firmware-name = "qcom/sdm845/oneplus6/slpi.mbn"; +-}; +- + &mdss { + status = "okay"; + }; +-- +2.40.0 + diff --git a/device/community/linux-postmarketos-qcom-sdm845/0003-Revert-dts-arm64-qcom-sdm845-add-slpi-remoteproc.patch b/device/community/linux-postmarketos-qcom-sdm845/0003-Revert-dts-arm64-qcom-sdm845-add-slpi-remoteproc.patch new file mode 100644 index 0000000000000000000000000000000000000000..d72ff914b8c047ad8cec195cae81480e03f760df --- /dev/null +++ b/device/community/linux-postmarketos-qcom-sdm845/0003-Revert-dts-arm64-qcom-sdm845-add-slpi-remoteproc.patch @@ -0,0 +1,61 @@ +From a961cdf76e8d687fad7b957187521b5125f562b4 Mon Sep 17 00:00:00 2001 +From: Dylan Van Assche <me@dylanvanassche.be> +Date: Mon, 1 May 2023 19:01:05 +0200 +Subject: [PATCH 03/14] Revert "dts: arm64: qcom: sdm845: add slpi remoteproc" + +This reverts commit ea0b533b1597c77ea3a9a8116cebb44394bc82f0. +--- + arch/arm64/boot/dts/qcom/sdm845.dtsi | 37 ---------------------------- + 1 file changed, 37 deletions(-) + +diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi +index 5a425480529b..ce4554302705 100644 +--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi ++++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi +@@ -3331,43 +3331,6 @@ glink-edge { + }; + }; + +- slpi_pas: remoteproc@5c00000 { +- compatible = "qcom,sdm845-slpi-pas"; +- reg = <0 0x5c00000 0 0x4000>; +- +- interrupts-extended = <&intc GIC_SPI 494 IRQ_TYPE_EDGE_RISING>, +- <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, +- <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, +- <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, +- <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; +- interrupt-names = "wdog", "fatal", "ready", +- "handover", "stop-ack"; +- +- clocks = <&rpmhcc RPMH_CXO_CLK>; +- clock-names = "xo"; +- +- qcom,qmp = <&aoss_qmp>; +- +- power-domains = <&rpmhpd SDM845_CX>, +- <&rpmhpd SDM845_MX>; +- power-domain-names = "lcx", "lmx"; +- +- memory-region = <&slpi_mem>; +- +- qcom,smem-states = <&slpi_smp2p_out 0>; +- qcom,smem-state-names = "stop"; +- +- status = "disabled"; +- +- glink-edge { +- interrupts = <GIC_SPI 170 IRQ_TYPE_EDGE_RISING>; +- label = "dsps"; +- qcom,remote-pid = <3>; +- mboxes = <&apss_shared 24>; +- }; +- }; +- +- + gpucc: clock-controller@5090000 { + compatible = "qcom,sdm845-gpucc"; + reg = <0 0x05090000 0 0x9000>; +-- +2.40.0 + diff --git a/device/community/linux-postmarketos-qcom-sdm845/0004-Revert-remoteproc-qcom-pas-add-sdm845-slpi-resource.patch b/device/community/linux-postmarketos-qcom-sdm845/0004-Revert-remoteproc-qcom-pas-add-sdm845-slpi-resource.patch new file mode 100644 index 0000000000000000000000000000000000000000..c468dcdc6e1e563506bf0d4cd96badb0bb2b0479 --- /dev/null +++ b/device/community/linux-postmarketos-qcom-sdm845/0004-Revert-remoteproc-qcom-pas-add-sdm845-slpi-resource.patch @@ -0,0 +1,49 @@ +From 4225b1ca756efd6f8781fb168a372e7d3a3c81ec Mon Sep 17 00:00:00 2001 +From: Dylan Van Assche <me@dylanvanassche.be> +Date: Mon, 1 May 2023 19:01:17 +0200 +Subject: [PATCH 04/14] Revert "remoteproc: qcom: pas: add sdm845 slpi + resource" + +This reverts commit 5ba8c58383f898b69b328a82e8336bce6a8ad4f6. +--- + drivers/remoteproc/qcom_q6v5_pas.c | 17 ----------------- + 1 file changed, 17 deletions(-) + +diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c +index 64ca8feae95c..0871108fb4dc 100644 +--- a/drivers/remoteproc/qcom_q6v5_pas.c ++++ b/drivers/remoteproc/qcom_q6v5_pas.c +@@ -1028,22 +1028,6 @@ static const struct adsp_data slpi_resource_init = { + .ssctl_id = 0x16, + }; + +-static const struct adsp_data sdm845_slpi_resource = { +- .crash_reason_smem = 424, +- .firmware_name = "slpi.mdt", +- .pas_id = 12, +- .auto_boot = true, +- .proxy_pd_names = (char*[]){ +- "lcx", +- "lmx", +- NULL +- }, +- .load_state = "slpi", +- .ssr_name = "dsps", +- .sysmon_name = "slpi", +- .ssctl_id = 0x16, +-}; +- + static const struct adsp_data sm8150_slpi_resource = { + .crash_reason_smem = 424, + .firmware_name = "slpi.mdt", +@@ -1217,7 +1201,6 @@ static const struct of_device_id adsp_of_match[] = { + { .compatible = "qcom,sdm660-adsp-pas", .data = &adsp_resource_init}, + { .compatible = "qcom,sdm845-adsp-pas", .data = &sdm845_adsp_resource_init}, + { .compatible = "qcom,sdm845-cdsp-pas", .data = &sdm845_cdsp_resource_init}, +- { .compatible = "qcom,sdm845-slpi-pas", .data = &sdm845_slpi_resource}, + { .compatible = "qcom,sdx55-mpss-pas", .data = &sdx55_mpss_resource}, + { .compatible = "qcom,sm6115-adsp-pas", .data = &adsp_resource_init}, + { .compatible = "qcom,sm6115-cdsp-pas", .data = &cdsp_resource_init}, +-- +2.40.0 + diff --git a/device/community/linux-postmarketos-qcom-sdm845/0005-dt-bindings-remoteproc-qcom-adsp-add-qcom-sdm845-slp.patch b/device/community/linux-postmarketos-qcom-sdm845/0005-dt-bindings-remoteproc-qcom-adsp-add-qcom-sdm845-slp.patch new file mode 100644 index 0000000000000000000000000000000000000000..35e4b4eb3586a70e0480ab0dc255b3f12ed8622f --- /dev/null +++ b/device/community/linux-postmarketos-qcom-sdm845/0005-dt-bindings-remoteproc-qcom-adsp-add-qcom-sdm845-slp.patch @@ -0,0 +1,70 @@ +From 94f5cf71ec049f61ba2a6dcd2ff68be35c910fca Mon Sep 17 00:00:00 2001 +From: Dylan Van Assche <me@dylanvanassche.be> +Date: Sat, 25 Mar 2023 12:44:04 +0100 +Subject: [PATCH 05/14] dt-bindings: remoteproc: qcom: adsp: add + qcom,sdm845-slpi-pas compatible + +SLPI DSP remoteproc on DSP is defined by the 'qcom,sdm845-slpi-pas' +compatible in the qcom_q6v5_pas driver. Add this compatible to the +devicetree bindings. + +Signed-off-by: Dylan Van Assche <me@dylanvanassche.be> +Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> +--- + .../bindings/remoteproc/qcom,adsp.yaml | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml +index 643ee787a81f..eb4a440a661a 100644 +--- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml ++++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml +@@ -26,6 +26,7 @@ properties: + - qcom,sdm660-adsp-pas + - qcom,sdm845-adsp-pas + - qcom,sdm845-cdsp-pas ++ - qcom,sdm845-slpi-pas + + reg: + maxItems: 1 +@@ -63,6 +64,7 @@ allOf: + - qcom,msm8998-adsp-pas + - qcom,sdm845-adsp-pas + - qcom,sdm845-cdsp-pas ++ - qcom,sdm845-slpi-pas + then: + properties: + clocks: +@@ -104,6 +106,7 @@ allOf: + - qcom,msm8998-slpi-pas + - qcom,sdm845-adsp-pas + - qcom,sdm845-cdsp-pas ++ - qcom,sdm845-slpi-pas + then: + properties: + interrupts: +@@ -157,6 +160,22 @@ allOf: + required: + - px-supply + ++ - if: ++ properties: ++ compatible: ++ enum: ++ - qcom,sdm845-slpi-pas ++ then: ++ properties: ++ power-domains: ++ items: ++ - description: LCX power domain ++ - description: LMX power domain ++ power-domain-names: ++ items: ++ - const: lcx ++ - const: lmx ++ + - if: + properties: + compatible: +-- +2.40.0 + diff --git a/device/community/linux-postmarketos-qcom-sdm845/0006-remoteproc-qcom-pas-refactor-SLPI-remoteproc-init.patch b/device/community/linux-postmarketos-qcom-sdm845/0006-remoteproc-qcom-pas-refactor-SLPI-remoteproc-init.patch new file mode 100644 index 0000000000000000000000000000000000000000..ec6ca67f2f52797b3a58f1348b32030470283e8e --- /dev/null +++ b/device/community/linux-postmarketos-qcom-sdm845/0006-remoteproc-qcom-pas-refactor-SLPI-remoteproc-init.patch @@ -0,0 +1,113 @@ +From 6798a89c025bf74116909339200c09f3cdf6ce5b Mon Sep 17 00:00:00 2001 +From: Dylan Van Assche <me@dylanvanassche.be> +Date: Tue, 28 Mar 2023 18:29:28 +0200 +Subject: [PATCH 06/14] remoteproc: qcom: pas: refactor SLPI remoteproc init + +SLPI remoteproc initialization is the same for SDM845, SM8150, SM8250, +SM8350 but is duplicated for each compatible. Refactor initialization +structs for these 4 compatibles as a single struct. + +Signed-off-by: Dylan Van Assche <me@dylanvanassche.be> +Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> +--- + drivers/remoteproc/qcom_q6v5_pas.c | 48 +++++------------------------- + 1 file changed, 8 insertions(+), 40 deletions(-) + +diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c +index 0871108fb4dc..4bfd18e73a95 100644 +--- a/drivers/remoteproc/qcom_q6v5_pas.c ++++ b/drivers/remoteproc/qcom_q6v5_pas.c +@@ -1014,7 +1014,7 @@ static const struct adsp_data sc8180x_mpss_resource = { + .ssctl_id = 0x12, + }; + +-static const struct adsp_data slpi_resource_init = { ++static const struct adsp_data msm8996_slpi_resource_init = { + .crash_reason_smem = 424, + .firmware_name = "slpi.mdt", + .pas_id = 12, +@@ -1028,7 +1028,7 @@ static const struct adsp_data slpi_resource_init = { + .ssctl_id = 0x16, + }; + +-static const struct adsp_data sm8150_slpi_resource = { ++static const struct adsp_data sdm845_slpi_resource_init = { + .crash_reason_smem = 424, + .firmware_name = "slpi.mdt", + .pas_id = 12, +@@ -1044,38 +1044,6 @@ static const struct adsp_data sm8150_slpi_resource = { + .ssctl_id = 0x16, + }; + +-static const struct adsp_data sm8250_slpi_resource = { +- .crash_reason_smem = 424, +- .firmware_name = "slpi.mdt", +- .pas_id = 12, +- .auto_boot = true, +- .proxy_pd_names = (char*[]){ +- "lcx", +- "lmx", +- NULL +- }, +- .load_state = "slpi", +- .ssr_name = "dsps", +- .sysmon_name = "slpi", +- .ssctl_id = 0x16, +-}; +- +-static const struct adsp_data sm8350_slpi_resource = { +- .crash_reason_smem = 424, +- .firmware_name = "slpi.mdt", +- .pas_id = 12, +- .auto_boot = true, +- .proxy_pd_names = (char*[]){ +- "lcx", +- "lmx", +- NULL +- }, +- .load_state = "slpi", +- .ssr_name = "dsps", +- .sysmon_name = "slpi", +- .ssctl_id = 0x16, +-}; +- + static const struct adsp_data wcss_resource_init = { + .crash_reason_smem = 421, + .firmware_name = "wcnss.mdt", +@@ -1184,9 +1152,9 @@ static const struct of_device_id adsp_of_match[] = { + { .compatible = "qcom,msm8953-adsp-pil", .data = &msm8996_adsp_resource}, + { .compatible = "qcom,msm8974-adsp-pil", .data = &adsp_resource_init}, + { .compatible = "qcom,msm8996-adsp-pil", .data = &msm8996_adsp_resource}, +- { .compatible = "qcom,msm8996-slpi-pil", .data = &slpi_resource_init}, ++ { .compatible = "qcom,msm8996-slpi-pil", .data = &msm8996_slpi_resource_init}, + { .compatible = "qcom,msm8998-adsp-pas", .data = &msm8996_adsp_resource}, +- { .compatible = "qcom,msm8998-slpi-pas", .data = &slpi_resource_init}, ++ { .compatible = "qcom,msm8998-slpi-pas", .data = &msm8996_slpi_resource_init}, + { .compatible = "qcom,qcs404-adsp-pas", .data = &adsp_resource_init }, + { .compatible = "qcom,qcs404-cdsp-pas", .data = &cdsp_resource_init }, + { .compatible = "qcom,qcs404-wcss-pas", .data = &wcss_resource_init }, +@@ -1211,17 +1179,17 @@ static const struct of_device_id adsp_of_match[] = { + { .compatible = "qcom,sm8150-adsp-pas", .data = &sm8150_adsp_resource}, + { .compatible = "qcom,sm8150-cdsp-pas", .data = &sm8150_cdsp_resource}, + { .compatible = "qcom,sm8150-mpss-pas", .data = &mpss_resource_init}, +- { .compatible = "qcom,sm8150-slpi-pas", .data = &sm8150_slpi_resource}, ++ { .compatible = "qcom,sm8150-slpi-pas", .data = &sdm845_slpi_resource_init}, + { .compatible = "qcom,sm8250-adsp-pas", .data = &sm8250_adsp_resource}, + { .compatible = "qcom,sm8250-cdsp-pas", .data = &sm8250_cdsp_resource}, +- { .compatible = "qcom,sm8250-slpi-pas", .data = &sm8250_slpi_resource}, ++ { .compatible = "qcom,sm8250-slpi-pas", .data = &sdm845_slpi_resource_init}, + { .compatible = "qcom,sm8350-adsp-pas", .data = &sm8350_adsp_resource}, + { .compatible = "qcom,sm8350-cdsp-pas", .data = &sm8350_cdsp_resource}, +- { .compatible = "qcom,sm8350-slpi-pas", .data = &sm8350_slpi_resource}, ++ { .compatible = "qcom,sm8350-slpi-pas", .data = &sdm845_slpi_resource_init}, + { .compatible = "qcom,sm8350-mpss-pas", .data = &mpss_resource_init}, + { .compatible = "qcom,sm8450-adsp-pas", .data = &sm8350_adsp_resource}, + { .compatible = "qcom,sm8450-cdsp-pas", .data = &sm8350_cdsp_resource}, +- { .compatible = "qcom,sm8450-slpi-pas", .data = &sm8350_slpi_resource}, ++ { .compatible = "qcom,sm8450-slpi-pas", .data = &sdm845_slpi_resource_init}, + { .compatible = "qcom,sm8450-mpss-pas", .data = &sm8450_mpss_resource}, + { .compatible = "qcom,sm8550-adsp-pas", .data = &sm8550_adsp_resource}, + { .compatible = "qcom,sm8550-cdsp-pas", .data = &sm8550_cdsp_resource}, +-- +2.40.0 + diff --git a/device/community/linux-postmarketos-qcom-sdm845/0007-remoteproc-qcom-pas-add-SDM845-SLPI-compatible.patch b/device/community/linux-postmarketos-qcom-sdm845/0007-remoteproc-qcom-pas-add-SDM845-SLPI-compatible.patch new file mode 100644 index 0000000000000000000000000000000000000000..041ad3d280c471780655ba65b6292c37a2ee6fe8 --- /dev/null +++ b/device/community/linux-postmarketos-qcom-sdm845/0007-remoteproc-qcom-pas-add-SDM845-SLPI-compatible.patch @@ -0,0 +1,30 @@ +From 69af7353cd3eb1a1ce7a6b718efdfe347b71d003 Mon Sep 17 00:00:00 2001 +From: Dylan Van Assche <me@dylanvanassche.be> +Date: Tue, 28 Mar 2023 18:31:11 +0200 +Subject: [PATCH 07/14] remoteproc: qcom: pas: add SDM845 SLPI compatible + +Add a compatible for the SDM845 SLPI to the Qualcomm remoteproc q6v5_pas +driver. The SLPI is the same as in SM8150, SM8250, SM8350, and SM8450, +so use the same resource in the driver. + +Signed-off-by: Dylan Van Assche <me@dylanvanassche.be> +Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> +--- + drivers/remoteproc/qcom_q6v5_pas.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c +index 4bfd18e73a95..198d3c22e0df 100644 +--- a/drivers/remoteproc/qcom_q6v5_pas.c ++++ b/drivers/remoteproc/qcom_q6v5_pas.c +@@ -1169,6 +1169,7 @@ static const struct of_device_id adsp_of_match[] = { + { .compatible = "qcom,sdm660-adsp-pas", .data = &adsp_resource_init}, + { .compatible = "qcom,sdm845-adsp-pas", .data = &sdm845_adsp_resource_init}, + { .compatible = "qcom,sdm845-cdsp-pas", .data = &sdm845_cdsp_resource_init}, ++ { .compatible = "qcom,sdm845-slpi-pas", .data = &sdm845_slpi_resource_init}, + { .compatible = "qcom,sdx55-mpss-pas", .data = &sdx55_mpss_resource}, + { .compatible = "qcom,sm6115-adsp-pas", .data = &adsp_resource_init}, + { .compatible = "qcom,sm6115-cdsp-pas", .data = &cdsp_resource_init}, +-- +2.40.0 + diff --git a/device/community/linux-postmarketos-qcom-sdm845/0008-misc-fastrpc-support-complete-DMA-pool-access-to-the.patch b/device/community/linux-postmarketos-qcom-sdm845/0008-misc-fastrpc-support-complete-DMA-pool-access-to-the.patch new file mode 100644 index 0000000000000000000000000000000000000000..30efe9ffbe5e60431e4f8dcd1fc034e2fed1a073 --- /dev/null +++ b/device/community/linux-postmarketos-qcom-sdm845/0008-misc-fastrpc-support-complete-DMA-pool-access-to-the.patch @@ -0,0 +1,57 @@ +From a61ff251c3bf8105194d05511d214b6104542062 Mon Sep 17 00:00:00 2001 +From: Dylan Van Assche <me@dylanvanassche.be> +Date: Thu, 23 Mar 2023 20:30:32 +0100 +Subject: [PATCH 08/14] misc: fastrpc: support complete DMA pool access to the + DSP + +To support FastRPC Context Banks which aren't mapped via the SMMU, +make the whole reserved memory region available to the DSP to allow +access to coherent buffers. + +This is performed by assigning the memory to the DSP via a hypervisor +call to set the correct permissions for the Virtual Machines on the DSP. +This is only necessary when a memory region is provided for SLPI DSPs +so guard this with a domain ID check. + +Signed-off-by: Dylan Van Assche <me@dylanvanassche.be> +--- + drivers/misc/fastrpc.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c +index a701132638cf..561465b9c061 100644 +--- a/drivers/misc/fastrpc.c ++++ b/drivers/misc/fastrpc.c +@@ -2231,6 +2231,8 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev) + int i, err, domain_id = -1, vmcount; + const char *domain; + bool secure_dsp; ++ struct device_node *rmem_node; ++ struct reserved_mem *rmem; + unsigned int vmids[FASTRPC_MAX_VMIDS]; + + err = of_property_read_string(rdev->of_node, "label", &domain); +@@ -2274,6 +2276,20 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev) + } + } + ++ rmem_node = of_parse_phandle(rdev->of_node, "memory-region", 0); ++ dev_info(rdev, "ASSIGNING MEMORY\n"); ++ if (domain_id == SDSP_DOMAIN_ID && rmem_node) { ++ rmem = of_reserved_mem_lookup(rmem_node); ++ if (!rmem) ++ return -EINVAL; ++ ++ dev_info(rdev, "ASSIGNING MEMORY START\n"); ++ qcom_scm_assign_mem(rmem->base, rmem->size, &data->perms, ++ data->vmperms, data->vmcount); ++ ++ dev_info(rdev, "ASSIGNING MEMORY END\n"); ++ } ++ + secure_dsp = !(of_property_read_bool(rdev->of_node, "qcom,non-secure-domain")); + data->secure = secure_dsp; + +-- +2.40.0 + diff --git a/device/community/linux-postmarketos-qcom-sdm845/0009-misc-fastrpc-use-coherent-pool-for-untranslated-Comp.patch b/device/community/linux-postmarketos-qcom-sdm845/0009-misc-fastrpc-use-coherent-pool-for-untranslated-Comp.patch new file mode 100644 index 0000000000000000000000000000000000000000..a9c3d0734c58fa66d972eb9274eb7d50a0052456 --- /dev/null +++ b/device/community/linux-postmarketos-qcom-sdm845/0009-misc-fastrpc-use-coherent-pool-for-untranslated-Comp.patch @@ -0,0 +1,37 @@ +From fcd250178f885678bb1ecc41be4b44e6f5a7f980 Mon Sep 17 00:00:00 2001 +From: Dylan Van Assche <me@dylanvanassche.be> +Date: Mon, 27 Mar 2023 20:02:23 +0200 +Subject: [PATCH 09/14] misc: fastrpc: use coherent pool for untranslated + Compute Banks + +Use fastrpc_remote_heap_alloc to allocate from the FastRPC device +instead of the Compute Bank when the session ID is 0. This ensures +that the allocation is inside the coherent DMA pool which is already +accessible to the DSP. This is necessary to support FastRPC devices +which do not have dedicated Compute Banks such as the SLPI on the SDM845. +The latter uses an allocated CMA region instead of FastRPC Compute Banks. + +Signed-off-by: Dylan Van Assche <me@dylanvanassche.be> +--- + drivers/misc/fastrpc.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c +index 561465b9c061..f0b7b5297985 100644 +--- a/drivers/misc/fastrpc.c ++++ b/drivers/misc/fastrpc.c +@@ -939,7 +939,10 @@ static int fastrpc_get_args(u32 kernel, struct fastrpc_invoke_ctx *ctx) + + ctx->msg_sz = pkt_size; + +- err = fastrpc_buf_alloc(ctx->fl, dev, pkt_size, &ctx->buf); ++ if (ctx->fl->sctx->sid) ++ err = fastrpc_buf_alloc(ctx->fl, dev, pkt_size, &ctx->buf); ++ else ++ err = fastrpc_remote_heap_alloc(ctx->fl, dev, pkt_size, &ctx->buf); + if (err) + return err; + +-- +2.40.0 + diff --git a/device/community/linux-postmarketos-qcom-sdm845/0010-arm64-dts-qcom-sdm845-add-SLPI-remoteproc.patch b/device/community/linux-postmarketos-qcom-sdm845/0010-arm64-dts-qcom-sdm845-add-SLPI-remoteproc.patch new file mode 100644 index 0000000000000000000000000000000000000000..882fc338b5863b9c4fd8a470f1287b6e20878dc6 --- /dev/null +++ b/device/community/linux-postmarketos-qcom-sdm845/0010-arm64-dts-qcom-sdm845-add-SLPI-remoteproc.patch @@ -0,0 +1,66 @@ +From 4a777566466a8c9c4ea80be3df414ae621112e88 Mon Sep 17 00:00:00 2001 +From: Dylan Van Assche <me@dylanvanassche.be> +Date: Fri, 24 Mar 2023 16:29:32 +0100 +Subject: [PATCH 10/14] arm64: dts: qcom: sdm845: add SLPI remoteproc + +Add the SLPI remoteproc to the SDM845 Qualcomm SoC which is responsible +for exposing the sensors connected to the SoC. The SLPI communicates +over GLink edge 'dsps' and is similar to other DSPs e.g. ADSP or CDSP. +This patch allows the SLPI to boot and expose itself over QRTR as +service 400. + +Signed-off-by: Dylan Van Assche <me@dylanvanassche.be> +--- + arch/arm64/boot/dts/qcom/sdm845.dtsi | 36 ++++++++++++++++++++++++++++ + 1 file changed, 36 insertions(+) + +diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi +index ce4554302705..1d5d4b3e6df2 100644 +--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi ++++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi +@@ -3345,6 +3345,42 @@ gpucc: clock-controller@5090000 { + "gcc_gpu_gpll0_div_clk_src"; + }; + ++ slpi_pas: remoteproc@5c00000 { ++ compatible = "qcom,sdm845-slpi-pas"; ++ reg = <0 0x5c00000 0 0x4000>; ++ ++ interrupts-extended = <&intc GIC_SPI 494 IRQ_TYPE_EDGE_RISING>, ++ <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, ++ <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, ++ <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, ++ <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; ++ interrupt-names = "wdog", "fatal", "ready", ++ "handover", "stop-ack"; ++ ++ clocks = <&rpmhcc RPMH_CXO_CLK>; ++ clock-names = "xo"; ++ ++ qcom,qmp = <&aoss_qmp>; ++ ++ power-domains = <&rpmhpd SDM845_CX>, ++ <&rpmhpd SDM845_MX>; ++ power-domain-names = "lcx", "lmx"; ++ ++ memory-region = <&slpi_mem>; ++ ++ qcom,smem-states = <&slpi_smp2p_out 0>; ++ qcom,smem-state-names = "stop"; ++ ++ status = "disabled"; ++ ++ glink-edge { ++ interrupts = <GIC_SPI 170 IRQ_TYPE_EDGE_RISING>; ++ label = "dsps"; ++ qcom,remote-pid = <3>; ++ mboxes = <&apss_shared 24>; ++ }; ++ }; ++ + stm@6002000 { + compatible = "arm,coresight-stm", "arm,primecell"; + reg = <0 0x06002000 0 0x1000>, +-- +2.40.0 + diff --git a/device/community/linux-postmarketos-qcom-sdm845/0011-dt-bindings-firmware-qcom-scm-add-SSC_Q6-and-ADSP_Q6.patch b/device/community/linux-postmarketos-qcom-sdm845/0011-dt-bindings-firmware-qcom-scm-add-SSC_Q6-and-ADSP_Q6.patch new file mode 100644 index 0000000000000000000000000000000000000000..50b87d3c951c77cf88147021af348d1cf39b92c7 --- /dev/null +++ b/device/community/linux-postmarketos-qcom-sdm845/0011-dt-bindings-firmware-qcom-scm-add-SSC_Q6-and-ADSP_Q6.patch @@ -0,0 +1,31 @@ +From b36ac6672451c1cbb9c7a481d1973fa7846348fd Mon Sep 17 00:00:00 2001 +From: Dylan Van Assche <me@dylanvanassche.be> +Date: Fri, 31 Mar 2023 15:25:30 +0200 +Subject: [PATCH 11/14] dt-bindings: firmware: qcom: scm: add SSC_Q6 and + ADSP_Q6 VMIDs + +SSC_Q6 and ADSP_Q6 are used in the FastRPC driver for accessing +the secure world. + +Signed-off-by: Dylan Van Assche <me@dylanvanassche.be> +Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> +--- + include/dt-bindings/firmware/qcom,scm.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/dt-bindings/firmware/qcom,scm.h b/include/dt-bindings/firmware/qcom,scm.h +index 1a4e68fa0744..d1dc09e72923 100644 +--- a/include/dt-bindings/firmware/qcom,scm.h ++++ b/include/dt-bindings/firmware/qcom,scm.h +@@ -8,6 +8,8 @@ + #define _DT_BINDINGS_FIRMWARE_QCOM_SCM_H + + #define QCOM_SCM_VMID_HLOS 0x3 ++#define QCOM_SCM_VMID_SSC_Q6 0x5 ++#define QCOM_SCM_VMID_ADSP_Q6 0x6 + #define QCOM_SCM_VMID_MSS_MSA 0xF + #define QCOM_SCM_VMID_WLAN 0x18 + #define QCOM_SCM_VMID_WLAN_CE 0x19 +-- +2.40.0 + diff --git a/device/community/linux-postmarketos-qcom-sdm845/0012-arm64-dts-qcom-sdm845-add-SLPI-FastRPC-support.patch b/device/community/linux-postmarketos-qcom-sdm845/0012-arm64-dts-qcom-sdm845-add-SLPI-FastRPC-support.patch new file mode 100644 index 0000000000000000000000000000000000000000..6e02daf47b38146f875eee859ca5a32a11efeadf --- /dev/null +++ b/device/community/linux-postmarketos-qcom-sdm845/0012-arm64-dts-qcom-sdm845-add-SLPI-FastRPC-support.patch @@ -0,0 +1,72 @@ +From 00d3d197e0a5634050897273048b6c57dcb86613 Mon Sep 17 00:00:00 2001 +From: Dylan Van Assche <me@dylanvanassche.be> +Date: Fri, 24 Mar 2023 18:24:18 +0100 +Subject: [PATCH 12/14] arm64: dts: qcom: sdm845: add SLPI FastRPC support + +Qualcomm SDM845 SoC features a SLPI DSP which uses FastRPC through +an allocated memory region to load files from the host filesystem +such as sensor configuration files. + +Add a FastRPC node at /dev/fastrpc-sdsp and a DMA region, similar to +downstream, to allow userspace to communicate with the SLPI via the +FastRPC interface for initializing the sensors on the SLPI. + +Signed-off-by: Dylan Van Assche <me@dylanvanassche.be> +--- + arch/arm64/boot/dts/qcom/sdm845.dtsi | 26 ++++++++++++++++++++++++++ + 1 file changed, 26 insertions(+) + +diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi +index 1d5d4b3e6df2..871c35955a44 100644 +--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi ++++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi +@@ -13,6 +13,7 @@ + #include <dt-bindings/clock/qcom,rpmh.h> + #include <dt-bindings/clock/qcom,videocc-sdm845.h> + #include <dt-bindings/dma/qcom-gpi.h> ++#include <dt-bindings/firmware/qcom,scm.h> + #include <dt-bindings/gpio/gpio.h> + #include <dt-bindings/interconnect/qcom,osm-l3.h> + #include <dt-bindings/interconnect/qcom,sdm845.h> +@@ -875,6 +876,14 @@ cont_splash_mem: framebuffer@9d400000 { + reg = <0 0x9d400000 0 0x2400000>; + no-map; + }; ++ ++ fastrpc_mem: fastrpc { ++ compatible = "shared-dma-pool"; ++ alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>; ++ alignment = <0x0 0x400000>; ++ size = <0x0 0x1000000>; ++ reusable; ++ }; + }; + + adsp_pas: remoteproc-adsp { +@@ -3378,6 +3387,23 @@ glink-edge { + label = "dsps"; + qcom,remote-pid = <3>; + mboxes = <&apss_shared 24>; ++ ++ fastrpc { ++ compatible = "qcom,fastrpc"; ++ qcom,glink-channels = "fastrpcglink-apps-dsp"; ++ label = "sdsp"; ++ qcom,non-secure-domain; ++ qcom,vmids = <QCOM_SCM_VMID_HLOS QCOM_SCM_VMID_MSS_MSA ++ QCOM_SCM_VMID_SSC_Q6 QCOM_SCM_VMID_ADSP_Q6>; ++ memory-region = <&fastrpc_mem>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ compute-cb@0 { ++ compatible = "qcom,fastrpc-compute-cb"; ++ reg = <0>; ++ }; ++ }; + }; + }; + +-- +2.40.0 + diff --git a/device/community/linux-postmarketos-qcom-sdm845/0013-arm64-dts-qcom-sdm845-oneplus-enable-SLPI.patch b/device/community/linux-postmarketos-qcom-sdm845/0013-arm64-dts-qcom-sdm845-oneplus-enable-SLPI.patch new file mode 100644 index 0000000000000000000000000000000000000000..127d9153aad8067793477e635cda3c0e7707c89e --- /dev/null +++ b/device/community/linux-postmarketos-qcom-sdm845/0013-arm64-dts-qcom-sdm845-oneplus-enable-SLPI.patch @@ -0,0 +1,33 @@ +From 3d690101301d91facd03f7c8dac687ee78b8f698 Mon Sep 17 00:00:00 2001 +From: Dylan Van Assche <me@dylanvanassche.be> +Date: Fri, 24 Mar 2023 17:56:46 +0100 +Subject: [PATCH 13/14] arm64: dts: qcom: sdm845-oneplus: enable SLPI + +Enable the SLPI DSP on the Oneplus 6 phone with a Qualcomm SDM845 SoC. + +Signed-off-by: Dylan Van Assche <me@dylanvanassche.be> +Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> +Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> +--- + arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi +index 5e694c0684f6..975c75983825 100644 +--- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi ++++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi +@@ -601,6 +601,11 @@ &qup_uart9_tx { + bias-disable; + }; + ++&slpi_pas { ++ firmware-name = "qcom/sdm845/oneplus6/slpi.mbn"; ++ status = "okay"; ++}; ++ + &sound { + compatible = "qcom,sdm845-sndcard"; + pinctrl-0 = <&quat_mi2s_active &quat_mi2s_sd0_active &quat_mi2s_sd1_active>; +-- +2.40.0 + diff --git a/device/community/linux-postmarketos-qcom-sdm845/0014-arm64-dts-qcom-sdm845-shift-axolotl-enable-SLPI.patch b/device/community/linux-postmarketos-qcom-sdm845/0014-arm64-dts-qcom-sdm845-shift-axolotl-enable-SLPI.patch new file mode 100644 index 0000000000000000000000000000000000000000..ddbcea3d631012e301bb44a85fc4a2522339cc37 --- /dev/null +++ b/device/community/linux-postmarketos-qcom-sdm845/0014-arm64-dts-qcom-sdm845-shift-axolotl-enable-SLPI.patch @@ -0,0 +1,34 @@ +From 754d79b865691bf423e1e82cd6871332aa4a9e9d Mon Sep 17 00:00:00 2001 +From: Dylan Van Assche <me@dylanvanassche.be> +Date: Fri, 24 Mar 2023 17:58:20 +0100 +Subject: [PATCH 14/14] arm64: dts: qcom: sdm845-shift-axolotl: enable SLPI + +Enable the SLPI DSP on the SHIFTPHONES SHIFT6mq phone with a +Qualcomm SDM845 SoC. + +Signed-off-by: Dylan Van Assche <me@dylanvanassche.be> +Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> +Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> +--- + arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts +index 79ab1a27cf46..d0f38c39f03a 100644 +--- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts ++++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts +@@ -705,6 +705,11 @@ &qupv3_id_1 { + status = "okay"; + }; + ++&slpi_pas { ++ firmware-name = "qcom/sdm845/axolotl/slpi.mbn"; ++ status = "okay"; ++}; ++ + &sound { + model = "SHIFT6mq"; + compatible = "qcom,sdm845-sndcard"; +-- +2.40.0 + diff --git a/device/community/linux-postmarketos-qcom-sdm845/APKBUILD b/device/community/linux-postmarketos-qcom-sdm845/APKBUILD index 216f52d72f1ebfff8c6af0195fbfe2adf4488eb4..c072d90d7651b2797cbfcab0b1ac43f19263d4e2 100644 --- a/device/community/linux-postmarketos-qcom-sdm845/APKBUILD +++ b/device/community/linux-postmarketos-qcom-sdm845/APKBUILD @@ -5,8 +5,8 @@ _flavor="postmarketos-qcom-sdm845" pkgname=linux-$_flavor -pkgver=6.2.0 -pkgrel=1 +pkgver=6.3.0 +pkgrel=0 pkgdesc="Mainline Kernel fork for SDM845 devices" arch="aarch64" _carch="arm64" @@ -18,11 +18,25 @@ options="!strip !check !tracedeps makedepends="bash bison findutils flex installkernel openssl-dev perl" _config="config-$_flavor.$arch" -_tag="sdm845-6.2.0" +_tag="ca9dfa17e48d6c11d1417223a966fad8bc57d2c5" # Source source=" linux-$_tag.tar.gz::https://gitlab.com/sdm845-mainline/linux/-/archive/$_tag/linux-$_tag.tar.gz + 0001-Revert-dts-arm64-qcom-sdm845-shift-axolotl-enable-SL.patch + 0002-Revert-dts-arm64-qcom-sdm845-oneplus-enable-slpi.patch + 0003-Revert-dts-arm64-qcom-sdm845-add-slpi-remoteproc.patch + 0004-Revert-remoteproc-qcom-pas-add-sdm845-slpi-resource.patch + 0005-dt-bindings-remoteproc-qcom-adsp-add-qcom-sdm845-slp.patch + 0006-remoteproc-qcom-pas-refactor-SLPI-remoteproc-init.patch + 0007-remoteproc-qcom-pas-add-SDM845-SLPI-compatible.patch + 0008-misc-fastrpc-support-complete-DMA-pool-access-to-the.patch + 0009-misc-fastrpc-use-coherent-pool-for-untranslated-Comp.patch + 0010-arm64-dts-qcom-sdm845-add-SLPI-remoteproc.patch + 0011-dt-bindings-firmware-qcom-scm-add-SSC_Q6-and-ADSP_Q6.patch + 0012-arm64-dts-qcom-sdm845-add-SLPI-FastRPC-support.patch + 0013-arm64-dts-qcom-sdm845-oneplus-enable-SLPI.patch + 0014-arm64-dts-qcom-sdm845-shift-axolotl-enable-SLPI.patch $_config " builddir="$srcdir/linux-$_tag" @@ -55,6 +69,20 @@ package() { } sha512sums=" -ceb1d272fbdfd0b561adbba038731d392c57317d19bddd8e9654cf738bff95b976fbdddf3504fd71d0c55c3906552aabd506cbb81957113fcce561baf2181e64 linux-sdm845-6.2.0.tar.gz +66447ceec160c988b90d1cdb785169eeba7c27406b4555b266bde052decf228682d82f5884a7d06abc09600a6c79e7b8bdb39c47d750178eff38678a05a8ac1c linux-ca9dfa17e48d6c11d1417223a966fad8bc57d2c5.tar.gz +374666c0e8476cf7cf8a7b09b5cb06952c0c40af00368968755bcadd27499e9471a575c964b5e5bc074df8f4895957e7778437178f82c893f2adc89d73efde69 0001-Revert-dts-arm64-qcom-sdm845-shift-axolotl-enable-SL.patch +ca87ccd8eaac349a4233510a9853c70b5becd517efcf988c399731aad0e2d21e7b1ad0ab678104f7d4e86660ff4430cb44b4c5fcd6ed5b13d682ce09d09196a6 0002-Revert-dts-arm64-qcom-sdm845-oneplus-enable-slpi.patch +cf1ae5acc2f780d47c5d4823670441189a0dd6ff1164055cd7cb39b221cc7a33f03d68d82923f57f54dfc9cc82920cabc027d9d019a615f161541cf436d91770 0003-Revert-dts-arm64-qcom-sdm845-add-slpi-remoteproc.patch +085c4815b09568b4e01fdecadae2d2c23632acf7fc12b7bfe1eaa5444486df1a7838b119ff39f64dcb16711482ccc53fac13b267206644e503ebb72750000da3 0004-Revert-remoteproc-qcom-pas-add-sdm845-slpi-resource.patch +49c299903aead13f3c1c9f0442507c970722ee4d626c86bd286c329120537b8194b272406996c982271a7c73bc639c535dbe323bd1a56027481d198fcbd7d95c 0005-dt-bindings-remoteproc-qcom-adsp-add-qcom-sdm845-slp.patch +6ae3827f17e377225c58bcf15a0f4d36791fa3659a2084ed94023f408aa8e18c9125243cb4ec90d08805ff5a83d5a8f99ed63290cf30c413260399f1079c5f9f 0006-remoteproc-qcom-pas-refactor-SLPI-remoteproc-init.patch +9b2ff46a537bbc2246bcdc942e0bac4e6408fc390ee5076ef454e2ec76a299199a46b7cbf93720bc9f360977d3c623a727bf0e7434af7a5d49df50f1954526e4 0007-remoteproc-qcom-pas-add-SDM845-SLPI-compatible.patch +65c3b17014a7da9223f13c5ec3b007ae49f4464f4846ccc29f23abe48465ca09715b54a4107bb16c1e25418f0e24fffc59d14021b53c3e69b9a47f1398baf34a 0008-misc-fastrpc-support-complete-DMA-pool-access-to-the.patch +f355ebe5c6424f8d9e13a5b36b507776802da88a2d822bb3b523e0eea753621f991ad294beb7488dd3a08d142bd255dc5909bbe7d41ac4ab880ea53c2802d893 0009-misc-fastrpc-use-coherent-pool-for-untranslated-Comp.patch +d90f32764636353dfe3b4a38f1abe75835669c14b3d6938b1b8ef07b5dda51e2f38babd4c93c0de4c0f915a6651e5ab962b4f32c7dcd5547bae4833ff2021ab1 0010-arm64-dts-qcom-sdm845-add-SLPI-remoteproc.patch +a5425fe77f9e458007598220c20ee61ad6fe69a02e128464225d1efd838cf943551de051d1f04e1f5b6033e427ba518e19258cb49a96369dface2996c3fa7980 0011-dt-bindings-firmware-qcom-scm-add-SSC_Q6-and-ADSP_Q6.patch +349ea838313b4f4ca277a35b0429fdad7abf8005681415bb0a159816ce29e8acf4b0a65a188e98bca30025f0ab97e5692a1dd7e28ffd226c1882824dc92c5835 0012-arm64-dts-qcom-sdm845-add-SLPI-FastRPC-support.patch +eb969682b79ecab5a1aba0545eb5634d6996052bcce5fa02a4ec9054001f59347925ea1057a3de3186f631a55e064013ab797fc3e8b98d5d4d4db9b083271846 0013-arm64-dts-qcom-sdm845-oneplus-enable-SLPI.patch +e54251ad5efb9eb428b9ef1b737a249c3466b0da7186223d4ba1c3c19b003c06f2b96c7acf7f972aa06f9c80403e65a1f91d4a956cda90ad18712e4abef72f9c 0014-arm64-dts-qcom-sdm845-shift-axolotl-enable-SLPI.patch 49e8f5d0b891e1c7f9265802a15d69b449f2300c8163acdb4dbb9d87b865223126e2338000c749d6d063b0483d937957c2679bb7439683bee065889a6973f832 config-postmarketos-qcom-sdm845.aarch64 "