sunxi: initial 3.13 support
[openwrt/openwrt.git] / target / linux / sunxi / patches-3.13 / 162-2-dt-sun7i-add-ahci-nodes.patch
1 From 4ce1f4c3ab04a697e9861b77582077b905b3f8a0 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: dts: 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 | 27 +++++++++++++++++++++++++
14 arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 27 +++++++++++++++++++++++++
15 arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 26 ++++++++++++++++++++++++
16 arch/arm/boot/dts/sun7i-a20.dtsi | 9 +++++++++
17 4 files changed, 89 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 48777cd..a26711c 100644
21 --- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
22 +++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
23 @@ -28,7 +28,19 @@
24 status = "okay";
25 };
26
27 + sata: ahci@01c18000 {
28 + pwr-supply = <&reg_ahci_5v>;
29 + status = "okay";
30 + };
31 +
32 pinctrl@01c20800 {
33 + ahci_pwr_pin_cubieboard2: ahci_pwr_pin@0 {
34 + allwinner,pins = "PB8";
35 + allwinner,function = "gpio_out";
36 + allwinner,drive = <0>;
37 + allwinner,pull = <0>;
38 + };
39 +
40 mmc0_cd_pin_cubieboard2: mmc0_cd_pin@0 {
41 allwinner,pins = "PH1";
42 allwinner,function = "gpio_in";
43 @@ -86,4 +98,19 @@
44 gpios = <&pio 7 20 0>;
45 };
46 };
47 +
48 + regulators {
49 + compatible = "simple-bus";
50 + pinctrl-names = "default";
51 +
52 + reg_ahci_5v: ahci-5v {
53 + compatible = "regulator-fixed";
54 + regulator-name = "ahci-5v";
55 + regulator-min-microvolt = <5000000>;
56 + regulator-max-microvolt = <5000000>;
57 + pinctrl-0 = <&ahci_pwr_pin_cubieboard2>;
58 + gpio = <&pio 1 8 0>;
59 + enable-active-high;
60 + };
61 + };
62 };
63 diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
64 index 2684f27..a5f3418 100644
65 --- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
66 +++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
67 @@ -28,6 +28,11 @@
68 status = "okay";
69 };
70
71 + sata: ahci@01c18000 {
72 + pwr-supply = <&reg_ahci_5v>;
73 + status = "okay";
74 + };
75 +
76 pinctrl@01c20800 {
77 mmc0_cd_pin_cubietruck: mmc0_cd_pin@0 {
78 allwinner,pins = "PH1";
79 @@ -36,6 +41,13 @@
80 allwinner,pull = <0>;
81 };
82
83 + ahci_pwr_pin_cubietruck: ahci_pwr_pin@0 {
84 + allwinner,pins = "PH12";
85 + allwinner,function = "gpio_out";
86 + allwinner,drive = <0>;
87 + allwinner,pull = <0>;
88 + };
89 +
90 led_pins_cubietruck: led_pins@0 {
91 allwinner,pins = "PH7", "PH11", "PH20", "PH21";
92 allwinner,function = "gpio_out";
93 @@ -84,4 +96,19 @@
94 gpios = <&pio 7 7 0>;
95 };
96 };
97 +
98 + regulators {
99 + compatible = "simple-bus";
100 + pinctrl-names = "default";
101 +
102 + reg_ahci_5v: ahci-5v {
103 + compatible = "regulator-fixed";
104 + regulator-name = "ahci-5v";
105 + regulator-min-microvolt = <5000000>;
106 + regulator-max-microvolt = <5000000>;
107 + pinctrl-0 = <&ahci_pwr_pin_cubietruck>;
108 + gpio = <&pio 7 12 0>;
109 + enable-active-high;
110 + };
111 + };
112 };
113 diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
114 index bf6f6c8..20b1000 100644
115 --- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
116 +++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
117 @@ -37,7 +37,19 @@
118 status = "okay";
119 };
120
121 + sata: ahci@01c18000 {
122 + pwr-supply = <&reg_ahci_5v>;
123 + status = "okay";
124 + };
125 +
126 pinctrl@01c20800 {
127 + ahci_pwr_pin_olinuxinom: ahci_pwr_pin@0 {
128 + allwinner,pins = "PB8";
129 + allwinner,function = "gpio_out";
130 + allwinner,drive = <0>;
131 + allwinner,pull = <0>;
132 + };
133 +
134 mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 {
135 allwinner,pins = "PH1";
136 allwinner,function = "gpio_in";
137 @@ -116,4 +128,18 @@
138 default-state = "on";
139 };
140 };
141 +
142 + regulators {
143 + compatible = "simple-bus";
144 +
145 + reg_ahci_5v: ahci-5v {
146 + compatible = "regulator-fixed";
147 + regulator-name = "ahci-5v";
148 + regulator-min-microvolt = <5000000>;
149 + regulator-max-microvolt = <5000000>;
150 + pinctrl-0 = <&ahci_pwr_pin_olinuxinom>;
151 + gpio = <&pio 1 8 0>;
152 + enable-active-high;
153 + };
154 + };
155 };
156 diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
157 index c9c123a..3242a29 100644
158 --- a/arch/arm/boot/dts/sun7i-a20.dtsi
159 +++ b/arch/arm/boot/dts/sun7i-a20.dtsi
160 @@ -448,6 +448,15 @@
161 };
162 };
163
164 + sata: ahci@01c18000 {
165 + compatible = "allwinner,sun4i-a10-ahci";
166 + reg = <0x01c18000 0x1000>;
167 + interrupts = <0 56 1>;
168 + clocks = <&ahb_gates 25>, <&pll6 0>;
169 + clock-names = "ahb_sata", "pll6_sata";
170 + status = "disabled";
171 + };
172 +
173 timer@01c20c00 {
174 compatible = "allwinner,sun4i-timer";
175 reg = <0x01c20c00 0x90>;
176 --
177 1.8.5.1
178