xref: /linux/Documentation/devicetree/bindings/mmc/sdhci-msm.yaml (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
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