17ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 27ef62cebSEmmanuel Vadot%YAML 1.2 37ef62cebSEmmanuel Vadot--- 47ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/firmware/qcom,scm.yaml# 57ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 67ef62cebSEmmanuel Vadot 77ef62cebSEmmanuel Vadottitle: QCOM Secure Channel Manager (SCM) 87ef62cebSEmmanuel Vadot 97ef62cebSEmmanuel Vadotdescription: | 107ef62cebSEmmanuel Vadot Qualcomm processors include an interface to communicate to the secure firmware. 117ef62cebSEmmanuel Vadot This interface allows for clients to request different types of actions. 127ef62cebSEmmanuel Vadot These can include CPU power up/down, HDCP requests, loading of firmware, 137ef62cebSEmmanuel Vadot and other assorted actions. 147ef62cebSEmmanuel Vadot 157ef62cebSEmmanuel Vadotmaintainers: 167ef62cebSEmmanuel Vadot - Bjorn Andersson <bjorn.andersson@linaro.org> 177ef62cebSEmmanuel Vadot - Robert Marko <robimarko@gmail.com> 187ef62cebSEmmanuel Vadot - Guru Das Srinagesh <quic_gurus@quicinc.com> 197ef62cebSEmmanuel Vadot 207ef62cebSEmmanuel Vadotproperties: 217ef62cebSEmmanuel Vadot compatible: 227ef62cebSEmmanuel Vadot items: 237ef62cebSEmmanuel Vadot - enum: 247ef62cebSEmmanuel Vadot - qcom,scm-apq8064 257ef62cebSEmmanuel Vadot - qcom,scm-apq8084 267ef62cebSEmmanuel Vadot - qcom,scm-ipq4019 2784943d6fSEmmanuel Vadot - qcom,scm-ipq5018 28fac71e4eSEmmanuel Vadot - qcom,scm-ipq5332 297ef62cebSEmmanuel Vadot - qcom,scm-ipq6018 307ef62cebSEmmanuel Vadot - qcom,scm-ipq806x 317ef62cebSEmmanuel Vadot - qcom,scm-ipq8074 32fac71e4eSEmmanuel Vadot - qcom,scm-ipq9574 337ef62cebSEmmanuel Vadot - qcom,scm-mdm9607 347ef62cebSEmmanuel Vadot - qcom,scm-msm8226 357ef62cebSEmmanuel Vadot - qcom,scm-msm8660 367ef62cebSEmmanuel Vadot - qcom,scm-msm8916 377ef62cebSEmmanuel Vadot - qcom,scm-msm8953 387ef62cebSEmmanuel Vadot - qcom,scm-msm8960 397ef62cebSEmmanuel Vadot - qcom,scm-msm8974 407ef62cebSEmmanuel Vadot - qcom,scm-msm8976 417ef62cebSEmmanuel Vadot - qcom,scm-msm8994 427ef62cebSEmmanuel Vadot - qcom,scm-msm8996 437ef62cebSEmmanuel Vadot - qcom,scm-msm8998 44fac71e4eSEmmanuel Vadot - qcom,scm-qcm2290 45cb7aa33aSEmmanuel Vadot - qcom,scm-qdu1000 46cb7aa33aSEmmanuel Vadot - qcom,scm-sa8775p 477ef62cebSEmmanuel Vadot - qcom,scm-sc7180 487ef62cebSEmmanuel Vadot - qcom,scm-sc7280 49fac71e4eSEmmanuel Vadot - qcom,scm-sc8180x 507ef62cebSEmmanuel Vadot - qcom,scm-sc8280xp 518bab661aSEmmanuel Vadot - qcom,scm-sdm670 527ef62cebSEmmanuel Vadot - qcom,scm-sdm845 537ef62cebSEmmanuel Vadot - qcom,scm-sdx55 547ef62cebSEmmanuel Vadot - qcom,scm-sdx65 55f126890aSEmmanuel Vadot - qcom,scm-sdx75 567ef62cebSEmmanuel Vadot - qcom,scm-sm6115 577ef62cebSEmmanuel Vadot - qcom,scm-sm6125 587ef62cebSEmmanuel Vadot - qcom,scm-sm6350 598bab661aSEmmanuel Vadot - qcom,scm-sm6375 6084943d6fSEmmanuel Vadot - qcom,scm-sm7150 617ef62cebSEmmanuel Vadot - qcom,scm-sm8150 627ef62cebSEmmanuel Vadot - qcom,scm-sm8250 637ef62cebSEmmanuel Vadot - qcom,scm-sm8350 647ef62cebSEmmanuel Vadot - qcom,scm-sm8450 65cb7aa33aSEmmanuel Vadot - qcom,scm-sm8550 668d13bc63SEmmanuel Vadot - qcom,scm-sm8650 677ef62cebSEmmanuel Vadot - qcom,scm-qcs404 688d13bc63SEmmanuel Vadot - qcom,scm-x1e80100 697ef62cebSEmmanuel Vadot - const: qcom,scm 707ef62cebSEmmanuel Vadot 717ef62cebSEmmanuel Vadot clocks: 727ef62cebSEmmanuel Vadot minItems: 1 737ef62cebSEmmanuel Vadot maxItems: 3 747ef62cebSEmmanuel Vadot 757ef62cebSEmmanuel Vadot clock-names: 767ef62cebSEmmanuel Vadot minItems: 1 777ef62cebSEmmanuel Vadot maxItems: 3 787ef62cebSEmmanuel Vadot 79fac71e4eSEmmanuel Vadot dma-coherent: true 80fac71e4eSEmmanuel Vadot 817ef62cebSEmmanuel Vadot interconnects: 827ef62cebSEmmanuel Vadot maxItems: 1 837ef62cebSEmmanuel Vadot 847ef62cebSEmmanuel Vadot interconnect-names: 857ef62cebSEmmanuel Vadot maxItems: 1 867ef62cebSEmmanuel Vadot 877ef62cebSEmmanuel Vadot '#reset-cells': 887ef62cebSEmmanuel Vadot const: 1 897ef62cebSEmmanuel Vadot 90cb7aa33aSEmmanuel Vadot interrupts: 91cb7aa33aSEmmanuel Vadot description: 92cb7aa33aSEmmanuel Vadot The wait-queue interrupt that firmware raises as part of handshake 93cb7aa33aSEmmanuel Vadot protocol to handle sleeping SCM calls. 94cb7aa33aSEmmanuel Vadot maxItems: 1 95cb7aa33aSEmmanuel Vadot 96*0e8011faSEmmanuel Vadot memory-region: 97*0e8011faSEmmanuel Vadot description: 98*0e8011faSEmmanuel Vadot Phandle to the memory region reserved for the shared memory bridge to TZ. 99*0e8011faSEmmanuel Vadot maxItems: 1 100*0e8011faSEmmanuel Vadot 10184943d6fSEmmanuel Vadot qcom,sdi-enabled: 10284943d6fSEmmanuel Vadot description: 10384943d6fSEmmanuel Vadot Indicates that the SDI (Secure Debug Image) has been enabled by TZ 10484943d6fSEmmanuel Vadot by default and it needs to be disabled. 10584943d6fSEmmanuel Vadot If not disabled WDT assertion or reboot will cause the board to hang 10684943d6fSEmmanuel Vadot in the debug mode. 10784943d6fSEmmanuel Vadot type: boolean 10884943d6fSEmmanuel Vadot 1097ef62cebSEmmanuel Vadot qcom,dload-mode: 1107ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 1117ef62cebSEmmanuel Vadot items: 1127ef62cebSEmmanuel Vadot - items: 1137ef62cebSEmmanuel Vadot - description: phandle to TCSR hardware block 1147ef62cebSEmmanuel Vadot - description: offset of the download mode control register 1157ef62cebSEmmanuel Vadot description: TCSR hardware block 1167ef62cebSEmmanuel Vadot 1177ef62cebSEmmanuel VadotallOf: 118cb7aa33aSEmmanuel Vadot # Clocks 119cb7aa33aSEmmanuel Vadot - if: 120cb7aa33aSEmmanuel Vadot properties: 121cb7aa33aSEmmanuel Vadot compatible: 122cb7aa33aSEmmanuel Vadot contains: 123cb7aa33aSEmmanuel Vadot enum: 124cb7aa33aSEmmanuel Vadot - qcom,scm-apq8064 125cb7aa33aSEmmanuel Vadot - qcom,scm-apq8084 126cb7aa33aSEmmanuel Vadot - qcom,scm-mdm9607 127cb7aa33aSEmmanuel Vadot - qcom,scm-msm8226 128cb7aa33aSEmmanuel Vadot - qcom,scm-msm8660 129cb7aa33aSEmmanuel Vadot - qcom,scm-msm8916 130cb7aa33aSEmmanuel Vadot - qcom,scm-msm8953 131cb7aa33aSEmmanuel Vadot - qcom,scm-msm8960 132cb7aa33aSEmmanuel Vadot - qcom,scm-msm8974 133cb7aa33aSEmmanuel Vadot - qcom,scm-msm8976 134fac71e4eSEmmanuel Vadot - qcom,scm-qcm2290 135cb7aa33aSEmmanuel Vadot - qcom,scm-sm6375 136cb7aa33aSEmmanuel Vadot then: 137cb7aa33aSEmmanuel Vadot required: 138cb7aa33aSEmmanuel Vadot - clocks 139cb7aa33aSEmmanuel Vadot - clock-names 140cb7aa33aSEmmanuel Vadot else: 141cb7aa33aSEmmanuel Vadot properties: 142cb7aa33aSEmmanuel Vadot clock-names: false 143cb7aa33aSEmmanuel Vadot clocks: false 144cb7aa33aSEmmanuel Vadot 1457ef62cebSEmmanuel Vadot - if: 1467ef62cebSEmmanuel Vadot properties: 1477ef62cebSEmmanuel Vadot compatible: 1487ef62cebSEmmanuel Vadot contains: 1497ef62cebSEmmanuel Vadot enum: 1507ef62cebSEmmanuel Vadot - qcom,scm-apq8064 1517ef62cebSEmmanuel Vadot - qcom,scm-msm8660 1527ef62cebSEmmanuel Vadot - qcom,scm-msm8960 153fac71e4eSEmmanuel Vadot - qcom,scm-qcm2290 1548bab661aSEmmanuel Vadot - qcom,scm-sm6375 1557ef62cebSEmmanuel Vadot then: 1567ef62cebSEmmanuel Vadot properties: 1577ef62cebSEmmanuel Vadot clock-names: 1587ef62cebSEmmanuel Vadot items: 1597ef62cebSEmmanuel Vadot - const: core 1607ef62cebSEmmanuel Vadot 1617ef62cebSEmmanuel Vadot clocks: 1627ef62cebSEmmanuel Vadot maxItems: 1 1637ef62cebSEmmanuel Vadot 1647ef62cebSEmmanuel Vadot - if: 1657ef62cebSEmmanuel Vadot properties: 1667ef62cebSEmmanuel Vadot compatible: 1677ef62cebSEmmanuel Vadot contains: 1687ef62cebSEmmanuel Vadot enum: 1697ef62cebSEmmanuel Vadot - qcom,scm-apq8084 1707ef62cebSEmmanuel Vadot - qcom,scm-mdm9607 171cb7aa33aSEmmanuel Vadot - qcom,scm-msm8226 1727ef62cebSEmmanuel Vadot - qcom,scm-msm8916 1737ef62cebSEmmanuel Vadot - qcom,scm-msm8953 1747ef62cebSEmmanuel Vadot - qcom,scm-msm8974 1757ef62cebSEmmanuel Vadot - qcom,scm-msm8976 1767ef62cebSEmmanuel Vadot then: 1777ef62cebSEmmanuel Vadot properties: 1787ef62cebSEmmanuel Vadot clock-names: 1797ef62cebSEmmanuel Vadot items: 1807ef62cebSEmmanuel Vadot - const: core 1817ef62cebSEmmanuel Vadot - const: bus 1827ef62cebSEmmanuel Vadot - const: iface 1837ef62cebSEmmanuel Vadot 1847ef62cebSEmmanuel Vadot clocks: 1857ef62cebSEmmanuel Vadot minItems: 3 1867ef62cebSEmmanuel Vadot maxItems: 3 1877ef62cebSEmmanuel Vadot 188cb7aa33aSEmmanuel Vadot # Interrupts 189cb7aa33aSEmmanuel Vadot - if: 190cb7aa33aSEmmanuel Vadot not: 191cb7aa33aSEmmanuel Vadot properties: 192cb7aa33aSEmmanuel Vadot compatible: 193cb7aa33aSEmmanuel Vadot contains: 194cb7aa33aSEmmanuel Vadot enum: 195cb7aa33aSEmmanuel Vadot - qcom,scm-sm8450 196cb7aa33aSEmmanuel Vadot - qcom,scm-sm8550 1978d13bc63SEmmanuel Vadot - qcom,scm-sm8650 198cb7aa33aSEmmanuel Vadot then: 199cb7aa33aSEmmanuel Vadot properties: 200cb7aa33aSEmmanuel Vadot interrupts: false 201*0e8011faSEmmanuel Vadot - if: 202*0e8011faSEmmanuel Vadot not: 203*0e8011faSEmmanuel Vadot properties: 204*0e8011faSEmmanuel Vadot compatible: 205*0e8011faSEmmanuel Vadot contains: 206*0e8011faSEmmanuel Vadot enum: 207*0e8011faSEmmanuel Vadot - qcom,scm-sa8775p 208*0e8011faSEmmanuel Vadot then: 209*0e8011faSEmmanuel Vadot properties: 210*0e8011faSEmmanuel Vadot memory-region: false 2117ef62cebSEmmanuel Vadot 2127ef62cebSEmmanuel Vadotrequired: 2137ef62cebSEmmanuel Vadot - compatible 2147ef62cebSEmmanuel Vadot 2157ef62cebSEmmanuel VadotadditionalProperties: false 2167ef62cebSEmmanuel Vadot 2177ef62cebSEmmanuel Vadotexamples: 2187ef62cebSEmmanuel Vadot - | 2197ef62cebSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-msm8916.h> 2207ef62cebSEmmanuel Vadot 2217ef62cebSEmmanuel Vadot firmware { 2227ef62cebSEmmanuel Vadot scm { 2237ef62cebSEmmanuel Vadot compatible = "qcom,scm-msm8916", "qcom,scm"; 2247ef62cebSEmmanuel Vadot clocks = <&gcc GCC_CRYPTO_CLK>, 2257ef62cebSEmmanuel Vadot <&gcc GCC_CRYPTO_AXI_CLK>, 2267ef62cebSEmmanuel Vadot <&gcc GCC_CRYPTO_AHB_CLK>; 2277ef62cebSEmmanuel Vadot clock-names = "core", "bus", "iface"; 2287ef62cebSEmmanuel Vadot }; 2297ef62cebSEmmanuel Vadot }; 230