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