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