1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/mmc/sdhci-msm.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm SDHCI controller (sdhci-msm)
10 - Bhupesh Sharma <bhupesh.sharma@linaro.org>
13 Secure Digital Host Controller Interface (SDHCI) present on
14 Qualcomm SOCs supports SD/MMC/SDIO devices.
36 - const: qcom,sdhci-msm-v4 # for sdcc versions less than 5.0
64 - const: qcom,sdhci-msm-v5 # for sdcc version 5.0
77 - description: Main peripheral bus clock, PCLK/HCLK - AHB Bus clock
78 - description: SDC MMC clock, MCLK
79 - description: TCXO clock
80 - description: clock for Inline Crypto Engine
81 - description: SDCC bus voter clock
82 - description: reference clock for RCLK delay calibration
83 - description: sleep clock for RCLK delay calibration
91 - enum: [ice, bus, cal, sleep]
92 - enum: [ice, bus, cal, sleep]
93 - enum: [ice, bus, cal, sleep]
94 - enum: [ice, bus, cal, sleep]
114 Should specify pin control groups used for this controller.
118 Should specify sleep pin control groups used for this controller.
124 $ref: /schemas/types.yaml#/definitions/uint32
125 description: platform specific settings for DDR_CONFIG reg.
128 $ref: /schemas/types.yaml#/definitions/uint32
129 description: platform specific settings for DLL_CONFIG reg.
135 phandle to apps_smmu node with sid mask.
140 - description: data path, sdhc to ddr
141 - description: config path, cpu to sdhc
150 description: A phandle to sdhci power domain node
153 operating-points-v2: true
156 '^opp-table(-[a-z0-9]+)?$':
160 const: operating-points-v2
175 - $ref: sdhci-common.yaml#
188 - description: Host controller register map
189 - description: SD Core register map
190 - description: CQE register map
191 - description: Inline Crypto Engine register map
204 - description: Host controller register map
205 - description: CQE register map
206 - description: Inline Crypto Engine register map
214 unevaluatedProperties: false
218 #include <dt-bindings/interrupt-controller/arm-gic.h>
219 #include <dt-bindings/clock/qcom,gcc-sm8250.h>
220 #include <dt-bindings/clock/qcom,rpmh.h>
221 #include <dt-bindings/power/qcom,rpmhpd.h>
223 sdhc_2: mmc@8804000 {
224 compatible = "qcom,sm8250-sdhci", "qcom,sdhci-msm-v5";
225 reg = <0 0x08804000 0 0x1000>;
227 interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
228 <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
229 interrupt-names = "hc_irq", "pwr_irq";
231 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
232 <&gcc GCC_SDCC2_APPS_CLK>,
233 <&rpmhcc RPMH_CXO_CLK>;
234 clock-names = "iface", "core", "xo";
235 iommus = <&apps_smmu 0x4a0 0x0>;
236 qcom,dll-config = <0x0007642c>;
237 qcom,ddr-config = <0x80040868>;
238 power-domains = <&rpmhpd RPMHPD_CX>;
240 operating-points-v2 = <&sdhc2_opp_table>;
242 sdhc2_opp_table: opp-table {
243 compatible = "operating-points-v2";
246 opp-hz = /bits/ 64 <19200000>;
247 required-opps = <&rpmhpd_opp_min_svs>;
251 opp-hz = /bits/ 64 <50000000>;
252 required-opps = <&rpmhpd_opp_low_svs>;
256 opp-hz = /bits/ 64 <100000000>;
257 required-opps = <&rpmhpd_opp_svs>;
261 opp-hz = /bits/ 64 <202000000>;
262 required-opps = <&rpmhpd_opp_svs_l1>;