sunxi: add mmc support
[openwrt.git] / target / linux / sunxi / patches-3.12 / 180-dt-sun7i-add-mmc.patch
1 From 665414c8e7584be7f1a30f77cf3eae177e93fd3e Mon Sep 17 00:00:00 2001
2 From: Hans de Goede <hdegoede@redhat.com>
3 Date: Sat, 14 Dec 2013 22:46:20 +0100
4 Subject: [PATCH] ARM: dts: sun7i: Add support for mmc
5
6 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
7 ---
8  arch/arm/boot/dts/sun7i-a20-cubieboard2.dts     | 16 ++++++++++++
9  arch/arm/boot/dts/sun7i-a20-cubietruck.dts      | 16 ++++++++++++
10  arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 32 +++++++++++++++++++++++
11  arch/arm/boot/dts/sun7i-a20.dtsi                | 34 +++++++++++++++++++++++++
12  4 files changed, 98 insertions(+)
13
14 diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
15 index 5c51cb8..6aef299 100644
16 --- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
17 +++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
18 @@ -34,7 +34,23 @@
19                         };
20                 };
21  
22 +               sdc0: sdc@01c0f000 {
23 +                       pinctrl-names = "default";
24 +                       pinctrl-0 = <&sdc0_pins_a>;
25 +                       pinctrl-1 = <&mmc0_cd_pin_cubieboard2>;
26 +                       cd-gpios = <&pio 7 1 0>; /* PH1 */
27 +                       cd-mode = <1>;
28 +                       status = "okay";
29 +               };
30 +
31                 pinctrl@01c20800 {
32 +                       mmc0_cd_pin_cubieboard2: mmc0_cd_pin@0 {
33 +                               allwinner,pins = "PH1";
34 +                               allwinner,function = "gpio_in";
35 +                               allwinner,drive = <0>;
36 +                               allwinner,pull = <0>;
37 +                       };
38 +
39                         led_pins_cubieboard2: led_pins@0 {
40                                 allwinner,pins = "PH20", "PH21";
41                                 allwinner,function = "gpio_out";
42 diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
43 index 8a1009d..302c785 100644
44 diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
45 index ead3013..f271db9 100644
46 --- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
47 +++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
48 @@ -34,7 +34,39 @@
49                         };
50                 };
51  
52 +               sdc0: sdc@01c0f000 {
53 +                       pinctrl-names = "default";
54 +                       pinctrl-0 = <&sdc0_pins_a>;
55 +                       pinctrl-1 = <&mmc0_cd_pin_olinuxinom>;
56 +                       cd-gpios = <&pio 7 1 0>; /* PH1 */
57 +                       cd-mode = <1>;
58 +                       status = "okay";
59 +               };
60 +
61 +               sdc3: sdc@01c12000 {
62 +                       pinctrl-names = "default";
63 +                       pinctrl-0 = <&sdc3_pins_a>;
64 +                       pinctrl-1 = <&mmc3_cd_pin_olinuxinom>;
65 +                       cd-gpios = <&pio 7 11 0>; /* PH11 */
66 +                       cd-mode = <1>;
67 +                       status = "okay";
68 +               };
69 +
70                 pinctrl@01c20800 {
71 +                       mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 {
72 +                               allwinner,pins = "PH1";
73 +                               allwinner,function = "gpio_in";
74 +                               allwinner,drive = <0>;
75 +                               allwinner,pull = <0>;
76 +                       };
77 +
78 +                       mmc3_cd_pin_olinuxinom: mmc3_cd_pin@0 {
79 +                               allwinner,pins = "PH11";
80 +                               allwinner,function = "gpio_in";
81 +                               allwinner,drive = <0>;
82 +                               allwinner,pull = <0>;
83 +                       };
84 +
85                         led_pins_olinuxino: led_pins@0 {
86                                 allwinner,pins = "PH2";
87                                 allwinner,function = "gpio_out";
88 diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
89 index 63757c5..5f9440c 100644
90 --- a/arch/arm/boot/dts/sun7i-a20.dtsi
91 +++ b/arch/arm/boot/dts/sun7i-a20.dtsi
92 @@ -303,6 +303,26 @@
93                         #size-cells = <0>;
94                 };
95  
96 +               sdc0: sdc@01c0f000 {
97 +                       compatible = "allwinner,sun5i-mmc";
98 +                       reg = <0x01c0f000 0x1000>;
99 +                       clocks = <&ahb_gates 8>, <&mmc0>;
100 +                       clock-names = "ahb", "mod";
101 +                       interrupts = <0 32 4>;
102 +                       bus-width = <4>;
103 +                       status = "disabled";
104 +               };
105 +
106 +               sdc3: sdc@01c12000 {
107 +                       compatible = "allwinner,sun5i-mmc";
108 +                       reg = <0x01c12000 0x1000>;
109 +                       clocks = <&ahb_gates 11>, <&mmc3>;
110 +                       clock-names = "ahb", "mod";
111 +                       interrupts = <0 35 4>;
112 +                       bus-width = <4>;
113 +                       status = "disabled";
114 +               };
115 +
116                 pio: pinctrl@01c20800 {
117                         compatible = "allwinner,sun7i-a20-pinctrl";
118                         reg = <0x01c20800 0x400>;
119 @@ -366,6 +386,20 @@
120                                 allwinner,drive = <0>;
121                                 allwinner,pull = <0>;
122                         };
123 +
124 +                       sdc0_pins_a: sdc0@0 {
125 +                               allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
126 +                               allwinner,function = "mmc0";
127 +                               allwinner,drive = <3>;
128 +                               allwinner,pull = <1>;
129 +                       };
130 +
131 +                       sdc3_pins_a: sdc3@0 {
132 +                               allwinner,pins = "PI4","PI5","PI6","PI7","PI8","PI9";
133 +                               allwinner,function = "mmc3";
134 +                               allwinner,drive = <3>;
135 +                               allwinner,pull = <1>;
136 +                       };
137                 };
138  
139                 timer@01c20c00 {
140 -- 
141 1.8.5.1
142