Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 55b4452b authored by Matt Porter's avatar Matt Porter Committed by Benoit Cousson
Browse files

ARM: dts: AM33XX: Add MMC support and documentation



Adds AM33XX MMC support for am335x-bone, am335x-evm and am335x-evmsk boards.

Also added is the DMA binding definitions based on the generic DMA request
binding.

Additional changes made to DTS:
* Interrupt, reg and compatible properties added
* ti,needs-special-hs-handling added

Signed-off-by: default avatarMatt Porter <mporter@ti.com>
Acked-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarJoel Fernandes <joelf@ti.com>
Signed-off-by: default avatarBenoit Cousson <bcousson@baylibre.com>
parent f5e2f807
Loading
Loading
Loading
Loading
+25 −1
Original line number Diff line number Diff line
@@ -20,8 +20,29 @@ ti,dual-volt: boolean, supports dual voltage cards
ti,non-removable: non-removable slot (like eMMC)
ti,needs-special-reset: Requires a special softreset sequence
ti,needs-special-hs-handling: HSMMC IP needs special setting for handling High Speed
dmas: List of DMA specifiers with the controller specific format
as described in the generic DMA client binding. A tx and rx
specifier is required.
dma-names: List of DMA request names. These strings correspond
1:1 with the DMA specifiers listed in dmas. The string naming is
to be "rx" and "tx" for RX and TX DMA requests, respectively.

Examples:

[hwmod populated DMA resources]

	mmc1: mmc@0x4809c000 {
		compatible = "ti,omap4-hsmmc";
		reg = <0x4809c000 0x400>;
		ti,hwmods = "mmc1";
		ti,dual-volt;
		bus-width = <4>;
		vmmc-supply = <&vmmc>; /* phandle to regulator node */
		ti,non-removable;
	};

[generic DMA request binding]

Example:
	mmc1: mmc@0x4809c000 {
		compatible = "ti,omap4-hsmmc";
		reg = <0x4809c000 0x400>;
@@ -30,4 +51,7 @@ Example:
		bus-width = <4>;
		vmmc-supply = <&vmmc>; /* phandle to regulator node */
		ti,non-removable;
		dmas = <&edma 24
			&edma 25>;
		dma-names = "tx", "rx";
	};
+11 −0
Original line number Diff line number Diff line
@@ -9,3 +9,14 @@

#include "am33xx.dtsi"
#include "am335x-bone-common.dtsi"

&ldo3_reg {
	regulator-min-microvolt = <1800000>;
	regulator-max-microvolt = <3300000>;
	regulator-always-on;
};

&mmc1 {
	status = "okay";
	vmmc-supply = <&ldo3_reg>;
};
+7 −0
Original line number Diff line number Diff line
@@ -477,6 +477,8 @@
		};

		vmmc_reg: regulator@12 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};
	};
@@ -517,3 +519,8 @@
		ti,adc-channels = <4 5 6 7>;
	};
};

&mmc1 {
	status = "okay";
	vmmc-supply = <&vmmc_reg>;
};
+7 −0
Original line number Diff line number Diff line
@@ -393,6 +393,8 @@
		};

		vmmc_reg: regulator@12 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};
	};
@@ -419,3 +421,8 @@
	phy_id = <&davinci_mdio>, <1>;
	phy-mode = "rgmii-txid";
};

&mmc1 {
	status = "okay";
	vmmc-supply = <&vmmc_reg>;
};
+38 −0
Original line number Diff line number Diff line
@@ -245,6 +245,44 @@
			status = "disabled";
		};

		mmc1: mmc@48060000 {
			compatible = "ti,omap4-hsmmc";
			ti,hwmods = "mmc1";
			ti,dual-volt;
			ti,needs-special-reset;
			ti,needs-special-hs-handling;
			dmas = <&edma 24
				&edma 25>;
			dma-names = "tx", "rx";
			interrupts = <64>;
			interrupt-parent = <&intc>;
			reg = <0x48060000 0x1000>;
			status = "disabled";
		};

		mmc2: mmc@481d8000 {
			compatible = "ti,omap4-hsmmc";
			ti,hwmods = "mmc2";
			ti,needs-special-reset;
			dmas = <&edma 2
				&edma 3>;
			dma-names = "tx", "rx";
			interrupts = <28>;
			interrupt-parent = <&intc>;
			reg = <0x481d8000 0x1000>;
			status = "disabled";
		};

		mmc3: mmc@47810000 {
			compatible = "ti,omap4-hsmmc";
			ti,hwmods = "mmc3";
			ti,needs-special-reset;
			interrupts = <29>;
			interrupt-parent = <&intc>;
			reg = <0x47810000 0x1000>;
			status = "disabled";
		};

		wdt2: wdt@44e35000 {
			compatible = "ti,omap3-wdt";
			ti,hwmods = "wd_timer2";