summaryrefslogtreecommitdiff
path: root/target/linux/sunxi/patches-3.13/173-5-dt-sun5i-fixup-mmc.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/sunxi/patches-3.13/173-5-dt-sun5i-fixup-mmc.patch')
-rw-r--r--target/linux/sunxi/patches-3.13/173-5-dt-sun5i-fixup-mmc.patch107
1 files changed, 107 insertions, 0 deletions
diff --git a/target/linux/sunxi/patches-3.13/173-5-dt-sun5i-fixup-mmc.patch b/target/linux/sunxi/patches-3.13/173-5-dt-sun5i-fixup-mmc.patch
new file mode 100644
index 0000000..7bbe566
--- /dev/null
+++ b/target/linux/sunxi/patches-3.13/173-5-dt-sun5i-fixup-mmc.patch
@@ -0,0 +1,107 @@
+From 1fa41bc5a6659e453ca19086f195b02a23dc3bbe Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Mon, 17 Feb 2014 17:25:54 +0100
+Subject: [PATCH] ARM: sun5i: dt: Fixup mmc bindings
+
+1) Now that we're no longer overriding the caps set by mmc_of_parse we need
+to set cd-inverted for our card detection to work.
+
+2) Now that we no longer claim UHS modes support we will never use any DDR
+modes, so drive-strength 2 is enough for the mmc data pins.
+
+3) mmc1 on the A13 is not routed to any pins, and thus unusable, remove it
+from the dtsi
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ arch/arm/boot/dts/sun5i-a10s.dtsi | 7 +++++--
+ arch/arm/boot/dts/sun5i-a13.dtsi | 14 +++-----------
+ 2 files changed, 8 insertions(+), 13 deletions(-)
+
+diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
+index 3a7039e..15dfa9a 100644
+--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
++++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
+@@ -306,6 +306,7 @@
+ clock-names = "ahb", "mod";
+ interrupts = <32>;
+ bus-width = <4>;
++ cd-inverted;
+ status = "disabled";
+ };
+
+@@ -316,6 +317,7 @@
+ clock-names = "ahb", "mod";
+ interrupts = <33>;
+ bus-width = <4>;
++ cd-inverted;
+ status = "disabled";
+ };
+
+@@ -326,6 +328,7 @@
+ clock-names = "ahb", "mod";
+ interrupts = <34>;
+ bus-width = <4>;
++ cd-inverted;
+ status = "disabled";
+ };
+
+@@ -403,14 +406,14 @@
+ mmc0_pins_a: mmc0@0 {
+ allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
+ allwinner,function = "mmc0";
+- allwinner,drive = <3>;
++ allwinner,drive = <2>;
+ allwinner,pull = <0>;
+ };
+
+ mmc1_pins_a: mmc1@0 {
+ allwinner,pins = "PG3","PG4","PG5","PG6","PG7","PG8";
+ allwinner,function = "mmc1";
+- allwinner,drive = <3>;
++ allwinner,drive = <2>;
+ allwinner,pull = <0>;
+ };
+ };
+diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
+index 63a35b8..14a99d0 100644
+--- a/arch/arm/boot/dts/sun5i-a13.dtsi
++++ b/arch/arm/boot/dts/sun5i-a13.dtsi
+@@ -288,16 +288,7 @@
+ clock-names = "ahb", "mod";
+ interrupts = <32>;
+ bus-width = <4>;
+- status = "disabled";
+- };
+-
+- mmc1: mmc@01c10000 {
+- compatible = "allwinner,sun5i-a13-mmc";
+- reg = <0x01c10000 0x1000>;
+- clocks = <&ahb_gates 9>, <&mmc1_clk>;
+- clock-names = "ahb", "mod";
+- interrupts = <33>;
+- bus-width = <4>;
++ cd-inverted;
+ status = "disabled";
+ };
+
+@@ -308,6 +299,7 @@
+ clock-names = "ahb", "mod";
+ interrupts = <34>;
+ bus-width = <4>;
++ cd-inverted;
+ status = "disabled";
+ };
+
+@@ -367,7 +359,7 @@
+ mmc0_pins_a: mmc0@0 {
+ allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
+ allwinner,function = "mmc0";
+- allwinner,drive = <3>;
++ allwinner,drive = <2>;
+ allwinner,pull = <0>;
+ };
+ };
+--
+1.8.5.5
+