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

* Amlogic Meson6, Meson8 and Meson8b SDIO/MMC controller

The highspeed MMC host controller on Amlogic SoCs provides an interface
for MMC, SD, SDIO and SDHC types of memory cards.

Supported maximum speeds are the ones of the eMMC standard 4.41 as well
as the speed of SD standard 2.0.

The hardware provides an internal "mux" which allows up to three slots
to be controlled. Only one slot can be accessed at a time.

Required properties:
 - compatible : must be one of
	- "amlogic,meson8-sdio"
	- "amlogic,meson8b-sdio"
	along with the generic "amlogic,meson-mx-sdio"
 - reg : mmc controller base registers
 - interrupts : mmc controller interrupt
 - #address-cells : must be 1
 - size-cells : must be 0
 - clocks : phandle to clock providers
 - clock-names : must contain "core" and "clkin"

Required child nodes:
A node for each slot provided by the MMC controller is required.
NOTE: due to a driver limitation currently only one slot (= child node)
      is supported!

Required properties on each child node (= slot):
 - compatible : must be "mmc-slot" (see mmc.txt within this directory)
 - reg : the slot (or "port") ID

Optional properties on each child node (= slot):
 - bus-width : must be 1 or 4 (8-bit bus is not supported)
 - for cd and all other additional generic mmc parameters
   please refer to mmc.txt within this directory

Examples:
	mmc@c1108c20 {
		compatible = "amlogic,meson8-sdio", "amlogic,meson-mx-sdio";
		reg = <0xc1108c20 0x20>;
		interrupts = <0 28 1>;
		#address-cells = <1>;
		#size-cells = <0>;
		clocks = <&clkc CLKID_SDIO>, <&clkc CLKID_CLK81>;
		clock-names = "core", "clkin";

		slot@1 {
			compatible = "mmc-slot";
			reg = <1>;

			bus-width = <4>;
		};
	};