diff mbox series

[v10,05/10] dt-bindings: qcom-qce: Add new SoC compatible strings for Qualcomm QCE IP

Message ID 20230216131430.3107308-6-vladimir.zapolskiy@linaro.org (mailing list archive)
State Superseded
Delegated to: Herbert Xu
Headers show
Series crypto: qcom-qce: Add YAML bindings and support for newer SoCs | expand

Commit Message

Vladimir Zapolskiy Feb. 16, 2023, 1:14 p.m. UTC
Introduce a generic IP family compatible 'qcom,qce' and its two derivatives
based on SoC names rather than on IP versions. Having a generic compatible
is only partially sufficient, the QCE IP version can be discovered in
runtime, however there are two known groups of QCE IP versions, which
require different DT properties, these two groups are populated with SoC
based compatibles known at the moment.

Keep the old compatibles 'qcom,crypto-v5.1' and 'qcom,crypto-v5.4' for
backward compatibility of DTB ABI, but mark them as deprecated.

The change is based on the original one written by Bhupesh Sharma, adding
a generic family compatible is suggested by Neil Armstrong.

Cc: Bhupesh Sharma <bhupesh.sharma@linaro.org>
Cc: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
---
 .../devicetree/bindings/crypto/qcom-qce.yaml  | 29 +++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

Comments

Krzysztof Kozlowski Feb. 17, 2023, 8:57 a.m. UTC | #1
On 16/02/2023 14:14, Vladimir Zapolskiy wrote:
> Introduce a generic IP family compatible 'qcom,qce' and its two derivatives
> based on SoC names rather than on IP versions. Having a generic compatible
> is only partially sufficient, the QCE IP version can be discovered in
> runtime, however there are two known groups of QCE IP versions, which
> require different DT properties, these two groups are populated with SoC
> based compatibles known at the moment.
> 
> Keep the old compatibles 'qcom,crypto-v5.1' and 'qcom,crypto-v5.4' for
> backward compatibility of DTB ABI, but mark them as deprecated.
> 

As I asked at v9, please mention that you document already used v5.4
compatible. You do not "keep it", because it was never there in the binding.

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/crypto/qcom-qce.yaml b/Documentation/devicetree/bindings/crypto/qcom-qce.yaml
index 4e00e7925fed..84f57f44bb71 100644
--- a/Documentation/devicetree/bindings/crypto/qcom-qce.yaml
+++ b/Documentation/devicetree/bindings/crypto/qcom-qce.yaml
@@ -15,7 +15,32 @@  description:
 
 properties:
   compatible:
-    const: qcom,crypto-v5.1
+    oneOf:
+      - const: qcom,crypto-v5.1
+        deprecated: true
+        description: Kept only for ABI backward compatibility
+
+      - const: qcom,crypto-v5.4
+        deprecated: true
+        description: Kept only for ABI backward compatibility
+
+      - items:
+          - enum:
+              - qcom,ipq6018-qce
+              - qcom,ipq8074-qce
+              - qcom,msm8996-qce
+              - qcom,sdm845-qce
+          - const: qcom,ipq4019-qce
+          - const: qcom,qce
+
+      - items:
+          - enum:
+              - qcom,sm8250-qce
+              - qcom,sm8350-qce
+              - qcom,sm8450-qce
+              - qcom,sm8550-qce
+          - const: qcom,sm8150-qce
+          - const: qcom,qce
 
   reg:
     maxItems: 1
@@ -70,7 +95,7 @@  examples:
   - |
     #include <dt-bindings/clock/qcom,gcc-apq8084.h>
     crypto-engine@fd45a000 {
-        compatible = "qcom,crypto-v5.1";
+        compatible = "qcom,ipq6018-qce", "qcom,ipq4019-qce", "qcom,qce";
         reg = <0xfd45a000 0x6000>;
         clocks = <&gcc GCC_CE2_AHB_CLK>,
                  <&gcc GCC_CE2_AXI_CLK>,