1a4553772SBhupesh Sharma# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2a4553772SBhupesh Sharma%YAML 1.2 3a4553772SBhupesh Sharma--- 42ba206a2SKrzysztof Kozlowski$id: http://devicetree.org/schemas/mmc/sdhci-msm.yaml# 52ba206a2SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6a4553772SBhupesh Sharma 7a4553772SBhupesh Sharmatitle: Qualcomm SDHCI controller (sdhci-msm) 8a4553772SBhupesh Sharma 9a4553772SBhupesh Sharmamaintainers: 10634717a2SKrzysztof Kozlowski - Bjorn Andersson <andersson@kernel.org> 11634717a2SKrzysztof Kozlowski - Konrad Dybcio <konradybcio@kernel.org> 12a4553772SBhupesh Sharma 13a4553772SBhupesh Sharmadescription: 14a4553772SBhupesh Sharma Secure Digital Host Controller Interface (SDHCI) present on 15a4553772SBhupesh Sharma Qualcomm SOCs supports SD/MMC/SDIO devices. 16a4553772SBhupesh Sharma 17a4553772SBhupesh Sharmaproperties: 18a4553772SBhupesh Sharma compatible: 19a4553772SBhupesh Sharma oneOf: 208574adf5SBhupesh Sharma - enum: 218574adf5SBhupesh Sharma - qcom,sdhci-msm-v4 228574adf5SBhupesh Sharma deprecated: true 23a4553772SBhupesh Sharma - items: 24a4553772SBhupesh Sharma - enum: 25a4553772SBhupesh Sharma - qcom,apq8084-sdhci 26ef62548fSKrzysztof Kozlowski - qcom,ipq4019-sdhci 27ef62548fSKrzysztof Kozlowski - qcom,ipq8074-sdhci 28a4553772SBhupesh Sharma - qcom,msm8226-sdhci 29a4553772SBhupesh Sharma - qcom,msm8953-sdhci 30a4553772SBhupesh Sharma - qcom,msm8974-sdhci 31e97ee6f8SAngeloGioacchino Del Regno - qcom,msm8976-sdhci 32a4553772SBhupesh Sharma - qcom,msm8916-sdhci 33a4553772SBhupesh Sharma - qcom,msm8992-sdhci 34a4553772SBhupesh Sharma - qcom,msm8994-sdhci 35a4553772SBhupesh Sharma - qcom,msm8996-sdhci 369b538b0eSKrzysztof Kozlowski - qcom,msm8998-sdhci 378574adf5SBhupesh Sharma - const: qcom,sdhci-msm-v4 # for sdcc versions less than 5.0 388574adf5SBhupesh Sharma - items: 398574adf5SBhupesh Sharma - enum: 4022a4455eSSricharan Ramabadhran - qcom,ipq5018-sdhci 41d5d4a2bcSKathiravan T - qcom,ipq5332-sdhci 42d659d8adSSricharan Ramabadhran - qcom,ipq5424-sdhci 432fba941dSMantas Pucka - qcom,ipq6018-sdhci 44124a4c13Sdevi priya - qcom,ipq9574-sdhci 45b8548e38SKonrad Dybcio - qcom,milos-sdhci 46a4553772SBhupesh Sharma - qcom,qcm2290-sdhci 473c0946b6SYuanjie Yang - qcom,qcs404-sdhci 48ac93af1fSKomal Bajaj - qcom,qcs615-sdhci 4932f71e0eSDmitry Baryshkov - qcom,qcs8300-sdhci 50a4553772SBhupesh Sharma - qcom,qdu1000-sdhci 51a4553772SBhupesh Sharma - qcom,sar2130p-sdhci 522d293478SBjorn Andersson - qcom,sc7180-sdhci 53a4553772SBhupesh Sharma - qcom,sc7280-sdhci 5407c7338fSRichard Acayan - qcom,sc8280xp-sdhci 55a4553772SBhupesh Sharma - qcom,sdm630-sdhci 56a4553772SBhupesh Sharma - qcom,sdm670-sdhci 57210deba2SRohit Agarwal - qcom,sdm845-sdhci 58e83c8685SNaina Mehta - qcom,sdx55-sdhci 59896691f0SAdam Skladowski - qcom,sdx65-sdhci 60a4553772SBhupesh Sharma - qcom,sdx75-sdhci 61a4553772SBhupesh Sharma - qcom,sm6115-sdhci 62ac4a171bSKonrad Dybcio - qcom,sm6125-sdhci 63*a0ba0461SDanila Tikhonov - qcom,sm6350-sdhci 6417a9f73dSBhupesh Sharma - qcom,sm6375-sdhci 65a4553772SBhupesh Sharma - qcom,sm7150-sdhci 66b78efae3SKonrad Dybcio - qcom,sm8150-sdhci 6799ce0f75SKonrad Dybcio - qcom,sm8250-sdhci 68974b8219SAbel Vesa - qcom,sm8350-sdhci 695eb83238SNeil Armstrong - qcom,sm8450-sdhci 70a5987a64SAbel Vesa - qcom,sm8550-sdhci 718574adf5SBhupesh Sharma - qcom,sm8650-sdhci 72a4553772SBhupesh Sharma - qcom,x1e80100-sdhci 73a4553772SBhupesh Sharma - const: qcom,sdhci-msm-v5 # for sdcc version 5.0 74a4553772SBhupesh Sharma 7554c16b52SKrzysztof Kozlowski reg: 76a4553772SBhupesh Sharma minItems: 1 778574adf5SBhupesh Sharma maxItems: 4 788574adf5SBhupesh Sharma 798574adf5SBhupesh Sharma reg-names: 808574adf5SBhupesh Sharma minItems: 1 81a4553772SBhupesh Sharma maxItems: 4 821bbac8d6SKrzysztof Kozlowski 83a4553772SBhupesh Sharma clocks: 84a4553772SBhupesh Sharma minItems: 2 85a4553772SBhupesh Sharma items: 86a4553772SBhupesh Sharma - description: Main peripheral bus clock, PCLK/HCLK - AHB Bus clock 87a4553772SBhupesh Sharma - description: SDC MMC clock, MCLK 88a4553772SBhupesh Sharma - description: TCXO clock 89a4553772SBhupesh Sharma - description: clock for Inline Crypto Engine 90a4553772SBhupesh Sharma - description: SDCC bus voter clock 91a4553772SBhupesh Sharma - description: reference clock for RCLK delay calibration 92a4553772SBhupesh Sharma - description: sleep clock for RCLK delay calibration 93a4553772SBhupesh Sharma 94a4553772SBhupesh Sharma clock-names: 95a4553772SBhupesh Sharma minItems: 2 96a4553772SBhupesh Sharma items: 97a4553772SBhupesh Sharma - const: iface 98a5b5006eSKrzysztof Kozlowski - const: core 99a5b5006eSKrzysztof Kozlowski - const: xo 100a5b5006eSKrzysztof Kozlowski - enum: [ice, bus, cal, sleep] 101a5b5006eSKrzysztof Kozlowski - enum: [ice, bus, cal, sleep] 102a4553772SBhupesh Sharma - enum: [ice, bus, cal, sleep] 103491ad767SKrzysztof Kozlowski - enum: [ice, bus, cal, sleep] 104491ad767SKrzysztof Kozlowski 105a4553772SBhupesh Sharma dma-coherent: true 106a4553772SBhupesh Sharma 107a4553772SBhupesh Sharma interrupts: 108a4553772SBhupesh Sharma maxItems: 2 109a4553772SBhupesh Sharma 110a4553772SBhupesh Sharma interrupt-names: 111a4553772SBhupesh Sharma items: 112a4553772SBhupesh Sharma - const: hc_irq 113a4553772SBhupesh Sharma - const: pwr_irq 114a4553772SBhupesh Sharma 115a4553772SBhupesh Sharma pinctrl-names: 116a4553772SBhupesh Sharma minItems: 1 117a4553772SBhupesh Sharma items: 118a4553772SBhupesh Sharma - const: default 119a4553772SBhupesh Sharma - const: sleep 120a4553772SBhupesh Sharma 121a4553772SBhupesh Sharma pinctrl-0: 122a4553772SBhupesh Sharma description: 123a7c99868SIskren Chernev Should specify pin control groups used for this controller. 124a7c99868SIskren Chernev 125a7c99868SIskren Chernev pinctrl-1: 126a7c99868SIskren Chernev description: 12795a4cf71SRobert Marko Should specify sleep pin control groups used for this controller. 12895a4cf71SRobert Marko 12995a4cf71SRobert Marko resets: 130a4553772SBhupesh Sharma maxItems: 1 131a4553772SBhupesh Sharma 132a4553772SBhupesh Sharma qcom,ddr-config: 133a4553772SBhupesh Sharma $ref: /schemas/types.yaml#/definitions/uint32 134a4553772SBhupesh Sharma description: platform specific settings for DDR_CONFIG reg. 135a4553772SBhupesh Sharma 136a4553772SBhupesh Sharma qcom,dll-config: 137a4553772SBhupesh Sharma $ref: /schemas/types.yaml#/definitions/uint32 138a4553772SBhupesh Sharma description: platform specific settings for DLL_CONFIG reg. 139a4553772SBhupesh Sharma 140a4553772SBhupesh Sharma iommus: 141a4553772SBhupesh Sharma minItems: 1 142a4553772SBhupesh Sharma maxItems: 8 143a4553772SBhupesh Sharma description: | 144a4553772SBhupesh Sharma phandle to apps_smmu node with sid mask. 14509e8f154SKonrad Dybcio 146a4553772SBhupesh Sharma interconnects: 147a4553772SBhupesh Sharma minItems: 1 148a4553772SBhupesh Sharma items: 149a4553772SBhupesh Sharma - description: data path, sdhc to ddr 150a4553772SBhupesh Sharma - description: config path, cpu to sdhc 15109e8f154SKonrad Dybcio 152a4553772SBhupesh Sharma interconnect-names: 153a4553772SBhupesh Sharma minItems: 1 154a4553772SBhupesh Sharma items: 155a4553772SBhupesh Sharma - const: sdhc-ddr 156a4553772SBhupesh Sharma - const: cpu-sdhc 157a4553772SBhupesh Sharma 158a4553772SBhupesh Sharma power-domains: 159a4553772SBhupesh Sharma description: A phandle to sdhci power domain node 160331753ffSBhupesh Sharma maxItems: 1 161331753ffSBhupesh Sharma 162a4553772SBhupesh Sharma operating-points-v2: true 163a4553772SBhupesh Sharma 164a4553772SBhupesh SharmapatternProperties: 165a4553772SBhupesh Sharma '^opp-table(-[a-z0-9]+)?$': 166a4553772SBhupesh Sharma if: 167a4553772SBhupesh Sharma properties: 168a4553772SBhupesh Sharma compatible: 169a4553772SBhupesh Sharma const: operating-points-v2 170a4553772SBhupesh Sharma then: 171a4553772SBhupesh Sharma patternProperties: 172a4553772SBhupesh Sharma '^opp-?[0-9]+$': 173a4553772SBhupesh Sharma required: 174a4553772SBhupesh Sharma - required-opps 175a4553772SBhupesh Sharma 176a4553772SBhupesh Sharmarequired: 177a4553772SBhupesh Sharma - compatible 178a4553772SBhupesh Sharma - reg 179a4553772SBhupesh Sharma - clocks 180a4553772SBhupesh Sharma - clock-names 1818574adf5SBhupesh Sharma - interrupts 18207f8f060SKrzysztof Kozlowski 1838574adf5SBhupesh SharmaallOf: 18454c16b52SKrzysztof Kozlowski - $ref: sdhci-common.yaml# 18554c16b52SKrzysztof Kozlowski 18654c16b52SKrzysztof Kozlowski - if: 18754c16b52SKrzysztof Kozlowski properties: 18854c16b52SKrzysztof Kozlowski compatible: 18954c16b52SKrzysztof Kozlowski contains: 19054c16b52SKrzysztof Kozlowski enum: 19154c16b52SKrzysztof Kozlowski - qcom,sdhci-msm-v4 19254c16b52SKrzysztof Kozlowski then: 19354c16b52SKrzysztof Kozlowski properties: 19454c16b52SKrzysztof Kozlowski reg: 19554c16b52SKrzysztof Kozlowski minItems: 2 19654c16b52SKrzysztof Kozlowski items: 19754c16b52SKrzysztof Kozlowski - description: Host controller register map 19854c16b52SKrzysztof Kozlowski - description: SD Core register map 19954c16b52SKrzysztof Kozlowski - description: CQE register map 20054c16b52SKrzysztof Kozlowski - description: Inline Crypto Engine register map 20154c16b52SKrzysztof Kozlowski reg-names: 20254c16b52SKrzysztof Kozlowski minItems: 2 20354c16b52SKrzysztof Kozlowski items: 20454c16b52SKrzysztof Kozlowski - const: hc 20554c16b52SKrzysztof Kozlowski - const: core 20654c16b52SKrzysztof Kozlowski - const: cqhci 20754c16b52SKrzysztof Kozlowski - const: ice 20854c16b52SKrzysztof Kozlowski else: 20954c16b52SKrzysztof Kozlowski properties: 21054c16b52SKrzysztof Kozlowski reg: 21154c16b52SKrzysztof Kozlowski minItems: 1 21254c16b52SKrzysztof Kozlowski items: 21354c16b52SKrzysztof Kozlowski - description: Host controller register map 21454c16b52SKrzysztof Kozlowski - description: CQE register map 21554c16b52SKrzysztof Kozlowski - description: Inline Crypto Engine register map 21654c16b52SKrzysztof Kozlowski reg-names: 21754c16b52SKrzysztof Kozlowski minItems: 1 21854c16b52SKrzysztof Kozlowski items: 21954c16b52SKrzysztof Kozlowski - const: hc 22054c16b52SKrzysztof Kozlowski - const: cqhci 2218574adf5SBhupesh Sharma - const: ice 222a4553772SBhupesh Sharma 223a4553772SBhupesh SharmaunevaluatedProperties: false 224a4553772SBhupesh Sharma 225a4553772SBhupesh Sharmaexamples: 226a4553772SBhupesh Sharma - | 227a4553772SBhupesh Sharma #include <dt-bindings/interrupt-controller/arm-gic.h> 228014f3272SRohit Agarwal #include <dt-bindings/clock/qcom,gcc-sm8250.h> 229a4553772SBhupesh Sharma #include <dt-bindings/clock/qcom,rpmh.h> 2308574adf5SBhupesh Sharma #include <dt-bindings/power/qcom,rpmhpd.h> 231a4553772SBhupesh Sharma 232a4553772SBhupesh Sharma sdhc_2: mmc@8804000 { 233a4553772SBhupesh Sharma compatible = "qcom,sm8250-sdhci", "qcom,sdhci-msm-v5"; 234a4553772SBhupesh Sharma reg = <0 0x08804000 0 0x1000>; 235a4553772SBhupesh Sharma 236a4553772SBhupesh Sharma interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>, 237a4553772SBhupesh Sharma <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>; 238a4553772SBhupesh Sharma interrupt-names = "hc_irq", "pwr_irq"; 239a4553772SBhupesh Sharma 240a4553772SBhupesh Sharma clocks = <&gcc GCC_SDCC2_AHB_CLK>, 241a4553772SBhupesh Sharma <&gcc GCC_SDCC2_APPS_CLK>, 242a4553772SBhupesh Sharma <&rpmhcc RPMH_CXO_CLK>; 243a4553772SBhupesh Sharma clock-names = "iface", "core", "xo"; 244a4553772SBhupesh Sharma iommus = <&apps_smmu 0x4a0 0x0>; 245014f3272SRohit Agarwal qcom,dll-config = <0x0007642c>; 246a4553772SBhupesh Sharma qcom,ddr-config = <0x80040868>; 247a4553772SBhupesh Sharma power-domains = <&rpmhpd RPMHPD_CX>; 248a4553772SBhupesh Sharma 249a4553772SBhupesh Sharma operating-points-v2 = <&sdhc2_opp_table>; 250a4553772SBhupesh Sharma 251a4553772SBhupesh Sharma sdhc2_opp_table: opp-table { 252a4553772SBhupesh Sharma compatible = "operating-points-v2"; 253a4553772SBhupesh Sharma 254a4553772SBhupesh Sharma opp-19200000 { 255a4553772SBhupesh Sharma opp-hz = /bits/ 64 <19200000>; 256a4553772SBhupesh Sharma required-opps = <&rpmhpd_opp_min_svs>; 257a4553772SBhupesh Sharma }; 258a4553772SBhupesh Sharma 259a4553772SBhupesh Sharma opp-50000000 { 260a4553772SBhupesh Sharma opp-hz = /bits/ 64 <50000000>; 261a4553772SBhupesh Sharma required-opps = <&rpmhpd_opp_low_svs>; 262a4553772SBhupesh Sharma }; 263a4553772SBhupesh Sharma 264a4553772SBhupesh Sharma opp-100000000 { 265a4553772SBhupesh Sharma opp-hz = /bits/ 64 <100000000>; 266a4553772SBhupesh Sharma required-opps = <&rpmhpd_opp_svs>; 267a4553772SBhupesh Sharma }; 268a4553772SBhupesh Sharma 269a4553772SBhupesh Sharma opp-202000000 { 270a4553772SBhupesh Sharma opp-hz = /bits/ 64 <202000000>; 271a4553772SBhupesh Sharma required-opps = <&rpmhpd_opp_svs_l1>; 272a4553772SBhupesh Sharma }; 273 }; 274 }; 275