1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/mmc/fsl-imx-esdhc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Freescale Enhanced Secure Digital Host Controller (eSDHC) for i.MX
8
9 maintainers:
10 - Shawn Guo <shawnguo@kernel.org>
11
12 allOf:
13 - $ref: "mmc-controller.yaml"
14
15 description: |
16 The Enhanced Secure Digital Host Controller on Freescale i.MX family
17 provides an interface for MMC, SD, and SDIO types of memory cards.
18
19 This file documents differences between the core properties described
20 by mmc.txt and the properties used by the sdhci-esdhc-imx driver.
21
22 properties:
23 compatible:
24 oneOf:
25 - enum:
26 - fsl,imx25-esdhc
27 - fsl,imx35-esdhc
28 - fsl,imx51-esdhc
29 - fsl,imx53-esdhc
30 - fsl,imx6q-usdhc
31 - fsl,imx6sl-usdhc
32 - fsl,imx6sll-usdhc
33 - fsl,imx6sx-usdhc
34 - fsl,imx6ull-usdhc
35 - fsl,imx7d-usdhc
36 - fsl,imx7ulp-usdhc
37 - fsl,imx8mm-usdhc
38 - fsl,imxrt1050-usdhc
39 - nxp,s32g2-usdhc
40 - items:
41 - enum:
42 - fsl,imx8mq-usdhc
43 - const: fsl,imx7d-usdhc
44 - items:
45 - enum:
46 - fsl,imx8mn-usdhc
47 - fsl,imx8mp-usdhc
48 - fsl,imx93-usdhc
49 - fsl,imx8ulp-usdhc
50 - const: fsl,imx8mm-usdhc
51 - items:
52 - enum:
53 - fsl,imx8qm-usdhc
54 - const: fsl,imx8qxp-usdhc
55 - items:
56 - enum:
57 - fsl,imx8dxl-usdhc
58 - fsl,imx8mm-usdhc
59 - fsl,imx8mn-usdhc
60 - fsl,imx8mp-usdhc
61 - fsl,imx8qm-usdhc
62 - fsl,imx8qxp-usdhc
63 - const: fsl,imx7d-usdhc
64 deprecated: true
65 - items:
66 - enum:
67 - fsl,imx8mn-usdhc
68 - fsl,imx8mp-usdhc
69 - const: fsl,imx8mm-usdhc
70 - const: fsl,imx7d-usdhc
71 deprecated: true
72 - items:
73 - enum:
74 - fsl,imx8qm-usdhc
75 - const: fsl,imx8qxp-usdhc
76 - const: fsl,imx7d-usdhc
77 deprecated: true
78
79 reg:
80 maxItems: 1
81
82 interrupts:
83 maxItems: 1
84
85 fsl,wp-controller:
86 description: |
87 boolean, if present, indicate to use controller internal write protection.
88 type: boolean
89
90 fsl,delay-line:
91 $ref: /schemas/types.yaml#/definitions/uint32
92 description: |
93 Specify the number of delay cells for override mode.
94 This is used to set the clock delay for DLL(Delay Line) on override mode
95 to select a proper data sampling window in case the clock quality is not good
96 due to signal path is too long on the board. Please refer to eSDHC/uSDHC
97 chapter, DLL (Delay Line) section in RM for details.
98 default: 0
99
100 voltage-ranges:
101 $ref: '/schemas/types.yaml#/definitions/uint32-matrix'
102 description: |
103 Specify the voltage range in case there are software transparent level
104 shifters on the outputs of the controller. Two cells are required, first
105 cell specifies minimum slot voltage (mV), second cell specifies maximum
106 slot voltage (mV).
107 items:
108 items:
109 - description: value for minimum slot voltage
110 - description: value for maximum slot voltage
111 maxItems: 1
112
113 fsl,tuning-start-tap:
114 $ref: /schemas/types.yaml#/definitions/uint32
115 description: |
116 Specify the start delay cell point when send first CMD19 in tuning procedure.
117 default: 0
118
119 fsl,tuning-step:
120 $ref: /schemas/types.yaml#/definitions/uint32
121 description: |
122 Specify the increasing delay cell steps in tuning procedure.
123 The uSDHC use one delay cell as default increasing step to do tuning process.
124 This property allows user to change the tuning step to more than one delay
125 cells which is useful for some special boards or cards when the default
126 tuning step can't find the proper delay window within limited tuning retries.
127 default: 0
128
129 fsl,strobe-dll-delay-target:
130 $ref: /schemas/types.yaml#/definitions/uint32
131 description: |
132 Specify the strobe dll control slave delay target.
133 This delay target programming host controller loopback read clock, and this
134 property allows user to change the delay target for the strobe input read clock.
135 If not use this property, driver default set the delay target to value 7.
136 Only eMMC HS400 mode need to take care of this property.
137 default: 0
138
139 clocks:
140 maxItems: 3
141 description:
142 Handle clocks for the sdhc controller.
143
144 clock-names:
145 items:
146 - const: ipg
147 - const: ahb
148 - const: per
149
150 power-domains:
151 maxItems: 1
152
153 pinctrl-names:
154 oneOf:
155 - minItems: 3
156 items:
157 - const: default
158 - const: state_100mhz
159 - const: state_200mhz
160 - const: sleep
161 - minItems: 1
162 items:
163 - const: default
164 - const: sleep
165
166 required:
167 - compatible
168 - reg
169 - interrupts
170
171 unevaluatedProperties: false
172
173 examples:
174 - |
175 mmc@70004000 {
176 compatible = "fsl,imx51-esdhc";
177 reg = <0x70004000 0x4000>;
178 interrupts = <1>;
179 fsl,wp-controller;
180 };
181
182 mmc@70008000 {
183 compatible = "fsl,imx51-esdhc";
184 reg = <0x70008000 0x4000>;
185 interrupts = <2>;
186 cd-gpios = <&gpio1 6 0>; /* GPIO1_6 */
187 wp-gpios = <&gpio1 5 0>; /* GPIO1_5 */
188 };
Cache object: a5f2e7c2efb398cbdc5eeff3d268e3b6
|