Documentation / devicetree / bindings / crypto / qcom,inline-crypto-engine.yaml


Based on kernel version 7.2. Page generated on 2026-08-20 08:41 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/crypto/qcom,inline-crypto-engine.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Technologies, Inc. (QTI) Inline Crypto Engine

maintainers:
  - Bjorn Andersson <andersson@kernel.org>

properties:
  compatible:
    items:
      - enum:
          - qcom,eliza-inline-crypto-engine
          - qcom,hawi-inline-crypto-engine
          - qcom,kaanapali-inline-crypto-engine
          - qcom,milos-inline-crypto-engine
          - qcom,qcs8300-inline-crypto-engine
          - qcom,sa8775p-inline-crypto-engine
          - qcom,sc7180-inline-crypto-engine
          - qcom,sc7280-inline-crypto-engine
          - qcom,sm8450-inline-crypto-engine
          - qcom,sm8550-inline-crypto-engine
          - qcom,sm8650-inline-crypto-engine
          - qcom,sm8750-inline-crypto-engine
      - const: qcom,inline-crypto-engine

  reg:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 2

  clock-names:
    minItems: 1
    items:
      - const: core
      - const: iface

  power-domains:
    maxItems: 1

  operating-points-v2: true

  opp-table:
    type: object

required:
  - compatible
  - reg
  - clocks

additionalProperties: false

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,eliza-inline-crypto-engine
              - qcom,milos-inline-crypto-engine

    then:
      required:
        - power-domains
        - clock-names
      properties:
        clocks:
          minItems: 2
        clock-names:
          minItems: 2

examples:
  - |
    #include <dt-bindings/clock/qcom,sm8550-gcc.h>
 
    crypto@1d88000 {
      compatible = "qcom,sm8550-inline-crypto-engine",
                   "qcom,inline-crypto-engine";
      reg = <0x01d88000 0x8000>;
      clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>,
               <&gcc GCC_UFS_PHY_AHB_CLK>;
      clock-names = "core",
                    "iface";
      power-domains = <&gcc UFS_PHY_GDSC>;
 
      operating-points-v2 = <&ice_opp_table>;
 
      ice_opp_table: opp-table {
        compatible = "operating-points-v2";
 
        opp-100000000 {
          opp-hz = /bits/ 64 <100000000>;
          required-opps = <&rpmhpd_opp_low_svs>;
        };
 
        opp-201500000 {
          opp-hz = /bits/ 64 <201500000>;
          required-opps = <&rpmhpd_opp_svs_l1>;
        };
 
        opp-403000000 {
          opp-hz = /bits/ 64 <403000000>;
          required-opps = <&rpmhpd_opp_nom>;
        };
      };
    };
...