1c5a45364e345e1cb20ddd3a716fbaafdb149909
[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 --- a/arch/arm/boot/dts/sun4i-a10-a1000.dts
14 +++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts
15 @@ -39,7 +39,23 @@
16                         };
17                 };
18  
19 +               mmc0: mmc@01c0f000 {
20 +                       pinctrl-names = "default";
21 +                       pinctrl-0 = <&mmc0_pins_a>;
22 +                       pinctrl-1 = <&mmc0_cd_pin_a1000>;
23 +                       cd-gpios = <&pio 7 1 0>; /* PH1 */
24 +                       cd-mode = <1>;
25 +                       status = "okay";
26 +               };
27 +
28                 pinctrl@01c20800 {
29 +                       mmc0_cd_pin_a1000: mmc0_cd_pin@0 {
30 +                               allwinner,pins = "PH1";
31 +                               allwinner,function = "gpio_in";
32 +                               allwinner,drive = <0>;
33 +                               allwinner,pull = <0>;
34 +                       };
35 +
36                         emac_power_pin_a1000: emac_power_pin@0 {
37                                 allwinner,pins = "PH15";
38                                 allwinner,function = "gpio_out";
39 --- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
40 +++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
41 @@ -42,7 +42,23 @@
42                         };
43                 };
44  
45 +               mmc0: mmc@01c0f000 {
46 +                       pinctrl-names = "default";
47 +                       pinctrl-0 = <&mmc0_pins_a>;
48 +                       pinctrl-1 = <&mmc0_cd_pin_cubieboard>;
49 +                       cd-gpios = <&pio 7 1 0>; /* PH1 */
50 +                       cd-mode = <1>;
51 +                       status = "okay";
52 +               };
53 +
54                 pinctrl@01c20800 {
55 +                       mmc0_cd_pin_cubieboard: mmc0_cd_pin@0 {
56 +                               allwinner,pins = "PH1";
57 +                               allwinner,function = "gpio_in";
58 +                               allwinner,drive = <0>;
59 +                               allwinner,pull = <0>;
60 +                       };
61 +
62                         led_pins_cubieboard: led_pins@0 {
63                                 allwinner,pins = "PH20", "PH21";
64                                 allwinner,function = "gpio_out";
65 --- a/arch/arm/boot/dts/sun4i-a10.dtsi
66 +++ b/arch/arm/boot/dts/sun4i-a10.dtsi
67 @@ -328,6 +328,16 @@
68                         #size-cells = <0>;
69                 };
70  
71 +               mmc0: mmc@01c0f000 {
72 +                       compatible = "allwinner,sun4i-a10-mmc";
73 +                       reg = <0x01c0f000 0x1000>;
74 +                       clocks = <&ahb_gates 8>, <&mmc0_clk>;
75 +                       clock-names = "ahb", "mod";
76 +                       interrupts = <32>;
77 +                       bus-width = <4>;
78 +                       status = "disabled";
79 +               };
80 +
81                 intc: interrupt-controller@01c20400 {
82                         compatible = "allwinner,sun4i-ic";
83                         reg = <0x01c20400 0x400>;
84 @@ -398,6 +408,13 @@
85                                 allwinner,drive = <0>;
86                                 allwinner,pull = <0>;
87                         };
88 +
89 +                       mmc0_pins_a: mmc0@0 {
90 +                               allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
91 +                               allwinner,function = "mmc0";
92 +                               allwinner,drive = <3>;
93 +                               allwinner,pull = <0>;
94 +                       };
95                 };
96  
97                 timer@01c20c00 {