Re: [PATCH v5 13/14] ARM: sun4i: dts: Add ahci / sata support
From: Chen-Yu Tsai <hidden>
Date: 2014-01-23 08:34:54
Also in:
linux-arm-kernel, linux-ide
Hi, On Thu, Jan 23, 2014 at 3:04 AM, Hans de Goede [off-list ref] wrote:
quoted hunk
From: Oliver Schinagl <redacted> This patch adds sunxi sata support to A10 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/sun4i-a10-a1000.dts | 4 ++++ arch/arm/boot/dts/sun4i-a10-cubieboard.dts | 6 +++++ arch/arm/boot/dts/sun4i-a10.dtsi | 8 +++++++ arch/arm/boot/dts/sunxi-ahci-reg.dtsi | 38 ++++++++++++++++++++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 arch/arm/boot/dts/sunxi-ahci-reg.dtsidiff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts index aef8207..3fb7305 100644 --- a/arch/arm/boot/dts/sun4i-a10-a1000.dts +++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts@@ -48,6 +48,10 @@ status = "okay"; }; + ahci: sata@01c18000 { + status = "okay"; + }; + pinctrl@01c20800 { mmc0_cd_pin_a1000: mmc0_cd_pin@0 { allwinner,pins = "PH1";diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts index f50fb2b..6ae1110 100644 --- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts +++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts@@ -12,6 +12,7 @@ /dts-v1/; /include/ "sun4i-a10.dtsi" +/include/ "sunxi-ahci-reg.dtsi" / { model = "Cubietech Cubieboard";@@ -51,6 +52,11 @@ status = "okay"; }; + ahci: sata@01c18000 { + target-supply = <®_ahci_5v>; + status = "okay"; + }; + pinctrl@01c20800 { mmc0_cd_pin_cubieboard: mmc0_cd_pin@0 { allwinner,pins = "PH1";diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi index 4736dd2..198dcda 100644 --- a/arch/arm/boot/dts/sun4i-a10.dtsi +++ b/arch/arm/boot/dts/sun4i-a10.dtsi@@ -331,6 +331,14 @@ status = "disabled"; }; + ahci: sata@01c18000 { + compatible = "allwinner,sun4i-a10-ahci"; + reg = <0x01c18000 0x1000>; + interrupts = <56>; + clocks = <&pll6 0>, <&ahb_gates 25>; + status = "disabled"; + }; +
Consider adding
pinctrl-names = "default";
in the ahci node to suppress "default pin state not found" warnings.
Same goes for sun7i-a20.dtsi.
quoted hunk
intc: interrupt-controller@01c20400 { compatible = "allwinner,sun4i-ic"; reg = <0x01c20400 0x400>;diff --git a/arch/arm/boot/dts/sunxi-ahci-reg.dtsi b/arch/arm/boot/dts/sunxi-ahci-reg.dtsi new file mode 100644 index 0000000..955b197 --- /dev/null +++ b/arch/arm/boot/dts/sunxi-ahci-reg.dtsi@@ -0,0 +1,38 @@ +/* + * sunxi boards sata target power supply common code + * + * Copyright 2014 - Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> + * + * The code contained herein is licensed under the GNU General Public + * License. You may obtain a copy of the GNU General Public License + * Version 2 or later at the following locations: + * + * http://www.opensource.org/licenses/gpl-license.html + * http://www.gnu.org/copyleft/gpl.html + */ + +/ { + soc@01c00000 {
This block needs to be under
pinctrl@01c20800 {
+ ahci_pwr_pin_a: ahci_pwr_pin@0 {
+ allwinner,pins = "PB8";
+ allwinner,function = "gpio_out";
+ allwinner,drive = <0>;
+ allwinner,pull = <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_a>;
+ gpio = <&pio 1 8 0>;
+ enable-active-high;
+ };
+ };
+};
--
1.8.5.3Great work! Thanks! ChenYu