Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

* Freescale Enhanced Secure Digital Host Controller (eSDHC) for i.MX

The Enhanced Secure Digital Host Controller on Freescale i.MX family
provides an interface for MMC, SD, and SDIO types of memory cards.

This file documents differences between the core properties described
by mmc.txt and the properties used by the sdhci-esdhc-imx driver.

Required properties:
- compatible : Should be "fsl,<chip>-esdhc", the supported chips include
	       "fsl,imx25-esdhc"
	       "fsl,imx35-esdhc"
	       "fsl,imx51-esdhc"
	       "fsl,imx53-esdhc"
	       "fsl,imx6q-usdhc"
	       "fsl,imx6sl-usdhc"
	       "fsl,imx6sx-usdhc"
	       "fsl,imx7d-usdhc"

Optional properties:
- fsl,wp-controller : Indicate to use controller internal write protection
- fsl,delay-line : Specify the number of delay cells for override mode.
  This is used to set the clock delay for DLL(Delay Line) on override mode
  to select a proper data sampling window in case the clock quality is not good
  due to signal path is too long on the board. Please refer to eSDHC/uSDHC
  chapter, DLL (Delay Line) section in RM for details.
- voltage-ranges : Specify the voltage range in case there are software
  transparent level shifters on the outputs of the controller. Two cells are
  required, first cell specifies minimum slot voltage (mV), second cell
  specifies maximum slot voltage (mV). Several ranges could be specified.
- fsl,tuning-start-tap: Specify the start dealy cell point when send first CMD19
  in tuning procedure.
- fsl,tuning-step: Specify the increasing delay cell steps in tuning procedure.
  The uSDHC use one delay cell as default increasing step to do tuning process.
  This property allows user to change the tuning step to more than one delay
  cells which is useful for some special boards or cards when the default
  tuning step can't find the proper delay window within limited tuning retries.

Examples:

esdhc@70004000 {
	compatible = "fsl,imx51-esdhc";
	reg = <0x70004000 0x4000>;
	interrupts = <1>;
	fsl,wp-controller;
};

esdhc@70008000 {
	compatible = "fsl,imx51-esdhc";
	reg = <0x70008000 0x4000>;
	interrupts = <2>;
	cd-gpios = <&gpio1 6 0>; /* GPIO1_6 */
	wp-gpios = <&gpio1 5 0>; /* GPIO1_5 */
};