linux-crypto.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/9] arm64: qcom: Enable Crypto Engine for a few Qualcomm SoCs
@ 2023-03-28  9:28 Bhupesh Sharma
  2023-03-28  9:28 ` [PATCH v3 1/9] dt-bindings: dma: Add support for SM6115 and QCM2290 SoCs Bhupesh Sharma
                   ` (8 more replies)
  0 siblings, 9 replies; 16+ messages in thread
From: Bhupesh Sharma @ 2023-03-28  9:28 UTC (permalink / raw)
  To: linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.sharma,
	bhupesh.linux, krzysztof.kozlowski, robh+dt, konrad.dybcio,
	vladimir.zapolskiy, rfoss, neil.armstrong

Changes since v2:
-----------------
- v2 can be viewed here: https://lore.kernel.org/linux-arm-msm/20230322114519.3412469-1-bhupesh.sharma@linaro.org/
- No functional change since v2. As the sdm845 patch from v1 was accepted in linux-next,
  dropped it from this version.

Changes since v1:
-----------------
- v1 can be viewed here: https://lore.kernel.org/linux-arm-msm/20230321190118.3327360-1-bhupesh.sharma@linaro.org/
- Folded the BAM DMA dt-binding change.
  (sent earlier as: https://lore.kernel.org/linux-arm-msm/20230321184811.3325725-1-bhupesh.sharma@linaro.org/)
- Folded the QCE dt-binding change.
  (sent earlier as: https://lore.kernel.org/linux-arm-msm/20230320073816.3012198-1-bhupesh.sharma@linaro.org/)
- Folded Neil's SM8450 dts patch in this series.
- Addressed review comments from Rob, Stephan and Konrad.
- Collected Konrad's R-B for [PATCH 5/9].

This patchset enables Crypto Engine support for Qualcomm SoCs like
SM6115, SM8150, SM8250, SM8350 and SM8450.

Note that:
- SM8250 crypto engine patch utilizes the work already done by myself and
  Vladimir.
- SM8350 crypto engine patch utilizes the work already done by Robert.
- SM8450 crypto engine patch utilizes the work already done by Neil.

Also this patchset is rebased on linux-next/master.

Bhupesh Sharma (8):
  dt-bindings: dma: Add support for SM6115 and QCM2290 SoCs
  dt-bindings: dma: Increase iommu maxItems for BAM DMA
  dt-bindings: qcom-qce: Fix compatibles combinations for SM8150 and
    IPQ4019 SoCs
  dt-bindings: qcom-qce: Add compatibles for SM6115 and QCM2290
  arm64: dts: qcom: sm6115: Add Crypto Engine support
  arm64: dts: qcom: sm8150: Add Crypto Engine support
  arm64: dts: qcom: sm8250: Add Crypto Engine support
  arm64: dts: qcom: sm8350: Add Crypto Engine support

Neil Armstrong (1):
  arm64: dts: qcom: sm8450: add crypto nodes

 .../devicetree/bindings/crypto/qcom-qce.yaml  |  8 ++++++
 .../devicetree/bindings/dma/qcom,bam-dma.yaml | 24 ++++++++++------
 arch/arm64/boot/dts/qcom/sm6115.dtsi          | 22 +++++++++++++++
 arch/arm64/boot/dts/qcom/sm8150.dtsi          | 22 +++++++++++++++
 arch/arm64/boot/dts/qcom/sm8250.dtsi          | 22 +++++++++++++++
 arch/arm64/boot/dts/qcom/sm8350.dtsi          | 22 +++++++++++++++
 arch/arm64/boot/dts/qcom/sm8450.dtsi          | 28 +++++++++++++++++++
 7 files changed, 140 insertions(+), 8 deletions(-)

-- 
2.38.1


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

* [PATCH v3 1/9] dt-bindings: dma: Add support for SM6115 and QCM2290 SoCs
  2023-03-28  9:28 [PATCH v3 0/9] arm64: qcom: Enable Crypto Engine for a few Qualcomm SoCs Bhupesh Sharma
@ 2023-03-28  9:28 ` Bhupesh Sharma
  2023-03-30  8:11   ` Krzysztof Kozlowski
  2023-03-28  9:28 ` [PATCH v3 2/9] dt-bindings: dma: Increase iommu maxItems for BAM DMA Bhupesh Sharma
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 16+ messages in thread
From: Bhupesh Sharma @ 2023-03-28  9:28 UTC (permalink / raw)
  To: linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.sharma,
	bhupesh.linux, krzysztof.kozlowski, robh+dt, konrad.dybcio,
	vladimir.zapolskiy, rfoss, neil.armstrong

Add new compatible for BAM DMA engine version v1.7.4 which is
found on Qualcomm SM6115 and QCM2290 SoCs. Since its very similar
to v1.7.0 used on SM8150 like SoCs, mark the comptible scheme
accordingly.

While at it, also update qcom,bam-dma bindings to add comments
which describe the BAM DMA versions used in SM8150 and SM8250 SoCs.
This provides an easy reference for identifying the actual BAM DMA
version available on Qualcomm SoCs.

Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
---
 .../devicetree/bindings/dma/qcom,bam-dma.yaml | 22 +++++++++++++------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
index f1ddcf672261..624208d20a34 100644
--- a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
+++ b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
@@ -15,13 +15,21 @@ allOf:
 
 properties:
   compatible:
-    enum:
-        # APQ8064, IPQ8064 and MSM8960
-      - qcom,bam-v1.3.0
-        # MSM8974, APQ8074 and APQ8084
-      - qcom,bam-v1.4.0
-        # MSM8916 and SDM845
-      - qcom,bam-v1.7.0
+    oneOf:
+      - items:
+          - enum:
+              # APQ8064, IPQ8064 and MSM8960
+              - qcom,bam-v1.3.0
+              # MSM8974, APQ8074 and APQ8084
+              - qcom,bam-v1.4.0
+              # MSM8916
+              - qcom,bam-v1.7.0
+
+      - items:
+          - enum:
+              # SDM845, SM6115, SM8150, SM8250 and QCM2290
+              - qcom,bam-v1.7.4
+          - const: qcom,bam-v1.7.0
 
   clocks:
     maxItems: 1
-- 
2.38.1


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

* [PATCH v3 2/9] dt-bindings: dma: Increase iommu maxItems for BAM DMA
  2023-03-28  9:28 [PATCH v3 0/9] arm64: qcom: Enable Crypto Engine for a few Qualcomm SoCs Bhupesh Sharma
  2023-03-28  9:28 ` [PATCH v3 1/9] dt-bindings: dma: Add support for SM6115 and QCM2290 SoCs Bhupesh Sharma
@ 2023-03-28  9:28 ` Bhupesh Sharma
  2023-03-30  8:11   ` Krzysztof Kozlowski
  2023-03-28  9:28 ` [PATCH v3 3/9] dt-bindings: qcom-qce: Fix compatibles combinations for SM8150 and IPQ4019 SoCs Bhupesh Sharma
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 16+ messages in thread
From: Bhupesh Sharma @ 2023-03-28  9:28 UTC (permalink / raw)
  To: linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.sharma,
	bhupesh.linux, krzysztof.kozlowski, robh+dt, konrad.dybcio,
	vladimir.zapolskiy, rfoss, neil.armstrong

Since SM8450 BAM DMA engine supports five iommu entries,
increase the maxItems in the iommu property section, without
which 'dtbs_check' reports the following error:

  arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx224.dtb:
    dma-controller@1dc4000: iommus: is too long

Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
---
 Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
index 624208d20a34..5469c9c2a1df 100644
--- a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
+++ b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
@@ -46,7 +46,7 @@ properties:
 
   iommus:
     minItems: 1
-    maxItems: 4
+    maxItems: 5
 
   num-channels:
     $ref: /schemas/types.yaml#/definitions/uint32
-- 
2.38.1


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

* [PATCH v3 3/9] dt-bindings: qcom-qce: Fix compatibles combinations for SM8150 and IPQ4019 SoCs
  2023-03-28  9:28 [PATCH v3 0/9] arm64: qcom: Enable Crypto Engine for a few Qualcomm SoCs Bhupesh Sharma
  2023-03-28  9:28 ` [PATCH v3 1/9] dt-bindings: dma: Add support for SM6115 and QCM2290 SoCs Bhupesh Sharma
  2023-03-28  9:28 ` [PATCH v3 2/9] dt-bindings: dma: Increase iommu maxItems for BAM DMA Bhupesh Sharma
@ 2023-03-28  9:28 ` Bhupesh Sharma
  2023-03-30  8:15   ` Krzysztof Kozlowski
  2023-03-28  9:28 ` [PATCH v3 4/9] dt-bindings: qcom-qce: Add compatibles for SM6115 and QCM2290 Bhupesh Sharma
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 16+ messages in thread
From: Bhupesh Sharma @ 2023-03-28  9:28 UTC (permalink / raw)
  To: linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.sharma,
	bhupesh.linux, krzysztof.kozlowski, robh+dt, konrad.dybcio,
	vladimir.zapolskiy, rfoss, neil.armstrong

Currently the compatible list available in 'qce' dt-bindings does not
support SM8150 and IPQ4019 SoCs directly, leading to following
'dtbs_check' error:

 arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano-griffin.dtb:
  crypto@1dfa000: compatible: 'oneOf' conditional failed, one must be fixed:
	['qcom,sm8150-qce', 'qcom,qce'] is too long
	['qcom,sm8150-qce', 'qcom,qce'] is too short

Fix the same.

Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
---
 Documentation/devicetree/bindings/crypto/qcom-qce.yaml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/crypto/qcom-qce.yaml b/Documentation/devicetree/bindings/crypto/qcom-qce.yaml
index e375bd981300..90ddf98a6df9 100644
--- a/Documentation/devicetree/bindings/crypto/qcom-qce.yaml
+++ b/Documentation/devicetree/bindings/crypto/qcom-qce.yaml
@@ -24,6 +24,12 @@ properties:
         deprecated: true
         description: Kept only for ABI backward compatibility
 
+      - items:
+          - enum:
+              - qcom,ipq4019-qce
+              - qcom,sm8150-qce
+          - const: qcom,qce
+
       - items:
           - enum:
               - qcom,ipq6018-qce
-- 
2.38.1


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

* [PATCH v3 4/9] dt-bindings: qcom-qce: Add compatibles for SM6115 and QCM2290
  2023-03-28  9:28 [PATCH v3 0/9] arm64: qcom: Enable Crypto Engine for a few Qualcomm SoCs Bhupesh Sharma
                   ` (2 preceding siblings ...)
  2023-03-28  9:28 ` [PATCH v3 3/9] dt-bindings: qcom-qce: Fix compatibles combinations for SM8150 and IPQ4019 SoCs Bhupesh Sharma
@ 2023-03-28  9:28 ` Bhupesh Sharma
  2023-03-30  8:16   ` Krzysztof Kozlowski
  2023-03-28  9:28 ` [PATCH v3 5/9] arm64: dts: qcom: sm6115: Add Crypto Engine support Bhupesh Sharma
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 16+ messages in thread
From: Bhupesh Sharma @ 2023-03-28  9:28 UTC (permalink / raw)
  To: linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.sharma,
	bhupesh.linux, krzysztof.kozlowski, robh+dt, konrad.dybcio,
	vladimir.zapolskiy, rfoss, neil.armstrong

Crypto Engine block on Qualcomm SoCs SM6115 and QCM2290
do not require clocks strictly, so add compatibles for these
SoCs, indicating that they are similar to the flavour
found on SM8150.

Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
---
 Documentation/devicetree/bindings/crypto/qcom-qce.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/crypto/qcom-qce.yaml b/Documentation/devicetree/bindings/crypto/qcom-qce.yaml
index 90ddf98a6df9..82ea97568008 100644
--- a/Documentation/devicetree/bindings/crypto/qcom-qce.yaml
+++ b/Documentation/devicetree/bindings/crypto/qcom-qce.yaml
@@ -41,6 +41,8 @@ properties:
 
       - items:
           - enum:
+              - qcom,qcm2290-qce
+              - qcom,sm6115-qce
               - qcom,sm8250-qce
               - qcom,sm8350-qce
               - qcom,sm8450-qce
-- 
2.38.1


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

* [PATCH v3 5/9] arm64: dts: qcom: sm6115: Add Crypto Engine support
  2023-03-28  9:28 [PATCH v3 0/9] arm64: qcom: Enable Crypto Engine for a few Qualcomm SoCs Bhupesh Sharma
                   ` (3 preceding siblings ...)
  2023-03-28  9:28 ` [PATCH v3 4/9] dt-bindings: qcom-qce: Add compatibles for SM6115 and QCM2290 Bhupesh Sharma
@ 2023-03-28  9:28 ` Bhupesh Sharma
  2023-03-28  9:28 ` [PATCH v3 6/9] arm64: dts: qcom: sm8150: " Bhupesh Sharma
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Bhupesh Sharma @ 2023-03-28  9:28 UTC (permalink / raw)
  To: linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.sharma,
	bhupesh.linux, krzysztof.kozlowski, robh+dt, konrad.dybcio,
	vladimir.zapolskiy, rfoss, neil.armstrong

Add crypto engine (CE) and CE BAM related nodes and definitions to
'sm6115.dtsi'.

Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm6115.dtsi | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm6115.dtsi b/arch/arm64/boot/dts/qcom/sm6115.dtsi
index 2a51c938bbcb..ebac026b4cc7 100644
--- a/arch/arm64/boot/dts/qcom/sm6115.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6115.dtsi
@@ -650,6 +650,28 @@ usb_hsphy: phy@1613000 {
 			status = "disabled";
 		};
 
+		cryptobam: dma-controller@1b04000 {
+			compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
+			reg = <0x0 0x01b04000 0x0 0x24000>;
+			interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
+			#dma-cells = <1>;
+			qcom,ee = <0>;
+			qcom,controlled-remotely;
+			num-channels = <8>;
+			qcom,num-ees = <2>;
+			iommus = <&apps_smmu 0x94 0x11>,
+				 <&apps_smmu 0x96 0x11>;
+		};
+
+		crypto: crypto@1b3a000 {
+			compatible = "qcom,sm6115-qce", "qcom,sm8150-qce", "qcom,qce";
+			reg = <0x0 0x01b3a000 0x0 0x6000>;
+			dmas = <&cryptobam 6>, <&cryptobam 7>;
+			dma-names = "rx", "tx";
+			iommus = <&apps_smmu 0x94 0x11>,
+				 <&apps_smmu 0x96 0x11>;
+		};
+
 		qfprom@1b40000 {
 			compatible = "qcom,sm6115-qfprom", "qcom,qfprom";
 			reg = <0x0 0x01b40000 0x0 0x7000>;
-- 
2.38.1


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

* [PATCH v3 6/9] arm64: dts: qcom: sm8150: Add Crypto Engine support
  2023-03-28  9:28 [PATCH v3 0/9] arm64: qcom: Enable Crypto Engine for a few Qualcomm SoCs Bhupesh Sharma
                   ` (4 preceding siblings ...)
  2023-03-28  9:28 ` [PATCH v3 5/9] arm64: dts: qcom: sm6115: Add Crypto Engine support Bhupesh Sharma
@ 2023-03-28  9:28 ` Bhupesh Sharma
  2023-03-28  9:28 ` [PATCH v3 7/9] arm64: dts: qcom: sm8250: " Bhupesh Sharma
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Bhupesh Sharma @ 2023-03-28  9:28 UTC (permalink / raw)
  To: linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.sharma,
	bhupesh.linux, krzysztof.kozlowski, robh+dt, konrad.dybcio,
	vladimir.zapolskiy, rfoss, neil.armstrong

Add crypto engine (CE) and CE BAM related nodes and definitions to
'sm8150.dtsi'.

Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8150.dtsi | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8150.dtsi b/arch/arm64/boot/dts/qcom/sm8150.dtsi
index 9491be4a6bf0..c104d0b12dc6 100644
--- a/arch/arm64/boot/dts/qcom/sm8150.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8150.dtsi
@@ -2081,6 +2081,28 @@ ufs_mem_phy_lanes: phy@1d87400 {
 			};
 		};
 
+		cryptobam: dma-controller@1dc4000 {
+			compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
+			reg = <0 0x01dc4000 0 0x24000>;
+			interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
+			#dma-cells = <1>;
+			qcom,ee = <0>;
+			qcom,controlled-remotely;
+			iommus = <&apps_smmu 0x514 0x0011>,
+				 <&apps_smmu 0x516 0x0011>;
+		};
+
+		crypto: crypto@1dfa000 {
+			compatible = "qcom,sm8150-qce", "qcom,qce";
+			reg = <0 0x01dfa000 0 0x6000>;
+			dmas = <&cryptobam 4>, <&cryptobam 5>;
+			dma-names = "rx", "tx";
+			iommus = <&apps_smmu 0x514 0x0011>,
+				 <&apps_smmu 0x516 0x0011>;
+			interconnects = <&aggre2_noc MASTER_CRYPTO_CORE_0 &mc_virt SLAVE_EBI_CH0>;
+			interconnect-names = "memory";
+		};
+
 		tcsr_mutex: hwlock@1f40000 {
 			compatible = "qcom,tcsr-mutex";
 			reg = <0x0 0x01f40000 0x0 0x20000>;
-- 
2.38.1


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

* [PATCH v3 7/9] arm64: dts: qcom: sm8250: Add Crypto Engine support
  2023-03-28  9:28 [PATCH v3 0/9] arm64: qcom: Enable Crypto Engine for a few Qualcomm SoCs Bhupesh Sharma
                   ` (5 preceding siblings ...)
  2023-03-28  9:28 ` [PATCH v3 6/9] arm64: dts: qcom: sm8150: " Bhupesh Sharma
@ 2023-03-28  9:28 ` Bhupesh Sharma
  2023-03-28  9:28 ` [PATCH v3 8/9] arm64: dts: qcom: sm8350: " Bhupesh Sharma
  2023-03-28  9:28 ` [PATCH v3 9/9] arm64: dts: qcom: sm8450: add crypto nodes Bhupesh Sharma
  8 siblings, 0 replies; 16+ messages in thread
From: Bhupesh Sharma @ 2023-03-28  9:28 UTC (permalink / raw)
  To: linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.sharma,
	bhupesh.linux, krzysztof.kozlowski, robh+dt, konrad.dybcio,
	vladimir.zapolskiy, rfoss, neil.armstrong

Add crypto engine (CE) and CE BAM related nodes and definitions to
'sm8250.dtsi'.

Co-developed-by and Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8250.dtsi | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index 7b78761f2041..2f6b8d4a2d41 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -2222,6 +2222,28 @@ ufs_mem_phy_lanes: phy@1d87400 {
 			};
 		};
 
+		cryptobam: dma-controller@1dc4000 {
+			compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
+			reg = <0 0x01dc4000 0 0x24000>;
+			interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
+			#dma-cells = <1>;
+			qcom,ee = <0>;
+			qcom,controlled-remotely;
+			iommus = <&apps_smmu 0x594 0x0011>,
+				 <&apps_smmu 0x596 0x0011>;
+		};
+
+		crypto: crypto@1dfa000 {
+			compatible = "qcom,sm8250-qce", "qcom,sm8150-qce", "qcom,qce";
+			reg = <0 0x01dfa000 0 0x6000>;
+			dmas = <&cryptobam 4>, <&cryptobam 5>;
+			dma-names = "rx", "tx";
+			iommus = <&apps_smmu 0x594 0x0011>,
+				 <&apps_smmu 0x596 0x0011>;
+			interconnects = <&aggre2_noc MASTER_CRYPTO_CORE_0 &mc_virt SLAVE_EBI_CH0>;
+			interconnect-names = "memory";
+		};
+
 		tcsr_mutex: hwlock@1f40000 {
 			compatible = "qcom,tcsr-mutex";
 			reg = <0x0 0x01f40000 0x0 0x40000>;
-- 
2.38.1


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

* [PATCH v3 8/9] arm64: dts: qcom: sm8350: Add Crypto Engine support
  2023-03-28  9:28 [PATCH v3 0/9] arm64: qcom: Enable Crypto Engine for a few Qualcomm SoCs Bhupesh Sharma
                   ` (6 preceding siblings ...)
  2023-03-28  9:28 ` [PATCH v3 7/9] arm64: dts: qcom: sm8250: " Bhupesh Sharma
@ 2023-03-28  9:28 ` Bhupesh Sharma
  2023-03-28  9:28 ` [PATCH v3 9/9] arm64: dts: qcom: sm8450: add crypto nodes Bhupesh Sharma
  8 siblings, 0 replies; 16+ messages in thread
From: Bhupesh Sharma @ 2023-03-28  9:28 UTC (permalink / raw)
  To: linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.sharma,
	bhupesh.linux, krzysztof.kozlowski, robh+dt, konrad.dybcio,
	vladimir.zapolskiy, rfoss, neil.armstrong

Add crypto engine (CE) and CE BAM related nodes and definitions to
'sm8350.dtsi'.

Co-developed-by and Signed-off-by: Robert Foss <rfoss@kernel.org>
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8350.dtsi | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8350.dtsi b/arch/arm64/boot/dts/qcom/sm8350.dtsi
index 7fbc288eca58..090ee07d1800 100644
--- a/arch/arm64/boot/dts/qcom/sm8350.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8350.dtsi
@@ -1730,6 +1730,28 @@ ufs_mem_phy_lanes: phy@1d87400 {
 			};
 		};
 
+		cryptobam: dma-controller@1dc4000 {
+			compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
+			reg = <0 0x01dc4000 0 0x24000>;
+			interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
+			#dma-cells = <1>;
+			qcom,ee = <0>;
+			qcom,controlled-remotely;
+			iommus = <&apps_smmu 0x594 0x0011>,
+				 <&apps_smmu 0x596 0x0011>;
+		};
+
+		crypto: crypto@1dfa000 {
+			compatible = "qcom,sm8350-qce", "qcom,sm8150-qce", "qcom,qce";
+			reg = <0 0x01dfa000 0 0x6000>;
+			dmas = <&cryptobam 4>, <&cryptobam 5>;
+			dma-names = "rx", "tx";
+			iommus = <&apps_smmu 0x594 0x0011>,
+				 <&apps_smmu 0x596 0x0011>;
+			interconnects = <&aggre2_noc MASTER_CRYPTO &mc_virt SLAVE_EBI1>;
+			interconnect-names = "memory";
+		};
+
 		ipa: ipa@1e40000 {
 			compatible = "qcom,sm8350-ipa";
 
-- 
2.38.1


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

* [PATCH v3 9/9] arm64: dts: qcom: sm8450: add crypto nodes
  2023-03-28  9:28 [PATCH v3 0/9] arm64: qcom: Enable Crypto Engine for a few Qualcomm SoCs Bhupesh Sharma
                   ` (7 preceding siblings ...)
  2023-03-28  9:28 ` [PATCH v3 8/9] arm64: dts: qcom: sm8350: " Bhupesh Sharma
@ 2023-03-28  9:28 ` Bhupesh Sharma
  8 siblings, 0 replies; 16+ messages in thread
From: Bhupesh Sharma @ 2023-03-28  9:28 UTC (permalink / raw)
  To: linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.sharma,
	bhupesh.linux, krzysztof.kozlowski, robh+dt, konrad.dybcio,
	vladimir.zapolskiy, rfoss, neil.armstrong

From: Neil Armstrong <neil.armstrong@linaro.org>

Add crypto engine (CE) and CE BAM related nodes and definitions
for the SM8450 SoC.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
[Bhupesh: Corrected the compatible list]
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8450.dtsi | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index 31877f18dce2..d7a28cac4f47 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -4146,6 +4146,34 @@ ufs_mem_phy_lanes: phy@1d87400 {
 			};
 		};
 
+		cryptobam: dma-controller@1dc4000 {
+			compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
+			reg = <0 0x01dc4000 0 0x28000>;
+			interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
+			#dma-cells = <1>;
+			qcom,ee = <0>;
+			qcom,controlled-remotely;
+			iommus = <&apps_smmu 0x584 0x11>,
+				 <&apps_smmu 0x588 0x0>,
+				 <&apps_smmu 0x598 0x5>,
+				 <&apps_smmu 0x59a 0x0>,
+				 <&apps_smmu 0x59f 0x0>;
+		};
+
+		crypto: crypto@1de0000 {
+			compatible = "qcom,sm8450-qce", "qcom,sm8150-qce", "qcom,qce";
+			reg = <0 0x01dfa000 0 0x6000>;
+			dmas = <&cryptobam 4>, <&cryptobam 5>;
+			dma-names = "rx", "tx";
+			iommus = <&apps_smmu 0x584 0x11>,
+				 <&apps_smmu 0x588 0x0>,
+				 <&apps_smmu 0x598 0x5>,
+				 <&apps_smmu 0x59a 0x0>,
+				 <&apps_smmu 0x59f 0x0>;
+			interconnects = <&aggre2_noc MASTER_CRYPTO 0 &mc_virt SLAVE_EBI1 0>;
+			interconnect-names = "memory";
+		};
+
 		sdhc_2: mmc@8804000 {
 			compatible = "qcom,sm8450-sdhci", "qcom,sdhci-msm-v5";
 			reg = <0 0x08804000 0 0x1000>;
-- 
2.38.1


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

* Re: [PATCH v3 1/9] dt-bindings: dma: Add support for SM6115 and QCM2290 SoCs
  2023-03-28  9:28 ` [PATCH v3 1/9] dt-bindings: dma: Add support for SM6115 and QCM2290 SoCs Bhupesh Sharma
@ 2023-03-30  8:11   ` Krzysztof Kozlowski
  2023-03-31  5:49     ` Bhupesh Sharma
  0 siblings, 1 reply; 16+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-30  8:11 UTC (permalink / raw)
  To: Bhupesh Sharma, linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.linux,
	robh+dt, konrad.dybcio, vladimir.zapolskiy, rfoss,
	neil.armstrong

On 28/03/2023 11:28, Bhupesh Sharma wrote:
> Add new compatible for BAM DMA engine version v1.7.4 which is
> found on Qualcomm SM6115 and QCM2290 SoCs. Since its very similar
> to v1.7.0 used on SM8150 like SoCs, mark the comptible scheme
> accordingly.
> 
> While at it, also update qcom,bam-dma bindings to add comments
> which describe the BAM DMA versions used in SM8150 and SM8250 SoCs.
> This provides an easy reference for identifying the actual BAM DMA
> version available on Qualcomm SoCs.
> 
> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
> ---
>  .../devicetree/bindings/dma/qcom,bam-dma.yaml | 22 +++++++++++++------
>  1 file changed, 15 insertions(+), 7 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
> index f1ddcf672261..624208d20a34 100644
> --- a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
> +++ b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
> @@ -15,13 +15,21 @@ allOf:
>  
>  properties:
>    compatible:
> -    enum:
> -        # APQ8064, IPQ8064 and MSM8960
> -      - qcom,bam-v1.3.0
> -        # MSM8974, APQ8074 and APQ8084
> -      - qcom,bam-v1.4.0
> -        # MSM8916 and SDM845
> -      - qcom,bam-v1.7.0
> +    oneOf:
> +      - items:

Drop "items". This is just an enum.

> +          - enum:
> +              # APQ8064, IPQ8064 and MSM8960
> +              - qcom,bam-v1.3.0

Best regards,
Krzysztof


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

* Re: [PATCH v3 2/9] dt-bindings: dma: Increase iommu maxItems for BAM DMA
  2023-03-28  9:28 ` [PATCH v3 2/9] dt-bindings: dma: Increase iommu maxItems for BAM DMA Bhupesh Sharma
@ 2023-03-30  8:11   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 16+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-30  8:11 UTC (permalink / raw)
  To: Bhupesh Sharma, linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.linux,
	robh+dt, konrad.dybcio, vladimir.zapolskiy, rfoss,
	neil.armstrong

On 28/03/2023 11:28, Bhupesh Sharma wrote:
> Since SM8450 BAM DMA engine supports five iommu entries,
> increase the maxItems in the iommu property section, without
> which 'dtbs_check' reports the following error:
> 
>   arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx224.dtb:
>     dma-controller@1dc4000: iommus: is too long
> 
> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>


Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH v3 3/9] dt-bindings: qcom-qce: Fix compatibles combinations for SM8150 and IPQ4019 SoCs
  2023-03-28  9:28 ` [PATCH v3 3/9] dt-bindings: qcom-qce: Fix compatibles combinations for SM8150 and IPQ4019 SoCs Bhupesh Sharma
@ 2023-03-30  8:15   ` Krzysztof Kozlowski
  2023-03-31  5:51     ` Bhupesh Sharma
  0 siblings, 1 reply; 16+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-30  8:15 UTC (permalink / raw)
  To: Bhupesh Sharma, linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.linux,
	robh+dt, konrad.dybcio, vladimir.zapolskiy, rfoss,
	neil.armstrong

On 28/03/2023 11:28, Bhupesh Sharma wrote:
> Currently the compatible list available in 'qce' dt-bindings does not
> support SM8150 and IPQ4019 SoCs directly, leading to following
> 'dtbs_check' error:
> 
>  arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano-griffin.dtb:
>   crypto@1dfa000: compatible: 'oneOf' conditional failed, one must be fixed:
> 	['qcom,sm8150-qce', 'qcom,qce'] is too long
> 	['qcom,sm8150-qce', 'qcom,qce'] is too short

There is no such change in the files. Document only warnings which are
real - happening.

Best regards,
Krzysztof


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

* Re: [PATCH v3 4/9] dt-bindings: qcom-qce: Add compatibles for SM6115 and QCM2290
  2023-03-28  9:28 ` [PATCH v3 4/9] dt-bindings: qcom-qce: Add compatibles for SM6115 and QCM2290 Bhupesh Sharma
@ 2023-03-30  8:16   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 16+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-30  8:16 UTC (permalink / raw)
  To: Bhupesh Sharma, linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.linux,
	robh+dt, konrad.dybcio, vladimir.zapolskiy, rfoss,
	neil.armstrong

On 28/03/2023 11:28, Bhupesh Sharma wrote:
> Crypto Engine block on Qualcomm SoCs SM6115 and QCM2290
> do not require clocks strictly, so add compatibles for these
> SoCs, indicating that they are similar to the flavour
> found on SM8150.
> 
> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
> ---

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH v3 1/9] dt-bindings: dma: Add support for SM6115 and QCM2290 SoCs
  2023-03-30  8:11   ` Krzysztof Kozlowski
@ 2023-03-31  5:49     ` Bhupesh Sharma
  0 siblings, 0 replies; 16+ messages in thread
From: Bhupesh Sharma @ 2023-03-31  5:49 UTC (permalink / raw)
  To: Krzysztof Kozlowski, linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.linux,
	robh+dt, konrad.dybcio, vladimir.zapolskiy, rfoss,
	neil.armstrong

On 3/30/23 1:41 PM, Krzysztof Kozlowski wrote:
> On 28/03/2023 11:28, Bhupesh Sharma wrote:
>> Add new compatible for BAM DMA engine version v1.7.4 which is
>> found on Qualcomm SM6115 and QCM2290 SoCs. Since its very similar
>> to v1.7.0 used on SM8150 like SoCs, mark the comptible scheme
>> accordingly.
>>
>> While at it, also update qcom,bam-dma bindings to add comments
>> which describe the BAM DMA versions used in SM8150 and SM8250 SoCs.
>> This provides an easy reference for identifying the actual BAM DMA
>> version available on Qualcomm SoCs.
>>
>> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
>> ---
>>   .../devicetree/bindings/dma/qcom,bam-dma.yaml | 22 +++++++++++++------
>>   1 file changed, 15 insertions(+), 7 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
>> index f1ddcf672261..624208d20a34 100644
>> --- a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
>> +++ b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
>> @@ -15,13 +15,21 @@ allOf:
>>   
>>   properties:
>>     compatible:
>> -    enum:
>> -        # APQ8064, IPQ8064 and MSM8960
>> -      - qcom,bam-v1.3.0
>> -        # MSM8974, APQ8074 and APQ8084
>> -      - qcom,bam-v1.4.0
>> -        # MSM8916 and SDM845
>> -      - qcom,bam-v1.7.0
>> +    oneOf:
>> +      - items:
> 
> Drop "items". This is just an enum.

Sure, will fix it in v4.

Thanks

>> +          - enum:
>> +              # APQ8064, IPQ8064 and MSM8960
>> +              - qcom,bam-v1.3.0


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

* Re: [PATCH v3 3/9] dt-bindings: qcom-qce: Fix compatibles combinations for SM8150 and IPQ4019 SoCs
  2023-03-30  8:15   ` Krzysztof Kozlowski
@ 2023-03-31  5:51     ` Bhupesh Sharma
  0 siblings, 0 replies; 16+ messages in thread
From: Bhupesh Sharma @ 2023-03-31  5:51 UTC (permalink / raw)
  To: Krzysztof Kozlowski, linux-arm-msm, devicetree
  Cc: agross, linux-kernel, linux-crypto, andersson, bhupesh.linux,
	robh+dt, konrad.dybcio, vladimir.zapolskiy, rfoss,
	neil.armstrong

On 3/30/23 1:45 PM, Krzysztof Kozlowski wrote:
> On 28/03/2023 11:28, Bhupesh Sharma wrote:
>> Currently the compatible list available in 'qce' dt-bindings does not
>> support SM8150 and IPQ4019 SoCs directly, leading to following
>> 'dtbs_check' error:
>>
>>   arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano-griffin.dtb:
>>    crypto@1dfa000: compatible: 'oneOf' conditional failed, one must be fixed:
>> 	['qcom,sm8150-qce', 'qcom,qce'] is too long
>> 	['qcom,sm8150-qce', 'qcom,qce'] is too short
> 
> There is no such change in the files. Document only warnings which are
> real - happening.

Sure, will fix it in v4.

Thanks

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

end of thread, other threads:[~2023-03-31  5:51 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-28  9:28 [PATCH v3 0/9] arm64: qcom: Enable Crypto Engine for a few Qualcomm SoCs Bhupesh Sharma
2023-03-28  9:28 ` [PATCH v3 1/9] dt-bindings: dma: Add support for SM6115 and QCM2290 SoCs Bhupesh Sharma
2023-03-30  8:11   ` Krzysztof Kozlowski
2023-03-31  5:49     ` Bhupesh Sharma
2023-03-28  9:28 ` [PATCH v3 2/9] dt-bindings: dma: Increase iommu maxItems for BAM DMA Bhupesh Sharma
2023-03-30  8:11   ` Krzysztof Kozlowski
2023-03-28  9:28 ` [PATCH v3 3/9] dt-bindings: qcom-qce: Fix compatibles combinations for SM8150 and IPQ4019 SoCs Bhupesh Sharma
2023-03-30  8:15   ` Krzysztof Kozlowski
2023-03-31  5:51     ` Bhupesh Sharma
2023-03-28  9:28 ` [PATCH v3 4/9] dt-bindings: qcom-qce: Add compatibles for SM6115 and QCM2290 Bhupesh Sharma
2023-03-30  8:16   ` Krzysztof Kozlowski
2023-03-28  9:28 ` [PATCH v3 5/9] arm64: dts: qcom: sm6115: Add Crypto Engine support Bhupesh Sharma
2023-03-28  9:28 ` [PATCH v3 6/9] arm64: dts: qcom: sm8150: " Bhupesh Sharma
2023-03-28  9:28 ` [PATCH v3 7/9] arm64: dts: qcom: sm8250: " Bhupesh Sharma
2023-03-28  9:28 ` [PATCH v3 8/9] arm64: dts: qcom: sm8350: " Bhupesh Sharma
2023-03-28  9:28 ` [PATCH v3 9/9] arm64: dts: qcom: sm8450: add crypto nodes Bhupesh Sharma

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).