ARM: sunxi: dt: ahci, ehci and ohci support
Subsystems (3)
cover ARM: sunxi: dt: ahci, ehci and ohci support
Hi Maxime,
With all USB and AHCI bits going upstream for 3.15, here are the matching dts bits for AHCI and USB host support.
As an added bonus I've also thrown in 2 new boards (already with ahci and usb support).
Please let me know if these need any fixups, and if not please add them to your dt-for-3.15 branch. Note they are based on top of that branch so they should apply cleanly.
Regards,
Hans
PATCH 1/19 ARM: sunxi: dt: Add sunxi-common-regulators include file
Most sunxi boards with a sata connector also have a gpio controlled connector for sata target power and almost all sunxi boards have a gpio controlled vbus for usb1 and usb2.
This commit adds an include file for the regulators representing these supplies, avoiding the need to copy and paste the regulator code to allmost all sunxi board dts files.
--- arch/arm/boot/dts/sunxi-common-regulators.dtsi | 75 ++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 arch/arm/boot/dts/sunxi-common-regulators.dtsi
arch/arm/boot/dts/sunxi-common-regulators.dtsi new file +75 -0
@@ -0,0 +1,75 @@ +/* + * sunxi boards common regulator (ahci target power supply, usb-vbus) code + * + * Copyright 2014 - Hans de Goede <[email protected]> + * + * 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 at 01c00000 { + pio: pinctrl at 01c20800 { + ahci_pwr_pin_a: ahci_pwr_pin at 0 { + allwinner,pins = "PB8"; + allwinner,function = "gpio_out"; + allwinner,drive = <0>; + allwinner,pull = <0>; + }; + + usb1_vbus_pin_a: usb1_vbus_pin at 0 { + allwinner,pins = "PH6"; + allwinner,function = "gpio_out"; + allwinner,drive = <0>; + allwinner,pull = <0>; + }; + + usb2_vbus_pin_a: usb2_vbus_pin at 0 { + allwinner,pins = "PH3"; + allwinner,function = "gpio_out"; + allwinner,drive = <0>; + allwinner,pull = <0>; + }; + }; + }; + + reg_ahci_5v: ahci-5v { + compatible = "regulator-fixed"; + pinctrl-names = "default"; + pinctrl-0 = <&ahci_pwr_pin_a>; + regulator-name = "ahci-5v"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + enable-active-high; + gpio = <&pio 1 8 0>; + status = "disabled"; + }; + + reg_usb1_vbus: usb1-vbus { + compatible = "regulator-fixed"; + pinctrl-names = "default"; + pinctrl-0 = <&usb1_vbus_pin_a>; + regulator-name = "usb1-vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + enable-active-high; + gpio = <&pio 7 6 0>; + status = "disabled"; + }; + + reg_usb2_vbus: usb2-vbus { + compatible = "regulator-fixed"; + pinctrl-names = "default"; + pinctrl-0 = <&usb2_vbus_pin_a>; + regulator-name = "usb2-vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + enable-active-high; + gpio = <&pio 7 3 0>; + status = "disabled"; + }; +};
Signature · 1 line
1.9.0
PATCH 2/19 ARM: sun4i: dt: Add ahci / sata support
In reply to Hans de GoedeFrom: Oliver Schinagl <[email protected]>
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.
--- arch/arm/boot/dts/sun4i-a10-a1000.dts | 4 ++++ arch/arm/boot/dts/sun4i-a10-cubieboard.dts | 10 ++++++++++ arch/arm/boot/dts/sun4i-a10.dtsi | 8 ++++++++ 3 files changed, 22 insertions(+)
arch/arm/boot/dts/sun4i-a10-a1000.dts +4 -0
@@ -35,6 +35,10 @@ }; }; + ahci: sata at 01c18000 { + status = "okay"; + }; + pinctrl at 01c20800 { emac_power_pin_a1000: emac_power_pin at 0 { allwinner,pins = "PH15";
arch/arm/boot/dts/sun4i-a10-cubieboard.dts +10 -0
@@ -12,6 +12,7 @@ /dts-v1/; /include/ "sun4i-a10.dtsi" +/include/ "sunxi-common-regulators.dtsi" / { model = "Cubietech Cubieboard";
@@ -33,6 +34,11 @@ }; }; + ahci: sata at 01c18000 { + target-supply = <®_ahci_5v>; + status = "okay"; + }; + pinctrl at 01c20800 { led_pins_cubieboard: led_pins at 0 { allwinner,pins = "PH20", "PH21";
@@ -77,4 +83,8 @@ linux,default-trigger = "heartbeat"; }; }; + + reg_ahci_5v: ahci-5v { + status = "okay"; + }; };
arch/arm/boot/dts/sun4i-a10.dtsi +8 -0
@@ -388,6 +388,14 @@ #size-cells = <0>; }; + ahci: sata at 01c18000 { + compatible = "allwinner,sun4i-a10-ahci"; + reg = <0x01c18000 0x1000>; + interrupts = <56>; + clocks = <&pll6 0>, <&ahb_gates 25>; + status = "disabled"; + }; + spi3: spi at 01c1f000 { compatible = "allwinner,sun4i-a10-spi"; reg = <0x01c1f000 0x1000>;
Signature · 1 line
1.9.0
PATCH 3/19 ARM: sun7i: dt: Add ahci / sata support
In reply to Hans de GoedeThis 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.
--- arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 10 ++++++++++ arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 19 +++++++++++++++++++ arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 10 ++++++++++ arch/arm/boot/dts/sun7i-a20.dtsi | 8 ++++++++ 4 files changed, 47 insertions(+)
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts +10 -0
@@ -13,12 +13,18 @@ /dts-v1/; /include/ "sun7i-a20.dtsi" +/include/ "sunxi-common-regulators.dtsi" / { model = "Cubietech Cubieboard2"; compatible = "cubietech,cubieboard2", "allwinner,sun7i-a20"; soc at 01c00000 { + ahci: sata at 01c18000 { + target-supply = <®_ahci_5v>; + status = "okay"; + }; + pinctrl at 01c20800 { led_pins_cubieboard2: led_pins at 0 { allwinner,pins = "PH20", "PH21";
@@ -74,4 +80,8 @@ gpios = <&pio 7 20 0>; }; }; + + reg_ahci_5v: ahci-5v { + status = "okay"; + }; };
arch/arm/boot/dts/sun7i-a20-cubietruck.dts +19 -0
@@ -13,13 +13,26 @@ /dts-v1/; /include/ "sun7i-a20.dtsi" +/include/ "sunxi-common-regulators.dtsi" / { model = "Cubietech Cubietruck"; compatible = "cubietech,cubietruck", "allwinner,sun7i-a20"; soc at 01c00000 { + ahci: sata at 01c18000 { + target-supply = <®_ahci_5v>; + status = "okay"; + }; + pinctrl at 01c20800 { + ahci_pwr_pin_cubietruck: ahci_pwr_pin at 1 { + 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";
@@ -90,4 +103,10 @@ gpios = <&pio 7 7 0>; }; }; + + reg_ahci_5v: ahci-5v { + pinctrl-0 = <&ahci_pwr_pin_cubietruck>; + gpio = <&pio 7 12 0>; + status = "okay"; + }; };
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts +10 -0
@@ -13,6 +13,7 @@ /dts-v1/; /include/ "sun7i-a20.dtsi" +/include/ "sunxi-common-regulators.dtsi" / { model = "Olimex A20-Olinuxino Micro";
@@ -36,6 +37,11 @@ status = "okay"; }; + ahci: sata at 01c18000 { + target-supply = <®_ahci_5v>; + status = "okay"; + }; + pinctrl at 01c20800 { led_pins_olinuxino: led_pins at 0 { allwinner,pins = "PH2";
@@ -105,4 +111,8 @@ default-state = "on"; }; }; + + reg_ahci_5v: ahci-5v { + status = "okay"; + }; };
arch/arm/boot/dts/sun7i-a20.dtsi +8 -0
@@ -450,6 +450,14 @@ #size-cells = <0>; }; + ahci: sata at 01c18000 { + compatible = "allwinner,sun4i-a10-ahci"; + reg = <0x01c18000 0x1000>; + interrupts = <0 56 4>; + clocks = <&pll6 0>, <&ahb_gates 25>; + status = "disabled"; + }; + spi3: spi at 01c1f000 { compatible = "allwinner,sun4i-a10-spi"; reg = <0x01c1f000 0x1000>;
Signature · 1 line
1.9.0
PATCH 4/19 ARM: sun4i: dt: Add USB host bindings
In reply to Hans de GoedeFrom: Roman Byshko <[email protected]>
Add nodes for the usb-phy and ehci- and ohci-usb-host controllers.
--- arch/arm/boot/dts/sun4i-a10.dtsi | 52 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+)
arch/arm/boot/dts/sun4i-a10.dtsi +52 -0
@@ -377,6 +377,38 @@ #size-cells = <0>; }; + usbphy: phy at 01c13400 { + #phy-cells = <1>; + compatible = "allwinner,sun4i-a10-usb-phy"; + reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>; + reg-names = "phy_ctrl", "pmu1", "pmu2"; + clocks = <&usb_clk 8>; + clock-names = "usb_phy"; + resets = <&usb_clk 1>, <&usb_clk 2>; + reset-names = "usb1_reset", "usb2_reset"; + status = "disabled"; + }; + + ehci0: usb at 01c14000 { + compatible = "allwinner,sun4i-a10-ehci", "generic-ehci"; + reg = <0x01c14000 0x100>; + interrupts = <39>; + clocks = <&ahb_gates 1>; + phys = <&usbphy 1>; + phy-names = "usb"; + status = "disabled"; + }; + + ohci0: usb at 01c14400 { + compatible = "allwinner,sun4i-a10-ohci", "generic-ohci"; + reg = <0x01c14400 0x100>; + interrupts = <64>; + clocks = <&usb_clk 6>, <&ahb_gates 2>; + phys = <&usbphy 1>; + phy-names = "usb"; + status = "disabled"; + }; + spi2: spi at 01c17000 { compatible = "allwinner,sun4i-a10-spi"; reg = <0x01c17000 0x1000>;
@@ -396,6 +428,26 @@ status = "disabled"; }; + ehci1: usb at 01c1c000 { + compatible = "allwinner,sun4i-a10-ehci", "generic-ehci"; + reg = <0x01c1c000 0x100>; + interrupts = <40>; + clocks = <&ahb_gates 3>; + phys = <&usbphy 2>; + phy-names = "usb"; + status = "disabled"; + }; + + ohci1: usb at 01c1c400 { + compatible = "allwinner,sun4i-a10-ohci", "generic-ohci"; + reg = <0x01c1c400 0x100>; + interrupts = <65>; + clocks = <&usb_clk 7>, <&ahb_gates 4>; + phys = <&usbphy 2>; + phy-names = "usb"; + status = "disabled"; + }; + spi3: spi at 01c1f000 { compatible = "allwinner,sun4i-a10-spi"; reg = <0x01c1f000 0x1000>;
Signature · 1 line
1.9.0
PATCH 5/19 ARM: sun5i: dt: Add USB host bindings
In reply to Hans de GoedeFrom: Roman Byshko <[email protected]>
Add nodes for the usb-phy and ehci- and ohci-usb-host controllers.
--- arch/arm/boot/dts/sun5i-a10s.dtsi | 32 ++++++++++++++++++++++++++++++++ arch/arm/boot/dts/sun5i-a13.dtsi | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+)
arch/arm/boot/dts/sun5i-a10s.dtsi +32 -0
@@ -338,6 +338,38 @@ #size-cells = <0>; }; + usbphy: phy at 01c13400 { + #phy-cells = <1>; + compatible = "allwinner,sun5i-a13-usb-phy"; + reg = <0x01c13400 0x10 0x01c14800 0x4>; + reg-names = "phy_ctrl", "pmu1"; + clocks = <&usb_clk 8>; + clock-names = "usb_phy"; + resets = <&usb_clk 1>; + reset-names = "usb1_reset"; + status = "disabled"; + }; + + ehci0: usb at 01c14000 { + compatible = "allwinner,sun5i-a10s-ehci", "generic-ehci"; + reg = <0x01c14000 0x100>; + interrupts = <39>; + clocks = <&ahb_gates 1>; + phys = <&usbphy 1>; + phy-names = "usb"; + status = "disabled"; + }; + + ohci0: usb at 01c14400 { + compatible = "allwinner,sun5i-a10s-ohci", "generic-ohci"; + reg = <0x01c14400 0x100>; + interrupts = <40>; + clocks = <&usb_clk 6>, <&ahb_gates 2>; + phys = <&usbphy 1>; + phy-names = "usb"; + status = "disabled"; + }; + spi2: spi at 01c17000 { compatible = "allwinner,sun4i-a10-spi"; reg = <0x01c17000 0x1000>;
arch/arm/boot/dts/sun5i-a13.dtsi +32 -0
@@ -320,6 +320,38 @@ #size-cells = <0>; }; + usbphy: phy at 01c13400 { + #phy-cells = <1>; + compatible = "allwinner,sun5i-a13-usb-phy"; + reg = <0x01c13400 0x10 0x01c14800 0x4>; + reg-names = "phy_ctrl", "pmu1"; + clocks = <&usb_clk 8>; + clock-names = "usb_phy"; + resets = <&usb_clk 1>; + reset-names = "usb1_reset"; + status = "disabled"; + }; + + ehci0: usb at 01c14000 { + compatible = "allwinner,sun5i-a13-ehci", "generic-ehci"; + reg = <0x01c14000 0x100>; + interrupts = <39>; + clocks = <&ahb_gates 1>; + phys = <&usbphy 1>; + phy-names = "usb"; + status = "disabled"; + }; + + ohci0: usb at 01c14400 { + compatible = "allwinner,sun5i-a13-ohci", "generic-ohci"; + reg = <0x01c14400 0x100>; + interrupts = <40>; + clocks = <&usb_clk 6>, <&ahb_gates 2>; + phys = <&usbphy 1>; + phy-names = "usb"; + status = "disabled"; + }; + spi2: spi at 01c17000 { compatible = "allwinner,sun4i-a10-spi"; reg = <0x01c17000 0x1000>;
Signature · 1 line
1.9.0
PATCH 6/19 ARM: sun7i: dt: Add USB host bindings
In reply to Hans de GoedeFrom: Roman Byshko <[email protected]>
Add nodes for the usb-phy and ehci- and ohci-usb-host controllers.
--- arch/arm/boot/dts/sun7i-a20.dtsi | 52 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+)
arch/arm/boot/dts/sun7i-a20.dtsi +52 -0
@@ -439,6 +439,38 @@ #size-cells = <0>; }; + usbphy: phy at 01c13400 { + #phy-cells = <1>; + compatible = "allwinner,sun7i-a20-usb-phy"; + reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>; + reg-names = "phy_ctrl", "pmu1", "pmu2"; + clocks = <&usb_clk 8>; + clock-names = "usb_phy"; + resets = <&usb_clk 1>, <&usb_clk 2>; + reset-names = "usb1_reset", "usb2_reset"; + status = "disabled"; + }; + + ehci0: usb at 01c14000 { + compatible = "allwinner,sun7i-a20-ehci", "generic-ehci"; + reg = <0x01c14000 0x100>; + interrupts = <0 39 4>; + clocks = <&ahb_gates 1>; + phys = <&usbphy 1>; + phy-names = "usb"; + status = "disabled"; + }; + + ohci0: usb at 01c14400 { + compatible = "allwinner,sun7i-a20-ohci", "generic-ohci"; + reg = <0x01c14400 0x100>; + interrupts = <0 64 4>; + clocks = <&usb_clk 6>, <&ahb_gates 2>; + phys = <&usbphy 1>; + phy-names = "usb"; + status = "disabled"; + }; + spi2: spi at 01c17000 { compatible = "allwinner,sun4i-a10-spi"; reg = <0x01c17000 0x1000>;
@@ -458,6 +490,26 @@ status = "disabled"; }; + ehci1: usb at 01c1c000 { + compatible = "allwinner,sun7i-a20-ehci", "generic-ehci"; + reg = <0x01c1c000 0x100>; + interrupts = <0 40 4>; + clocks = <&ahb_gates 3>; + phys = <&usbphy 2>; + phy-names = "usb"; + status = "disabled"; + }; + + ohci1: usb at 01c1c400 { + compatible = "allwinner,sun7i-a20-ohci", "generic-ohci"; + reg = <0x01c1c400 0x100>; + interrupts = <0 65 4>; + clocks = <&usb_clk 7>, <&ahb_gates 4>; + phys = <&usbphy 2>; + phy-names = "usb"; + status = "disabled"; + }; + spi3: spi at 01c1f000 { compatible = "allwinner,sun4i-a10-spi"; reg = <0x01c1f000 0x1000>;
Signature · 1 line
1.9.0
PATCH 7/19 ARM: sun4i: dt: Add USB host nodes to Mele A1000 dts
In reply to Hans de GoedeFrom: Roman Byshko <[email protected]>
Add nodes for the usb-phy and ehci- and ohci-usb-host controllers.
--- arch/arm/boot/dts/sun4i-a10-a1000.dts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)
arch/arm/boot/dts/sun4i-a10-a1000.dts +31 -0
@@ -13,6 +13,7 @@ /dts-v1/; /include/ "sun4i-a10.dtsi" +/include/ "sunxi-common-regulators.dtsi" / { model = "Mele A1000";
@@ -35,10 +36,32 @@ }; }; + usbphy: phy at 01c13400 { + usb1_vbus-supply = <®_usb1_vbus>; + usb2_vbus-supply = <®_usb2_vbus>; + status = "okay"; + }; + + ehci0: usb at 01c14000 { + status = "okay"; + }; + + ohci0: usb at 01c14400 { + status = "okay"; + }; + ahci: sata at 01c18000 { status = "okay"; }; + ehci1: usb at 01c1c000 { + status = "okay"; + }; + + ohci1: usb at 01c1c400 { + status = "okay"; + }; + pinctrl at 01c20800 { emac_power_pin_a1000: emac_power_pin at 0 { allwinner,pins = "PH15";
@@ -94,4 +117,12 @@ enable-active-high; gpio = <&pio 7 15 0>; }; + + reg_usb1_vbus: usb1-vbus { + status = "okay"; + }; + + reg_usb2_vbus: usb2-vbus { + status = "okay"; + }; };
Signature · 1 line
1.9.0
PATCH 8/19 ARM: sun4i: dt: Add USB host nodes to cubieboard dts
In reply to Hans de GoedeFrom: Roman Byshko <[email protected]>
Add nodes for the usb-phy and ehci- and ohci-usb-host controllers.
--- arch/arm/boot/dts/sun4i-a10-cubieboard.dts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
arch/arm/boot/dts/sun4i-a10-cubieboard.dts +30 -0
@@ -34,11 +34,33 @@ }; }; + usbphy: phy at 01c13400 { + usb1_vbus-supply = <®_usb1_vbus>; + usb2_vbus-supply = <®_usb2_vbus>; + status = "okay"; + }; + + ehci0: usb at 01c14000 { + status = "okay"; + }; + + ohci0: usb at 01c14400 { + status = "okay"; + }; + ahci: sata at 01c18000 { target-supply = <®_ahci_5v>; status = "okay"; }; + ehci1: usb at 01c1c000 { + status = "okay"; + }; + + ohci1: usb at 01c1c400 { + status = "okay"; + }; + pinctrl at 01c20800 { led_pins_cubieboard: led_pins at 0 { allwinner,pins = "PH20", "PH21";
@@ -87,4 +109,12 @@ reg_ahci_5v: ahci-5v { status = "okay"; }; + + reg_usb1_vbus: usb1-vbus { + status = "okay"; + }; + + reg_usb2_vbus: usb2-vbus { + status = "okay"; + }; };
Signature · 1 line
1.9.0
PATCH 9/19 ARM: sun4i: dt: Add USB host nodes to hackberry dts
In reply to Hans de GoedeAdd nodes for the usb-phy and ehci- and ohci-usb-host controllers.
Based on fex file settings, the fex file also contains a mysterious line:usb_hub_vcc_en_gpio = port:PB09<1><0><default><0>
Which also clashes with usbc0, which has:usb_drv_vbus_gpio = port:PB09<1><0><default><0>
So if usb does not work properly we need someone with a hackberry to look closer into this.
--- arch/arm/boot/dts/sun4i-a10-hackberry.dts | 40 +++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+)
arch/arm/boot/dts/sun4i-a10-hackberry.dts +40 -0
@@ -13,6 +13,7 @@ /dts-v1/; /include/ "sun4i-a10.dtsi" +/include/ "sunxi-common-regulators.dtsi" / { model = "Miniand Hackberry";
@@ -35,6 +36,28 @@ }; }; + usbphy: phy at 01c13400 { + usb1_vbus-supply = <®_usb1_vbus>; + usb2_vbus-supply = <®_usb2_vbus>; + status = "okay"; + }; + + ehci0: usb at 01c14000 { + status = "okay"; + }; + + ohci0: usb at 01c14400 { + status = "okay"; + }; + + ehci1: usb at 01c1c000 { + status = "okay"; + }; + + ohci1: usb at 01c1c400 { + status = "okay"; + }; + pio: pinctrl at 01c20800 { pinctrl-names = "default"; pinctrl-0 = <&hackberry_hogs>;
@@ -45,6 +68,13 @@ allwinner,drive = <0>; allwinner,pull = <0>; }; + + usb2_vbus_pin_hackberry: usb2_vbus_pin at 0 { + allwinner,pins = "PH12"; + allwinner,function = "gpio_out"; + allwinner,drive = <0>; + allwinner,pull = <0>; + }; }; uart0: serial at 01c28000 {
@@ -62,4 +92,14 @@ enable-active-high; gpio = <&pio 7 19 0>; }; + + reg_usb1_vbus: usb1-vbus { + status = "okay"; + }; + + reg_usb2_vbus: usb2-vbus { + pinctrl-0 = <&usb2_vbus_pin_hackberry>; + gpio = <&pio 7 12 0>; + status = "okay"; + }; };
Signature · 1 line
1.9.0
PATCH 10/19 ARM: sun4i: dt: Add USB host nodes to mini-xplus dts
In reply to Hans de GoedeAdd nodes for the usb-phy and ehci- and ohci-usb-host controllers.
--- arch/arm/boot/dts/sun4i-a10-mini-xplus.dts | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)
arch/arm/boot/dts/sun4i-a10-mini-xplus.dts +31 -0
@@ -13,16 +13,47 @@ /dts-v1/; /include/ "sun4i-a10.dtsi" +/include/ "sunxi-common-regulators.dtsi" / { model = "PineRiver Mini X-Plus"; compatible = "pineriver,mini-xplus", "allwinner,sun4i-a10"; soc at 01c00000 { + usbphy: phy at 01c13400 { + usb1_vbus-supply = <®_usb1_vbus>; + usb2_vbus-supply = <®_usb2_vbus>; + status = "okay"; + }; + + ehci0: usb at 01c14000 { + status = "okay"; + }; + + ohci0: usb at 01c14400 { + status = "okay"; + }; + + ehci1: usb at 01c1c000 { + status = "okay"; + }; + + ohci1: usb at 01c1c400 { + status = "okay"; + }; + uart0: serial at 01c28000 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins_a>; status = "okay"; }; }; + + reg_usb1_vbus: usb1-vbus { + status = "okay"; + }; + + reg_usb2_vbus: usb2-vbus { + status = "okay"; + }; };
Signature · 1 line
1.9.0
PATCH 11/19 ARM: sun4i: dt: Add USB host nodes to pcduino.dts
In reply to Hans de Goede--- arch/arm/boot/dts/sun4i-a10-pcduino.dts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)
arch/arm/boot/dts/sun4i-a10-pcduino.dts +31 -0
@@ -12,6 +12,7 @@ /dts-v1/; /include/ "sun4i-a10.dtsi" +/include/ "sunxi-common-regulators.dtsi" / { model = "LinkSprite pcDuino";
@@ -33,6 +34,28 @@ }; }; + usbphy: phy at 01c13400 { + usb1_vbus-supply = <®_usb1_vbus>; + usb2_vbus-supply = <®_usb2_vbus>; + status = "okay"; + }; + + ehci0: usb at 01c14000 { + status = "okay"; + }; + + ohci0: usb at 01c14400 { + status = "okay"; + }; + + ehci1: usb at 01c1c000 { + status = "okay"; + }; + + ohci1: usb at 01c1c400 { + status = "okay"; + }; + uart0: serial at 01c28000 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins_a>;
@@ -45,4 +68,12 @@ status = "okay"; }; }; + + reg_usb1_vbus: usb1-vbus { + status = "okay"; + }; + + reg_usb2_vbus: usb2-vbus { + status = "okay"; + }; };
Signature · 1 line
1.9.0
PATCH 12/19 ARM: sun5i: dt: Add USB host nodes to A13-Olinuxino
In reply to Hans de GoedeFrom: Roman Byshko <[email protected]>
Add nodes for the usb-phy and ehci- and ohci-usb-host controllers.
--- arch/arm/boot/dts/sun5i-a13-olinuxino.dts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
arch/arm/boot/dts/sun5i-a13-olinuxino.dts +27 -0
@@ -13,12 +13,26 @@ /dts-v1/; /include/ "sun5i-a13.dtsi" +/include/ "sunxi-common-regulators.dtsi" / { model = "Olimex A13-Olinuxino"; compatible = "olimex,a13-olinuxino", "allwinner,sun5i-a13"; soc at 01c00000 { + usbphy: phy at 01c13400 { + usb1_vbus-supply = <®_usb1_vbus>; + status = "okay"; + }; + + ehci0: usb at 01c14000 { + status = "okay"; + }; + + ohci0: usb at 01c14400 { + status = "okay"; + }; + pinctrl at 01c20800 { led_pins_olinuxino: led_pins at 0 { allwinner,pins = "PG9";
@@ -26,6 +40,13 @@ allwinner,drive = <1>; allwinner,pull = <0>; }; + + usb1_vbus_pin_olinuxino: usb1_vbus_pin at 0 { + allwinner,pins = "PG11"; + allwinner,function = "gpio_out"; + allwinner,drive = <0>; + allwinner,pull = <0>; + }; }; uart1: serial at 01c28400 {
@@ -63,4 +84,10 @@ default-state = "on"; }; }; + + reg_usb1_vbus: usb1-vbus { + pinctrl-0 = <&usb1_vbus_pin_olinuxino>; + gpio = <&pio 6 11 0>; + status = "okay"; + }; };
Signature · 1 line
1.9.0
PATCH 13/19 ARM: sun5i: dt: Add USB host nodes to a10s-olinuxino-micro
In reply to Hans de GoedeAdd nodes for the usb-phy and ehci- and ohci-usb-host controllers.
--- arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts +27 -0
@@ -13,6 +13,7 @@ /dts-v1/; /include/ "sun5i-a10s.dtsi" +/include/ "sunxi-common-regulators.dtsi" / { model = "Olimex A10s-Olinuxino Micro";
@@ -34,6 +35,19 @@ }; }; + usbphy: phy at 01c13400 { + usb1_vbus-supply = <®_usb1_vbus>; + status = "okay"; + }; + + ehci0: usb at 01c14000 { + status = "okay"; + }; + + ohci0: usb at 01c14400 { + status = "okay"; + }; + pinctrl at 01c20800 { led_pins_olinuxino: led_pins at 0 { allwinner,pins = "PE3";
@@ -41,6 +55,13 @@ allwinner,drive = <1>; allwinner,pull = <0>; }; + + usb1_vbus_pin_olinuxino_m: usb1_vbus_pin at 0 { + allwinner,pins = "PB10"; + allwinner,function = "gpio_out"; + allwinner,drive = <0>; + allwinner,pull = <0>; + }; }; uart0: serial at 01c28000 {
@@ -98,4 +119,10 @@ default-state = "on"; }; }; + + reg_usb1_vbus: usb1-vbus { + pinctrl-0 = <&usb1_vbus_pin_olinuxino_m>; + gpio = <&pio 1 10 0>; + status = "okay"; + }; };
Signature · 1 line
1.9.0
PATCH 14/19 ARM: sun5i: dt: Add USB host nodes to a13-olinuxino-micro
In reply to Hans de GoedeAdd nodes for the usb-phy and ehci- and ohci-usb-host controllers.
--- arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts +27 -0
@@ -14,12 +14,26 @@ /dts-v1/; /include/ "sun5i-a13.dtsi" +/include/ "sunxi-common-regulators.dtsi" / { model = "Olimex A13-Olinuxino Micro"; compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13"; soc at 01c00000 { + usbphy: phy at 01c13400 { + usb1_vbus-supply = <®_usb1_vbus>; + status = "okay"; + }; + + ehci0: usb at 01c14000 { + status = "okay"; + }; + + ohci0: usb at 01c14400 { + status = "okay"; + }; + pinctrl at 01c20800 { led_pins_olinuxinom: led_pins at 0 { allwinner,pins = "PG9";
@@ -27,6 +41,13 @@ allwinner,drive = <1>; allwinner,pull = <0>; }; + + usb1_vbus_pin_olinuxinom: usb1_vbus_pin at 0 { + allwinner,pins = "PG11"; + allwinner,function = "gpio_out"; + allwinner,drive = <0>; + allwinner,pull = <0>; + }; }; uart1: serial at 01c28400 {
@@ -65,4 +86,10 @@ default-state = "on"; }; }; + + reg_usb1_vbus: usb1-vbus { + pinctrl-0 = <&usb1_vbus_pin_olinuxinom>; + gpio = <&pio 6 11 0>; + status = "okay"; + }; };
Signature · 1 line
1.9.0
PATCH 15/19 ARM: sun7i: dt: Add USB host nodes to cubietruck dts
In reply to Hans de GoedeAdd nodes for the usb-phy and ehci- and ohci-usb-host controllers.
--- arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
arch/arm/boot/dts/sun7i-a20-cubietruck.dts +30 -0
@@ -20,11 +20,33 @@ compatible = "cubietech,cubietruck", "allwinner,sun7i-a20"; soc at 01c00000 { + usbphy: phy at 01c13400 { + usb1_vbus-supply = <®_usb1_vbus>; + usb2_vbus-supply = <®_usb2_vbus>; + status = "okay"; + }; + + ehci0: usb at 01c14000 { + status = "okay"; + }; + + ohci0: usb at 01c14400 { + status = "okay"; + }; + ahci: sata at 01c18000 { target-supply = <®_ahci_5v>; status = "okay"; }; + ehci1: usb at 01c1c000 { + status = "okay"; + }; + + ohci1: usb at 01c1c400 { + status = "okay"; + }; + pinctrl at 01c20800 { ahci_pwr_pin_cubietruck: ahci_pwr_pin at 1 { allwinner,pins = "PH12";
@@ -109,4 +131,12 @@ gpio = <&pio 7 12 0>; status = "okay"; }; + + reg_usb1_vbus: usb1-vbus { + status = "okay"; + }; + + reg_usb2_vbus: usb2-vbus { + status = "okay"; + }; };
Signature · 1 line
1.9.0
PATCH 16/19 ARM: sun7i: dt: Add USB host nodes to cubieboard2 dts
In reply to Hans de GoedeFrom: Roman Byshko <[email protected]>
Add nodes for the usb-phy and ehci- and ohci-usb-host controllers.
--- arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts +30 -0
@@ -20,11 +20,33 @@ compatible = "cubietech,cubieboard2", "allwinner,sun7i-a20"; soc at 01c00000 { + usbphy: phy at 01c13400 { + usb1_vbus-supply = <®_usb1_vbus>; + usb2_vbus-supply = <®_usb2_vbus>; + status = "okay"; + }; + + ehci0: usb at 01c14000 { + status = "okay"; + }; + + ohci0: usb at 01c14400 { + status = "okay"; + }; + ahci: sata at 01c18000 { target-supply = <®_ahci_5v>; status = "okay"; }; + ehci1: usb at 01c1c000 { + status = "okay"; + }; + + ohci1: usb at 01c1c400 { + status = "okay"; + }; + pinctrl at 01c20800 { led_pins_cubieboard2: led_pins at 0 { allwinner,pins = "PH20", "PH21";
@@ -84,4 +106,12 @@ reg_ahci_5v: ahci-5v { status = "okay"; }; + + reg_usb1_vbus: usb1-vbus { + status = "okay"; + }; + + reg_usb2_vbus: usb2-vbus { + status = "okay"; + }; };
Signature · 1 line
1.9.0
PATCH 17/19 ARM: sun7i: dt: Add USB host nodes to a20-olinuxino-micro dts
In reply to Hans de GoedeFrom: Zalan Blenessy <[email protected]>
Add nodes for the usb-phy and ehci- and ohci-usb-host controllers.
--- arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts +30 -0
@@ -31,6 +31,20 @@ status = "okay"; }; + usbphy: phy at 01c13400 { + usb1_vbus-supply = <®_usb1_vbus>; + usb2_vbus-supply = <®_usb2_vbus>; + status = "okay"; + }; + + ehci0: usb at 01c14000 { + status = "okay"; + }; + + ohci0: usb at 01c14400 { + status = "okay"; + }; + spi2: spi at 01c17000 { pinctrl-names = "default"; pinctrl-0 = <&spi2_pins_a>;
@@ -42,6 +56,14 @@ status = "okay"; }; + ehci1: usb at 01c1c000 { + status = "okay"; + }; + + ohci1: usb at 01c1c400 { + status = "okay"; + }; + pinctrl at 01c20800 { led_pins_olinuxino: led_pins at 0 { allwinner,pins = "PH2";
@@ -115,4 +137,12 @@ reg_ahci_5v: ahci-5v { status = "okay"; }; + + reg_usb1_vbus: usb1-vbus { + status = "okay"; + }; + + reg_usb2_vbus: usb2-vbus { + status = "okay"; + }; };
Signature · 1 line
1.9.0
PATCH 18/19 ARM: sun4i: dt: Add support for the A10-OLinuXino-LIME board
In reply to Hans de GoedeThis add support for the A10-OLinuXino-LIME:
https://www.olimex.com/Products/OLinuXino/A10/A10-OLinuXino-LIME
A low cost Allwinner A10 based dev-board, with sata, ethernet, hdmi and 2x USB.
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 111 +++++++++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
arch/arm/boot/dts/Makefile +1 -0
@@ -284,6 +284,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += \ sun4i-a10-cubieboard.dtb \ sun4i-a10-mini-xplus.dtb \ sun4i-a10-hackberry.dtb \ + sun4i-a10-olinuxino-lime.dtb \ sun4i-a10-pcduino.dtb \ sun5i-a10s-olinuxino-micro.dtb \ sun5i-a13-olinuxino.dtb \
arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts new file +111 -0
111 lines not on this page · raw message
Signature · 1 line
1.9.0
PATCH 19/19 ARM: sun4i: dt: Add support for the INet-97F_Rev_02 board
In reply to Hans de GoedeFrom: David Lanzend??rfer <[email protected]>
This patch adds basic support for the INet-97F_Rev_02 board found in various low cost consumer tablet devices (http://linux-sunxi.org/INet-97F_Rev_02)
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/sun4i-a10-inet97fv2.dts | 69 +++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 arch/arm/boot/dts/sun4i-a10-inet97fv2.dts
arch/arm/boot/dts/Makefile +1 -0
@@ -284,6 +284,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += \ sun4i-a10-cubieboard.dtb \ sun4i-a10-mini-xplus.dtb \ sun4i-a10-hackberry.dtb \ + sun4i-a10-inet97fv2.dtb \ sun4i-a10-olinuxino-lime.dtb \ sun4i-a10-pcduino.dtb \ sun5i-a10s-olinuxino-micro.dtb \
arch/arm/boot/dts/sun4i-a10-inet97fv2.dts new file +69 -0
69 lines not on this page · raw message
Signature · 1 line
1.9.0
cover ARM: sunxi: dt: ahci, ehci and ohci support
In reply to Hans de GoedeHi Hans,
Quoted 11 lines · Hans de Goede
Hi Maxime,
With all USB and AHCI bits going upstream for 3.15, here are the matching dts bits for AHCI and USB host support.
As an added bonus I've also thrown in 2 new boards (already with ahci and usb support).
Please let me know if these need any fixups, and if not please add them to your dt-for-3.15 branch. Note they are based on top of that branch so they should apply cleanly.
I just took it, everything applied fine thanks.
Note that I submitted a pull request yesterday, but I plan on submitting a new one early next week, so this will end up in 3.15.
Thanks for your hard work,
Maxime
Signature · 10 lines
Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140304/cd2e0b6e/attachment.sig>