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 279e4a7652SKathiravan T - qcom,scm-ipq5332 281c46589dSDavid Heidelberg - qcom,scm-ipq6018 291c46589dSDavid Heidelberg - qcom,scm-ipq806x 301c46589dSDavid Heidelberg - qcom,scm-ipq8074 3181ac3914SPoovendhan Selvaraj - qcom,scm-ipq9574 321c46589dSDavid Heidelberg - qcom,scm-mdm9607 331c46589dSDavid Heidelberg - qcom,scm-msm8226 341c46589dSDavid Heidelberg - qcom,scm-msm8660 351c46589dSDavid Heidelberg - qcom,scm-msm8916 361c46589dSDavid Heidelberg - qcom,scm-msm8953 371c46589dSDavid Heidelberg - qcom,scm-msm8960 381c46589dSDavid Heidelberg - qcom,scm-msm8974 391c46589dSDavid Heidelberg - qcom,scm-msm8976 401c46589dSDavid Heidelberg - qcom,scm-msm8994 411c46589dSDavid Heidelberg - qcom,scm-msm8996 421c46589dSDavid Heidelberg - qcom,scm-msm8998 435b8db5b4SMelody Olvera - qcom,scm-qdu1000 4427d71e80SBartosz Golaszewski - qcom,scm-sa8775p 451c46589dSDavid Heidelberg - qcom,scm-sc7180 461c46589dSDavid Heidelberg - qcom,scm-sc7280 471c46589dSDavid Heidelberg - qcom,scm-sc8280xp 48aa9f4740SRichard Acayan - qcom,scm-sdm670 491c46589dSDavid Heidelberg - qcom,scm-sdm845 501c46589dSDavid Heidelberg - qcom,scm-sdx55 511c46589dSDavid Heidelberg - qcom,scm-sdx65 52f2567b73SAdam Skladowski - qcom,scm-sm6115 531c46589dSDavid Heidelberg - qcom,scm-sm6125 541c46589dSDavid Heidelberg - qcom,scm-sm6350 55fa2d6ed1SKonrad Dybcio - qcom,scm-sm6375 561c46589dSDavid Heidelberg - qcom,scm-sm8150 571c46589dSDavid Heidelberg - qcom,scm-sm8250 581c46589dSDavid Heidelberg - qcom,scm-sm8350 591c46589dSDavid Heidelberg - qcom,scm-sm8450 60b9fd3353SAbel Vesa - qcom,scm-sm8550 611c46589dSDavid Heidelberg - qcom,scm-qcs404 621c46589dSDavid Heidelberg - const: qcom,scm 631c46589dSDavid Heidelberg 641c46589dSDavid Heidelberg clocks: 651c46589dSDavid Heidelberg minItems: 1 661c46589dSDavid Heidelberg maxItems: 3 671c46589dSDavid Heidelberg 681c46589dSDavid Heidelberg clock-names: 691c46589dSDavid Heidelberg minItems: 1 701c46589dSDavid Heidelberg maxItems: 3 711c46589dSDavid Heidelberg 721c46589dSDavid Heidelberg interconnects: 731c46589dSDavid Heidelberg maxItems: 1 741c46589dSDavid Heidelberg 751c46589dSDavid Heidelberg interconnect-names: 761c46589dSDavid Heidelberg maxItems: 1 771c46589dSDavid Heidelberg 781c46589dSDavid Heidelberg '#reset-cells': 791c46589dSDavid Heidelberg const: 1 801c46589dSDavid Heidelberg 81afb37e25SGuru Das Srinagesh interrupts: 82afb37e25SGuru Das Srinagesh description: 83afb37e25SGuru Das Srinagesh The wait-queue interrupt that firmware raises as part of handshake 84afb37e25SGuru Das Srinagesh protocol to handle sleeping SCM calls. 85afb37e25SGuru Das Srinagesh maxItems: 1 86afb37e25SGuru Das Srinagesh 871c46589dSDavid Heidelberg qcom,dload-mode: 881c46589dSDavid Heidelberg $ref: /schemas/types.yaml#/definitions/phandle-array 891c46589dSDavid Heidelberg items: 901c46589dSDavid Heidelberg - items: 911c46589dSDavid Heidelberg - description: phandle to TCSR hardware block 921c46589dSDavid Heidelberg - description: offset of the download mode control register 931c46589dSDavid Heidelberg description: TCSR hardware block 941c46589dSDavid Heidelberg 951c46589dSDavid HeidelbergallOf: 96c5b8840cSKrzysztof Kozlowski # Clocks 97c5b8840cSKrzysztof Kozlowski - if: 98c5b8840cSKrzysztof Kozlowski properties: 99c5b8840cSKrzysztof Kozlowski compatible: 100c5b8840cSKrzysztof Kozlowski contains: 101c5b8840cSKrzysztof Kozlowski enum: 102c5b8840cSKrzysztof Kozlowski - qcom,scm-apq8064 103c5b8840cSKrzysztof Kozlowski - qcom,scm-apq8084 104c5b8840cSKrzysztof Kozlowski - qcom,scm-mdm9607 105c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8226 106c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8660 107c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8916 108c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8953 109c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8960 110c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8974 111c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8976 112c5b8840cSKrzysztof Kozlowski - qcom,scm-sm6375 113c5b8840cSKrzysztof Kozlowski then: 114c5b8840cSKrzysztof Kozlowski required: 115c5b8840cSKrzysztof Kozlowski - clocks 116c5b8840cSKrzysztof Kozlowski - clock-names 117c5b8840cSKrzysztof Kozlowski else: 118c5b8840cSKrzysztof Kozlowski properties: 119c5b8840cSKrzysztof Kozlowski clock-names: false 120c5b8840cSKrzysztof Kozlowski clocks: false 121c5b8840cSKrzysztof Kozlowski 1221c46589dSDavid Heidelberg - if: 1231c46589dSDavid Heidelberg properties: 1241c46589dSDavid Heidelberg compatible: 1251c46589dSDavid Heidelberg contains: 1261c46589dSDavid Heidelberg enum: 1271c46589dSDavid Heidelberg - qcom,scm-apq8064 1281c46589dSDavid Heidelberg - qcom,scm-msm8660 1291c46589dSDavid Heidelberg - qcom,scm-msm8960 130fa2d6ed1SKonrad Dybcio - qcom,scm-sm6375 1311c46589dSDavid Heidelberg then: 1321c46589dSDavid Heidelberg properties: 1331c46589dSDavid Heidelberg clock-names: 1341c46589dSDavid Heidelberg items: 1351c46589dSDavid Heidelberg - const: core 1361c46589dSDavid Heidelberg 1371c46589dSDavid Heidelberg clocks: 1381c46589dSDavid Heidelberg maxItems: 1 1391c46589dSDavid Heidelberg 1401c46589dSDavid Heidelberg - if: 1411c46589dSDavid Heidelberg properties: 1421c46589dSDavid Heidelberg compatible: 1431c46589dSDavid Heidelberg contains: 1441c46589dSDavid Heidelberg enum: 1451c46589dSDavid Heidelberg - qcom,scm-apq8084 1461c46589dSDavid Heidelberg - qcom,scm-mdm9607 1478f3945a9SKrzysztof Kozlowski - qcom,scm-msm8226 1481c46589dSDavid Heidelberg - qcom,scm-msm8916 1491c46589dSDavid Heidelberg - qcom,scm-msm8953 1501c46589dSDavid Heidelberg - qcom,scm-msm8974 1511c46589dSDavid Heidelberg - qcom,scm-msm8976 1521c46589dSDavid Heidelberg then: 1531c46589dSDavid Heidelberg properties: 1541c46589dSDavid Heidelberg clock-names: 1551c46589dSDavid Heidelberg items: 1561c46589dSDavid Heidelberg - const: core 1571c46589dSDavid Heidelberg - const: bus 1581c46589dSDavid Heidelberg - const: iface 1591c46589dSDavid Heidelberg 1601c46589dSDavid Heidelberg clocks: 1611c46589dSDavid Heidelberg minItems: 3 1621c46589dSDavid Heidelberg maxItems: 3 1631c46589dSDavid Heidelberg 164c5b8840cSKrzysztof Kozlowski # Interconnects 165c5b8840cSKrzysztof Kozlowski - if: 166c5b8840cSKrzysztof Kozlowski not: 167c5b8840cSKrzysztof Kozlowski properties: 168c5b8840cSKrzysztof Kozlowski compatible: 169c5b8840cSKrzysztof Kozlowski contains: 170c5b8840cSKrzysztof Kozlowski enum: 171*bbf97c27SMelody Olvera - qcom,scm-qdu1000 172c5b8840cSKrzysztof Kozlowski - qcom,scm-sm8450 173b9fd3353SAbel Vesa - qcom,scm-sm8550 174c5b8840cSKrzysztof Kozlowski then: 175c5b8840cSKrzysztof Kozlowski properties: 176c5b8840cSKrzysztof Kozlowski interconnects: false 1771c46589dSDavid Heidelberg 178afb37e25SGuru Das Srinagesh # Interrupts 179afb37e25SGuru Das Srinagesh - if: 180afb37e25SGuru Das Srinagesh not: 181afb37e25SGuru Das Srinagesh properties: 182afb37e25SGuru Das Srinagesh compatible: 183afb37e25SGuru Das Srinagesh contains: 184afb37e25SGuru Das Srinagesh enum: 185afb37e25SGuru Das Srinagesh - qcom,scm-sm8450 186b9fd3353SAbel Vesa - qcom,scm-sm8550 187afb37e25SGuru Das Srinagesh then: 188afb37e25SGuru Das Srinagesh properties: 189afb37e25SGuru Das Srinagesh interrupts: false 190afb37e25SGuru Das Srinagesh 1911c46589dSDavid Heidelbergrequired: 1921c46589dSDavid Heidelberg - compatible 1931c46589dSDavid Heidelberg 1941c46589dSDavid HeidelbergadditionalProperties: false 1951c46589dSDavid Heidelberg 1961c46589dSDavid Heidelbergexamples: 1971c46589dSDavid Heidelberg - | 1981c46589dSDavid Heidelberg #include <dt-bindings/clock/qcom,gcc-msm8916.h> 1991c46589dSDavid Heidelberg 2001c46589dSDavid Heidelberg firmware { 2011c46589dSDavid Heidelberg scm { 2021c46589dSDavid Heidelberg compatible = "qcom,scm-msm8916", "qcom,scm"; 2031c46589dSDavid Heidelberg clocks = <&gcc GCC_CRYPTO_CLK>, 2041c46589dSDavid Heidelberg <&gcc GCC_CRYPTO_AXI_CLK>, 2051c46589dSDavid Heidelberg <&gcc GCC_CRYPTO_AHB_CLK>; 2061c46589dSDavid Heidelberg clock-names = "core", "bus", "iface"; 2071c46589dSDavid Heidelberg }; 2081c46589dSDavid Heidelberg }; 209