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
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
10 Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
11 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
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(+)
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
27 + sata: ahci@01c18000 {
28 + pwr-supply = <®_ahci_5v>;
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>;
40 mmc0_cd_pin_cubieboard2: mmc0_cd_pin@0 {
41 allwinner,pins = "PH1";
42 allwinner,function = "gpio_in";
44 gpios = <&pio 7 20 0>;
49 + compatible = "simple-bus";
50 + pinctrl-names = "default";
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>;
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
71 + sata: ahci@01c18000 {
72 + pwr-supply = <®_ahci_5v>;
77 mmc0_cd_pin_cubietruck: mmc0_cd_pin@0 {
78 allwinner,pins = "PH1";
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>;
90 led_pins_cubietruck: led_pins@0 {
91 allwinner,pins = "PH7", "PH11", "PH20", "PH21";
92 allwinner,function = "gpio_out";
99 + compatible = "simple-bus";
100 + pinctrl-names = "default";
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;
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
121 + sata: ahci@01c18000 {
122 + pwr-supply = <®_ahci_5v>;
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>;
134 mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 {
135 allwinner,pins = "PH1";
136 allwinner,function = "gpio_in";
138 default-state = "on";
143 + compatible = "simple-bus";
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;
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
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";
174 compatible = "allwinner,sun4i-timer";
175 reg = <0x01c20c00 0x90>;