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

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
...@@ -20,8 +20,29 @@ ti,dual-volt: boolean, supports dual voltage cards ...@@ -20,8 +20,29 @@ ti,dual-volt: boolean, supports dual voltage cards
ti,non-removable: non-removable slot (like eMMC) ti,non-removable: non-removable slot (like eMMC)
ti,needs-special-reset: Requires a special softreset sequence ti,needs-special-reset: Requires a special softreset sequence
ti,needs-special-hs-handling: HSMMC IP needs special setting for handling High Speed 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 { mmc1: mmc@0x4809c000 {
compatible = "ti,omap4-hsmmc"; compatible = "ti,omap4-hsmmc";
reg = <0x4809c000 0x400>; reg = <0x4809c000 0x400>;
...@@ -30,4 +51,7 @@ Example: ...@@ -30,4 +51,7 @@ Example:
bus-width = <4>; bus-width = <4>;
vmmc-supply = <&vmmc>; /* phandle to regulator node */ vmmc-supply = <&vmmc>; /* phandle to regulator node */
ti,non-removable; ti,non-removable;
dmas = <&edma 24
&edma 25>;
dma-names = "tx", "rx";
}; };
...@@ -9,3 +9,14 @@ ...@@ -9,3 +9,14 @@
#include "am33xx.dtsi" #include "am33xx.dtsi"
#include "am335x-bone-common.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>;
};
...@@ -477,6 +477,8 @@ vaux33_reg: regulator@11 { ...@@ -477,6 +477,8 @@ vaux33_reg: regulator@11 {
}; };
vmmc_reg: regulator@12 { vmmc_reg: regulator@12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on; regulator-always-on;
}; };
}; };
...@@ -517,3 +519,8 @@ adc { ...@@ -517,3 +519,8 @@ adc {
ti,adc-channels = <4 5 6 7>; ti,adc-channels = <4 5 6 7>;
}; };
}; };
&mmc1 {
status = "okay";
vmmc-supply = <&vmmc_reg>;
};
...@@ -393,6 +393,8 @@ vaux33_reg: regulator@11 { ...@@ -393,6 +393,8 @@ vaux33_reg: regulator@11 {
}; };
vmmc_reg: regulator@12 { vmmc_reg: regulator@12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on; regulator-always-on;
}; };
}; };
...@@ -419,3 +421,8 @@ &cpsw_emac1 { ...@@ -419,3 +421,8 @@ &cpsw_emac1 {
phy_id = <&davinci_mdio>, <1>; phy_id = <&davinci_mdio>, <1>;
phy-mode = "rgmii-txid"; phy-mode = "rgmii-txid";
}; };
&mmc1 {
status = "okay";
vmmc-supply = <&vmmc_reg>;
};
...@@ -245,6 +245,44 @@ i2c2: i2c@4819c000 { ...@@ -245,6 +245,44 @@ i2c2: i2c@4819c000 {
status = "disabled"; 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 { wdt2: wdt@44e35000 {
compatible = "ti,omap3-wdt"; compatible = "ti,omap3-wdt";
ti,hwmods = "wd_timer2"; ti,hwmods = "wd_timer2";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment