[U-Boot] [PATCH 1/2] Tegra: fdt: Add/enhance sdhci (mmc) nodes for all T20 DT files

Tom Warren twarren.nvidia at gmail.com
Tue Feb 5 00:48:54 CET 2013


Linux dts files were used for those boards that didn't already
have sdhci info populated. If a cd-gpio was present, I set
"removable = <1>", else removable = <0>.

Signed-off-by: Tom Warren <twarren at nvidia.com>
---
 arch/arm/dts/tegra20.dtsi                        |   12 +++++++++++
 board/avionic-design/dts/tegra20-medcom-wide.dts |    9 ++++++++
 board/avionic-design/dts/tegra20-plutux.dts      |    9 ++++++++
 board/avionic-design/dts/tegra20-tec.dts         |    9 ++++++++
 board/compal/dts/tegra20-paz00.dts               |   22 +++++++++++++++++++-
 board/compulab/dts/tegra20-trimslice.dts         |   17 ++++++++++++++++
 board/nvidia/dts/tegra20-harmony.dts             |   21 ++++++++++++++++++++
 board/nvidia/dts/tegra20-seaboard.dts            |   19 ++++++++++++-----
 board/nvidia/dts/tegra20-ventana.dts             |   23 ++++++++++++++++++++++
 board/nvidia/dts/tegra20-whistler.dts            |   16 +++++++++++++++
 board/toradex/dts/tegra20-colibri_t20_iris.dts   |    8 +++++++
 11 files changed, 157 insertions(+), 8 deletions(-)

diff --git a/arch/arm/dts/tegra20.dtsi b/arch/arm/dts/tegra20.dtsi
index 12049fd..2603277 100644
--- a/arch/arm/dts/tegra20.dtsi
+++ b/arch/arm/dts/tegra20.dtsi
@@ -307,23 +307,35 @@
 		compatible = "nvidia,tegra20-sdhci";
 		reg = <0xc8000000 0x200>;
 		interrupts = < 46 >;
+		status = "disabled";
+		/* PERIPH_ID_SDMMC1, PLLP_OUT? */
+		clocks = <&tegra_car 14>;
 	};
 
 	sdhci at c8000200 {
 		compatible = "nvidia,tegra20-sdhci";
 		reg = <0xc8000200 0x200>;
 		interrupts = < 47 >;
+		status = "disabled";
+		/* PERIPH_ID_SDMMC2, PLLP_OUT? */
+		clocks = <&tegra_car 9>;
 	};
 
 	sdhci at c8000400 {
 		compatible = "nvidia,tegra20-sdhci";
 		reg = <0xc8000400 0x200>;
 		interrupts = < 51 >;
+		status = "disabled";
+		/* PERIPH_ID_SDMMC3, PLLP_OUT? */
+		clocks = <&tegra_car 69>;
 	};
 
 	sdhci at c8000600 {
 		compatible = "nvidia,tegra20-sdhci";
 		reg = <0xc8000600 0x200>;
 		interrupts = < 63 >;
+		status = "disabled";
+		/* PERIPH_ID_SDMMC4, PLLP_OUT? */
+		clocks = <&tegra_car 15>;
 	};
 };
diff --git a/board/avionic-design/dts/tegra20-medcom-wide.dts b/board/avionic-design/dts/tegra20-medcom-wide.dts
index e46afbe..33d174d 100644
--- a/board/avionic-design/dts/tegra20-medcom-wide.dts
+++ b/board/avionic-design/dts/tegra20-medcom-wide.dts
@@ -55,6 +55,15 @@
 		status = "disabled";
 	};
 
+	sdhci at c8000600 {
+		status = "okay";
+		/* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
+		cd-gpios = <&gpio 58 0>;	/* gpio PH2 */
+		wp-gpios = <&gpio 59 0>;	/* gpio PH3 */
+		bus-width = <4>;
+		removable = <1>;
+	};
+
 	lcd_panel: panel {
 		clock = <61715000>;
 		xres = <1366>;
diff --git a/board/avionic-design/dts/tegra20-plutux.dts b/board/avionic-design/dts/tegra20-plutux.dts
index 3e6cce0..3a0147f 100644
--- a/board/avionic-design/dts/tegra20-plutux.dts
+++ b/board/avionic-design/dts/tegra20-plutux.dts
@@ -41,4 +41,13 @@
 	usb at c5004000 {
 		status = "disabled";
 	};
+
+	sdhci at c8000600 {
+		status = "okay";
+		/* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
+		cd-gpios = <&gpio 58 0>;	/* gpio PH2 */
+		wp-gpios = <&gpio 59 0>;	/* gpio PH3 */
+		bus-width = <4>;
+		removable = <1>;
+	};
 };
diff --git a/board/avionic-design/dts/tegra20-tec.dts b/board/avionic-design/dts/tegra20-tec.dts
index bf3ff1d..521a255 100644
--- a/board/avionic-design/dts/tegra20-tec.dts
+++ b/board/avionic-design/dts/tegra20-tec.dts
@@ -66,6 +66,15 @@
 		status = "disabled";
 	};
 
+	sdhci at c8000600 {
+		status = "okay";
+		/* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
+		cd-gpios = <&gpio 58 0>;	/* gpio PH2 */
+		wp-gpios = <&gpio 59 0>;	/* gpio PH3 */
+		bus-width = <4>;
+		removable = <1>;
+	};
+
 	lcd_panel: panel {
 		clock = <33260000>;
 		xres = <800>;
diff --git a/board/compal/dts/tegra20-paz00.dts b/board/compal/dts/tegra20-paz00.dts
index 31b064d..ed709c8 100644
--- a/board/compal/dts/tegra20-paz00.dts
+++ b/board/compal/dts/tegra20-paz00.dts
@@ -3,11 +3,13 @@
 /include/ ARCH_CPU_DTS
 
 / {
-        model = "Toshiba AC100 / Dynabook AZ";
-        compatible = "compal,paz00", "nvidia,tegra20";
+	model = "Toshiba AC100 / Dynabook AZ";
+	compatible = "compal,paz00", "nvidia,tegra20";
 
 	aliases {
 		usb0 = "/usb at c5008000";
+		sdmmc0 = "/sdhci at c8000600";
+		sdmmc1 = "/sdhci at c8000000";
 	};
 
 	memory {
@@ -53,6 +55,22 @@
 		status = "disabled";
 	};
 
+	sdhci at c8000000 {
+		status = "okay";
+		/* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
+		cd-gpios = <&gpio 173 0>;	/* gpio PV5 */
+		wp-gpios = <&gpio 57 0>;	/* gpio PH1 */
+		power-gpios = <&gpio 169 0>;	/* gpio PV1 */
+		bus-width = <4>;
+		removable = <1>;
+	};
+
+	sdhci at c8000600 {
+		status = "okay";
+		bus-width = <8>;
+		removable = <0>;
+	};
+
 	lcd_panel: panel {
 		/* PAZ00 has 1024x600 */
 		clock = <54030000>;
diff --git a/board/compulab/dts/tegra20-trimslice.dts b/board/compulab/dts/tegra20-trimslice.dts
index c8a4dd4..0ab1c1d 100644
--- a/board/compulab/dts/tegra20-trimslice.dts
+++ b/board/compulab/dts/tegra20-trimslice.dts
@@ -9,6 +9,8 @@
 	aliases {
 		usb0 = "/usb at c5008000";
 		usb1 = "/usb at c5000000";
+		sdmmc0 = "/sdhci at c8000600";
+		sdmmc1 = "/sdhci at c8000000";
 	};
 
 	memory {
@@ -42,4 +44,19 @@
 	usb at c5004000 {
 		status = "disabled";
 	};
+
+	sdhci at c8000000 {
+		status = "okay";
+		bus-width = <4>;
+		removable = <0>;
+	};
+
+	sdhci at c8000600 {
+		status = "okay";
+		/* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
+		cd-gpios = <&gpio 121 0>;	/* gpio PP1 */
+		wp-gpios = <&gpio 122 0>;	/* gpio PP2 */
+		bus-width = <4>;
+		removable = <1>;
+	};
 };
diff --git a/board/nvidia/dts/tegra20-harmony.dts b/board/nvidia/dts/tegra20-harmony.dts
index aeda3a1..de7ebdc 100644
--- a/board/nvidia/dts/tegra20-harmony.dts
+++ b/board/nvidia/dts/tegra20-harmony.dts
@@ -9,6 +9,8 @@
 	aliases {
 		usb0 = "/usb at c5008000";
 		usb1 = "/usb at c5004000";
+		sdmmc0 = "/sdhci at c8000600";
+		sdmmc1 = "/sdhci at c8000200";
 	};
 
 	memory {
@@ -52,4 +54,23 @@
 	usb at c5004000 {
 		nvidia,phy-reset-gpio = <&gpio 169 0>; /* gpio PV1 */
 	};
+
+	sdhci at c8000200 {
+		status = "okay";
+		/* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
+		cd-gpios = <&gpio 69 0>;	/* gpio PI5 */
+		wp-gpios = <&gpio 57 0>;	/* gpio PH1 */
+		power-gpios = <&gpio 155 0>;	/* gpio PT3 */
+		bus-width = <4>;
+		removeable = <1>;
+	};
+
+	sdhci at c8000600 {
+		status = "okay";
+		cd-gpios = <&gpio 58 0>;	/* gpio PH2 */
+		wp-gpios = <&gpio 59 0>;	/* gpio PH3 */
+		power-gpios = <&gpio 70 0>;	/* gpio PI6 */
+		bus-width = <8>;
+		removeable = <1>;
+	};
 };
diff --git a/board/nvidia/dts/tegra20-seaboard.dts b/board/nvidia/dts/tegra20-seaboard.dts
index 527a296..1b1f563 100644
--- a/board/nvidia/dts/tegra20-seaboard.dts
+++ b/board/nvidia/dts/tegra20-seaboard.dts
@@ -12,14 +12,15 @@
 	};
 
 	aliases {
-		/* This defines the order of our USB ports */
+		/* This defines the order of our ports */
 		usb0 = "/usb at c5008000";
 		usb1 = "/usb at c5000000";
-
 		i2c0 = "/i2c at 7000d000";
 		i2c1 = "/i2c at 7000c000";
 		i2c2 = "/i2c at 7000c400";
 		i2c3 = "/i2c at 7000c500";
+		sdmmc0 = "/sdhci at c8000600";
+		sdmmc1 = "/sdhci at c8000400";
 	};
 
 	memory {
@@ -156,13 +157,19 @@
 	};
 
 	sdhci at c8000400 {
-		cd-gpios = <&gpio 69 0>; /* gpio PI5 */
-		wp-gpios = <&gpio 57 0>; /* gpio PH1 */
-		power-gpios = <&gpio 70 0>; /* gpio PI6 */
+		status = "okay";
+		/* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
+		cd-gpios = <&gpio 69 0>;	/* card detect, gpio PI5 */
+		wp-gpios = <&gpio 57 0>;	/* write protect, gpio PH1 */
+		power-gpios = <&gpio 70 3>;	/* power enable, gpio PI6 */
+		bus-width = <4>;
+		removable = <1>;
 	};
 
 	sdhci at c8000600 {
-		support-8bit;
+		status = "okay";
+		bus-width = <8>;
+		removable = <0>;
 	};
 
 	lcd_panel: panel {
diff --git a/board/nvidia/dts/tegra20-ventana.dts b/board/nvidia/dts/tegra20-ventana.dts
index 3e5e39d..fed27ab 100644
--- a/board/nvidia/dts/tegra20-ventana.dts
+++ b/board/nvidia/dts/tegra20-ventana.dts
@@ -41,4 +41,27 @@
 	usb at c5004000 {
 		status = "disabled";
 	};
+
+	sdhci at c8000000 {
+		status = "okay";
+		power-gpios = <&gpio 86 0>;	/* gpio PK6 */
+		bus-width = <4>;
+		removable = <0>;
+	};
+
+	sdhci at c8000400 {
+		status = "okay";
+		/* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
+		cd-gpios = <&gpio 69 0>;	/* gpio PI5 */
+		wp-gpios = <&gpio 57 0>;	/* gpio PH1 */
+		power-gpios = <&gpio 70 0>;	/* gpio PI6 */
+		bus-width = <4>;
+		removable = <1>;
+	};
+
+	sdhci at c8000600 {
+		status = "okay";
+		bus-width = <8>;
+		removable = <0>;
+	};
 };
diff --git a/board/nvidia/dts/tegra20-whistler.dts b/board/nvidia/dts/tegra20-whistler.dts
index 4579557..ae198bd 100644
--- a/board/nvidia/dts/tegra20-whistler.dts
+++ b/board/nvidia/dts/tegra20-whistler.dts
@@ -9,6 +9,8 @@
 	aliases {
 		i2c0 = "/i2c at 7000d000";
 		usb0 = "/usb at c5008000";
+		sdmmc0 = "/sdhci at c8000600";
+		sdmmc1 = "/sdhci at c8000400";
 	};
 
 	memory {
@@ -57,4 +59,18 @@
 	usb at c5004000 {
 		status = "disabled";
 	};
+
+	sdhci at c8000400 {
+		status = "okay";
+		/* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
+		wp-gpios = <&gpio 173 0>;	/* gpio PV5 */
+		bus-width = <8>;
+		removable = <1>;
+	};
+
+	sdhci at c8000600 {
+		status = "okay";
+		bus-width = <8>;
+		removable = <0>;
+	};
 };
diff --git a/board/toradex/dts/tegra20-colibri_t20_iris.dts b/board/toradex/dts/tegra20-colibri_t20_iris.dts
index c29b43a..1689e1a 100644
--- a/board/toradex/dts/tegra20-colibri_t20_iris.dts
+++ b/board/toradex/dts/tegra20-colibri_t20_iris.dts
@@ -35,4 +35,12 @@
 			compatible = "nand-flash";
 		};
 	};
+
+	sdhci at c8000400 {
+		status = "okay";
+		/* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
+		cp-gpios = <&gpio 39 0>;	/* gpio PC7 */
+		bus-width = <4>;
+		removable = <1>;
+	};
 };
-- 
1.7.0.4



More information about the U-Boot mailing list