The PWM3 pinmux configuration conflicts with gpio 3.28. Introduce a regulator
for mmc0 so that it conflicts with the pwm driver and fails gracefully. The
kernel will then able to access mmc0 normally.

Signed-off-by: Alexandre Belloni <[email protected]>
---
 arch/arm/boot/dts/imx28-cfa10036.dts | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/arch/arm/boot/dts/imx28-cfa10036.dts 
b/arch/arm/boot/dts/imx28-cfa10036.dts
index cabb6171a19d..cd5fab8efa76 100644
--- a/arch/arm/boot/dts/imx28-cfa10036.dts
+++ b/arch/arm/boot/dts/imx28-cfa10036.dts
@@ -53,6 +53,17 @@
                                        fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
 
+                               mmc_pwr_cfa10036: mmc_pwr_cfa10036@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x31c3 /*
+                                               MX28_PAD_PWM3__GPIO_3_28 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
                        };
 
                        ssp0: ssp@80010000 {
@@ -60,6 +71,7 @@
                                pinctrl-names = "default";
                                pinctrl-0 = <&mmc0_4bit_pins_a
                                        &mmc0_cd_cfg &mmc0_sck_cfg>;
+                               vmmc-supply = <&reg_vddio_sd0>;
                                bus-width = <4>;
                                status = "okay";
                        };
@@ -114,4 +126,14 @@
                        default-state = "on";
                };
        };
+
+       reg_vddio_sd0: vddio-sd0 {
+               compatible = "regulator-fixed";
+               pinctrl-names = "default";
+               pinctrl-0 = <&mmc_pwr_cfa10036>;
+               regulator-name = "vddio-sd0";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio3 28 0>;
+       };
 };
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to