sunxi: fix mmc support on sun4i
[openwrt/openwrt.git] / target / linux / sunxi / patches-3.13 / 173-1-dt-sun4i-add-mmc.patch
1 From 6c6bc98f6a2b1f91071564efdb77c90307610018 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?David=20Lanzend=C3=B6rfer?= <david.lanzendoerfer@o2s.ch>
3 Date: Sat, 15 Feb 2014 14:02:51 +0100
4 Subject: [PATCH] ARM: dts: sun4i: Add support for mmc
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 Signed-off-by: David Lanzendörfer <david.lanzendoerfer@o2s.ch>
10 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
11 ---
12 arch/arm/boot/dts/sun4i-a10-a1000.dts | 8 +++++
13 arch/arm/boot/dts/sun4i-a10-cubieboard.dts | 8 +++++
14 arch/arm/boot/dts/sun4i-a10.dtsi | 54 ++++++++++++++++++++++++++++++
15 3 files changed, 70 insertions(+)
16
17 diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts
18 index d6ec839..4b2a694 100644
19 --- a/arch/arm/boot/dts/sun4i-a10-a1000.dts
20 +++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts
21 @@ -35,6 +35,14 @@
22 };
23 };
24
25 + mmc0: mmc@01c0f000 {
26 + pinctrl-names = "default", "default";
27 + pinctrl-0 = <&mmc0_pins_a>;
28 + pinctrl-1 = <&mmc0_cd_pin_reference_design>;
29 + cd-gpios = <&pio 7 1 0>; /* PH1 */
30 + status = "okay";
31 + };
32 +
33 ahci: sata@01c18000 {
34 status = "okay";
35 };
36 diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
37 index 6df237d8..ef85b8e 100644
38 --- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
39 +++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
40 @@ -34,6 +34,14 @@
41 };
42 };
43
44 + mmc0: mmc@01c0f000 {
45 + pinctrl-names = "default", "default";
46 + pinctrl-0 = <&mmc0_pins_a>;
47 + pinctrl-1 = <&mmc0_cd_pin_reference_design>;
48 + cd-gpios = <&pio 7 1 0>; /* PH1 */
49 + status = "okay";
50 + };
51 +
52 ahci: sata@01c18000 {
53 target-supply = <&reg_ahci_5v>;
54 status = "okay";
55 diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
56 index 454077a..a8e0df3 100644
57 --- a/arch/arm/boot/dts/sun4i-a10.dtsi
58 +++ b/arch/arm/boot/dts/sun4i-a10.dtsi
59 @@ -338,6 +338,50 @@
60 #size-cells = <0>;
61 };
62
63 + mmc0: mmc@01c0f000 {
64 + compatible = "allwinner,sun4i-a10-mmc";
65 + reg = <0x01c0f000 0x1000>;
66 + clocks = <&ahb_gates 8>, <&mmc0_clk>;
67 + clock-names = "ahb", "mod";
68 + interrupts = <32>;
69 + bus-width = <4>;
70 + status = "disabled";
71 + cd-inverted;
72 + };
73 +
74 + mmc1: mmc@01c10000 {
75 + compatible = "allwinner,sun4i-a10-mmc";
76 + reg = <0x01c10000 0x1000>;
77 + clocks = <&ahb_gates 9>, <&mmc1_clk>;
78 + clock-names = "ahb", "mod";
79 + interrupts = <33>;
80 + bus-width = <4>;
81 + status = "disabled";
82 + cd-inverted;
83 + };
84 +
85 + mmc2: mmc@01c11000 {
86 + compatible = "allwinner,sun4i-a10-mmc";
87 + reg = <0x01c11000 0x1000>;
88 + clocks = <&ahb_gates 10>, <&mmc2_clk>;
89 + clock-names = "ahb", "mod";
90 + interrupts = <34>;
91 + bus-width = <4>;
92 + status = "disabled";
93 + cd-inverted;
94 + };
95 +
96 + mmc3: mmc@01c12000 {
97 + compatible = "allwinner,sun4i-a10-mmc";
98 + reg = <0x01c12000 0x1000>;
99 + clocks = <&ahb_gates 11>, <&mmc3_clk>;
100 + clock-names = "ahb", "mod";
101 + interrupts = <35>;
102 + bus-width = <4>;
103 + status = "disabled";
104 + cd-inverted;
105 + };
106 +
107 ahci: sata@01c18000 {
108 compatible = "allwinner,sun4i-a10-ahci";
109 reg = <0x01c18000 0x1000>;
110 @@ -416,6 +456,20 @@
111 allwinner,drive = <0>;
112 allwinner,pull = <0>;
113 };
114 +
115 + mmc0_pins_a: mmc0@0 {
116 + allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
117 + allwinner,function = "mmc0";
118 + allwinner,drive = <2>;
119 + allwinner,pull = <0>;
120 + };
121 +
122 + mmc0_cd_pin_reference_design: mmc0_cd_pin@0 {
123 + allwinner,pins = "PH1";
124 + allwinner,function = "gpio_in";
125 + allwinner,drive = <0>;
126 + allwinner,pull = <1>;
127 + };
128 };
129
130 timer@01c20c00 {
131 --
132 1.8.5.5
133