2014-02-05 08:42:28 +00:00
|
|
|
From 48332fd7217cf5b06b438503513e54e6138e0637 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Hans de Goede <hdegoede@redhat.com>
|
|
|
|
Date: Sat, 14 Dec 2013 22:58:14 +0100
|
|
|
|
Subject: [PATCH] ARM: dts: sun5i: Add support for mmc
|
|
|
|
|
|
|
|
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(+)
|
|
|
|
|
|
|
|
--- a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
|
|
|
|
+++ b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
|
|
|
|
@@ -34,7 +34,39 @@
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
+ mmc0: mmc@01c0f000 {
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&mmc0_pins_a>;
|
|
|
|
+ pinctrl-1 = <&mmc0_cd_pin_olinuxino_micro>;
|
|
|
|
+ cd-gpios = <&pio 6 1 0>; /* PG1 */
|
|
|
|
+ cd-mode = <1>;
|
|
|
|
+ status = "okay";
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ mmc1: mmc@01c10000 {
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&mmc1_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";
|
|
|
|
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
|
|
|
|
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
|
2014-02-13 13:27:14 +00:00
|
|
|
@@ -293,6 +293,26 @@
|
2014-02-05 08:42:28 +00:00
|
|
|
#size-cells = <0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
+ mmc0: mmc@01c0f000 {
|
|
|
|
+ compatible = "allwinner,sun5i-a13-mmc";
|
|
|
|
+ reg = <0x01c0f000 0x1000>;
|
|
|
|
+ clocks = <&ahb_gates 8>, <&mmc0_clk>;
|
|
|
|
+ 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>;
|
|
|
|
+ status = "disabled";
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
intc: interrupt-controller@01c20400 {
|
|
|
|
compatible = "allwinner,sun4i-ic";
|
|
|
|
reg = <0x01c20400 0x400>;
|
2014-02-13 13:27:14 +00:00
|
|
|
@@ -363,6 +383,20 @@
|
2014-02-05 08:42:28 +00:00
|
|
|
allwinner,drive = <0>;
|
|
|
|
allwinner,pull = <0>;
|
|
|
|
};
|
|
|
|
+
|
|
|
|
+ mmc0_pins_a: mmc0@0 {
|
|
|
|
+ allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
|
|
|
|
+ allwinner,function = "mmc0";
|
|
|
|
+ allwinner,drive = <3>;
|
|
|
|
+ allwinner,pull = <0>;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ mmc1_pins_a: mmc1@0 {
|
|
|
|
+ allwinner,pins = "PG3","PG4","PG5","PG6","PG7","PG8";
|
|
|
|
+ allwinner,function = "mmc1";
|
|
|
|
+ allwinner,drive = <3>;
|
|
|
|
+ allwinner,pull = <0>;
|
|
|
|
+ };
|
|
|
|
};
|
|
|
|
|
|
|
|
timer@01c20c00 {
|
|
|
|
--- 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 {
|
|
|
|
+ mmc0: mmc@01c0f000 {
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&mmc0_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";
|
|
|
|
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
|
|
|
|
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
|
|
|
|
@@ -23,7 +23,23 @@
|
|
|
|
};
|
|
|
|
|
|
|
|
soc@01c00000 {
|
|
|
|
+ mmc0: mmc@01c0f000 {
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&mmc0_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";
|
|
|
|
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
|
|
|
|
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
|
2014-02-13 13:27:14 +00:00
|
|
|
@@ -274,6 +274,16 @@
|
2014-02-05 08:42:28 +00:00
|
|
|
#size-cells = <1>;
|
|
|
|
ranges;
|
|
|
|
|
|
|
|
+ mmc0: mmc@01c0f000 {
|
|
|
|
+ compatible = "allwinner,sun5i-a13-mmc";
|
|
|
|
+ reg = <0x01c0f000 0x1000>;
|
|
|
|
+ clocks = <&ahb_gates 8>, <&mmc0_clk>;
|
|
|
|
+ clock-names = "ahb", "mod";
|
|
|
|
+ interrupts = <32>;
|
|
|
|
+ bus-width = <4>;
|
|
|
|
+ status = "disabled";
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
intc: interrupt-controller@01c20400 {
|
|
|
|
compatible = "allwinner,sun4i-ic";
|
|
|
|
reg = <0x01c20400 0x400>;
|
2014-02-13 13:27:14 +00:00
|
|
|
@@ -326,6 +336,13 @@
|
2014-02-05 08:42:28 +00:00
|
|
|
allwinner,drive = <0>;
|
|
|
|
allwinner,pull = <0>;
|
|
|
|
};
|
|
|
|
+
|
|
|
|
+ mmc0_pins_a: mmc0@0 {
|
|
|
|
+ allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
|
|
|
|
+ allwinner,function = "mmc0";
|
|
|
|
+ allwinner,drive = <3>;
|
|
|
|
+ allwinner,pull = <0>;
|
|
|
|
+ };
|
|
|
|
};
|
|
|
|
|
|
|
|
timer@01c20c00 {
|