Linux MultiMedia Card development
 help / color / mirror / Atom feed
* [PATCH v7 0/3] Enable Inline crypto engine for kodiak and monaco
@ 2026-06-08  4:16 Neeraj Soni
  2026-06-08  4:16 ` [PATCH v7 1/3] dt-bindings: mmc: sdhci-msm: Add ICE phandle Neeraj Soni
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Neeraj Soni @ 2026-06-08  4:16 UTC (permalink / raw)
  To: ulf.hansson, robh, krzk+dt, conor+dt, andersson, konradybcio
  Cc: linux-mmc, devicetree, linux-kernel, neeraj.soni

Document Inline Crypto Engine (ICE) handle for SDHC and add its device-tree
node to enable it for kodiak and monaco.

How this patch was tested:
- export ARCH=arm64
- export CROSS_COMPILE=aarch64-linux-gnu-
- make menuconfig
- make defconifg
- make DT_SCHEMA_FILES=Documentation/devicetree/bindings/mmc/sdhci-msm.yaml dt_binding_check
- make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- CHECK_DTBS=y dtbs

---
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@oss.qualcomm.com/

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@oss.qualcomm.com/

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@oss.qualcomm.com/

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@oss.qualcomm.com/

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@oss.qualcomm.com/

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@oss.qualcomm.com/

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 the inline crypto engine for SDHC
  arm64: dts: qcom: monaco: enable the inline crypto engine for SDHC

 .../bindings/mmc/qcom,sdhci-msm.yaml          | 95 +++++++++++++------
 arch/arm64/boot/dts/qcom/kodiak.dtsi          |  9 ++
 arch/arm64/boot/dts/qcom/monaco.dtsi          |  9 ++
 3 files changed, 85 insertions(+), 28 deletions(-)

--
2.34.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v7 1/3] dt-bindings: mmc: sdhci-msm: Add ICE phandle
  2026-06-08  4:16 [PATCH v7 0/3] Enable Inline crypto engine for kodiak and monaco Neeraj Soni
@ 2026-06-08  4:16 ` Neeraj Soni
  2026-06-08  6:10   ` Kuldeep Singh
  2026-06-08  4:16 ` [PATCH v7 2/3] arm64: dts: qcom: kodiak: enable the inline crypto engine for SDHC Neeraj Soni
  2026-06-08  4:16 ` [PATCH v7 3/3] arm64: dts: qcom: monaco: " Neeraj Soni
  2 siblings, 1 reply; 7+ messages in thread
From: Neeraj Soni @ 2026-06-08  4:16 UTC (permalink / raw)
  To: ulf.hansson, robh, krzk+dt, conor+dt, andersson, konradybcio
  Cc: linux-mmc, devicetree, linux-kernel, neeraj.soni, Abel Vesa,
	Abhinaba Rakshit, Kuldeep Singh, Krzysztof Kozlowski

Starting with sc7280(kodiak), the ICE will have its own device-tree node.
So add the qcom,ice property to reference it.

To avoid double-modeling, when qcom,ice is present, disallow an embedded
ICE register region in the SDHCI node. Older SoCs without ICE remain
valid as no additional requirement is imposed.

Co-developed-by: Abel Vesa <abel.vesa@linaro.org>
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Co-developed-by: Abhinaba Rakshit <abhinaba.rakshit@oss.qualcomm.com>
Signed-off-by: Abhinaba Rakshit <abhinaba.rakshit@oss.qualcomm.com>
Reviewed-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260310113557.348502-2-neeraj.soni@oss.qualcomm.com
Signed-off-by: Neeraj Soni <neeraj.soni@oss.qualcomm.com>
---
 .../bindings/mmc/qcom,sdhci-msm.yaml          | 95 +++++++++++++------
 1 file changed, 67 insertions(+), 28 deletions(-)

diff --git a/Documentation/devicetree/bindings/mmc/qcom,sdhci-msm.yaml b/Documentation/devicetree/bindings/mmc/qcom,sdhci-msm.yaml
index bd558a11b792..b3fcc1673c10 100644
--- a/Documentation/devicetree/bindings/mmc/qcom,sdhci-msm.yaml
+++ b/Documentation/devicetree/bindings/mmc/qcom,sdhci-msm.yaml
@@ -145,6 +145,11 @@ properties:
     $ref: /schemas/types.yaml#/definitions/uint32
     description: platform specific settings for DLL_CONFIG reg.
 
+  qcom,ice:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      phandle to the Inline Crypto Engine (ICE) hardware block for this controller.
+
   iommus:
     minItems: 1
     maxItems: 8
@@ -198,35 +203,69 @@ allOf:
             enum:
               - qcom,sdhci-msm-v4
     then:
-      properties:
-        reg:
-          minItems: 2
-          items:
-            - description: Host controller register map
-            - description: SD Core register map
-            - description: CQE register map
-            - description: Inline Crypto Engine register map
-        reg-names:
-          minItems: 2
-          items:
-            - const: hc
-            - const: core
-            - const: cqhci
-            - const: ice
+      if:
+        required:
+          - qcom,ice
+      then:
+        properties:
+          reg:
+            minItems: 2
+            items:
+              - description: Host controller register map
+              - description: SD Core register map
+              - description: CQE register map
+          reg-names:
+            minItems: 2
+            items:
+              - const: hc
+              - const: core
+              - const: cqhci
+      else:
+        properties:
+          reg:
+            minItems: 2
+            items:
+              - description: Host controller register map
+              - description: SD Core register map
+              - description: CQE register map
+              - description: Inline Crypto Engine register map
+          reg-names:
+            minItems: 2
+            items:
+              - const: hc
+              - const: core
+              - const: cqhci
+              - const: ice
     else:
-      properties:
-        reg:
-          minItems: 1
-          items:
-            - description: Host controller register map
-            - description: CQE register map
-            - description: Inline Crypto Engine register map
-        reg-names:
-          minItems: 1
-          items:
-            - const: hc
-            - const: cqhci
-            - const: ice
+      if:
+        required:
+          - qcom,ice
+      then:
+        properties:
+          reg:
+            minItems: 1
+            items:
+              - description: Host controller register map
+              - description: CQE register map
+          reg-names:
+            minItems: 1
+            items:
+              - const: hc
+              - const: cqhci
+      else:
+        properties:
+          reg:
+            minItems: 1
+            items:
+              - description: Host controller register map
+              - description: CQE register map
+              - description: Inline Crypto Engine register map
+          reg-names:
+            minItems: 1
+            items:
+              - const: hc
+              - const: cqhci
+              - const: ice
 
 unevaluatedProperties: false
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v7 2/3] arm64: dts: qcom: kodiak: enable the inline crypto engine for SDHC
  2026-06-08  4:16 [PATCH v7 0/3] Enable Inline crypto engine for kodiak and monaco Neeraj Soni
  2026-06-08  4:16 ` [PATCH v7 1/3] dt-bindings: mmc: sdhci-msm: Add ICE phandle Neeraj Soni
@ 2026-06-08  4:16 ` Neeraj Soni
  2026-06-08  4:16 ` [PATCH v7 3/3] arm64: dts: qcom: monaco: " Neeraj Soni
  2 siblings, 0 replies; 7+ messages in thread
From: Neeraj Soni @ 2026-06-08  4:16 UTC (permalink / raw)
  To: ulf.hansson, robh, krzk+dt, conor+dt, andersson, konradybcio
  Cc: linux-mmc, devicetree, linux-kernel, neeraj.soni, Kuldeep Singh

Add an ICE node to kodiak SoC description and enable it by adding a
phandle to the SDHC node.

Reviewed-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260310113557.348502-3-neeraj.soni@oss.qualcomm.com
Signed-off-by: Neeraj Soni <neeraj.soni@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/kodiak.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
index fa540d8c2615..caf4ec9cf9fc 100644
--- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
+++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
@@ -1050,6 +1050,8 @@ sdhc_1: mmc@7c4000 {
 			qcom,dll-config = <0x0007642c>;
 			qcom,ddr-config = <0x80040868>;
 
+			qcom,ice = <&sdhc_ice>;
+
 			mmc-ddr-1_8v;
 			mmc-hs200-1_8v;
 			mmc-hs400-1_8v;
@@ -1076,6 +1078,13 @@ opp-384000000 {
 			};
 		};
 
+		sdhc_ice: crypto@7c8000 {
+			compatible = "qcom,sc7280-inline-crypto-engine",
+				     "qcom,inline-crypto-engine";
+			reg = <0x0 0x007c8000 0x0 0x18000>;
+			clocks = <&gcc GCC_SDCC1_ICE_CORE_CLK>;
+		};
+
 		gpi_dma0: dma-controller@900000 {
 			#dma-cells = <3>;
 			compatible = "qcom,sc7280-gpi-dma", "qcom,sm6350-gpi-dma";
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v7 3/3] arm64: dts: qcom: monaco: enable the inline crypto engine for SDHC
  2026-06-08  4:16 [PATCH v7 0/3] Enable Inline crypto engine for kodiak and monaco Neeraj Soni
  2026-06-08  4:16 ` [PATCH v7 1/3] dt-bindings: mmc: sdhci-msm: Add ICE phandle Neeraj Soni
  2026-06-08  4:16 ` [PATCH v7 2/3] arm64: dts: qcom: kodiak: enable the inline crypto engine for SDHC Neeraj Soni
@ 2026-06-08  4:16 ` Neeraj Soni
  2 siblings, 0 replies; 7+ messages in thread
From: Neeraj Soni @ 2026-06-08  4:16 UTC (permalink / raw)
  To: ulf.hansson, robh, krzk+dt, conor+dt, andersson, konradybcio
  Cc: linux-mmc, devicetree, linux-kernel, neeraj.soni, Kuldeep Singh

Add an ICE node to monaco SoC description and enable it by adding a
phandle to the SDHC node.

Reviewed-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260310113557.348502-4-neeraj.soni@oss.qualcomm.com
Signed-off-by: Neeraj Soni <neeraj.soni@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/monaco.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
index e4c8466f941b..06ed34dfe135 100644
--- a/arch/arm64/boot/dts/qcom/monaco.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
@@ -4835,6 +4835,8 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
 			supports-cqe;
 			dma-coherent;
 
+			qcom,ice = <&sdhc_ice>;
+
 			mmc-ddr-1_8v;
 			mmc-hs200-1_8v;
 			mmc-hs400-1_8v;
@@ -4867,6 +4869,13 @@ opp-384000000 {
 			};
 		};
 
+		sdhc_ice: crypto@87c8000 {
+			compatible = "qcom,qcs8300-inline-crypto-engine",
+				     "qcom,inline-crypto-engine";
+			reg = <0x0 0x087c8000 0x0 0x18000>;
+			clocks = <&gcc GCC_SDCC1_ICE_CORE_CLK>;
+		};
+
 		usb_1_hsphy: phy@8904000 {
 			compatible = "qcom,qcs8300-usb-hs-phy",
 				     "qcom,usb-snps-hs-7nm-phy";
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v7 1/3] dt-bindings: mmc: sdhci-msm: Add ICE phandle
  2026-06-08  4:16 ` [PATCH v7 1/3] dt-bindings: mmc: sdhci-msm: Add ICE phandle Neeraj Soni
@ 2026-06-08  6:10   ` Kuldeep Singh
  2026-06-09  8:18     ` Neeraj Soni
  0 siblings, 1 reply; 7+ messages in thread
From: Kuldeep Singh @ 2026-06-08  6:10 UTC (permalink / raw)
  To: Neeraj Soni, ulf.hansson, robh, krzk+dt, conor+dt, andersson,
	konradybcio
  Cc: linux-mmc, devicetree, linux-kernel, Abel Vesa, Abhinaba Rakshit,
	Krzysztof Kozlowski

On 08-06-2026 09:46, Neeraj Soni wrote:
> Starting with sc7280(kodiak), the ICE will have its own device-tree node.
> So add the qcom,ice property to reference it.
> 
> To avoid double-modeling, when qcom,ice is present, disallow an embedded
> ICE register region in the SDHCI node. Older SoCs without ICE remain
> valid as no additional requirement is imposed.
> 
> Co-developed-by: Abel Vesa <abel.vesa@linaro.org>
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> Co-developed-by: Abhinaba Rakshit <abhinaba.rakshit@oss.qualcomm.com>
> Signed-off-by: Abhinaba Rakshit <abhinaba.rakshit@oss.qualcomm.com>
> Reviewed-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
> Link: https://lore.kernel.org/r/20260310113557.348502-2-neeraj.soni@oss.qualcomm.com
> Signed-off-by: Neeraj Soni <neeraj.soni@oss.qualcomm.com>

Link should go below "---" to specify previous discussions.

Usually maintainers add link of patchset being merged here while merging
changes in their tree but authors don't add it here.

-- 
Regards
Kuldeep


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v7 1/3] dt-bindings: mmc: sdhci-msm: Add ICE phandle
  2026-06-08  6:10   ` Kuldeep Singh
@ 2026-06-09  8:18     ` Neeraj Soni
  2026-06-09 11:49       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 7+ messages in thread
From: Neeraj Soni @ 2026-06-09  8:18 UTC (permalink / raw)
  To: Kuldeep Singh, ulf.hansson, robh, krzk+dt, conor+dt, andersson,
	konradybcio
  Cc: linux-mmc, devicetree, linux-kernel, Abel Vesa, Abhinaba Rakshit,
	Krzysztof Kozlowski



On 6/8/2026 11:40 AM, Kuldeep Singh wrote:
> On 08-06-2026 09:46, Neeraj Soni wrote:
>> Starting with sc7280(kodiak), the ICE will have its own device-tree node.
>> So add the qcom,ice property to reference it.
>>
>> To avoid double-modeling, when qcom,ice is present, disallow an embedded
>> ICE register region in the SDHCI node. Older SoCs without ICE remain
>> valid as no additional requirement is imposed.
>>
>> Co-developed-by: Abel Vesa <abel.vesa@linaro.org>
>> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
>> Co-developed-by: Abhinaba Rakshit <abhinaba.rakshit@oss.qualcomm.com>
>> Signed-off-by: Abhinaba Rakshit <abhinaba.rakshit@oss.qualcomm.com>
>> Reviewed-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
>> Link: https://lore.kernel.org/r/20260310113557.348502-2-neeraj.soni@oss.qualcomm.com
>> Signed-off-by: Neeraj Soni <neeraj.soni@oss.qualcomm.com>
> 
> Link should go below "---" to specify previous discussions.
> 
> Usually maintainers add link of patchset being merged here while merging
> changes in their tree but authors don't add it here.
> 
Do not see any such restrictions here https://www.kernel.org/doc/html/latest/process/submitting-patches.html

Regards,
Neeraj


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v7 1/3] dt-bindings: mmc: sdhci-msm: Add ICE phandle
  2026-06-09  8:18     ` Neeraj Soni
@ 2026-06-09 11:49       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2026-06-09 11:49 UTC (permalink / raw)
  To: Neeraj Soni, Kuldeep Singh, ulf.hansson, robh, krzk+dt, conor+dt,
	andersson, konradybcio
  Cc: linux-mmc, devicetree, linux-kernel, Abel Vesa, Abhinaba Rakshit

On 09/06/2026 10:18, Neeraj Soni wrote:
> 
> 
> On 6/8/2026 11:40 AM, Kuldeep Singh wrote:
>> On 08-06-2026 09:46, Neeraj Soni wrote:
>>> Starting with sc7280(kodiak), the ICE will have its own device-tree node.
>>> So add the qcom,ice property to reference it.
>>>
>>> To avoid double-modeling, when qcom,ice is present, disallow an embedded
>>> ICE register region in the SDHCI node. Older SoCs without ICE remain
>>> valid as no additional requirement is imposed.
>>>
>>> Co-developed-by: Abel Vesa <abel.vesa@linaro.org>
>>> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
>>> Co-developed-by: Abhinaba Rakshit <abhinaba.rakshit@oss.qualcomm.com>
>>> Signed-off-by: Abhinaba Rakshit <abhinaba.rakshit@oss.qualcomm.com>
>>> Reviewed-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
>>> Link: https://lore.kernel.org/r/20260310113557.348502-2-neeraj.soni@oss.qualcomm.com
>>> Signed-off-by: Neeraj Soni <neeraj.soni@oss.qualcomm.com>
>>
>> Link should go below "---" to specify previous discussions.
>>
>> Usually maintainers add link of patchset being merged here while merging
>> changes in their tree but authors don't add it here.
>>
> Do not see any such restrictions here https://www.kernel.org/doc/html/latest/process/submitting-patches.html

What do you provide that Link for? What does it bring?

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-06-09 11:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-08  4:16 [PATCH v7 0/3] Enable Inline crypto engine for kodiak and monaco Neeraj Soni
2026-06-08  4:16 ` [PATCH v7 1/3] dt-bindings: mmc: sdhci-msm: Add ICE phandle Neeraj Soni
2026-06-08  6:10   ` Kuldeep Singh
2026-06-09  8:18     ` Neeraj Soni
2026-06-09 11:49       ` Krzysztof Kozlowski
2026-06-08  4:16 ` [PATCH v7 2/3] arm64: dts: qcom: kodiak: enable the inline crypto engine for SDHC Neeraj Soni
2026-06-08  4:16 ` [PATCH v7 3/3] arm64: dts: qcom: monaco: " Neeraj Soni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox