dfeabf7dc1127bebde0b7460d7ddb201aacedef9
[openwrt.git] / target / linux / sunxi / patches-3.13 / 153-2-dt-sun5i-add-mmc.patch
1 From 48332fd7217cf5b06b438503513e54e6138e0637 Mon Sep 17 00:00:00 2001
2 From: Hans de Goede <hdegoede@redhat.com>
3 Date: Sat, 14 Dec 2013 22:58:14 +0100
4 Subject: [PATCH] ARM: dts: sun5i: Add support for mmc
5
6 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
7 ---
8  arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts | 32 ++++++++++++++++++++++
9  arch/arm/boot/dts/sun5i-a10s.dtsi                | 34 ++++++++++++++++++++++++
10  arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts  | 16 +++++++++++
11  arch/arm/boot/dts/sun5i-a13-olinuxino.dts        | 16 +++++++++++
12  arch/arm/boot/dts/sun5i-a13.dtsi                 | 17 ++++++++++++
13  5 files changed, 115 insertions(+)
14
15 --- a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
16 +++ b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
17 @@ -34,7 +34,39 @@
18                         };
19                 };
20  
21 +               mmc0: mmc@01c0f000 {
22 +                       pinctrl-names = "default";
23 +                       pinctrl-0 = <&mmc0_pins_a>;
24 +                       pinctrl-1 = <&mmc0_cd_pin_olinuxino_micro>;
25 +                       cd-gpios = <&pio 6 1 0>; /* PG1 */
26 +                       cd-mode = <1>;
27 +                       status = "okay";
28 +               };
29 +
30 +               mmc1: mmc@01c10000 {
31 +                       pinctrl-names = "default";
32 +                       pinctrl-0 = <&mmc1_pins_a>;
33 +                       pinctrl-1 = <&mmc1_cd_pin_olinuxino_micro>;
34 +                       cd-gpios = <&pio 6 13 0>; /* PG13 */
35 +                       cd-mode = <1>;
36 +                       status = "okay";
37 +               };
38 +
39                 pinctrl@01c20800 {
40 +                       mmc0_cd_pin_olinuxino_micro: mmc0_cd_pin@0 {
41 +                               allwinner,pins = "PG1";
42 +                               allwinner,function = "gpio_in";
43 +                               allwinner,drive = <0>;
44 +                               allwinner,pull = <0>;
45 +                       };
46 +
47 +                       mmc1_cd_pin_olinuxino_micro: mmc1_cd_pin@0 {
48 +                               allwinner,pins = "PG13";
49 +                               allwinner,function = "gpio_in";
50 +                               allwinner,drive = <0>;
51 +                               allwinner,pull = <0>;
52 +                       };
53 +
54                         led_pins_olinuxino: led_pins@0 {
55                                 allwinner,pins = "PE3";
56                                 allwinner,function = "gpio_out";
57 --- a/arch/arm/boot/dts/sun5i-a10s.dtsi
58 +++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
59 @@ -293,6 +293,26 @@
60                         #size-cells = <0>;
61                 };
62  
63 +               mmc0: mmc@01c0f000 {
64 +                       compatible = "allwinner,sun5i-a13-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 +               };
72 +
73 +               mmc1: mmc@01c10000 {
74 +                       compatible = "allwinner,sun5i-a13-mmc";
75 +                       reg = <0x01c10000 0x1000>;
76 +                       clocks = <&ahb_gates 9>, <&mmc1_clk>;
77 +                       clock-names = "ahb", "mod";
78 +                       interrupts = <33>;
79 +                       bus-width = <4>;
80 +                       status = "disabled";
81 +               };
82 +
83                 intc: interrupt-controller@01c20400 {
84                         compatible = "allwinner,sun4i-ic";
85                         reg = <0x01c20400 0x400>;
86 @@ -363,6 +383,20 @@
87                                 allwinner,drive = <0>;
88                                 allwinner,pull = <0>;
89                         };
90 +
91 +                       mmc0_pins_a: mmc0@0 {
92 +                               allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
93 +                               allwinner,function = "mmc0";
94 +                               allwinner,drive = <3>;
95 +                               allwinner,pull = <0>;
96 +                       };
97 +
98 +                       mmc1_pins_a: mmc1@0 {
99 +                               allwinner,pins = "PG3","PG4","PG5","PG6","PG7","PG8";
100 +                               allwinner,function = "mmc1";
101 +                               allwinner,drive = <3>;
102 +                               allwinner,pull = <0>;
103 +                       };
104                 };
105  
106                 timer@01c20c00 {
107 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
108 +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
109 @@ -20,7 +20,23 @@
110         compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13";
111  
112         soc@01c00000 {
113 +               mmc0: mmc@01c0f000 {
114 +                       pinctrl-names = "default";
115 +                       pinctrl-0 = <&mmc0_pins_a>;
116 +                       pinctrl-1 = <&mmc0_cd_pin_olinuxinom>;
117 +                       cd-gpios = <&pio 6 0 0>; /* PG0 */
118 +                       cd-mode = <1>;
119 +                       status = "okay";
120 +               };
121 +
122                 pinctrl@01c20800 {
123 +                       mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 {
124 +                               allwinner,pins = "PG0";
125 +                               allwinner,function = "gpio_in";
126 +                               allwinner,drive = <0>;
127 +                               allwinner,pull = <0>;
128 +                       };
129 +
130                         led_pins_olinuxinom: led_pins@0 {
131                                 allwinner,pins = "PG9";
132                                 allwinner,function = "gpio_out";
133 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
134 +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
135 @@ -23,7 +23,23 @@
136         };
137  
138         soc@01c00000 {
139 +               mmc0: mmc@01c0f000 {
140 +                       pinctrl-names = "default";
141 +                       pinctrl-0 = <&mmc0_pins_a>;
142 +                       pinctrl-1 = <&mmc0_cd_pin_olinuxino>;
143 +                       cd-gpios = <&pio 6 0 0>; /* PG0 */
144 +                       cd-mode = <1>;
145 +                       status = "okay";
146 +               };
147 +
148                 pinctrl@01c20800 {
149 +                       mmc0_cd_pin_olinuxino: mmc0_cd_pin@0 {
150 +                               allwinner,pins = "PG0";
151 +                               allwinner,function = "gpio_in";
152 +                               allwinner,drive = <0>;
153 +                               allwinner,pull = <0>;
154 +                       };
155 +
156                         led_pins_olinuxino: led_pins@0 {
157                                 allwinner,pins = "PG9";
158                                 allwinner,function = "gpio_out";
159 --- a/arch/arm/boot/dts/sun5i-a13.dtsi
160 +++ b/arch/arm/boot/dts/sun5i-a13.dtsi
161 @@ -274,6 +274,16 @@
162                 #size-cells = <1>;
163                 ranges;
164  
165 +               mmc0: mmc@01c0f000 {
166 +                       compatible = "allwinner,sun5i-a13-mmc";
167 +                       reg = <0x01c0f000 0x1000>;
168 +                       clocks = <&ahb_gates 8>, <&mmc0_clk>;
169 +                       clock-names = "ahb", "mod";
170 +                       interrupts = <32>;
171 +                       bus-width = <4>;
172 +                       status = "disabled";
173 +               };
174 +
175                 intc: interrupt-controller@01c20400 {
176                         compatible = "allwinner,sun4i-ic";
177                         reg = <0x01c20400 0x400>;
178 @@ -326,6 +336,13 @@
179                                 allwinner,drive = <0>;
180                                 allwinner,pull = <0>;
181                         };
182 +
183 +                       mmc0_pins_a: mmc0@0 {
184 +                               allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
185 +                               allwinner,function = "mmc0";
186 +                               allwinner,drive = <3>;
187 +                               allwinner,pull = <0>;
188 +                       };
189                 };
190  
191                 timer@01c20c00 {