192 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			192 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 1aa00b457ea36f6eeb78b66be076e16a2d3fafe0 Mon Sep 17 00:00:00 2001
 | 
						|
From: Matt Porter <mporter@ti.com>
 | 
						|
Date: Thu, 7 Mar 2013 04:16:39 +0000
 | 
						|
Subject: [PATCH 08/13] ARM: dts: add AM33XX MMC support
 | 
						|
 | 
						|
Adds AM33XX MMC support for am335x-bone, am335x-evm, and
 | 
						|
am335x-evmsk.
 | 
						|
 | 
						|
Also added is the DMA binding definitions based on the generic
 | 
						|
DMA request binding.
 | 
						|
 | 
						|
Changes to DTS:
 | 
						|
Interrupt and reg added by: Joel Fernandes <joelf@ti.com>
 | 
						|
Compatible added by Balaji TK <balajitk@ti.com>
 | 
						|
ti,needs-special-hs-handling added by Gururaja Hebbar <gururaja.hebbar@ti.com>
 | 
						|
 | 
						|
Signed-off-by: Matt Porter <mporter@ti.com>
 | 
						|
Acked-by: Tony Lindgren <tony@atomide.com>
 | 
						|
Signed-off-by: Joel Fernandes <joelf@ti.com>
 | 
						|
 | 
						|
Conflicts:
 | 
						|
	arch/arm/boot/dts/am335x-evmsk.dts
 | 
						|
---
 | 
						|
 .../devicetree/bindings/mmc/ti-omap-hsmmc.txt      | 26 ++++++++++++++-
 | 
						|
 arch/arm/boot/dts/am335x-bone.dts                  |  7 ++++
 | 
						|
 arch/arm/boot/dts/am335x-evm.dts                   |  7 ++++
 | 
						|
 arch/arm/boot/dts/am335x-evmsk.dts                 |  7 ++++
 | 
						|
 arch/arm/boot/dts/am33xx.dtsi                      | 38 ++++++++++++++++++++++
 | 
						|
 5 files changed, 84 insertions(+), 1 deletion(-)
 | 
						|
 | 
						|
diff --git a/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt b/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
 | 
						|
index ed271fc..8c8908a 100644
 | 
						|
--- a/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
 | 
						|
+++ b/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
 | 
						|
@@ -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";
 | 
						|
 	};
 | 
						|
diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts
 | 
						|
index 444b4ed..b8debea 100644
 | 
						|
--- a/arch/arm/boot/dts/am335x-bone.dts
 | 
						|
+++ b/arch/arm/boot/dts/am335x-bone.dts
 | 
						|
@@ -203,6 +203,8 @@
 | 
						|
 		};
 | 
						|
 
 | 
						|
 		ldo3_reg: regulator@5 {
 | 
						|
+			regulator-min-microvolt = <1800000>;
 | 
						|
+			regulator-max-microvolt = <3300000>;
 | 
						|
 			regulator-always-on;
 | 
						|
 		};
 | 
						|
 
 | 
						|
@@ -234,3 +236,8 @@
 | 
						|
 	pinctrl-0 = <&davinci_mdio_default>;
 | 
						|
 	pinctrl-1 = <&davinci_mdio_sleep>;
 | 
						|
 };
 | 
						|
+
 | 
						|
+&mmc1 {
 | 
						|
+	status = "okay";
 | 
						|
+	vmmc-supply = <&ldo3_reg>;
 | 
						|
+};
 | 
						|
diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts
 | 
						|
index 3aee1a4..44e69d9 100644
 | 
						|
--- a/arch/arm/boot/dts/am335x-evm.dts
 | 
						|
+++ b/arch/arm/boot/dts/am335x-evm.dts
 | 
						|
@@ -448,6 +448,8 @@
 | 
						|
 		};
 | 
						|
 
 | 
						|
 		vmmc_reg: regulator@12 {
 | 
						|
+			regulator-min-microvolt = <1800000>;
 | 
						|
+			regulator-max-microvolt = <3300000>;
 | 
						|
 			regulator-always-on;
 | 
						|
 		};
 | 
						|
 	};
 | 
						|
@@ -488,3 +490,8 @@
 | 
						|
 		ti,adc-channels = <4 5 6 7>;
 | 
						|
 	};
 | 
						|
 };
 | 
						|
+
 | 
						|
+&mmc1 {
 | 
						|
+	status = "okay";
 | 
						|
+	vmmc-supply = <&vmmc_reg>;
 | 
						|
+};
 | 
						|
diff --git a/arch/arm/boot/dts/am335x-evmsk.dts b/arch/arm/boot/dts/am335x-evmsk.dts
 | 
						|
index 0c8ad17..4e355d6 100644
 | 
						|
--- a/arch/arm/boot/dts/am335x-evmsk.dts
 | 
						|
+++ b/arch/arm/boot/dts/am335x-evmsk.dts
 | 
						|
@@ -376,6 +376,8 @@
 | 
						|
 		};
 | 
						|
 
 | 
						|
 		vmmc_reg: regulator@12 {
 | 
						|
+			regulator-min-microvolt = <1800000>;
 | 
						|
+			regulator-max-microvolt = <3300000>;
 | 
						|
 			regulator-always-on;
 | 
						|
 		};
 | 
						|
 	};
 | 
						|
@@ -402,3 +404,8 @@
 | 
						|
 	phy_id = <&davinci_mdio>, <1>;
 | 
						|
 	phy-mode = "rgmii-txid";
 | 
						|
 };
 | 
						|
+
 | 
						|
+&mmc1 {
 | 
						|
+	status = "okay";
 | 
						|
+	vmmc-supply = <&vmmc_reg>;
 | 
						|
+};
 | 
						|
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
 | 
						|
index 0fdb949..969c81b 100644
 | 
						|
--- a/arch/arm/boot/dts/am33xx.dtsi
 | 
						|
+++ b/arch/arm/boot/dts/am33xx.dtsi
 | 
						|
@@ -236,6 +236,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";
 | 
						|
-- 
 | 
						|
1.8.2.1
 | 
						|
 |