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 [email protected]. Imported from [email protected] 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/[email protected]/ [2] https://patchwork.kernel.org/project/linux-arm-msm/patch/[email protected]/ [3] https://patchwork.kernel.org/project/linux-arm-msm/patch/[email protected]/ [4] https://lore.kernel.org/linux-arm-msm/aun7aer%[email protected]/ 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/[email protected]/ 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/[email protected] 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/[email protected] 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/[email protected] 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/[email protected] 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/[email protected] 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/[email protected] 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,wcss-sec-pil.yaml | 172 +++++++++ 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 | 17 +- drivers/firmware/qcom/qcom_scm.h | 1 + drivers/remoteproc/Kconfig | 19 + drivers/remoteproc/Makefile | 1 + drivers/remoteproc/qcom_q6v5_wcss_sec.c | 328 ++++++++++++++++++ include/linux/remoteproc.h | 2 + 10 files changed, 722 insertions(+), 6 deletions(-) create mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,wcss-sec-pil.yaml create mode 100644 drivers/remoteproc/qcom_q6v5_wcss_sec.c base-commit: ff7278c6e337027671acae5991dfaa5828ee3cce -- 2.34.1

