[PATCH v2 4/4] ARM: sun7i: dts: Add ahci / sata support
From: Hans de Goede <hidden>
Date: 2014-01-04 09:14:38
Also in:
linux-devicetree, linux-ide
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <redacted> Signed-off-by: Hans de Goede <redacted> --- 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(+)
diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
index 48777cd..a26711c 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts@@ -28,7 +28,19 @@ status = "okay"; }; + sata: ahci at 01c18000 { + pwr-supply = <®_ahci_5v>; + status = "okay"; + }; + pinctrl at 01c20800 { + ahci_pwr_pin_cubieboard2: ahci_pwr_pin at 0 { + allwinner,pins = "PB8"; + allwinner,function = "gpio_out"; + allwinner,drive = <0>; + allwinner,pull = <0>; + }; + mmc0_cd_pin_cubieboard2: mmc0_cd_pin at 0 { allwinner,pins = "PH1"; allwinner,function = "gpio_in";
@@ -86,4 +98,19 @@ 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; + }; + }; };
diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
index 2684f27..a5f3418 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts@@ -28,6 +28,11 @@ status = "okay"; }; + sata: ahci at 01c18000 { + pwr-supply = <®_ahci_5v>; + status = "okay"; + }; + pinctrl at 01c20800 { mmc0_cd_pin_cubietruck: mmc0_cd_pin at 0 { allwinner,pins = "PH1";
@@ -36,6 +41,13 @@ allwinner,pull = <0>; }; + ahci_pwr_pin_cubietruck: ahci_pwr_pin at 0 { + allwinner,pins = "PH12"; + allwinner,function = "gpio_out"; + allwinner,drive = <0>; + allwinner,pull = <0>; + }; + led_pins_cubietruck: led_pins at 0 { allwinner,pins = "PH7", "PH11", "PH20", "PH21"; allwinner,function = "gpio_out";
@@ -84,4 +96,19 @@ gpios = <&pio 7 7 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_cubietruck>; + gpio = <&pio 7 12 0>; + enable-active-high; + }; + }; };
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
index bf6f6c8..20b1000 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts@@ -37,7 +37,19 @@ status = "okay"; }; + sata: ahci at 01c18000 { + pwr-supply = <®_ahci_5v>; + status = "okay"; + }; + pinctrl at 01c20800 { + ahci_pwr_pin_olinuxinom: ahci_pwr_pin at 0 { + allwinner,pins = "PB8"; + allwinner,function = "gpio_out"; + allwinner,drive = <0>; + allwinner,pull = <0>; + }; + mmc0_cd_pin_olinuxinom: mmc0_cd_pin at 0 { allwinner,pins = "PH1"; allwinner,function = "gpio_in";
@@ -116,4 +128,18 @@ 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; + }; + }; };
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index c9c123a..3242a29 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi@@ -448,6 +448,15 @@ }; }; + sata: ahci at 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 at 01c20c00 { compatible = "allwinner,sun4i-timer"; reg = <0x01c20c00 0x90>;
--
1.8.4.2