1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 # Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
5 $id: "http://devicetree.org/schemas/mmc/sdhci-am654.yaml#"
6 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
8 title: TI AM654 MMC Controller
11 - Ulf Hansson <ulf.hansson@linaro.org>
14 - $ref: mmc-controller.yaml#
19 - const: ti,am654-sdhci-5.1
20 - const: ti,j721e-sdhci-8bit
21 - const: ti,j721e-sdhci-4bit
22 - const: ti,am64-sdhci-8bit
23 - const: ti,am64-sdhci-4bit
24 - const: ti,am62-sdhci
26 - const: ti,j7200-sdhci-8bit
27 - const: ti,j721e-sdhci-8bit
29 - const: ti,j7200-sdhci-4bit
30 - const: ti,j721e-sdhci-4bit
44 description: Handles to input clocks
54 # PHY output tap delays:
55 # Used to delay the data valid window and align it to the sampling clock.
56 # Binding needs to be provided for each supported speed mode otherwise the
57 # corresponding mode will be disabled.
59 ti,otap-del-sel-legacy:
60 description: Output tap delay for SD/MMC legacy timing
61 $ref: "/schemas/types.yaml#/definitions/uint32"
65 ti,otap-del-sel-mmc-hs:
66 description: Output tap delay for MMC high speed timing
67 $ref: "/schemas/types.yaml#/definitions/uint32"
71 ti,otap-del-sel-sd-hs:
72 description: Output tap delay for SD high speed timing
73 $ref: "/schemas/types.yaml#/definitions/uint32"
77 ti,otap-del-sel-sdr12:
78 description: Output tap delay for SD UHS SDR12 timing
79 $ref: "/schemas/types.yaml#/definitions/uint32"
83 ti,otap-del-sel-sdr25:
84 description: Output tap delay for SD UHS SDR25 timing
85 $ref: "/schemas/types.yaml#/definitions/uint32"
89 ti,otap-del-sel-sdr50:
90 description: Output tap delay for SD UHS SDR50 timing
91 $ref: "/schemas/types.yaml#/definitions/uint32"
95 ti,otap-del-sel-sdr104:
96 description: Output tap delay for SD UHS SDR104 timing
97 $ref: "/schemas/types.yaml#/definitions/uint32"
101 ti,otap-del-sel-ddr50:
102 description: Output tap delay for SD UHS DDR50 timing
103 $ref: "/schemas/types.yaml#/definitions/uint32"
107 ti,otap-del-sel-ddr52:
108 description: Output tap delay for eMMC DDR52 timing
109 $ref: "/schemas/types.yaml#/definitions/uint32"
113 ti,otap-del-sel-hs200:
114 description: Output tap delay for eMMC HS200 timing
115 $ref: "/schemas/types.yaml#/definitions/uint32"
119 ti,otap-del-sel-hs400:
120 description: Output tap delay for eMMC HS400 timing
121 $ref: "/schemas/types.yaml#/definitions/uint32"
125 # PHY input tap delays:
126 # Used to delay the data valid window and align it to the sampling clock for
127 # modes that don't support tuning
129 ti,itap-del-sel-legacy:
130 description: Input tap delay for SD/MMC legacy timing
131 $ref: "/schemas/types.yaml#/definitions/uint32"
135 ti,itap-del-sel-mmc-hs:
136 description: Input tap delay for MMC high speed timing
137 $ref: "/schemas/types.yaml#/definitions/uint32"
141 ti,itap-del-sel-sd-hs:
142 description: Input tap delay for SD high speed timing
143 $ref: "/schemas/types.yaml#/definitions/uint32"
147 ti,itap-del-sel-sdr12:
148 description: Input tap delay for SD UHS SDR12 timing
149 $ref: "/schemas/types.yaml#/definitions/uint32"
153 ti,itap-del-sel-sdr25:
154 description: Input tap delay for SD UHS SDR25 timing
155 $ref: "/schemas/types.yaml#/definitions/uint32"
159 ti,itap-del-sel-ddr52:
160 description: Input tap delay for MMC DDR52 timing
161 $ref: "/schemas/types.yaml#/definitions/uint32"
166 description: DLL trim select
167 $ref: "/schemas/types.yaml#/definitions/uint32"
171 ti,driver-strength-ohm:
172 description: DLL drive strength in ohms
173 $ref: "/schemas/types.yaml#/definitions/uint32"
182 description: strobe select delay for HS400 speed mode.
183 $ref: "/schemas/types.yaml#/definitions/uint32"
186 description: Clock Delay Buffer Select
187 $ref: "/schemas/types.yaml#/definitions/uint32"
189 ti,fails-without-test-cd:
190 $ref: /schemas/types.yaml#/definitions/flag
192 When present, indicates that the CD line is not connected
193 and the controller is required to be forced into Test mode
194 to set the TESTCD bit.
202 - ti,otap-del-sel-legacy
204 unevaluatedProperties: false
208 #include <dt-bindings/interrupt-controller/irq.h>
209 #include <dt-bindings/interrupt-controller/arm-gic.h>
212 #address-cells = <2>;
216 compatible = "ti,am654-sdhci-5.1";
217 reg = <0x0 0x4f80000 0x0 0x260>, <0x0 0x4f90000 0x0 0x134>;
218 power-domains = <&k3_pds 47>;
219 clocks = <&k3_clks 47 0>, <&k3_clks 47 1>;
220 clock-names = "clk_ahb", "clk_xin";
221 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
222 sdhci-caps-mask = <0x80000007 0x0>;
224 ti,otap-del-sel-legacy = <0x0>;
225 ti,otap-del-sel-mmc-hs = <0x0>;
226 ti,otap-del-sel-ddr52 = <0x5>;
227 ti,otap-del-sel-hs200 = <0x5>;
228 ti,otap-del-sel-hs400 = <0x0>;
229 ti,itap-del-sel-legacy = <0x10>;
230 ti,itap-del-sel-mmc-hs = <0xa>;
231 ti,itap-del-sel-ddr52 = <0x3>;