xref: /freebsd/sys/contrib/device-tree/Bindings/mmc/fsl-imx-esdhc.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* Freescale Enhanced Secure Digital Host Controller (eSDHC) for i.MX
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotThe Enhanced Secure Digital Host Controller on Freescale i.MX family
4*c66ec88fSEmmanuel Vadotprovides an interface for MMC, SD, and SDIO types of memory cards.
5*c66ec88fSEmmanuel Vadot
6*c66ec88fSEmmanuel VadotThis file documents differences between the core properties described
7*c66ec88fSEmmanuel Vadotby mmc.txt and the properties used by the sdhci-esdhc-imx driver.
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel VadotRequired properties:
10*c66ec88fSEmmanuel Vadot- compatible : Should be "fsl,<chip>-esdhc", the supported chips include
11*c66ec88fSEmmanuel Vadot	       "fsl,imx25-esdhc"
12*c66ec88fSEmmanuel Vadot	       "fsl,imx35-esdhc"
13*c66ec88fSEmmanuel Vadot	       "fsl,imx51-esdhc"
14*c66ec88fSEmmanuel Vadot	       "fsl,imx53-esdhc"
15*c66ec88fSEmmanuel Vadot	       "fsl,imx6q-usdhc"
16*c66ec88fSEmmanuel Vadot	       "fsl,imx6sl-usdhc"
17*c66ec88fSEmmanuel Vadot	       "fsl,imx6sx-usdhc"
18*c66ec88fSEmmanuel Vadot	       "fsl,imx6ull-usdhc"
19*c66ec88fSEmmanuel Vadot	       "fsl,imx7d-usdhc"
20*c66ec88fSEmmanuel Vadot	       "fsl,imx7ulp-usdhc"
21*c66ec88fSEmmanuel Vadot	       "fsl,imx8mq-usdhc"
22*c66ec88fSEmmanuel Vadot	       "fsl,imx8mm-usdhc"
23*c66ec88fSEmmanuel Vadot	       "fsl,imx8mn-usdhc"
24*c66ec88fSEmmanuel Vadot	       "fsl,imx8mp-usdhc"
25*c66ec88fSEmmanuel Vadot	       "fsl,imx8qm-usdhc"
26*c66ec88fSEmmanuel Vadot	       "fsl,imx8qxp-usdhc"
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel VadotOptional properties:
29*c66ec88fSEmmanuel Vadot- fsl,wp-controller : Indicate to use controller internal write protection
30*c66ec88fSEmmanuel Vadot- fsl,delay-line : Specify the number of delay cells for override mode.
31*c66ec88fSEmmanuel Vadot  This is used to set the clock delay for DLL(Delay Line) on override mode
32*c66ec88fSEmmanuel Vadot  to select a proper data sampling window in case the clock quality is not good
33*c66ec88fSEmmanuel Vadot  due to signal path is too long on the board. Please refer to eSDHC/uSDHC
34*c66ec88fSEmmanuel Vadot  chapter, DLL (Delay Line) section in RM for details.
35*c66ec88fSEmmanuel Vadot- voltage-ranges : Specify the voltage range in case there are software
36*c66ec88fSEmmanuel Vadot  transparent level shifters on the outputs of the controller. Two cells are
37*c66ec88fSEmmanuel Vadot  required, first cell specifies minimum slot voltage (mV), second cell
38*c66ec88fSEmmanuel Vadot  specifies maximum slot voltage (mV). Several ranges could be specified.
39*c66ec88fSEmmanuel Vadot- fsl,tuning-start-tap: Specify the start dealy cell point when send first CMD19
40*c66ec88fSEmmanuel Vadot  in tuning procedure.
41*c66ec88fSEmmanuel Vadot- fsl,tuning-step: Specify the increasing delay cell steps in tuning procedure.
42*c66ec88fSEmmanuel Vadot  The uSDHC use one delay cell as default increasing step to do tuning process.
43*c66ec88fSEmmanuel Vadot  This property allows user to change the tuning step to more than one delay
44*c66ec88fSEmmanuel Vadot  cells which is useful for some special boards or cards when the default
45*c66ec88fSEmmanuel Vadot  tuning step can't find the proper delay window within limited tuning retries.
46*c66ec88fSEmmanuel Vadot- fsl,strobe-dll-delay-target: Specify the strobe dll control slave delay target.
47*c66ec88fSEmmanuel Vadot  This delay target programming host controller loopback read clock, and this
48*c66ec88fSEmmanuel Vadot  property allows user to change the delay target for the strobe input read clock.
49*c66ec88fSEmmanuel Vadot  If not use this property, driver default set the delay target to value 7.
50*c66ec88fSEmmanuel Vadot  Only eMMC HS400 mode need to take care of this property.
51*c66ec88fSEmmanuel Vadot
52*c66ec88fSEmmanuel VadotExamples:
53*c66ec88fSEmmanuel Vadot
54*c66ec88fSEmmanuel Vadotesdhc@70004000 {
55*c66ec88fSEmmanuel Vadot	compatible = "fsl,imx51-esdhc";
56*c66ec88fSEmmanuel Vadot	reg = <0x70004000 0x4000>;
57*c66ec88fSEmmanuel Vadot	interrupts = <1>;
58*c66ec88fSEmmanuel Vadot	fsl,wp-controller;
59*c66ec88fSEmmanuel Vadot};
60*c66ec88fSEmmanuel Vadot
61*c66ec88fSEmmanuel Vadotesdhc@70008000 {
62*c66ec88fSEmmanuel Vadot	compatible = "fsl,imx51-esdhc";
63*c66ec88fSEmmanuel Vadot	reg = <0x70008000 0x4000>;
64*c66ec88fSEmmanuel Vadot	interrupts = <2>;
65*c66ec88fSEmmanuel Vadot	cd-gpios = <&gpio1 6 0>; /* GPIO1_6 */
66*c66ec88fSEmmanuel Vadot	wp-gpios = <&gpio1 5 0>; /* GPIO1_5 */
67*c66ec88fSEmmanuel Vadot};
68