brintos

brintos / linux-shallow public Read only

0
0
Text · 5.4 KiB · 2cc8377 Raw
230 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/firmware/qcom,scm.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: QCOM Secure Channel Manager (SCM)8 9description: |10  Qualcomm processors include an interface to communicate to the secure firmware.11  This interface allows for clients to request different types of actions.12  These can include CPU power up/down, HDCP requests, loading of firmware,13  and other assorted actions.14 15maintainers:16  - Bjorn Andersson <bjorn.andersson@linaro.org>17  - Robert Marko <robimarko@gmail.com>18  - Guru Das Srinagesh <quic_gurus@quicinc.com>19 20properties:21  compatible:22    items:23      - enum:24          - qcom,scm-apq806425          - qcom,scm-apq808426          - qcom,scm-ipq401927          - qcom,scm-ipq501828          - qcom,scm-ipq533229          - qcom,scm-ipq601830          - qcom,scm-ipq806x31          - qcom,scm-ipq807432          - qcom,scm-ipq957433          - qcom,scm-mdm960734          - qcom,scm-msm822635          - qcom,scm-msm866036          - qcom,scm-msm891637          - qcom,scm-msm895338          - qcom,scm-msm896039          - qcom,scm-msm897440          - qcom,scm-msm897641          - qcom,scm-msm899442          - qcom,scm-msm899643          - qcom,scm-msm899844          - qcom,scm-qcm229045          - qcom,scm-qdu100046          - qcom,scm-sa8775p47          - qcom,scm-sc718048          - qcom,scm-sc728049          - qcom,scm-sc8180x50          - qcom,scm-sc8280xp51          - qcom,scm-sdm67052          - qcom,scm-sdm84553          - qcom,scm-sdx5554          - qcom,scm-sdx6555          - qcom,scm-sdx7556          - qcom,scm-sm611557          - qcom,scm-sm612558          - qcom,scm-sm635059          - qcom,scm-sm637560          - qcom,scm-sm715061          - qcom,scm-sm815062          - qcom,scm-sm825063          - qcom,scm-sm835064          - qcom,scm-sm845065          - qcom,scm-sm855066          - qcom,scm-sm865067          - qcom,scm-qcs40468          - qcom,scm-x1e8010069      - const: qcom,scm70 71  clocks:72    minItems: 173    maxItems: 374 75  clock-names:76    minItems: 177    maxItems: 378 79  dma-coherent: true80 81  interconnects:82    maxItems: 183 84  interconnect-names:85    maxItems: 186 87  '#reset-cells':88    const: 189 90  interrupts:91    description:92      The wait-queue interrupt that firmware raises as part of handshake93      protocol to handle sleeping SCM calls.94    maxItems: 195 96  memory-region:97    description:98      Phandle to the memory region reserved for the shared memory bridge to TZ.99    maxItems: 1100 101  qcom,sdi-enabled:102    description:103      Indicates that the SDI (Secure Debug Image) has been enabled by TZ104      by default and it needs to be disabled.105      If not disabled WDT assertion or reboot will cause the board to hang106      in the debug mode.107    type: boolean108 109  qcom,dload-mode:110    $ref: /schemas/types.yaml#/definitions/phandle-array111    items:112      - items:113          - description: phandle to TCSR hardware block114          - description: offset of the download mode control register115    description: TCSR hardware block116 117allOf:118  # Clocks119  - if:120      properties:121        compatible:122          contains:123            enum:124              - qcom,scm-apq8064125              - qcom,scm-apq8084126              - qcom,scm-mdm9607127              - qcom,scm-msm8226128              - qcom,scm-msm8660129              - qcom,scm-msm8916130              - qcom,scm-msm8953131              - qcom,scm-msm8960132              - qcom,scm-msm8974133              - qcom,scm-msm8976134              - qcom,scm-qcm2290135              - qcom,scm-sm6375136    then:137      required:138        - clocks139        - clock-names140    else:141      properties:142        clock-names: false143        clocks: false144 145  - if:146      properties:147        compatible:148          contains:149            enum:150              - qcom,scm-apq8064151              - qcom,scm-msm8660152              - qcom,scm-msm8960153              - qcom,scm-qcm2290154              - qcom,scm-sm6375155    then:156      properties:157        clock-names:158          items:159            - const: core160 161        clocks:162          maxItems: 1163 164  - if:165      properties:166        compatible:167          contains:168            enum:169              - qcom,scm-apq8084170              - qcom,scm-mdm9607171              - qcom,scm-msm8226172              - qcom,scm-msm8916173              - qcom,scm-msm8953174              - qcom,scm-msm8974175              - qcom,scm-msm8976176    then:177      properties:178        clock-names:179          items:180            - const: core181            - const: bus182            - const: iface183 184        clocks:185          minItems: 3186          maxItems: 3187 188  # Interrupts189  - if:190      not:191        properties:192          compatible:193            contains:194              enum:195                - qcom,scm-sm8450196                - qcom,scm-sm8550197                - qcom,scm-sm8650198    then:199      properties:200        interrupts: false201  - if:202      not:203        properties:204          compatible:205            contains:206              enum:207                - qcom,scm-sa8775p208    then:209      properties:210        memory-region: false211 212required:213  - compatible214 215additionalProperties: false216 217examples:218  - |219    #include <dt-bindings/clock/qcom,gcc-msm8916.h>220 221    firmware {222        scm {223            compatible = "qcom,scm-msm8916", "qcom,scm";224            clocks = <&gcc GCC_CRYPTO_CLK>,225                     <&gcc GCC_CRYPTO_AXI_CLK>,226                     <&gcc GCC_CRYPTO_AHB_CLK>;227            clock-names = "core", "bus", "iface";228        };229    };230