2014-02-05 08:42:28 +00:00
|
|
|
From 4ce1f4c3ab04a697e9861b77582077b905b3f8a0 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Hans de Goede <hdegoede@redhat.com>
|
|
|
|
Date: Fri, 3 Jan 2014 10:27:51 +0100
|
|
|
|
Subject: [PATCH] ARM: sun7i: dts: Add ahci / sata support
|
|
|
|
|
|
|
|
This patch adds sunxi sata support to A20 boards that have such a connector.
|
|
|
|
Some boards also feature a regulator via a GPIO and support for this is also
|
|
|
|
added.
|
|
|
|
|
|
|
|
Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
|
|
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
|
|
---
|
|
|
|
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 27 +++++++++++++++++++++++++
|
|
|
|
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 27 +++++++++++++++++++++++++
|
|
|
|
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 26 ++++++++++++++++++++++++
|
|
|
|
arch/arm/boot/dts/sun7i-a20.dtsi | 9 +++++++++
|
|
|
|
4 files changed, 89 insertions(+)
|
|
|
|
|
|
|
|
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
|
|
|
|
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
|
2014-02-13 13:27:14 +00:00
|
|
|
@@ -43,7 +43,19 @@
|
2014-02-05 08:42:28 +00:00
|
|
|
status = "okay";
|
|
|
|
};
|
|
|
|
|
|
|
|
+ sata: ahci@01c18000 {
|
|
|
|
+ pwr-supply = <®_ahci_5v>;
|
|
|
|
+ status = "okay";
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
pinctrl@01c20800 {
|
|
|
|
+ ahci_pwr_pin_cubieboard2: ahci_pwr_pin@0 {
|
|
|
|
+ allwinner,pins = "PB8";
|
|
|
|
+ allwinner,function = "gpio_out";
|
|
|
|
+ allwinner,drive = <0>;
|
|
|
|
+ allwinner,pull = <0>;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
mmc0_cd_pin_cubieboard2: mmc0_cd_pin@0 {
|
|
|
|
allwinner,pins = "PH1";
|
|
|
|
allwinner,function = "gpio_in";
|
2014-02-13 13:27:14 +00:00
|
|
|
@@ -93,4 +105,19 @@
|
2014-02-05 08:42:28 +00:00
|
|
|
gpios = <&pio 7 20 0>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
+
|
|
|
|
+ regulators {
|
|
|
|
+ compatible = "simple-bus";
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+
|
|
|
|
+ reg_ahci_5v: ahci-5v {
|
|
|
|
+ compatible = "regulator-fixed";
|
|
|
|
+ regulator-name = "ahci-5v";
|
|
|
|
+ regulator-min-microvolt = <5000000>;
|
|
|
|
+ regulator-max-microvolt = <5000000>;
|
|
|
|
+ pinctrl-0 = <&ahci_pwr_pin_cubieboard2>;
|
|
|
|
+ gpio = <&pio 1 8 0>;
|
|
|
|
+ enable-active-high;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
};
|
|
|
|
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
|
|
|
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
2014-02-13 13:27:14 +00:00
|
|
|
@@ -43,6 +43,11 @@
|
2014-02-05 08:42:28 +00:00
|
|
|
status = "okay";
|
|
|
|
};
|
|
|
|
|
|
|
|
+ sata: ahci@01c18000 {
|
|
|
|
+ pwr-supply = <®_ahci_5v>;
|
|
|
|
+ status = "okay";
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
pinctrl@01c20800 {
|
|
|
|
mmc0_cd_pin_cubietruck: mmc0_cd_pin@0 {
|
|
|
|
allwinner,pins = "PH1";
|
2014-02-13 13:27:14 +00:00
|
|
|
@@ -58,6 +63,13 @@
|
2014-02-05 08:42:28 +00:00
|
|
|
allwinner,pull = <0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
+ ahci_pwr_pin_cubietruck: ahci_pwr_pin@0 {
|
|
|
|
+ allwinner,pins = "PH12";
|
|
|
|
+ allwinner,function = "gpio_out";
|
|
|
|
+ allwinner,drive = <0>;
|
|
|
|
+ allwinner,pull = <0>;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
led_pins_cubietruck: led_pins@0 {
|
|
|
|
allwinner,pins = "PH7", "PH11", "PH20", "PH21";
|
|
|
|
allwinner,function = "gpio_out";
|
2014-02-13 13:27:14 +00:00
|
|
|
@@ -149,4 +161,19 @@
|
|
|
|
gpio = <&pio 7 3 0>;
|
2014-02-05 08:42:28 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
+
|
|
|
|
+ regulators {
|
|
|
|
+ compatible = "simple-bus";
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+
|
|
|
|
+ reg_ahci_5v: ahci-5v {
|
|
|
|
+ compatible = "regulator-fixed";
|
|
|
|
+ regulator-name = "ahci-5v";
|
|
|
|
+ regulator-min-microvolt = <5000000>;
|
|
|
|
+ regulator-max-microvolt = <5000000>;
|
|
|
|
+ pinctrl-0 = <&ahci_pwr_pin_cubietruck>;
|
|
|
|
+ gpio = <&pio 7 12 0>;
|
|
|
|
+ enable-active-high;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
};
|
|
|
|
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
|
|
|
|
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
|
2014-02-13 13:27:14 +00:00
|
|
|
@@ -52,7 +52,19 @@
|
2014-02-05 08:42:28 +00:00
|
|
|
status = "okay";
|
|
|
|
};
|
|
|
|
|
|
|
|
+ sata: ahci@01c18000 {
|
|
|
|
+ pwr-supply = <®_ahci_5v>;
|
|
|
|
+ status = "okay";
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
pinctrl@01c20800 {
|
|
|
|
+ ahci_pwr_pin_olinuxinom: ahci_pwr_pin@0 {
|
|
|
|
+ allwinner,pins = "PB8";
|
|
|
|
+ allwinner,function = "gpio_out";
|
|
|
|
+ allwinner,drive = <0>;
|
|
|
|
+ allwinner,pull = <0>;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 {
|
|
|
|
allwinner,pins = "PH1";
|
|
|
|
allwinner,function = "gpio_in";
|
2014-02-13 13:27:14 +00:00
|
|
|
@@ -123,4 +135,18 @@
|
2014-02-05 08:42:28 +00:00
|
|
|
default-state = "on";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
+
|
|
|
|
+ regulators {
|
|
|
|
+ compatible = "simple-bus";
|
|
|
|
+
|
|
|
|
+ reg_ahci_5v: ahci-5v {
|
|
|
|
+ compatible = "regulator-fixed";
|
|
|
|
+ regulator-name = "ahci-5v";
|
|
|
|
+ regulator-min-microvolt = <5000000>;
|
|
|
|
+ regulator-max-microvolt = <5000000>;
|
|
|
|
+ pinctrl-0 = <&ahci_pwr_pin_olinuxinom>;
|
|
|
|
+ gpio = <&pio 1 8 0>;
|
|
|
|
+ enable-active-high;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
};
|
|
|
|
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
|
|
|
|
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
|
2014-02-13 13:27:14 +00:00
|
|
|
@@ -433,6 +433,15 @@
|
2014-02-05 08:42:28 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
+ sata: ahci@01c18000 {
|
|
|
|
+ compatible = "allwinner,sun4i-a10-ahci";
|
|
|
|
+ reg = <0x01c18000 0x1000>;
|
|
|
|
+ interrupts = <0 56 1>;
|
|
|
|
+ clocks = <&ahb_gates 25>, <&pll6 0>;
|
|
|
|
+ clock-names = "ahb_sata", "pll6_sata";
|
|
|
|
+ status = "disabled";
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
timer@01c20c00 {
|
|
|
|
compatible = "allwinner,sun4i-timer";
|
|
|
|
reg = <0x01c20c00 0x90>;
|