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 66*8d13bc63SEmmanuel Vadot - qcom,scm-sm8650 677ef62cebSEmmanuel Vadot - qcom,scm-qcs404 68*8d13bc63SEmmanuel 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 9684943d6fSEmmanuel Vadot qcom,sdi-enabled: 9784943d6fSEmmanuel Vadot description: 9884943d6fSEmmanuel Vadot Indicates that the SDI (Secure Debug Image) has been enabled by TZ 9984943d6fSEmmanuel Vadot by default and it needs to be disabled. 10084943d6fSEmmanuel Vadot If not disabled WDT assertion or reboot will cause the board to hang 10184943d6fSEmmanuel Vadot in the debug mode. 10284943d6fSEmmanuel Vadot type: boolean 10384943d6fSEmmanuel Vadot 1047ef62cebSEmmanuel Vadot qcom,dload-mode: 1057ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 1067ef62cebSEmmanuel Vadot items: 1077ef62cebSEmmanuel Vadot - items: 1087ef62cebSEmmanuel Vadot - description: phandle to TCSR hardware block 1097ef62cebSEmmanuel Vadot - description: offset of the download mode control register 1107ef62cebSEmmanuel Vadot description: TCSR hardware block 1117ef62cebSEmmanuel Vadot 1127ef62cebSEmmanuel VadotallOf: 113cb7aa33aSEmmanuel Vadot # Clocks 114cb7aa33aSEmmanuel Vadot - if: 115cb7aa33aSEmmanuel Vadot properties: 116cb7aa33aSEmmanuel Vadot compatible: 117cb7aa33aSEmmanuel Vadot contains: 118cb7aa33aSEmmanuel Vadot enum: 119cb7aa33aSEmmanuel Vadot - qcom,scm-apq8064 120cb7aa33aSEmmanuel Vadot - qcom,scm-apq8084 121cb7aa33aSEmmanuel Vadot - qcom,scm-mdm9607 122cb7aa33aSEmmanuel Vadot - qcom,scm-msm8226 123cb7aa33aSEmmanuel Vadot - qcom,scm-msm8660 124cb7aa33aSEmmanuel Vadot - qcom,scm-msm8916 125cb7aa33aSEmmanuel Vadot - qcom,scm-msm8953 126cb7aa33aSEmmanuel Vadot - qcom,scm-msm8960 127cb7aa33aSEmmanuel Vadot - qcom,scm-msm8974 128cb7aa33aSEmmanuel Vadot - qcom,scm-msm8976 129fac71e4eSEmmanuel Vadot - qcom,scm-qcm2290 130cb7aa33aSEmmanuel Vadot - qcom,scm-sm6375 131cb7aa33aSEmmanuel Vadot then: 132cb7aa33aSEmmanuel Vadot required: 133cb7aa33aSEmmanuel Vadot - clocks 134cb7aa33aSEmmanuel Vadot - clock-names 135cb7aa33aSEmmanuel Vadot else: 136cb7aa33aSEmmanuel Vadot properties: 137cb7aa33aSEmmanuel Vadot clock-names: false 138cb7aa33aSEmmanuel Vadot clocks: false 139cb7aa33aSEmmanuel Vadot 1407ef62cebSEmmanuel Vadot - if: 1417ef62cebSEmmanuel Vadot properties: 1427ef62cebSEmmanuel Vadot compatible: 1437ef62cebSEmmanuel Vadot contains: 1447ef62cebSEmmanuel Vadot enum: 1457ef62cebSEmmanuel Vadot - qcom,scm-apq8064 1467ef62cebSEmmanuel Vadot - qcom,scm-msm8660 1477ef62cebSEmmanuel Vadot - qcom,scm-msm8960 148fac71e4eSEmmanuel Vadot - qcom,scm-qcm2290 1498bab661aSEmmanuel Vadot - qcom,scm-sm6375 1507ef62cebSEmmanuel Vadot then: 1517ef62cebSEmmanuel Vadot properties: 1527ef62cebSEmmanuel Vadot clock-names: 1537ef62cebSEmmanuel Vadot items: 1547ef62cebSEmmanuel Vadot - const: core 1557ef62cebSEmmanuel Vadot 1567ef62cebSEmmanuel Vadot clocks: 1577ef62cebSEmmanuel Vadot maxItems: 1 1587ef62cebSEmmanuel Vadot 1597ef62cebSEmmanuel Vadot - if: 1607ef62cebSEmmanuel Vadot properties: 1617ef62cebSEmmanuel Vadot compatible: 1627ef62cebSEmmanuel Vadot contains: 1637ef62cebSEmmanuel Vadot enum: 1647ef62cebSEmmanuel Vadot - qcom,scm-apq8084 1657ef62cebSEmmanuel Vadot - qcom,scm-mdm9607 166cb7aa33aSEmmanuel Vadot - qcom,scm-msm8226 1677ef62cebSEmmanuel Vadot - qcom,scm-msm8916 1687ef62cebSEmmanuel Vadot - qcom,scm-msm8953 1697ef62cebSEmmanuel Vadot - qcom,scm-msm8974 1707ef62cebSEmmanuel Vadot - qcom,scm-msm8976 1717ef62cebSEmmanuel Vadot then: 1727ef62cebSEmmanuel Vadot properties: 1737ef62cebSEmmanuel Vadot clock-names: 1747ef62cebSEmmanuel Vadot items: 1757ef62cebSEmmanuel Vadot - const: core 1767ef62cebSEmmanuel Vadot - const: bus 1777ef62cebSEmmanuel Vadot - const: iface 1787ef62cebSEmmanuel Vadot 1797ef62cebSEmmanuel Vadot clocks: 1807ef62cebSEmmanuel Vadot minItems: 3 1817ef62cebSEmmanuel Vadot maxItems: 3 1827ef62cebSEmmanuel Vadot 183cb7aa33aSEmmanuel Vadot # Interrupts 184cb7aa33aSEmmanuel Vadot - if: 185cb7aa33aSEmmanuel Vadot not: 186cb7aa33aSEmmanuel Vadot properties: 187cb7aa33aSEmmanuel Vadot compatible: 188cb7aa33aSEmmanuel Vadot contains: 189cb7aa33aSEmmanuel Vadot enum: 190cb7aa33aSEmmanuel Vadot - qcom,scm-sm8450 191cb7aa33aSEmmanuel Vadot - qcom,scm-sm8550 192*8d13bc63SEmmanuel Vadot - qcom,scm-sm8650 193cb7aa33aSEmmanuel Vadot then: 194cb7aa33aSEmmanuel Vadot properties: 195cb7aa33aSEmmanuel Vadot interrupts: false 1967ef62cebSEmmanuel Vadot 1977ef62cebSEmmanuel Vadotrequired: 1987ef62cebSEmmanuel Vadot - compatible 1997ef62cebSEmmanuel Vadot 2007ef62cebSEmmanuel VadotadditionalProperties: false 2017ef62cebSEmmanuel Vadot 2027ef62cebSEmmanuel Vadotexamples: 2037ef62cebSEmmanuel Vadot - | 2047ef62cebSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-msm8916.h> 2057ef62cebSEmmanuel Vadot 2067ef62cebSEmmanuel Vadot firmware { 2077ef62cebSEmmanuel Vadot scm { 2087ef62cebSEmmanuel Vadot compatible = "qcom,scm-msm8916", "qcom,scm"; 2097ef62cebSEmmanuel Vadot clocks = <&gcc GCC_CRYPTO_CLK>, 2107ef62cebSEmmanuel Vadot <&gcc GCC_CRYPTO_AXI_CLK>, 2117ef62cebSEmmanuel Vadot <&gcc GCC_CRYPTO_AHB_CLK>; 2127ef62cebSEmmanuel Vadot clock-names = "core", "bus", "iface"; 2137ef62cebSEmmanuel Vadot }; 2147ef62cebSEmmanuel Vadot }; 215