[PATCH 1/2] ARM: dt: tegra: Add sdhci regulators
Pavan Kunapuli
pkunapuli at nvidia.com
Tue Oct 23 03:18:59 EDT 2012
Adding vmmc and vmmcq supplies for sdhci nodes
in tegra dt files.
Signed-off-by: Pavan Kunapuli <pkunapuli at nvidia.com>
---
arch/arm/boot/dts/tegra20-harmony.dts | 27 ++++++++++++++++++++-
arch/arm/boot/dts/tegra20-paz00.dts | 24 +++++++++++++++++++-
arch/arm/boot/dts/tegra20-seaboard.dts | 35 ++++++++++++++++++++++++++++-
arch/arm/boot/dts/tegra20-tamonten.dtsi | 10 ++++++++
arch/arm/boot/dts/tegra20-ventana.dts | 36 ++++++++++++++++++++++++++++-
arch/arm/boot/dts/tegra20-whistler.dts | 9 +++++-
arch/arm/boot/dts/tegra30-cardhu-a02.dts | 2 +
arch/arm/boot/dts/tegra30-cardhu-a04.dts | 2 +
arch/arm/boot/dts/tegra30-cardhu.dtsi | 19 ++++++++++++++-
9 files changed, 154 insertions(+), 10 deletions(-)
diff --git a/arch/arm/boot/dts/tegra20-harmony.dts b/arch/arm/boot/dts/tegra20-harmony.dts
index 74b8a47..5b02afe 100644
--- a/arch/arm/boot/dts/tegra20-harmony.dts
+++ b/arch/arm/boot/dts/tegra20-harmony.dts
@@ -419,7 +419,8 @@
status = "okay";
cd-gpios = <&gpio 69 0>; /* gpio PI5 */
wp-gpios = <&gpio 57 0>; /* gpio PH1 */
- power-gpios = <&gpio 155 0>; /* gpio PT3 */
+ vmmc-supply = <&vddio_sd_reg>;
+ vqmmc-supply = <&vddio_sd_reg>;
bus-width = <4>;
};
@@ -427,7 +428,8 @@
status = "okay";
cd-gpios = <&gpio 58 0>; /* gpio PH2 */
wp-gpios = <&gpio 59 0>; /* gpio PH3 */
- power-gpios = <&gpio 70 0>; /* gpio PI6 */
+ vmmc-supply = <&vddio_sdmmc_reg>;
+ vqmmc-supply = <&vddio_sdmmc_reg>;
bus-width = <8>;
};
@@ -495,6 +497,27 @@
gpio = <&gpio 176 0>; /* gpio PW0 */
enable-active-high;
};
+
+ vddio_sdmmc_reg: regulator at 6 {
+ compatible = "regulator-fixed";
+ reg = <6>;
+ regulator-name = "vddio_sdmmc";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio 70 0>; /* gpio PW0 */
+ enable-active-high;
+ };
+
+ vddio_sd_reg: regulator at 7 {
+ compatible = "regulator-fixed";
+ reg = <7>;
+ regulator-name = "vddio_sd";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio 155 0>; /* gpio PW0 */
+ enable-active-high;
+ };
+
};
sound {
diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts
index 6a93d14..e161b65 100644
--- a/arch/arm/boot/dts/tegra20-paz00.dts
+++ b/arch/arm/boot/dts/tegra20-paz00.dts
@@ -422,13 +422,17 @@
status = "okay";
cd-gpios = <&gpio 173 0>; /* gpio PV5 */
wp-gpios = <&gpio 57 0>; /* gpio PH1 */
- power-gpios = <&gpio 169 0>; /* gpio PV1 */
bus-width = <4>;
+ vmmc-supply = <&vddio_sd_reg>;
+ vqmmc-supply = <&vddio_sd_reg>;
+
};
sdhci at c8000600 {
status = "okay";
bus-width = <8>;
+ vmmc-supply = <&vddio_sdmmc_reg>;
+ vqmmc-supply = <&vddio_sdmmc_reg>;
};
gpio-keys {
@@ -465,6 +469,24 @@
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
+
+ vddio_sd_reg: regulator at 1 {
+ compatible = "regulator-fixed";
+ reg = <1>;
+ regulator-name = "vddio_sd";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ enable-active-high;
+ gpio = <&gpio 169 0>; /* gpio PV1 */
+ };
+
+ vddio_sdmmc_reg: regulator at 2 {
+ compatible = "regulator-fixed";
+ reg = <2>;
+ regulator-name = "vddio_sdmmc";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
};
sound {
diff --git a/arch/arm/boot/dts/tegra20-seaboard.dts b/arch/arm/boot/dts/tegra20-seaboard.dts
index eafeca6..1b7d692 100644
--- a/arch/arm/boot/dts/tegra20-seaboard.dts
+++ b/arch/arm/boot/dts/tegra20-seaboard.dts
@@ -450,7 +450,7 @@
regulator-always-on;
};
- ldo5 {
+ ldo5_reg: ldo5 {
regulator-name = "vdd_ldo5,vcore_mmc";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
@@ -565,6 +565,9 @@
status = "okay";
power-gpios = <&gpio 86 0>; /* gpio PK6 */
bus-width = <4>;
+ vmmc-supply = <&vddio_sdmmc_reg>;
+ vqmmc-supply = <&vddio_sdmmc_reg>;
+
};
sdhci at c8000400 {
@@ -573,11 +576,15 @@
wp-gpios = <&gpio 57 0>; /* gpio PH1 */
power-gpios = <&gpio 70 0>; /* gpio PI6 */
bus-width = <4>;
+ vmmc-supply = <&vddio_sd_reg>;
+ vqmmc-supply = <&vddio_sd_reg>;
};
sdhci at c8000600 {
status = "okay";
bus-width = <8>;
+ vmmc-supply = <&ldo5_reg>;
+ vqmmc-supply = <&vddio_nand_reg>;
};
gpio-keys {
@@ -632,6 +639,32 @@
gpio = <&pmic 1 0>;
enable-active-high;
};
+
+ vddio_sd_reg: regulator at 3 {
+ compatible = "regulator-fixed";
+ reg = <3>;
+ regulator-name = "vddio_sd";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio 176 0>; /* gpio PW0 */
+ enable-active-high;
+ };
+
+ vddio_sdmmc_reg: regulator at 4 {
+ compatible = "regulator-fixed";
+ reg = <4>;
+ regulator-name = "vddio_sdmmc";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ vddio_nand_reg: regulator at 5 {
+ compatible = "regulator-fixed";
+ reg = <5>;
+ regulator-name = "vddio_nand";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
};
sound {
diff --git a/arch/arm/boot/dts/tegra20-tamonten.dtsi b/arch/arm/boot/dts/tegra20-tamonten.dtsi
index 5b3d8b1..a60e828 100644
--- a/arch/arm/boot/dts/tegra20-tamonten.dtsi
+++ b/arch/arm/boot/dts/tegra20-tamonten.dtsi
@@ -396,6 +396,8 @@
wp-gpios = <&gpio 59 0>; /* gpio PH3 */
bus-width = <4>;
status = "okay";
+ vmmc-supply = <&vddio_sdmmc_reg>;
+ vqmmc-supply = <&vddio_sdmmc_reg>;
};
regulators {
@@ -412,5 +414,13 @@
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
+
+ vddio_sdmmc_reg: regulator at 1 {
+ compatible = "regulator-fixed";
+ reg = <1>;
+ regulator-name = "vddio_sdmmc";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
};
};
diff --git a/arch/arm/boot/dts/tegra20-ventana.dts b/arch/arm/boot/dts/tegra20-ventana.dts
index bec8bb2..0210670 100644
--- a/arch/arm/boot/dts/tegra20-ventana.dts
+++ b/arch/arm/boot/dts/tegra20-ventana.dts
@@ -376,7 +376,7 @@
regulator-always-on;
};
- ldo5 {
+ ldo5_reg: ldo5 {
regulator-name = "vdd_ldo5,vcore_mmc";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
@@ -439,19 +439,24 @@
status = "okay";
power-gpios = <&gpio 86 0>; /* gpio PK6 */
bus-width = <4>;
+ vmmc-supply = <&vddio_sdmmc_reg>;
+ vqmmc-supply = <&vddio_sdmmc_reg>;
};
sdhci at c8000400 {
status = "okay";
cd-gpios = <&gpio 69 0>; /* gpio PI5 */
wp-gpios = <&gpio 57 0>; /* gpio PH1 */
- power-gpios = <&gpio 70 0>; /* gpio PI6 */
bus-width = <4>;
+ vmmc-supply = <&vddio_sd_reg>;
+ vqmmc-supply = <&vddio_sd_reg>;
};
sdhci at c8000600 {
status = "okay";
bus-width = <8>;
+ vmmc-supply = <&ldo5_reg>;
+ vqmmc-supply = <&vddio_nand_reg>;
};
regulators {
@@ -506,6 +511,33 @@
gpio = <&gpio 176 0>; /* gpio PW0 */
enable-active-high;
};
+
+ vddio_sd_reg: regulator at 5 {
+ compatible = "regulator-fixed";
+ reg = <5>;
+ regulator-name = "vddio_sd";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio 70 0>; /* gpio PW0 */
+ enable-active-high;
+ };
+
+ vddio_sdmmc_reg: regulator at 6 {
+ compatible = "regulator-fixed";
+ reg = <6>;
+ regulator-name = "vddio_sdmmc";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ vddio_nand_reg: regulator at 7 {
+ compatible = "regulator-fixed";
+ reg = <7>;
+ regulator-name = "vddio_nand";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
};
sound {
diff --git a/arch/arm/boot/dts/tegra20-whistler.dts b/arch/arm/boot/dts/tegra20-whistler.dts
index 94a71c9..bdc4918 100644
--- a/arch/arm/boot/dts/tegra20-whistler.dts
+++ b/arch/arm/boot/dts/tegra20-whistler.dts
@@ -349,7 +349,7 @@
regulator-always-on;
};
- ldo5 {
+ ldo5_reg: ldo5 {
regulator-name = "nvvdd_ldo5,vcore_mmc,avdd_lcd1,vddio_1wire";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
@@ -394,7 +394,7 @@
regulator-max-microvolt = <3300000>;
};
- ldo12 {
+ ldo12_reg: ldo12 {
regulator-name = "nvvdd_ldo12,vddio_sdio";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
@@ -496,11 +496,16 @@
status = "okay";
wp-gpios = <&gpio 173 0>; /* gpio PV5 */
bus-width = <8>;
+ vmmc-supply = <&ldo12_reg>;
+ vqmmc-supply = <&ldo12_reg>;
};
sdhci at c8000600 {
status = "okay";
bus-width = <8>;
+ vmmc-supply = <&ldo5_reg>;
+ vqmmc-supply = <&ldo5_reg>;
+
};
regulators {
diff --git a/arch/arm/boot/dts/tegra30-cardhu-a02.dts b/arch/arm/boot/dts/tegra30-cardhu-a02.dts
index adc88aa..697effa 100644
--- a/arch/arm/boot/dts/tegra30-cardhu-a02.dts
+++ b/arch/arm/boot/dts/tegra30-cardhu-a02.dts
@@ -88,6 +88,8 @@
status = "okay";
power-gpios = <&gpio 28 0>; /* gpio PD4 */
bus-width = <4>;
+ vmmc-supply = <&vio_reg>;
+ vqmmc-supply = <&vio_reg>;
};
};
diff --git a/arch/arm/boot/dts/tegra30-cardhu-a04.dts b/arch/arm/boot/dts/tegra30-cardhu-a04.dts
index 08163e1..ee4820a 100644
--- a/arch/arm/boot/dts/tegra30-cardhu-a04.dts
+++ b/arch/arm/boot/dts/tegra30-cardhu-a04.dts
@@ -100,5 +100,7 @@
status = "okay";
power-gpios = <&gpio 27 0>; /* gpio PD3 */
bus-width = <4>;
+ vmmc-supply = <&vio_reg>;
+ vqmmc-supply = <&vio_reg>;
};
};
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi
index b245e6c..fbf0fae 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dtsi
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -247,7 +247,7 @@
ldo5_reg: ldo5 {
regulator-name = "vddio_sdmmc,avdd_vdac";
- regulator-min-microvolt = <3300000>;
+ regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
@@ -290,13 +290,16 @@
status = "okay";
cd-gpios = <&gpio 69 0>; /* gpio PI5 */
wp-gpios = <&gpio 155 0>; /* gpio PT3 */
- power-gpios = <&gpio 31 0>; /* gpio PD7 */
bus-width = <4>;
+ vmmc-supply = <&sdcard_3v3_reg>;
+ vqmmc-supply = <&ldo5_reg>;
};
sdhci at 78000600 {
status = "okay";
bus-width = <8>;
+ vmmc-supply = <&emmc_3v3_reg>;
+ vqmmc-supply = <&vio_reg>;
};
regulators {
@@ -451,6 +454,18 @@
gpio-open-drain;
vin-supply = <&vdd_5v0_reg>;
};
+
+ sdcard_3v3_reg: regulator at 13 {
+ compatible = "regulator-fixed";
+ reg = <13>;
+ regulator-name = "sdcard_3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ enable-active-high;
+ gpio = <&gpio 31 0>; /* GPIO PD7 */
+ vin-supply = <&sys_3v3_reg>;
+ };
+
};
sound {
--
1.7.1.1
More information about the linux-arm-kernel
mailing list