sunxi: various changes - fix mmc, sata, usb (partially) on CubieTruck - fix hstimer...
[openwrt/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,10 @@
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 + status = "okay";
82 + };
83 };
84 diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
85 index b02a796..d5c6799 100644
86 --- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
87 +++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
88 @@ -13,12 +13,18 @@
89
90 /dts-v1/;
91 /include/ "sun7i-a20.dtsi"
92 +/include/ "sunxi-ahci-reg.dtsi"
93
94 / {
95 model = "Olimex A20-Olinuxino Micro";
96 compatible = "olimex,a20-olinuxino-micro", "allwinner,sun7i-a20";
97
98 soc@01c00000 {
99 + ahci: sata@01c18000 {
100 + target-supply = <&reg_ahci_5v>;
101 + status = "okay";
102 + };
103 +
104 pinctrl@01c20800 {
105 led_pins_olinuxino: led_pins@0 {
106 allwinner,pins = "PH2";
107 diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
108 index daaafd0..3385994 100644
109 --- a/arch/arm/boot/dts/sun7i-a20.dtsi
110 +++ b/arch/arm/boot/dts/sun7i-a20.dtsi
111 @@ -392,6 +392,14 @@
112 #size-cells = <0>;
113 };
114
115 + ahci: sata@01c18000 {
116 + compatible = "allwinner,sun4i-a10-ahci";
117 + reg = <0x01c18000 0x1000>;
118 + interrupts = <0 56 4>;
119 + clocks = <&pll6 0>, <&ahb_gates 25>;
120 + status = "disabled";
121 + };
122 +
123 pio: pinctrl@01c20800 {
124 compatible = "allwinner,sun7i-a20-pinctrl";
125 reg = <0x01c20800 0x400>;
126 --
127 1.8.5.5
128