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
57 # PHY output tap delays:
58 # Used to delay the data valid window and align it to the sampling clock.
59 # Binding needs to be provided for each supported speed mode otherwise the
60 # corresponding mode will be disabled.
62 ti,otap-del-sel-legacy:
63 description: Output tap delay for SD/MMC legacy timing
64 $ref: "/schemas/types.yaml#/definitions/uint32"
68 ti,otap-del-sel-mmc-hs:
69 description: Output tap delay for MMC high speed timing
70 $ref: "/schemas/types.yaml#/definitions/uint32"
74 ti,otap-del-sel-sd-hs:
75 description: Output tap delay for SD high speed timing
76 $ref: "/schemas/types.yaml#/definitions/uint32"
80 ti,otap-del-sel-sdr12:
81 description: Output tap delay for SD UHS SDR12 timing
82 $ref: "/schemas/types.yaml#/definitions/uint32"
86 ti,otap-del-sel-sdr25:
87 description: Output tap delay for SD UHS SDR25 timing
88 $ref: "/schemas/types.yaml#/definitions/uint32"
92 ti,otap-del-sel-sdr50:
93 description: Output tap delay for SD UHS SDR50 timing
94 $ref: "/schemas/types.yaml#/definitions/uint32"
98 ti,otap-del-sel-sdr104:
99 description: Output tap delay for SD UHS SDR104 timing
100 $ref: "/schemas/types.yaml#/definitions/uint32"
104 ti,otap-del-sel-ddr50:
105 description: Output tap delay for SD UHS DDR50 timing
106 $ref: "/schemas/types.yaml#/definitions/uint32"
110 ti,otap-del-sel-ddr52:
111 description: Output tap delay for eMMC DDR52 timing
112 $ref: "/schemas/types.yaml#/definitions/uint32"
116 ti,otap-del-sel-hs200:
117 description: Output tap delay for eMMC HS200 timing
118 $ref: "/schemas/types.yaml#/definitions/uint32"
122 ti,otap-del-sel-hs400:
123 description: Output tap delay for eMMC HS400 timing
124 $ref: "/schemas/types.yaml#/definitions/uint32"
128 # PHY input tap delays:
129 # Used to delay the data valid window and align it to the sampling clock for
130 # modes that don't support tuning
132 ti,itap-del-sel-legacy:
133 description: Input tap delay for SD/MMC legacy timing
134 $ref: "/schemas/types.yaml#/definitions/uint32"
138 ti,itap-del-sel-mmc-hs:
139 description: Input tap delay for MMC high speed timing
140 $ref: "/schemas/types.yaml#/definitions/uint32"
144 ti,itap-del-sel-sd-hs:
145 description: Input tap delay for SD high speed timing
146 $ref: "/schemas/types.yaml#/definitions/uint32"
150 ti,itap-del-sel-sdr12:
151 description: Input tap delay for SD UHS SDR12 timing
152 $ref: "/schemas/types.yaml#/definitions/uint32"
156 ti,itap-del-sel-sdr25:
157 description: Input tap delay for SD UHS SDR25 timing
158 $ref: "/schemas/types.yaml#/definitions/uint32"
162 ti,itap-del-sel-ddr52:
163 description: Input tap delay for MMC DDR52 timing
164 $ref: "/schemas/types.yaml#/definitions/uint32"
169 description: DLL trim select
170 $ref: "/schemas/types.yaml#/definitions/uint32"
174 ti,driver-strength-ohm:
175 description: DLL drive strength in ohms
176 $ref: "/schemas/types.yaml#/definitions/uint32"
185 description: strobe select delay for HS400 speed mode.
186 $ref: "/schemas/types.yaml#/definitions/uint32"
189 description: Clock Delay Buffer Select
190 $ref: "/schemas/types.yaml#/definitions/uint32"
192 ti,fails-without-test-cd:
193 $ref: /schemas/types.yaml#/definitions/flag
195 When present, indicates that the CD line is not connected
196 and the controller is required to be forced into Test mode
197 to set the TESTCD bit.
205 - ti,otap-del-sel-legacy
207 unevaluatedProperties: false
211 #include <dt-bindings/interrupt-controller/irq.h>
212 #include <dt-bindings/interrupt-controller/arm-gic.h>
215 #address-cells = <2>;
219 compatible = "ti,am654-sdhci-5.1";
220 reg = <0x0 0x4f80000 0x0 0x260>, <0x0 0x4f90000 0x0 0x134>;
221 power-domains = <&k3_pds 47>;
222 clocks = <&k3_clks 47 0>, <&k3_clks 47 1>;
223 clock-names = "clk_ahb", "clk_xin";
224 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
225 sdhci-caps-mask = <0x80000007 0x0>;
227 ti,otap-del-sel-legacy = <0x0>;
228 ti,otap-del-sel-mmc-hs = <0x0>;
229 ti,otap-del-sel-ddr52 = <0x5>;
230 ti,otap-del-sel-hs200 = <0x5>;
231 ti,otap-del-sel-hs400 = <0x0>;
232 ti,itap-del-sel-legacy = <0x10>;
233 ti,itap-del-sel-mmc-hs = <0xa>;
234 ti,itap-del-sel-ddr52 = <0x3>;