1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
5 $id: "http://devicetree.org/schemas/mmc/sdhci-msm.yaml#"
6 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
8 title: Qualcomm SDHCI controller (sdhci-msm)
11 - Bhupesh Sharma <bhupesh.sharma@linaro.org>
14 Secure Digital Host Controller Interface (SDHCI) present on
15 Qualcomm SOCs supports SD/MMC/SDIO devices.
42 - qcom,sdhci-msm-v4 # for sdcc versions less than 5.0
43 - qcom,sdhci-msm-v5 # for sdcc version 5.0
45 - const: qcom,sdhci-msm-v4 # Deprecated (only for backward compatibility)
46 # for sdcc versions less than 5.0
51 - description: Host controller register map
52 - description: SD Core register map
53 - description: CQE register map
54 - description: Inline Crypto Engine register map
59 - description: Main peripheral bus clock, PCLK/HCLK - AHB Bus clock
60 - description: SDC MMC clock, MCLK
61 - description: TCXO clock
62 - description: clock for Inline Crypto Engine
63 - description: SDCC bus voter clock
64 - description: reference clock for RCLK delay calibration
65 - description: sleep clock for RCLK delay calibration
94 Should specify pin control groups used for this controller.
97 $ref: /schemas/types.yaml#/definitions/uint32
98 description: platform specific settings for DDR_CONFIG reg.
101 $ref: /schemas/types.yaml#/definitions/uint32
102 description: platform specific settings for DLL_CONFIG reg.
108 phandle to apps_smmu node with sid mask.
112 - description: data path, sdhc to ddr
113 - description: config path, cpu to sdhc
121 description: A phandle to sdhci power domain node
125 '^opp-table(-[a-z0-9]+)?$':
129 const: operating-points-v2
143 additionalProperties: true
147 #include <dt-bindings/interrupt-controller/arm-gic.h>
148 #include <dt-bindings/clock/qcom,gcc-sm8250.h>
149 #include <dt-bindings/clock/qcom,rpmh.h>
150 #include <dt-bindings/power/qcom-rpmpd.h>
152 sdhc_2: sdhci@8804000 {
153 compatible = "qcom,sm8250-sdhci", "qcom,sdhci-msm-v5";
154 reg = <0 0x08804000 0 0x1000>;
156 interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
157 <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
158 interrupt-names = "hc_irq", "pwr_irq";
160 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
161 <&gcc GCC_SDCC2_APPS_CLK>,
162 <&rpmhcc RPMH_CXO_CLK>;
163 clock-names = "iface", "core", "xo";
164 iommus = <&apps_smmu 0x4a0 0x0>;
165 qcom,dll-config = <0x0007642c>;
166 qcom,ddr-config = <0x80040868>;
167 power-domains = <&rpmhpd SM8250_CX>;
169 operating-points-v2 = <&sdhc2_opp_table>;
171 sdhc2_opp_table: opp-table {
172 compatible = "operating-points-v2";
175 opp-hz = /bits/ 64 <19200000>;
176 required-opps = <&rpmhpd_opp_min_svs>;
180 opp-hz = /bits/ 64 <50000000>;
181 required-opps = <&rpmhpd_opp_low_svs>;
185 opp-hz = /bits/ 64 <100000000>;
186 required-opps = <&rpmhpd_opp_svs>;
190 opp-hz = /bits/ 64 <202000000>;
191 required-opps = <&rpmhpd_opp_svs_l1>;