11c46589dSDavid Heidelberg# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 21c46589dSDavid Heidelberg%YAML 1.2 31c46589dSDavid Heidelberg--- 41c46589dSDavid Heidelberg$id: http://devicetree.org/schemas/firmware/qcom,scm.yaml# 51c46589dSDavid Heidelberg$schema: http://devicetree.org/meta-schemas/core.yaml# 61c46589dSDavid Heidelberg 71c46589dSDavid Heidelbergtitle: QCOM Secure Channel Manager (SCM) 81c46589dSDavid Heidelberg 91c46589dSDavid Heidelbergdescription: | 101c46589dSDavid Heidelberg Qualcomm processors include an interface to communicate to the secure firmware. 111c46589dSDavid Heidelberg This interface allows for clients to request different types of actions. 121c46589dSDavid Heidelberg These can include CPU power up/down, HDCP requests, loading of firmware, 131c46589dSDavid Heidelberg and other assorted actions. 141c46589dSDavid Heidelberg 151c46589dSDavid Heidelbergmaintainers: 161c46589dSDavid Heidelberg - Bjorn Andersson <bjorn.andersson@linaro.org> 171c46589dSDavid Heidelberg - Robert Marko <robimarko@gmail.com> 181c46589dSDavid Heidelberg - Guru Das Srinagesh <quic_gurus@quicinc.com> 191c46589dSDavid Heidelberg 201c46589dSDavid Heidelbergproperties: 211c46589dSDavid Heidelberg compatible: 221c46589dSDavid Heidelberg items: 231c46589dSDavid Heidelberg - enum: 241c46589dSDavid Heidelberg - qcom,scm-apq8064 251c46589dSDavid Heidelberg - qcom,scm-apq8084 261c46589dSDavid Heidelberg - qcom,scm-ipq4019 271c46589dSDavid Heidelberg - qcom,scm-ipq6018 281c46589dSDavid Heidelberg - qcom,scm-ipq806x 291c46589dSDavid Heidelberg - qcom,scm-ipq8074 30*81ac3914SPoovendhan Selvaraj - qcom,scm-ipq9574 311c46589dSDavid Heidelberg - qcom,scm-mdm9607 321c46589dSDavid Heidelberg - qcom,scm-msm8226 331c46589dSDavid Heidelberg - qcom,scm-msm8660 341c46589dSDavid Heidelberg - qcom,scm-msm8916 351c46589dSDavid Heidelberg - qcom,scm-msm8953 361c46589dSDavid Heidelberg - qcom,scm-msm8960 371c46589dSDavid Heidelberg - qcom,scm-msm8974 381c46589dSDavid Heidelberg - qcom,scm-msm8976 391c46589dSDavid Heidelberg - qcom,scm-msm8994 401c46589dSDavid Heidelberg - qcom,scm-msm8996 411c46589dSDavid Heidelberg - qcom,scm-msm8998 425b8db5b4SMelody Olvera - qcom,scm-qdu1000 4327d71e80SBartosz Golaszewski - qcom,scm-sa8775p 441c46589dSDavid Heidelberg - qcom,scm-sc7180 451c46589dSDavid Heidelberg - qcom,scm-sc7280 461c46589dSDavid Heidelberg - qcom,scm-sc8280xp 47aa9f4740SRichard Acayan - qcom,scm-sdm670 481c46589dSDavid Heidelberg - qcom,scm-sdm845 491c46589dSDavid Heidelberg - qcom,scm-sdx55 501c46589dSDavid Heidelberg - qcom,scm-sdx65 51f2567b73SAdam Skladowski - qcom,scm-sm6115 521c46589dSDavid Heidelberg - qcom,scm-sm6125 531c46589dSDavid Heidelberg - qcom,scm-sm6350 54fa2d6ed1SKonrad Dybcio - qcom,scm-sm6375 551c46589dSDavid Heidelberg - qcom,scm-sm8150 561c46589dSDavid Heidelberg - qcom,scm-sm8250 571c46589dSDavid Heidelberg - qcom,scm-sm8350 581c46589dSDavid Heidelberg - qcom,scm-sm8450 59b9fd3353SAbel Vesa - qcom,scm-sm8550 601c46589dSDavid Heidelberg - qcom,scm-qcs404 611c46589dSDavid Heidelberg - const: qcom,scm 621c46589dSDavid Heidelberg 631c46589dSDavid Heidelberg clocks: 641c46589dSDavid Heidelberg minItems: 1 651c46589dSDavid Heidelberg maxItems: 3 661c46589dSDavid Heidelberg 671c46589dSDavid Heidelberg clock-names: 681c46589dSDavid Heidelberg minItems: 1 691c46589dSDavid Heidelberg maxItems: 3 701c46589dSDavid Heidelberg 711c46589dSDavid Heidelberg interconnects: 721c46589dSDavid Heidelberg maxItems: 1 731c46589dSDavid Heidelberg 741c46589dSDavid Heidelberg interconnect-names: 751c46589dSDavid Heidelberg maxItems: 1 761c46589dSDavid Heidelberg 771c46589dSDavid Heidelberg '#reset-cells': 781c46589dSDavid Heidelberg const: 1 791c46589dSDavid Heidelberg 80afb37e25SGuru Das Srinagesh interrupts: 81afb37e25SGuru Das Srinagesh description: 82afb37e25SGuru Das Srinagesh The wait-queue interrupt that firmware raises as part of handshake 83afb37e25SGuru Das Srinagesh protocol to handle sleeping SCM calls. 84afb37e25SGuru Das Srinagesh maxItems: 1 85afb37e25SGuru Das Srinagesh 861c46589dSDavid Heidelberg qcom,dload-mode: 871c46589dSDavid Heidelberg $ref: /schemas/types.yaml#/definitions/phandle-array 881c46589dSDavid Heidelberg items: 891c46589dSDavid Heidelberg - items: 901c46589dSDavid Heidelberg - description: phandle to TCSR hardware block 911c46589dSDavid Heidelberg - description: offset of the download mode control register 921c46589dSDavid Heidelberg description: TCSR hardware block 931c46589dSDavid Heidelberg 941c46589dSDavid HeidelbergallOf: 95c5b8840cSKrzysztof Kozlowski # Clocks 96c5b8840cSKrzysztof Kozlowski - if: 97c5b8840cSKrzysztof Kozlowski properties: 98c5b8840cSKrzysztof Kozlowski compatible: 99c5b8840cSKrzysztof Kozlowski contains: 100c5b8840cSKrzysztof Kozlowski enum: 101c5b8840cSKrzysztof Kozlowski - qcom,scm-apq8064 102c5b8840cSKrzysztof Kozlowski - qcom,scm-apq8084 103c5b8840cSKrzysztof Kozlowski - qcom,scm-mdm9607 104c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8226 105c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8660 106c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8916 107c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8953 108c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8960 109c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8974 110c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8976 111c5b8840cSKrzysztof Kozlowski - qcom,scm-sm6375 112c5b8840cSKrzysztof Kozlowski then: 113c5b8840cSKrzysztof Kozlowski required: 114c5b8840cSKrzysztof Kozlowski - clocks 115c5b8840cSKrzysztof Kozlowski - clock-names 116c5b8840cSKrzysztof Kozlowski else: 117c5b8840cSKrzysztof Kozlowski properties: 118c5b8840cSKrzysztof Kozlowski clock-names: false 119c5b8840cSKrzysztof Kozlowski clocks: false 120c5b8840cSKrzysztof Kozlowski 1211c46589dSDavid Heidelberg - if: 1221c46589dSDavid Heidelberg properties: 1231c46589dSDavid Heidelberg compatible: 1241c46589dSDavid Heidelberg contains: 1251c46589dSDavid Heidelberg enum: 1261c46589dSDavid Heidelberg - qcom,scm-apq8064 1271c46589dSDavid Heidelberg - qcom,scm-msm8660 1281c46589dSDavid Heidelberg - qcom,scm-msm8960 129fa2d6ed1SKonrad Dybcio - qcom,scm-sm6375 1301c46589dSDavid Heidelberg then: 1311c46589dSDavid Heidelberg properties: 1321c46589dSDavid Heidelberg clock-names: 1331c46589dSDavid Heidelberg items: 1341c46589dSDavid Heidelberg - const: core 1351c46589dSDavid Heidelberg 1361c46589dSDavid Heidelberg clocks: 1371c46589dSDavid Heidelberg maxItems: 1 1381c46589dSDavid Heidelberg 1391c46589dSDavid Heidelberg - if: 1401c46589dSDavid Heidelberg properties: 1411c46589dSDavid Heidelberg compatible: 1421c46589dSDavid Heidelberg contains: 1431c46589dSDavid Heidelberg enum: 1441c46589dSDavid Heidelberg - qcom,scm-apq8084 1451c46589dSDavid Heidelberg - qcom,scm-mdm9607 1468f3945a9SKrzysztof Kozlowski - qcom,scm-msm8226 1471c46589dSDavid Heidelberg - qcom,scm-msm8916 1481c46589dSDavid Heidelberg - qcom,scm-msm8953 1491c46589dSDavid Heidelberg - qcom,scm-msm8974 1501c46589dSDavid Heidelberg - qcom,scm-msm8976 1511c46589dSDavid Heidelberg then: 1521c46589dSDavid Heidelberg properties: 1531c46589dSDavid Heidelberg clock-names: 1541c46589dSDavid Heidelberg items: 1551c46589dSDavid Heidelberg - const: core 1561c46589dSDavid Heidelberg - const: bus 1571c46589dSDavid Heidelberg - const: iface 1581c46589dSDavid Heidelberg 1591c46589dSDavid Heidelberg clocks: 1601c46589dSDavid Heidelberg minItems: 3 1611c46589dSDavid Heidelberg maxItems: 3 1621c46589dSDavid Heidelberg 163c5b8840cSKrzysztof Kozlowski # Interconnects 164c5b8840cSKrzysztof Kozlowski - if: 165c5b8840cSKrzysztof Kozlowski not: 166c5b8840cSKrzysztof Kozlowski properties: 167c5b8840cSKrzysztof Kozlowski compatible: 168c5b8840cSKrzysztof Kozlowski contains: 169c5b8840cSKrzysztof Kozlowski enum: 170c5b8840cSKrzysztof Kozlowski - qcom,scm-sm8450 171b9fd3353SAbel Vesa - qcom,scm-sm8550 172c5b8840cSKrzysztof Kozlowski then: 173c5b8840cSKrzysztof Kozlowski properties: 174c5b8840cSKrzysztof Kozlowski interconnects: false 1751c46589dSDavid Heidelberg 176afb37e25SGuru Das Srinagesh # Interrupts 177afb37e25SGuru Das Srinagesh - if: 178afb37e25SGuru Das Srinagesh not: 179afb37e25SGuru Das Srinagesh properties: 180afb37e25SGuru Das Srinagesh compatible: 181afb37e25SGuru Das Srinagesh contains: 182afb37e25SGuru Das Srinagesh enum: 183afb37e25SGuru Das Srinagesh - qcom,scm-sm8450 184b9fd3353SAbel Vesa - qcom,scm-sm8550 185afb37e25SGuru Das Srinagesh then: 186afb37e25SGuru Das Srinagesh properties: 187afb37e25SGuru Das Srinagesh interrupts: false 188afb37e25SGuru Das Srinagesh 1891c46589dSDavid Heidelbergrequired: 1901c46589dSDavid Heidelberg - compatible 1911c46589dSDavid Heidelberg 1921c46589dSDavid HeidelbergadditionalProperties: false 1931c46589dSDavid Heidelberg 1941c46589dSDavid Heidelbergexamples: 1951c46589dSDavid Heidelberg - | 1961c46589dSDavid Heidelberg #include <dt-bindings/clock/qcom,gcc-msm8916.h> 1971c46589dSDavid Heidelberg 1981c46589dSDavid Heidelberg firmware { 1991c46589dSDavid Heidelberg scm { 2001c46589dSDavid Heidelberg compatible = "qcom,scm-msm8916", "qcom,scm"; 2011c46589dSDavid Heidelberg clocks = <&gcc GCC_CRYPTO_CLK>, 2021c46589dSDavid Heidelberg <&gcc GCC_CRYPTO_AXI_CLK>, 2031c46589dSDavid Heidelberg <&gcc GCC_CRYPTO_AHB_CLK>; 2041c46589dSDavid Heidelberg clock-names = "core", "bus", "iface"; 2051c46589dSDavid Heidelberg }; 2061c46589dSDavid Heidelberg }; 207