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 431ad3efe5SKonrad Dybcio - qcom,scm-qcm2290 445b8db5b4SMelody Olvera - qcom,scm-qdu1000 4527d71e80SBartosz Golaszewski - qcom,scm-sa8775p 461c46589dSDavid Heidelberg - qcom,scm-sc7180 471c46589dSDavid Heidelberg - qcom,scm-sc7280 48c78ad859SVinod Koul - qcom,scm-sc8180x 491c46589dSDavid Heidelberg - qcom,scm-sc8280xp 50aa9f4740SRichard Acayan - qcom,scm-sdm670 511c46589dSDavid Heidelberg - qcom,scm-sdm845 521c46589dSDavid Heidelberg - qcom,scm-sdx55 531c46589dSDavid Heidelberg - qcom,scm-sdx65 54677b9e85SRohit Agarwal - qcom,scm-sdx75 55f2567b73SAdam Skladowski - qcom,scm-sm6115 561c46589dSDavid Heidelberg - qcom,scm-sm6125 571c46589dSDavid Heidelberg - qcom,scm-sm6350 58fa2d6ed1SKonrad Dybcio - qcom,scm-sm6375 591c46589dSDavid Heidelberg - qcom,scm-sm8150 601c46589dSDavid Heidelberg - qcom,scm-sm8250 611c46589dSDavid Heidelberg - qcom,scm-sm8350 621c46589dSDavid Heidelberg - qcom,scm-sm8450 63b9fd3353SAbel Vesa - qcom,scm-sm8550 641c46589dSDavid Heidelberg - qcom,scm-qcs404 651c46589dSDavid Heidelberg - const: qcom,scm 661c46589dSDavid Heidelberg 671c46589dSDavid Heidelberg clocks: 681c46589dSDavid Heidelberg minItems: 1 691c46589dSDavid Heidelberg maxItems: 3 701c46589dSDavid Heidelberg 711c46589dSDavid Heidelberg clock-names: 721c46589dSDavid Heidelberg minItems: 1 731c46589dSDavid Heidelberg maxItems: 3 741c46589dSDavid Heidelberg 75c0877829SDouglas Anderson dma-coherent: true 76c0877829SDouglas Anderson 771c46589dSDavid Heidelberg interconnects: 781c46589dSDavid Heidelberg maxItems: 1 791c46589dSDavid Heidelberg 801c46589dSDavid Heidelberg interconnect-names: 811c46589dSDavid Heidelberg maxItems: 1 821c46589dSDavid Heidelberg 831c46589dSDavid Heidelberg '#reset-cells': 841c46589dSDavid Heidelberg const: 1 851c46589dSDavid Heidelberg 86afb37e25SGuru Das Srinagesh interrupts: 87afb37e25SGuru Das Srinagesh description: 88afb37e25SGuru Das Srinagesh The wait-queue interrupt that firmware raises as part of handshake 89afb37e25SGuru Das Srinagesh protocol to handle sleeping SCM calls. 90afb37e25SGuru Das Srinagesh maxItems: 1 91afb37e25SGuru Das Srinagesh 921c46589dSDavid Heidelberg qcom,dload-mode: 931c46589dSDavid Heidelberg $ref: /schemas/types.yaml#/definitions/phandle-array 941c46589dSDavid Heidelberg items: 951c46589dSDavid Heidelberg - items: 961c46589dSDavid Heidelberg - description: phandle to TCSR hardware block 971c46589dSDavid Heidelberg - description: offset of the download mode control register 981c46589dSDavid Heidelberg description: TCSR hardware block 991c46589dSDavid Heidelberg 1001c46589dSDavid HeidelbergallOf: 101c5b8840cSKrzysztof Kozlowski # Clocks 102c5b8840cSKrzysztof Kozlowski - if: 103c5b8840cSKrzysztof Kozlowski properties: 104c5b8840cSKrzysztof Kozlowski compatible: 105c5b8840cSKrzysztof Kozlowski contains: 106c5b8840cSKrzysztof Kozlowski enum: 107c5b8840cSKrzysztof Kozlowski - qcom,scm-apq8064 108c5b8840cSKrzysztof Kozlowski - qcom,scm-apq8084 109c5b8840cSKrzysztof Kozlowski - qcom,scm-mdm9607 110c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8226 111c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8660 112c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8916 113c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8953 114c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8960 115c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8974 116c5b8840cSKrzysztof Kozlowski - qcom,scm-msm8976 1171ad3efe5SKonrad Dybcio - qcom,scm-qcm2290 118c5b8840cSKrzysztof Kozlowski - qcom,scm-sm6375 119c5b8840cSKrzysztof Kozlowski then: 120c5b8840cSKrzysztof Kozlowski required: 121c5b8840cSKrzysztof Kozlowski - clocks 122c5b8840cSKrzysztof Kozlowski - clock-names 123c5b8840cSKrzysztof Kozlowski else: 124c5b8840cSKrzysztof Kozlowski properties: 125c5b8840cSKrzysztof Kozlowski clock-names: false 126c5b8840cSKrzysztof Kozlowski clocks: false 127c5b8840cSKrzysztof Kozlowski 1281c46589dSDavid Heidelberg - if: 1291c46589dSDavid Heidelberg properties: 1301c46589dSDavid Heidelberg compatible: 1311c46589dSDavid Heidelberg contains: 1321c46589dSDavid Heidelberg enum: 1331c46589dSDavid Heidelberg - qcom,scm-apq8064 1341c46589dSDavid Heidelberg - qcom,scm-msm8660 1351c46589dSDavid Heidelberg - qcom,scm-msm8960 1361ad3efe5SKonrad Dybcio - qcom,scm-qcm2290 137fa2d6ed1SKonrad Dybcio - qcom,scm-sm6375 1381c46589dSDavid Heidelberg then: 1391c46589dSDavid Heidelberg properties: 1401c46589dSDavid Heidelberg clock-names: 1411c46589dSDavid Heidelberg items: 1421c46589dSDavid Heidelberg - const: core 1431c46589dSDavid Heidelberg 1441c46589dSDavid Heidelberg clocks: 1451c46589dSDavid Heidelberg maxItems: 1 1461c46589dSDavid Heidelberg 1471c46589dSDavid Heidelberg - if: 1481c46589dSDavid Heidelberg properties: 1491c46589dSDavid Heidelberg compatible: 1501c46589dSDavid Heidelberg contains: 1511c46589dSDavid Heidelberg enum: 1521c46589dSDavid Heidelberg - qcom,scm-apq8084 1531c46589dSDavid Heidelberg - qcom,scm-mdm9607 1548f3945a9SKrzysztof Kozlowski - qcom,scm-msm8226 1551c46589dSDavid Heidelberg - qcom,scm-msm8916 1561c46589dSDavid Heidelberg - qcom,scm-msm8953 1571c46589dSDavid Heidelberg - qcom,scm-msm8974 1581c46589dSDavid Heidelberg - qcom,scm-msm8976 1591c46589dSDavid Heidelberg then: 1601c46589dSDavid Heidelberg properties: 1611c46589dSDavid Heidelberg clock-names: 1621c46589dSDavid Heidelberg items: 1631c46589dSDavid Heidelberg - const: core 1641c46589dSDavid Heidelberg - const: bus 1651c46589dSDavid Heidelberg - const: iface 1661c46589dSDavid Heidelberg 1671c46589dSDavid Heidelberg clocks: 1681c46589dSDavid Heidelberg minItems: 3 1691c46589dSDavid Heidelberg maxItems: 3 1701c46589dSDavid Heidelberg 171c5b8840cSKrzysztof Kozlowski # Interconnects 172c5b8840cSKrzysztof Kozlowski - if: 173c5b8840cSKrzysztof Kozlowski not: 174c5b8840cSKrzysztof Kozlowski properties: 175c5b8840cSKrzysztof Kozlowski compatible: 176c5b8840cSKrzysztof Kozlowski contains: 177c5b8840cSKrzysztof Kozlowski enum: 178bbf97c27SMelody Olvera - qcom,scm-qdu1000 179*412bf52dSKonrad Dybcio - qcom,scm-sc8280xp 180c5b8840cSKrzysztof Kozlowski - qcom,scm-sm8450 181b9fd3353SAbel Vesa - qcom,scm-sm8550 182c5b8840cSKrzysztof Kozlowski then: 183c5b8840cSKrzysztof Kozlowski properties: 184c5b8840cSKrzysztof Kozlowski interconnects: false 1851c46589dSDavid Heidelberg 186afb37e25SGuru Das Srinagesh # Interrupts 187afb37e25SGuru Das Srinagesh - if: 188afb37e25SGuru Das Srinagesh not: 189afb37e25SGuru Das Srinagesh properties: 190afb37e25SGuru Das Srinagesh compatible: 191afb37e25SGuru Das Srinagesh contains: 192afb37e25SGuru Das Srinagesh enum: 193afb37e25SGuru Das Srinagesh - qcom,scm-sm8450 194b9fd3353SAbel Vesa - qcom,scm-sm8550 195afb37e25SGuru Das Srinagesh then: 196afb37e25SGuru Das Srinagesh properties: 197afb37e25SGuru Das Srinagesh interrupts: false 198afb37e25SGuru Das Srinagesh 1991c46589dSDavid Heidelbergrequired: 2001c46589dSDavid Heidelberg - compatible 2011c46589dSDavid Heidelberg 2021c46589dSDavid HeidelbergadditionalProperties: false 2031c46589dSDavid Heidelberg 2041c46589dSDavid Heidelbergexamples: 2051c46589dSDavid Heidelberg - | 2061c46589dSDavid Heidelberg #include <dt-bindings/clock/qcom,gcc-msm8916.h> 2071c46589dSDavid Heidelberg 2081c46589dSDavid Heidelberg firmware { 2091c46589dSDavid Heidelberg scm { 2101c46589dSDavid Heidelberg compatible = "qcom,scm-msm8916", "qcom,scm"; 2111c46589dSDavid Heidelberg clocks = <&gcc GCC_CRYPTO_CLK>, 2121c46589dSDavid Heidelberg <&gcc GCC_CRYPTO_AXI_CLK>, 2131c46589dSDavid Heidelberg <&gcc GCC_CRYPTO_AHB_CLK>; 2141c46589dSDavid Heidelberg clock-names = "core", "bus", "iface"; 2151c46589dSDavid Heidelberg }; 2161c46589dSDavid Heidelberg }; 217