sunxi: driver refresh for 3.13
[openwrt.git] / target / linux / sunxi / patches-3.13 / 164-2-dt-sun7i-add-ahci.patch
1 From c7b99b7afc3882c1b38a15da8d1625dd448c6fee Mon Sep 17 00:00:00 2001
2 From: Hans de Goede <hdegoede@redhat.com>
3 Date: Fri, 3 Jan 2014 10:27:51 +0100
4 Subject: [PATCH] ARM: sun7i: dt: Add ahci / sata support
5
6 This patch adds sunxi sata support to A20 boards that have such a connector.
7 Some boards also feature a regulator via a GPIO and support for this is also
8 added.
9
10 Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
11 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
12 ---
13  arch/arm/boot/dts/sun7i-a20-cubieboard2.dts     |  6 ++++++
14  arch/arm/boot/dts/sun7i-a20-cubietruck.dts      | 18 ++++++++++++++++++
15  arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts |  6 ++++++
16  arch/arm/boot/dts/sun7i-a20.dtsi                |  8 ++++++++
17  4 files changed, 38 insertions(+)
18
19 diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
20 index 7bf4935..07823c2 100644
21 --- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
22 +++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
23 @@ -13,12 +13,18 @@
24  
25  /dts-v1/;
26  /include/ "sun7i-a20.dtsi"
27 +/include/ "sunxi-ahci-reg.dtsi"
28  
29  / {
30         model = "Cubietech Cubieboard2";
31         compatible = "cubietech,cubieboard2", "allwinner,sun7i-a20";
32  
33         soc@01c00000 {
34 +               ahci: sata@01c18000 {
35 +                       target-supply = <&reg_ahci_5v>;
36 +                       status = "okay";
37 +               };
38 +
39                 pinctrl@01c20800 {
40                         led_pins_cubieboard2: led_pins@0 {
41                                 allwinner,pins = "PH20", "PH21";
42 diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
43 index 025ce52..403bd2e 100644
44 --- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
45 +++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
46 @@ -13,13 +13,26 @@
47  
48  /dts-v1/;
49  /include/ "sun7i-a20.dtsi"
50 +/include/ "sunxi-ahci-reg.dtsi"
51  
52  / {
53         model = "Cubietech Cubietruck";
54         compatible = "cubietech,cubietruck", "allwinner,sun7i-a20";
55  
56         soc@01c00000 {
57 +               ahci: sata@01c18000 {
58 +                       target-supply = <&reg_ahci_5v>;
59 +                       status = "okay";
60 +               };
61 +
62                 pinctrl@01c20800 {
63 +                       ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 {
64 +                               allwinner,pins = "PH12";
65 +                               allwinner,function = "gpio_out";
66 +                               allwinner,drive = <0>;
67 +                               allwinner,pull = <0>;
68 +                       };
69 +
70                         led_pins_cubietruck: led_pins@0 {
71                                 allwinner,pins = "PH7", "PH11", "PH20", "PH21";
72                                 allwinner,function = "gpio_out";
73 @@ -90,4 +103,9 @@
74                         gpios = <&pio 7 7 0>;
75                 };
76         };
77 +
78 +       reg_ahci_5v: ahci-5v {
79 +               pinctrl-0 = <&ahci_pwr_pin_cubietruck>;
80 +               gpio = <&pio 7 12 0>;
81 +       };
82  };
83 diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
84 index b02a796..d5c6799 100644
85 --- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
86 +++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
87 @@ -13,12 +13,18 @@
88  
89  /dts-v1/;
90  /include/ "sun7i-a20.dtsi"
91 +/include/ "sunxi-ahci-reg.dtsi"
92  
93  / {
94         model = "Olimex A20-Olinuxino Micro";
95         compatible = "olimex,a20-olinuxino-micro", "allwinner,sun7i-a20";
96  
97         soc@01c00000 {
98 +               ahci: sata@01c18000 {
99 +                       target-supply = <&reg_ahci_5v>;
100 +                       status = "okay";
101 +               };
102 +
103                 pinctrl@01c20800 {
104                         led_pins_olinuxino: led_pins@0 {
105                                 allwinner,pins = "PH2";
106 diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
107 index daaafd0..3385994 100644
108 --- a/arch/arm/boot/dts/sun7i-a20.dtsi
109 +++ b/arch/arm/boot/dts/sun7i-a20.dtsi
110 @@ -392,6 +392,14 @@
111                         #size-cells = <0>;
112                 };
113  
114 +               ahci: sata@01c18000 {
115 +                       compatible = "allwinner,sun4i-a10-ahci";
116 +                       reg = <0x01c18000 0x1000>;
117 +                       interrupts = <0 56 4>;
118 +                       clocks = <&pll6 0>, <&ahb_gates 25>;
119 +                       status = "disabled";
120 +               };
121 +
122                 pio: pinctrl@01c20800 {
123                         compatible = "allwinner,sun7i-a20-pinctrl";
124                         reg = <0x01c20800 0x400>;
125 -- 
126 1.8.5.5
127