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: 10a4553772SBhupesh Sharma - Bhupesh Sharma <bhupesh.sharma@linaro.org> 11a4553772SBhupesh Sharma 12a4553772SBhupesh Sharmadescription: 13a4553772SBhupesh Sharma Secure Digital Host Controller Interface (SDHCI) present on 14a4553772SBhupesh Sharma Qualcomm SOCs supports SD/MMC/SDIO devices. 15a4553772SBhupesh Sharma 16a4553772SBhupesh Sharmaproperties: 17a4553772SBhupesh Sharma compatible: 18a4553772SBhupesh Sharma oneOf: 198574adf5SBhupesh Sharma - enum: 208574adf5SBhupesh Sharma - qcom,sdhci-msm-v4 218574adf5SBhupesh Sharma deprecated: true 22a4553772SBhupesh Sharma - items: 23a4553772SBhupesh Sharma - enum: 24a4553772SBhupesh Sharma - qcom,apq8084-sdhci 25a4553772SBhupesh Sharma - qcom,msm8226-sdhci 26a4553772SBhupesh Sharma - qcom,msm8953-sdhci 27a4553772SBhupesh Sharma - qcom,msm8974-sdhci 28e97ee6f8SAngeloGioacchino Del Regno - qcom,msm8976-sdhci 29a4553772SBhupesh Sharma - qcom,msm8916-sdhci 30a4553772SBhupesh Sharma - qcom,msm8992-sdhci 31a4553772SBhupesh Sharma - qcom,msm8994-sdhci 32a4553772SBhupesh Sharma - qcom,msm8996-sdhci 339b538b0eSKrzysztof Kozlowski - qcom,msm8998-sdhci 348574adf5SBhupesh Sharma - const: qcom,sdhci-msm-v4 # for sdcc versions less than 5.0 358574adf5SBhupesh Sharma - items: 368574adf5SBhupesh Sharma - enum: 3722a4455eSSricharan Ramabadhran - qcom,ipq5018-sdhci 38d5d4a2bcSKathiravan T - qcom,ipq5332-sdhci 392fba941dSMantas Pucka - qcom,ipq6018-sdhci 40124a4c13Sdevi priya - qcom,ipq9574-sdhci 41b8548e38SKonrad Dybcio - qcom,qcm2290-sdhci 42a4553772SBhupesh Sharma - qcom,qcs404-sdhci 43ac93af1fSKomal Bajaj - qcom,qdu1000-sdhci 44a4553772SBhupesh Sharma - qcom,sc7180-sdhci 45a4553772SBhupesh Sharma - qcom,sc7280-sdhci 462d293478SBjorn Andersson - qcom,sc8280xp-sdhci 47a4553772SBhupesh Sharma - qcom,sdm630-sdhci 4807c7338fSRichard Acayan - qcom,sdm670-sdhci 49a4553772SBhupesh Sharma - qcom,sdm845-sdhci 50a4553772SBhupesh Sharma - qcom,sdx55-sdhci 51210deba2SRohit Agarwal - qcom,sdx65-sdhci 52896691f0SAdam Skladowski - qcom,sm6115-sdhci 53a4553772SBhupesh Sharma - qcom,sm6125-sdhci 54a4553772SBhupesh Sharma - qcom,sm6350-sdhci 55ac4a171bSKonrad Dybcio - qcom,sm6375-sdhci 5617a9f73dSBhupesh Sharma - qcom,sm8150-sdhci 57a4553772SBhupesh Sharma - qcom,sm8250-sdhci 58b78efae3SKonrad Dybcio - qcom,sm8350-sdhci 5999ce0f75SKonrad Dybcio - qcom,sm8450-sdhci 60974b8219SAbel Vesa - qcom,sm8550-sdhci 618574adf5SBhupesh Sharma - const: qcom,sdhci-msm-v5 # for sdcc version 5.0 62a4553772SBhupesh Sharma 63a4553772SBhupesh Sharma reg: 64a4553772SBhupesh Sharma minItems: 1 6554c16b52SKrzysztof Kozlowski maxItems: 4 66a4553772SBhupesh Sharma 678574adf5SBhupesh Sharma reg-names: 688574adf5SBhupesh Sharma minItems: 1 698574adf5SBhupesh Sharma maxItems: 4 708574adf5SBhupesh Sharma 71a4553772SBhupesh Sharma clocks: 72*1bbac8d6SKrzysztof Kozlowski minItems: 2 73a4553772SBhupesh Sharma items: 74a4553772SBhupesh Sharma - description: Main peripheral bus clock, PCLK/HCLK - AHB Bus clock 75a4553772SBhupesh Sharma - description: SDC MMC clock, MCLK 76a4553772SBhupesh Sharma - description: TCXO clock 77a4553772SBhupesh Sharma - description: clock for Inline Crypto Engine 78a4553772SBhupesh Sharma - description: SDCC bus voter clock 79a4553772SBhupesh Sharma - description: reference clock for RCLK delay calibration 80a4553772SBhupesh Sharma - description: sleep clock for RCLK delay calibration 81a4553772SBhupesh Sharma 82a4553772SBhupesh Sharma clock-names: 83a4553772SBhupesh Sharma minItems: 2 84a4553772SBhupesh Sharma items: 85a4553772SBhupesh Sharma - const: iface 86a4553772SBhupesh Sharma - const: core 87a4553772SBhupesh Sharma - const: xo 88a4553772SBhupesh Sharma - const: ice 89a4553772SBhupesh Sharma - const: bus 90a4553772SBhupesh Sharma - const: cal 91a4553772SBhupesh Sharma - const: sleep 92a4553772SBhupesh Sharma 93491ad767SKrzysztof Kozlowski dma-coherent: true 94491ad767SKrzysztof Kozlowski 95a4553772SBhupesh Sharma interrupts: 96a4553772SBhupesh Sharma maxItems: 2 97a4553772SBhupesh Sharma 98a4553772SBhupesh Sharma interrupt-names: 99a4553772SBhupesh Sharma items: 100a4553772SBhupesh Sharma - const: hc_irq 101a4553772SBhupesh Sharma - const: pwr_irq 102a4553772SBhupesh Sharma 103a4553772SBhupesh Sharma pinctrl-names: 104a4553772SBhupesh Sharma minItems: 1 105a4553772SBhupesh Sharma items: 106a4553772SBhupesh Sharma - const: default 107a4553772SBhupesh Sharma - const: sleep 108a4553772SBhupesh Sharma 109a4553772SBhupesh Sharma pinctrl-0: 110a4553772SBhupesh Sharma description: 111a4553772SBhupesh Sharma Should specify pin control groups used for this controller. 112a4553772SBhupesh Sharma 113a7c99868SIskren Chernev pinctrl-1: 114a7c99868SIskren Chernev description: 115a7c99868SIskren Chernev Should specify sleep pin control groups used for this controller. 116a7c99868SIskren Chernev 11795a4cf71SRobert Marko resets: 11895a4cf71SRobert Marko maxItems: 1 11995a4cf71SRobert Marko 120a4553772SBhupesh Sharma qcom,ddr-config: 121a4553772SBhupesh Sharma $ref: /schemas/types.yaml#/definitions/uint32 122a4553772SBhupesh Sharma description: platform specific settings for DDR_CONFIG reg. 123a4553772SBhupesh Sharma 124a4553772SBhupesh Sharma qcom,dll-config: 125a4553772SBhupesh Sharma $ref: /schemas/types.yaml#/definitions/uint32 126a4553772SBhupesh Sharma description: platform specific settings for DLL_CONFIG reg. 127a4553772SBhupesh Sharma 128a4553772SBhupesh Sharma iommus: 129a4553772SBhupesh Sharma minItems: 1 130a4553772SBhupesh Sharma maxItems: 8 131a4553772SBhupesh Sharma description: | 132a4553772SBhupesh Sharma phandle to apps_smmu node with sid mask. 133a4553772SBhupesh Sharma 134a4553772SBhupesh Sharma interconnects: 13509e8f154SKonrad Dybcio minItems: 1 136a4553772SBhupesh Sharma items: 137a4553772SBhupesh Sharma - description: data path, sdhc to ddr 138a4553772SBhupesh Sharma - description: config path, cpu to sdhc 139a4553772SBhupesh Sharma 140a4553772SBhupesh Sharma interconnect-names: 14109e8f154SKonrad Dybcio minItems: 1 142a4553772SBhupesh Sharma items: 143a4553772SBhupesh Sharma - const: sdhc-ddr 144a4553772SBhupesh Sharma - const: cpu-sdhc 145a4553772SBhupesh Sharma 146a4553772SBhupesh Sharma power-domains: 147a4553772SBhupesh Sharma description: A phandle to sdhci power domain node 148a4553772SBhupesh Sharma maxItems: 1 149a4553772SBhupesh Sharma 150331753ffSBhupesh Sharma operating-points-v2: true 151331753ffSBhupesh Sharma 152a4553772SBhupesh SharmapatternProperties: 153a4553772SBhupesh Sharma '^opp-table(-[a-z0-9]+)?$': 154a4553772SBhupesh Sharma if: 155a4553772SBhupesh Sharma properties: 156a4553772SBhupesh Sharma compatible: 157a4553772SBhupesh Sharma const: operating-points-v2 158a4553772SBhupesh Sharma then: 159a4553772SBhupesh Sharma patternProperties: 160a4553772SBhupesh Sharma '^opp-?[0-9]+$': 161a4553772SBhupesh Sharma required: 162a4553772SBhupesh Sharma - required-opps 163a4553772SBhupesh Sharma 164a4553772SBhupesh Sharmarequired: 165a4553772SBhupesh Sharma - compatible 166a4553772SBhupesh Sharma - reg 167a4553772SBhupesh Sharma - clocks 168a4553772SBhupesh Sharma - clock-names 169a4553772SBhupesh Sharma - interrupts 170a4553772SBhupesh Sharma 1718574adf5SBhupesh SharmaallOf: 17207f8f060SKrzysztof Kozlowski - $ref: sdhci-common.yaml# 1738574adf5SBhupesh Sharma 17454c16b52SKrzysztof Kozlowski - if: 17554c16b52SKrzysztof Kozlowski properties: 17654c16b52SKrzysztof Kozlowski compatible: 17754c16b52SKrzysztof Kozlowski contains: 17854c16b52SKrzysztof Kozlowski enum: 17954c16b52SKrzysztof Kozlowski - qcom,sdhci-msm-v4 18054c16b52SKrzysztof Kozlowski then: 18154c16b52SKrzysztof Kozlowski properties: 18254c16b52SKrzysztof Kozlowski reg: 18354c16b52SKrzysztof Kozlowski minItems: 2 18454c16b52SKrzysztof Kozlowski items: 18554c16b52SKrzysztof Kozlowski - description: Host controller register map 18654c16b52SKrzysztof Kozlowski - description: SD Core register map 18754c16b52SKrzysztof Kozlowski - description: CQE register map 18854c16b52SKrzysztof Kozlowski - description: Inline Crypto Engine register map 18954c16b52SKrzysztof Kozlowski reg-names: 19054c16b52SKrzysztof Kozlowski minItems: 2 19154c16b52SKrzysztof Kozlowski items: 19254c16b52SKrzysztof Kozlowski - const: hc 19354c16b52SKrzysztof Kozlowski - const: core 19454c16b52SKrzysztof Kozlowski - const: cqhci 19554c16b52SKrzysztof Kozlowski - const: ice 19654c16b52SKrzysztof Kozlowski else: 19754c16b52SKrzysztof Kozlowski properties: 19854c16b52SKrzysztof Kozlowski reg: 19954c16b52SKrzysztof Kozlowski minItems: 1 20054c16b52SKrzysztof Kozlowski items: 20154c16b52SKrzysztof Kozlowski - description: Host controller register map 20254c16b52SKrzysztof Kozlowski - description: CQE register map 20354c16b52SKrzysztof Kozlowski - description: Inline Crypto Engine register map 20454c16b52SKrzysztof Kozlowski reg-names: 20554c16b52SKrzysztof Kozlowski minItems: 1 20654c16b52SKrzysztof Kozlowski items: 20754c16b52SKrzysztof Kozlowski - const: hc 20854c16b52SKrzysztof Kozlowski - const: cqhci 20954c16b52SKrzysztof Kozlowski - const: ice 21054c16b52SKrzysztof Kozlowski 2118574adf5SBhupesh SharmaunevaluatedProperties: false 212a4553772SBhupesh Sharma 213a4553772SBhupesh Sharmaexamples: 214a4553772SBhupesh Sharma - | 215a4553772SBhupesh Sharma #include <dt-bindings/interrupt-controller/arm-gic.h> 216a4553772SBhupesh Sharma #include <dt-bindings/clock/qcom,gcc-sm8250.h> 217a4553772SBhupesh Sharma #include <dt-bindings/clock/qcom,rpmh.h> 218014f3272SRohit Agarwal #include <dt-bindings/power/qcom,rpmhpd.h> 219a4553772SBhupesh Sharma 2208574adf5SBhupesh Sharma sdhc_2: mmc@8804000 { 221a4553772SBhupesh Sharma compatible = "qcom,sm8250-sdhci", "qcom,sdhci-msm-v5"; 222a4553772SBhupesh Sharma reg = <0 0x08804000 0 0x1000>; 223a4553772SBhupesh Sharma 224a4553772SBhupesh Sharma interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>, 225a4553772SBhupesh Sharma <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>; 226a4553772SBhupesh Sharma interrupt-names = "hc_irq", "pwr_irq"; 227a4553772SBhupesh Sharma 228a4553772SBhupesh Sharma clocks = <&gcc GCC_SDCC2_AHB_CLK>, 229a4553772SBhupesh Sharma <&gcc GCC_SDCC2_APPS_CLK>, 230a4553772SBhupesh Sharma <&rpmhcc RPMH_CXO_CLK>; 231a4553772SBhupesh Sharma clock-names = "iface", "core", "xo"; 232a4553772SBhupesh Sharma iommus = <&apps_smmu 0x4a0 0x0>; 233a4553772SBhupesh Sharma qcom,dll-config = <0x0007642c>; 234a4553772SBhupesh Sharma qcom,ddr-config = <0x80040868>; 235014f3272SRohit Agarwal power-domains = <&rpmhpd RPMHPD_CX>; 236a4553772SBhupesh Sharma 237a4553772SBhupesh Sharma operating-points-v2 = <&sdhc2_opp_table>; 238a4553772SBhupesh Sharma 239a4553772SBhupesh Sharma sdhc2_opp_table: opp-table { 240a4553772SBhupesh Sharma compatible = "operating-points-v2"; 241a4553772SBhupesh Sharma 242a4553772SBhupesh Sharma opp-19200000 { 243a4553772SBhupesh Sharma opp-hz = /bits/ 64 <19200000>; 244a4553772SBhupesh Sharma required-opps = <&rpmhpd_opp_min_svs>; 245a4553772SBhupesh Sharma }; 246a4553772SBhupesh Sharma 247a4553772SBhupesh Sharma opp-50000000 { 248a4553772SBhupesh Sharma opp-hz = /bits/ 64 <50000000>; 249a4553772SBhupesh Sharma required-opps = <&rpmhpd_opp_low_svs>; 250a4553772SBhupesh Sharma }; 251a4553772SBhupesh Sharma 252a4553772SBhupesh Sharma opp-100000000 { 253a4553772SBhupesh Sharma opp-hz = /bits/ 64 <100000000>; 254a4553772SBhupesh Sharma required-opps = <&rpmhpd_opp_svs>; 255a4553772SBhupesh Sharma }; 256a4553772SBhupesh Sharma 257a4553772SBhupesh Sharma opp-202000000 { 258a4553772SBhupesh Sharma opp-hz = /bits/ 64 <202000000>; 259a4553772SBhupesh Sharma required-opps = <&rpmhpd_opp_svs_l1>; 260a4553772SBhupesh Sharma }; 261a4553772SBhupesh Sharma }; 262a4553772SBhupesh Sharma }; 263