sunxi: initial 3.13 support
[openwrt.git] / target / linux / sunxi / patches-3.13 / 153-1-dt-sun4i-add-mmc.patch
1 From 677631fa522e4ac24f636535e3abb5cd1a5ef40e Mon Sep 17 00:00:00 2001
2 From: Hans de Goede <hdegoede@redhat.com>
3 Date: Sat, 14 Dec 2013 22:58:12 +0100
4 Subject: [PATCH] ARM: dts: sun4i: Add support for mmc
5
6 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
7 ---
8  arch/arm/boot/dts/sun4i-a10-a1000.dts      | 16 ++++++++++++++++
9  arch/arm/boot/dts/sun4i-a10-cubieboard.dts | 16 ++++++++++++++++
10  arch/arm/boot/dts/sun4i-a10.dtsi           | 17 +++++++++++++++++
11  3 files changed, 49 insertions(+)
12
13 diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts
14 index eb4d73b..aef8207 100644
15 --- a/arch/arm/boot/dts/sun4i-a10-a1000.dts
16 +++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts
17 @@ -39,7 +39,23 @@
18                         };
19                 };
20  
21 +               mmc0: mmc@01c0f000 {
22 +                       pinctrl-names = "default";
23 +                       pinctrl-0 = <&mmc0_pins_a>;
24 +                       pinctrl-1 = <&mmc0_cd_pin_a1000>;
25 +                       cd-gpios = <&pio 7 1 0>; /* PH1 */
26 +                       cd-mode = <1>;
27 +                       status = "okay";
28 +               };
29 +
30                 pinctrl@01c20800 {
31 +                       mmc0_cd_pin_a1000: mmc0_cd_pin@0 {
32 +                               allwinner,pins = "PH1";
33 +                               allwinner,function = "gpio_in";
34 +                               allwinner,drive = <0>;
35 +                               allwinner,pull = <0>;
36 +                       };
37 +
38                         emac_power_pin_a1000: emac_power_pin@0 {
39                                 allwinner,pins = "PH15";
40                                 allwinner,function = "gpio_out";
41 diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
42 index 425a7db..f50fb2b 100644
43 --- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
44 +++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
45 @@ -42,7 +42,23 @@
46                         };
47                 };
48  
49 +               mmc0: mmc@01c0f000 {
50 +                       pinctrl-names = "default";
51 +                       pinctrl-0 = <&mmc0_pins_a>;
52 +                       pinctrl-1 = <&mmc0_cd_pin_cubieboard>;
53 +                       cd-gpios = <&pio 7 1 0>; /* PH1 */
54 +                       cd-mode = <1>;
55 +                       status = "okay";
56 +               };
57 +
58                 pinctrl@01c20800 {
59 +                       mmc0_cd_pin_cubieboard: mmc0_cd_pin@0 {
60 +                               allwinner,pins = "PH1";
61 +                               allwinner,function = "gpio_in";
62 +                               allwinner,drive = <0>;
63 +                               allwinner,pull = <0>;
64 +                       };
65 +
66                         led_pins_cubieboard: led_pins@0 {
67                                 allwinner,pins = "PH20", "PH21";
68                                 allwinner,function = "gpio_out";
69 diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
70 index 9779c6b..4736dd2 100644
71 --- a/arch/arm/boot/dts/sun4i-a10.dtsi
72 +++ b/arch/arm/boot/dts/sun4i-a10.dtsi
73 @@ -321,6 +321,16 @@
74                         #size-cells = <0>;
75                 };
76  
77 +               mmc0: mmc@01c0f000 {
78 +                       compatible = "allwinner,sun4i-a10-mmc";
79 +                       reg = <0x01c0f000 0x1000>;
80 +                       clocks = <&ahb_gates 8>, <&mmc0_clk>;
81 +                       clock-names = "ahb", "mod";
82 +                       interrupts = <32>;
83 +                       bus-width = <4>;
84 +                       status = "disabled";
85 +               };
86 +
87                 intc: interrupt-controller@01c20400 {
88                         compatible = "allwinner,sun4i-ic";
89                         reg = <0x01c20400 0x400>;
90 @@ -391,6 +401,13 @@
91                                 allwinner,drive = <0>;
92                                 allwinner,pull = <0>;
93                         };
94 +
95 +                       mmc0_pins_a: mmc0@0 {
96 +                               allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
97 +                               allwinner,function = "mmc0";
98 +                               allwinner,drive = <3>;
99 +                               allwinner,pull = <0>;
100 +                       };
101                 };
102  
103                 timer@01c20c00 {
104 -- 
105 1.8.5.1
106