Re: [PATCH v12 0/6] Add new driver for WCSS secure PIL loading
From: Vignesh Viswanathan
Date: Thu Jul 09 2026 - 01:57:04 EST
Hi Bjorn,
Could you please help review and pick this series if it looks okay to you.
Thanks,
Vignesh
On 5/13/2026 11:49 PM, Vignesh Viswanathan wrote:
> Hi Bjorn,
>
> A gentle reminder to review this series. All the patches have picked
> up R-b tags. If it looks okay to you, could you please help pick
> it up in the current merge window.
>
> Thanks
> Vignesh
>
> On 5/5/2026 3:53 PM, Varadarajan Narayanan wrote:
>> As discussed in [4] posting this series after dropping IPQ5424 support
>> to remove dependency on Sricharan's tmel-qmp mailbox driver series v4 [1].
>>
>> Imported from 20251215-ipq5018-wifi-v7-0-ec4adba941b5@xxxxxxxxxxx.
>>
>> Imported from f20250417061245.497803-1-gokul.sriram.p@xxxxxxxxxxxxxxxx
>> I've resumed Gokul's work as the last submission dates back April 2025.
>>
>> - Secure PIL is signed, firmware images which only TrustZone (TZ)
>> can authenticate and load. Linux kernel will send a request to TZ to
>> authenticate and load the PIL images.
>>
>> - When secure PIL support was added to the existing wcss PIL driver
>> earlier in [2], Bjorn suggested not to overload the existing WCSS
>> rproc driver, instead post a new driver for PAS based IPQ WCSS driver.
>> This series adds a new secure PIL driver for the same.
>>
>> - Also adds changes to scm to pass metadata size as required for IPQ5332,
>> reposted from [3].
>>
>> [1]
>> https://patchwork.kernel.org/project/linux-arm-msm/cover/20250327181750.3733881-1-quic_srichara@xxxxxxxxxxx/
>>
>> [2]
>> https://patchwork.kernel.org/project/linux-arm-msm/patch/1611984013-10201-3-git-send-email-gokulsri@xxxxxxxxxxxxxx/
>>
>> [3]
>> https://patchwork.kernel.org/project/linux-arm-msm/patch/20240820055618.267554-6-quic_gokulsri@xxxxxxxxxxx/
>>
>> [4]
>> https://lore.kernel.org/linux-arm-msm/aUN7Aer%2FGG1d5Om9@xxxxxxxxxxxxxxxxxxxxxxxxxx/
>>
>> Changes in v12:
>> - No code change
>> - Rebase to ToT
>> - Change quicinc mail ids to oss.qualcomm.com mail ids
>> - Link to v11: https://lore.kernel.org/linux-arm-msm/20260326043320.2507890-1-varadarajan.narayanan@xxxxxxxxxxxxxxxx/
>>
>> Changes in v11:
>> - Add R-b tags
>> - Rebase the first patch ("firmware: qcom_scm: ipq5332: add support to pass metadata size") to top of tree
>> - No change in other patches
>> - Link to v10: https://lore.kernel.org/linux-arm-msm/20260113092021.1887980-1-varadarajan.narayanan@xxxxxxxxxxxxxxxx/
>>
>> Changes in v10:
>> - Add R-b tags
>> - Remove unused fields from 'struct wcss_sec'
>> - Remove glink and ssr subdev if wcss_sec_probe() fails
>> - Link to v9: https://lore.kernel.org/linux-arm-msm/20260106105412.3529898-1-varadarajan.narayanan@xxxxxxxxxxxxxxxx/
>>
>> Changes in v9:
>> - Add R-b from Konrad for dts patches
>> - Renamed qcom,wcss-sec-pil.yaml -> qcom,ipq5018-wcss-sec-pil.yaml
>> - Restore clocks & clock-names in above yaml
>> - Fix DCO on two patches
>> - Link to v8: https://lore.kernel.org/linux-arm-msm/20251219031010.2919875-1-varadarajan.narayanan@xxxxxxxxxxxxxxxx/
>>
>> Changes in v8:
>> - Dropped Krzysztof's 'Reviewed-by' as the bindings file has changed significantly
>> * IPQ5018 support added in v6
>> * IPQ5424 support dropped in v8
>> * Updated to use IPQ9574 as example
>> - dt-bindings-check and dtbs-check passed
>> - Dropped IPQ5424 support from drivers/remoteproc/qcom_q6v5_wcss_sec.c
>> - Updated copyrights of drivers/remoteproc/qcom_q6v5_wcss_sec.c
>> - Change 'qcom,smem-state-names' order to resolve dt-bindings-check error in ipq5018.dtsi
>> - Dropped changes to ipq5424.dtsi
>> - Link to v7: https://lore.kernel.org/linux-arm-msm/20251215-ipq5018-wifi-v7-0-ec4adba941b5@xxxxxxxxxxx/
>>
>> Changes in v7:
>> - correctly sorted QCOM_SCM_PIL_PAS_INIT_IMAGE_V2 by command ID
>> - correctly sorted smp2p-wcss nodes in dtsi files
>> - Link to v6: https://lore.kernel.org/r/20251208-ipq5018-wifi-v6-0-d0ce2facaa5f@xxxxxxxxxxx
>>
>> Changes in v6:
>> - added patch to fix IPC register offset for ipq5424
>> - changed phandle description for mboxes property in dt-bindings
>> - updated bindings to define the right clocks per SoC based on
>> compatible. Ran make dt_binding_check for validation of all
>> SoCs
>> - use of more descriptive match data property (use_tmelcom) and
>> added a condition in wcss_start to not error out if tmelcom
>> isn't used
>> - mitigated potential off-by-one
>> - adopted use of of_reserved_mem_region_to_resource to acquire
>> memory-region resource
>> - added driver support for ipq5018 SoC
>> - corrected size of reg properties as per Konrad's comments
>> - added patch to bring up Q6 in ipq5018 dtsi
>> - Link to v5: https://lore.kernel.org/r/20250417061245.497803-1-gokul.sriram.p@xxxxxxxxxxxxxxxx
>>
>> Changes in v5:
>> - retained all the patches as in v3 and addressed comments in
>> v3.
>> - reverted changes to dt-bindings done in v4 and retained as in
>> v3 and fixed firmware format from .mdt to .mbn and retained
>> reviewed-by.
>> - dropped 2 patches in v4 that adds support for q6 dtb loading.
>> Will post them as a new series.
>>
>> Following tests were done:
>> - checkpatch
>> - dt_binding_check and dtbs_check
>> - Link to v4: https://lore.kernel.org/r/20250327181750.3733881-1-quic_srichara@xxxxxxxxxxx
>>
>> Changes in v4:
>> - changed q6 firmware image format from .mdt to .mbn
>> - corrected arrangement of variable assignemnts as per comments
>> in qcom_scm.c
>> - added scm call to get board machid
>> - added support for q6 dtb loading with support for additional
>> reserved memory for q6 dtb in .mbn format
>> - updated dt-bindings to include new dts entry qcom,q6-dtb-info
>> and additional item in memory-region for q6 dtb region.
>> - removed unnecessary dependency for QCOM_Q6V5_WCSS_SEC in
>> Kconfig
>> - removed unwanted header files in qcom_q6v5_wcss_sec.c
>> - removed repeated dtb parsing during runtime in qcom_q6v5_wcss_sec.c
>> - added required check for using tmelcom, if available. Enabled
>> fallback to scm based authentication, if tmelcom is unavailable.
>> - added necessary padding for 8digt hex address in dts
>> - Link to v3: https://lore.kernel.org/r/20250107101320.2078139-1-quic_gokulsri@xxxxxxxxxxx
>>
>> Following tests were done:
>> - checkpatch
>> - kernel-doc
>> - dt_binding_check and dtbs_check
>>
>> Changes in v3:
>> - fixed copyright years and markings based on Jeff's comments.
>> - replaced devm_ioremap_wc() with ioremap_wc() in
>> wcss_sec_copy_segment().
>> - replaced rproc_alloc() and rproc_add() with their devres
>> counterparts.
>> - added mailbox call to tmelcom for secure image authentication
>> as required for IPQ5424. Added ipq5424 APCS comatible required.
>> - added changes to scm call to pass metadata size as required for
>> IPQ5332.
>> - Link to v2: https://lore.kernel.org/r/20240829134021.1452711-1-quic_gokulsri@xxxxxxxxxxx
>>
>> Changes in v2:
>> - Removed dependency of this series to q6 clock removal series
>> as recommended by Krzysztof
>> - Link to v1: https://lore.kernel.org/r/20240820085517.435566-1-quic_gokulsri@xxxxxxxxxxx
>>
>> George Moussalem (1):
>> arm64: dts: qcom: ipq5018: add nodes to bring up q6
>>
>> Manikanta Mylavarapu (4):
>> firmware: qcom_scm: ipq5332: add support to pass metadata size
>> dt-bindings: remoteproc: qcom: document hexagon based WCSS secure PIL
>> arm64: dts: qcom: ipq5332: add nodes to bring up q6
>> arm64: dts: qcom: ipq9574: add nodes to bring up q6
>>
>> Vignesh Viswanathan (1):
>> remoteproc: qcom: add hexagon based WCSS secure PIL driver
>>
>> .../remoteproc/qcom,ipq5018-wcss-sec-pil.yaml | 178 ++++++++++
>> arch/arm64/boot/dts/qcom/ipq5018.dtsi | 64 ++++
>> arch/arm64/boot/dts/qcom/ipq5332.dtsi | 64 +++-
>> arch/arm64/boot/dts/qcom/ipq9574.dtsi | 60 +++-
>> drivers/firmware/qcom/qcom_scm.c | 14 +-
>> drivers/firmware/qcom/qcom_scm.h | 1 +
>> drivers/remoteproc/Kconfig | 19 +
>> drivers/remoteproc/Makefile | 1 +
>> drivers/remoteproc/qcom_q6v5_wcss_sec.c | 325 ++++++++++++++++++
>> include/linux/remoteproc.h | 2 +
>> 10 files changed, 723 insertions(+), 5 deletions(-)
>> create mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,ipq5018-wcss-sec-pil.yaml
>> create mode 100644 drivers/remoteproc/qcom_q6v5_wcss_sec.c
>>
>>
>> base-commit: 9d0d467c3572e93c5faa2e5906a8bbcd70b24efd
>