summaryrefslogtreecommitdiffstats
path: root/target/linux/sunxi/patches-3.12/182-dt-sun5i-add-mmc.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/sunxi/patches-3.12/182-dt-sun5i-add-mmc.patch')
-rw-r--r--target/linux/sunxi/patches-3.12/182-dt-sun5i-add-mmc.patch204
1 files changed, 204 insertions, 0 deletions
diff --git a/target/linux/sunxi/patches-3.12/182-dt-sun5i-add-mmc.patch b/target/linux/sunxi/patches-3.12/182-dt-sun5i-add-mmc.patch
new file mode 100644
index 0000000000..866382595d
--- /dev/null
+++ b/target/linux/sunxi/patches-3.12/182-dt-sun5i-add-mmc.patch
@@ -0,0 +1,204 @@
+From 36e4afca857c8b57bd661135d173bdf65b348f78 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Sat, 14 Dec 2013 16:20:55 +0100
+Subject: [PATCH] ARM: dts: sun5i: Add mmc support
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts | 32 ++++++++++++++++++++++
+ arch/arm/boot/dts/sun5i-a10s.dtsi | 34 ++++++++++++++++++++++++
+ arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts | 16 +++++++++++
+ arch/arm/boot/dts/sun5i-a13-olinuxino.dts | 16 +++++++++++
+ arch/arm/boot/dts/sun5i-a13.dtsi | 17 ++++++++++++
+ 5 files changed, 115 insertions(+)
+
+diff --git a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
+index 3c9f8b3..e53fb12 100644
+--- a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
++++ b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
+@@ -34,7 +34,39 @@
+ };
+ };
+
++ sdc0: sdc@01c0f000 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&sdc0_pins_a>;
++ pinctrl-1 = <&mmc0_cd_pin_olinuxino_micro>;
++ cd-gpios = <&pio 6 1 0>; /* PG1 */
++ cd-mode = <1>;
++ status = "okay";
++ };
++
++ sdc1: sdc@01c10000 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&sdc1_pins_a>;
++ pinctrl-1 = <&mmc1_cd_pin_olinuxino_micro>;
++ cd-gpios = <&pio 6 13 0>; /* PG13 */
++ cd-mode = <1>;
++ status = "okay";
++ };
++
+ pinctrl@01c20800 {
++ mmc0_cd_pin_olinuxino_micro: mmc0_cd_pin@0 {
++ allwinner,pins = "PG1";
++ allwinner,function = "gpio_in";
++ allwinner,drive = <0>;
++ allwinner,pull = <0>;
++ };
++
++ mmc1_cd_pin_olinuxino_micro: mmc1_cd_pin@0 {
++ allwinner,pins = "PG13";
++ allwinner,function = "gpio_in";
++ allwinner,drive = <0>;
++ allwinner,pull = <0>;
++ };
++
+ led_pins_olinuxino: led_pins@0 {
+ allwinner,pins = "PE3";
+ allwinner,function = "gpio_out";
+diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
+index 83e183c..fdbc290 100644
+--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
++++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
+@@ -274,6 +274,26 @@
+ #size-cells = <0>;
+ };
+
++ sdc0: sdc@01c0f000 {
++ compatible = "allwinner,sun5i-mmc";
++ reg = <0x01c0f000 0x1000>;
++ clocks = <&ahb_gates 8>, <&mmc0>;
++ clock-names = "ahb", "mod";
++ interrupts = <32>;
++ bus-width = <4>;
++ status = "disabled";
++ };
++
++ sdc1: sdc@01c10000 {
++ compatible = "allwinner,sun5i-mmc";
++ reg = <0x01c10000 0x1000>;
++ clocks = <&ahb_gates 9>, <&mmc1>;
++ clock-names = "ahb", "mod";
++ interrupts = <33>;
++ bus-width = <4>;
++ status = "disabled";
++ };
++
+ intc: interrupt-controller@01c20400 {
+ compatible = "allwinner,sun4i-ic";
+ reg = <0x01c20400 0x400>;
+@@ -344,6 +364,20 @@
+ allwinner,drive = <0>;
+ allwinner,pull = <0>;
+ };
++
++ sdc0_pins_a: sdc0@0 {
++ allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
++ allwinner,function = "mmc0";
++ allwinner,drive = <3>;
++ allwinner,pull = <1>;
++ };
++
++ sdc1_pins_a: sdc1@0 {
++ allwinner,pins = "PG3","PG4","PG5","PG6","PG7","PG8";
++ allwinner,function = "mmc1";
++ allwinner,drive = <3>;
++ allwinner,pull = <1>;
++ };
+ };
+
+ timer@01c20c00 {
+diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
+index fe2ce0a..fbd4e7d 100644
+--- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
++++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
+@@ -20,7 +20,23 @@
+ compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13";
+
+ soc@01c00000 {
++ sdc0: sdc@01c0f000 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&sdc0_pins_a>;
++ pinctrl-1 = <&mmc0_cd_pin_olinuxinom>;
++ cd-gpios = <&pio 6 0 0>; /* PG0 */
++ cd-mode = <1>;
++ status = "okay";
++ };
++
+ pinctrl@01c20800 {
++ mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 {
++ allwinner,pins = "PG0";
++ allwinner,function = "gpio_in";
++ allwinner,drive = <0>;
++ allwinner,pull = <0>;
++ };
++
+ led_pins_olinuxinom: led_pins@0 {
+ allwinner,pins = "PG9";
+ allwinner,function = "gpio_out";
+diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
+index 9e508dc..ce22c81 100644
+--- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
++++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
+@@ -23,7 +23,23 @@
+ };
+
+ soc@01c00000 {
++ sdc0: sdc@01c0f000 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&sdc0_pins_a>;
++ pinctrl-1 = <&mmc0_cd_pin_olinuxino>;
++ cd-gpios = <&pio 6 0 0>; /* PG0 */
++ cd-mode = <1>;
++ status = "okay";
++ };
++
+ pinctrl@01c20800 {
++ mmc0_cd_pin_olinuxino: mmc0_cd_pin@0 {
++ allwinner,pins = "PG0";
++ allwinner,function = "gpio_in";
++ allwinner,drive = <0>;
++ allwinner,pull = <0>;
++ };
++
+ led_pins_olinuxino: led_pins@0 {
+ allwinner,pins = "PG9";
+ allwinner,function = "gpio_out";
+diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
+index 0bb4300..0ca0819 100644
+--- a/arch/arm/boot/dts/sun5i-a13.dtsi
++++ b/arch/arm/boot/dts/sun5i-a13.dtsi
+@@ -255,6 +255,16 @@
+ #size-cells = <1>;
+ ranges;
+
++ sdc0: sdc@01c0f000 {
++ compatible = "allwinner,sun5i-mmc";
++ reg = <0x01c0f000 0x1000>;
++ clocks = <&ahb_gates 8>, <&mmc0>;
++ clock-names = "ahb", "mod";
++ interrupts = <32>;
++ bus-width = <4>;
++ status = "disabled";
++ };
++
+ intc: interrupt-controller@01c20400 {
+ compatible = "allwinner,sun4i-ic";
+ reg = <0x01c20400 0x400>;
+@@ -307,6 +317,13 @@
+ allwinner,drive = <0>;
+ allwinner,pull = <0>;
+ };
++
++ sdc0_pins_a: sdc0@0 {
++ allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
++ allwinner,function = "mmc0";
++ allwinner,drive = <3>;
++ allwinner,pull = <1>;
++ };
+ };
+
+ timer@01c20c00 {
+--
+1.8.5.1
+