[PATCH v8 0/3] Enable sdhc inline crypto engine for kodiak and monaco
From: Kuldeep Singh
Date: Mon Jun 29 2026 - 03:55:29 EST
The series is combination of below 2 series sent in past. Since, both
need to be picked together, combine them and send as one series.
Konrad and Krzysztof, request to review series again as I've made minor
changes only to this series.
- https://lore.kernel.org/lkml/20260608041650.541502-1-neeraj.soni@xxxxxxxxxxxxxxxx/
- https://lore.kernel.org/linux-arm-msm/20260409-ice_emmc_clock_addition-v2-0-90bbcc057361@xxxxxxxxxxxxxxxx/
Document and wire the SDHCI to ICE relationship on Qualcomm platforms
where ICE is modelled as a dedicated DT node.
This series:
- adds the qcom,ice phandle to the SDHCI binding and enforces the
qcom,ice vs embedded-reg modelling rule,
- enables ICE for kodiak and monaco by wiring SDHC to the dedicated ICE
node,
- adds interface clock and power-domain requirements for the ICE node in
affected DTS files.
The ICE node is kept disabled at SoC .dtsi level and enabled in board
.dts files where the corresponding SDHC node is enabled. This keeps the
SoC description reusable and avoids enabling ICE on boards that do not
use that SDHC instance.
How this series was tested:
- make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- \
DT_SCHEMA_FILES=Documentation/devicetree/bindings/mmc/qcom,sdhci-msm.yaml \
dt_binding_check
- make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- CHECK_DTBS=y \
qcom/monaco-arduino-monza.dtb qcom/monaco-evk.dtb \
qcom/qcm6490-fairphone-fp5.dtb qcom/qcm6490-idp.dtb \
qcom/qcm6490-particle-tachyon.dtb qcom/qcm6490-shift-otter.dtb \
qcom/qcs6490-radxa-dragon-q6a.dtb qcom/qcs6490-rb3gen2.dtb \
qcom/qcs6490-thundercomm-minipc-g1iot.dtb \
qcom/qcs6490-thundercomm-rubikpi3.dtb qcom/qcs8300-ride.dtb \
qcom/sc7280-crd-r3.dtb qcom/sc7280-herobrine-crd-pro.dtb \
qcom/sc7280-herobrine-crd.dtb qcom/sc7280-herobrine-evoker-lte.dtb \
qcom/sc7280-herobrine-evoker.dtb qcom/sc7280-herobrine-herobrine-r1.dtb \
qcom/sc7280-herobrine-villager-r0.dtb \
qcom/sc7280-herobrine-villager-r1-lte.dtb \
qcom/sc7280-herobrine-villager-r1.dtb \
qcom/sc7280-herobrine-zombie-lte.dtb \
qcom/sc7280-herobrine-zombie-nvme-lte.dtb \
qcom/sc7280-herobrine-zombie-nvme.dtb qcom/sc7280-herobrine-zombie.dtb \
qcom/sc7280-idp.dtb qcom/sc7280-idp2.dtb \
qcom/sm7325-motorola-dubai.dtb qcom/sm7325-nothing-spacewar.dtb
Changes in v8:
- Added iface clock, clock-names, power-domain and disabled status in
kodiak and monaco ICE nodes.
- Enabled ICE in board DTS files where SDHC is enabled while keeping SoC
ICE nodes disabled by default.
- Updated trailers to reflect co-development and sender sign-off order.
- Revalidated with dt_binding_check and CHECK_DTBS for all impacted DTS.
- Link to v7: https://lore.kernel.org/all/20260608041650.541502-1-neeraj.soni@xxxxxxxxxxxxxxxx/
Changes in v7:
- Rebased on latest linux-next (sdhci-msm.yaml renamed to qcom,sdhci-msm.yaml).
- Added links for previous versions.
- Link to v6: https://lore.kernel.org/all/20260310113557.348502-1-neeraj.soni@xxxxxxxxxxxxxxxx/
Changes in v6:
- Wrapped commit message for patch (1/3) as per Linux coding guidelines.
- Signed off the patch (3/3).
- Link to v5: https://lore.kernel.org/all/20260306093332.4193993-1-neeraj.soni@xxxxxxxxxxxxxxxx/
Changes in v5:
- Updated the constraint for SDHCI 'v4' vs rest to reflect the 'qcom,ice'
constraint.
- Link to v4: https://lore.kernel.org/all/20260217052526.2335759-1-neeraj.soni@xxxxxxxxxxxxxxxx/
Changes in v4:
- Added a new patch (3/3) for device tree changes for Monaco SoC.
- Updated commit subject of cover letter to reflect "monaco".
- Removed the text description of constraints from "description:" for "qcom,ice" and
wrapped the code.
- Corrected the schema code to reflect the constraint of "qcom,ice" usage properly.
- Link to v3: https://lore.kernel.org/all/20260206112053.3287756-1-neeraj.soni@xxxxxxxxxxxxxxxx/
Changes in v3:
- Described the purpose for phandle in "description:" for "qcom,ice".
- Re-added the "if: required:" description for "qcom,ice" with proper
encoding.
- Corrected the uppercase for base address and reg address space for ICE DT node.
- Link to v2: https://lore.kernel.org/all/20260114094848.3790487-1-neeraj.soni@xxxxxxxxxxxxxxxx/
Changes in v2:
- Removed the "if: required:" description for "qcom,ice" dt-binding
as the ICE node is optional.
- Corrected the ICE dt node entry according to the dt-binding description.
- Added test details.
- Link to v1: https://lore.kernel.org/all/20251124111914.3187803-1-neeraj.soni@xxxxxxxxxxxxxxxx/
Changes in v1:
- Updated the dt-binding for ICE node.
- Added the dt node for ICE for kodiak.
---
Neeraj Soni (3):
dt-bindings: mmc: sdhci-msm: add ICE phandle
arm64: dts: qcom: kodiak: enable inline crypto engine for SDHC
arm64: dts: qcom: monaco: enable inline crypto engine for SDHC
.../devicetree/bindings/mmc/qcom,sdhci-msm.yaml | 95 +++++++++++++++-------
arch/arm64/boot/dts/qcom/kodiak.dtsi | 14 ++++
arch/arm64/boot/dts/qcom/monaco-evk.dts | 4 +
arch/arm64/boot/dts/qcom/monaco-monza-som.dtsi | 4 +
arch/arm64/boot/dts/qcom/monaco.dtsi | 14 ++++
arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 4 +
.../boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts | 4 +
arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 4 +
arch/arm64/boot/dts/qcom/sc7280-herobrine-crd.dts | 4 +
.../boot/dts/qcom/sc7280-herobrine-evoker.dtsi | 4 +
.../dts/qcom/sc7280-herobrine-herobrine-r1.dts | 4 +
.../boot/dts/qcom/sc7280-herobrine-villager.dtsi | 4 +
.../boot/dts/qcom/sc7280-herobrine-zombie.dtsi | 4 +
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 4 +
14 files changed, 139 insertions(+), 28 deletions(-)
---
base-commit: 3d5670d672ae08b8c534b7beed6f57c8b44e7b43
change-id: 20260629-ice_emmc_support-b24c84cb5054
Best regards,
--
Kuldeep Singh <kuldeep.singh@xxxxxxxxxxxxxxxx>