Skip to contentSkip to conversation

arm: mvebu: Add support for USB host controllers in Armada 370/XP

PATCH New Ezequiel Garcia 6 participants 15 messages Jan 23, 2013 – Feb 15, 2013

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/3 arm: mvebu: Add support for USB host controllers in Armada 370/XP

The Armada 370 and Armada XP SoC has an Orion EHCI USB controller. This patch adds support for this controller in Armada 370 and Armada XP SoC common device tree files.

---
Changes from v1:
* Remove uneeded USB_ARCH_HAS_EHCI selection as noted by Florian.

 arch/arm/boot/dts/armada-370-xp.dtsi |   15 +++++++++++++++
 arch/arm/boot/dts/armada-370.dtsi    |    9 +++++++++
 arch/arm/boot/dts/armada-xp.dtsi     |   17 +++++++++++++++++
 3 files changed, 41 insertions(+), 0 deletions(-)
arch/arm/boot/dts/armada-370-xp.dtsi +15 -0
index 28276fe..fa025c4 100644
@@ -145,6 +145,21 @@
 			clocks = <&gateclk 17>;
 			status = "disabled";
 		};
+
+		usb at d0050000 {
+			compatible = "marvell,orion-ehci";
+			reg = <0xd0050000 0x500>;
+			interrupts = <45>;
+			status = "disabled";
+		};
+
+		usb at d0051000 {
+			compatible = "marvell,orion-ehci";
+			reg = <0xd0051000 0x500>;
+			interrupts = <46>;
+			status = "disabled";
+		};
+
 	};
 };
 
arch/arm/boot/dts/armada-370.dtsi +9 -0
index 88f9bab..8188d13 100644
@@ -144,5 +144,14 @@
 				dmacap,memset;
 			};
 		};
+
+		usb at d0050000 {
+			clocks = <&coreclk 0>;
+		};
+
+		usb at d0051000 {
+			clocks = <&coreclk 0>;
+		};
+
 	};
 };
arch/arm/boot/dts/armada-xp.dtsi +17 -0
index 2e37ef1..c22a0c8 100644
@@ -134,5 +134,22 @@
 				dmacap,memset;
 			};
 		};
+
+		usb at d0050000 {
+			clocks = <&gateclk 18>;
+		};
+
+		usb at d0051000 {
+			clocks = <&gateclk 19>;
+		};
+
+		usb at d0052000 {
+			compatible = "marvell,orion-ehci";
+			reg = <0xd0052000 0x500>;
+			interrupts = <47>;
+			clocks = <&gateclk 20>;
+			status = "disabled";
+		};
+
 	};
 };
Signature · 1 line
1.7.8.6
#1 lore raw

PATCH v2 2/3 arm: mvebu: Enable USB controllers on Armada 370/XP boards

This patch activates every USB port provided by each SoC. Except for Armada XP Openblocks AX3-4 board, where we enable only the first two USB ports until we have more information on the third one usage.

---
Changes from v1:
* Squashed separate per-board patches into this one, as suggested by Arnd.
* Remove usb at d0052000 activation in OpenBlocks AX3-4 until we have more information about it.

 arch/arm/boot/dts/armada-370-db.dts              |    8 ++++++++
 arch/arm/boot/dts/armada-370-mirabox.dts         |    8 ++++++++
 arch/arm/boot/dts/armada-xp-db.dts               |   12 ++++++++++++
 arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts |    6 ++++++
 4 files changed, 34 insertions(+), 0 deletions(-)
arch/arm/boot/dts/armada-370-db.dts +8 -0
index 8e66a7c..3d93902 100644
@@ -74,5 +74,13 @@
 			status = "disabled";
 			/* No CD or WP GPIOs */
 		};
+
+		usb at d0050000 {
+			status = "okay";
+		};
+
+		usb at d0051000 {
+			status = "okay";
+		};
 	};
 };
arch/arm/boot/dts/armada-370-mirabox.dts +8 -0
index 1864820..dd0c57d 100644
@@ -62,5 +62,13 @@
 			 * Wifi/Bluetooth chip
 			 */
 		};
+
+		usb at d0050000 {
+			status = "okay";
+		};
+
+		usb at d0051000 {
+			status = "okay";
+		};
 	};
 };
arch/arm/boot/dts/armada-xp-db.dts +12 -0
index c7035c5..c84e1fe 100644
@@ -97,5 +97,17 @@
 			status = "okay";
 			/* No CD or WP GPIOs */
 		};
+
+		usb at d0050000 {
+			status = "okay";
+		};
+
+		usb at d0051000 {
+			status = "okay";
+		};
+
+		usb at d0052000 {
+			status = "okay";
+		};
 	};
 };
arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts +6 -0
index ec36864..3818a82 100644
@@ -133,5 +133,11 @@
 			nr-ports = <2>;
 			status = "okay";
 		};
+		usb at d0050000 {
+			status = "okay";
+		};
+		usb at d0051000 {
+			status = "okay";
+		};
 	};
 };
Signature · 1 line
1.7.8.6
#2 lore raw

PATCH v2 2/3 arm: mvebu: Enable USB controllers on Armada 370/XP boards

Hi Nobuhiro,

Quoted 99 lines · Ezequiel Garcia

This patch activates every USB port provided by each SoC. Except for Armada XP Openblocks AX3-4 board, where we enable only the first two USB ports until we have more information on the third one usage.

---
Changes from v1:
* Squashed separate per-board patches into this one, as suggested by Arnd.
* Remove usb at d0052000 activation in OpenBlocks AX3-4 until we have more information about it.

 arch/arm/boot/dts/armada-370-db.dts              |    8 ++++++++
 arch/arm/boot/dts/armada-370-mirabox.dts         |    8 ++++++++
 arch/arm/boot/dts/armada-xp-db.dts               |   12 ++++++++++++
 arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts |    6 ++++++
 4 files changed, 34 insertions(+), 0 deletions(-)
arch/arm/boot/dts/armada-370-db.dts +8 -0
index 8e66a7c..3d93902 100644
@@ -74,5 +74,13 @@
                        status = "disabled";
                        /* No CD or WP GPIOs */
                };
+
+               usb at d0050000 {
+                       status = "okay";
+               };
+
+               usb at d0051000 {
+                       status = "okay";
+               };
        };
 };
arch/arm/boot/dts/armada-370-mirabox.dts +8 -0
index 1864820..dd0c57d 100644
@@ -62,5 +62,13 @@
                         * Wifi/Bluetooth chip
                         */
                };
+
+               usb at d0050000 {
+                       status = "okay";
+               };
+
+               usb at d0051000 {
+                       status = "okay";
+               };
        };
 };
arch/arm/boot/dts/armada-xp-db.dts +12 -0
index c7035c5..c84e1fe 100644
@@ -97,5 +97,17 @@
                        status = "okay";
                        /* No CD or WP GPIOs */
                };
+
+               usb at d0050000 {
+                       status = "okay";
+               };
+
+               usb at d0051000 {
+                       status = "okay";
+               };
+
+               usb at d0052000 {
+                       status = "okay";
+               };
        };
 };
arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts +6 -1
index ec36864..3818a82 100644
@@ -133,5 +133,11 @@
                        nr-ports = <2>;
                        status = "okay";
                };
+               usb at d0050000 {
+                       status = "okay";
+               };
+               usb at d0051000 {
+                       status = "okay";
+               };
        };
 };
--
Quoted 2 lines

1.7.8.6

I'd like to bring this patch to your attention.
As you can see, I've removed the

               usb at d0052000 {
                       status = "okay";
               };

from the OpenBlocks AX3-4 board dts file, since you mentioned this board uses that USB
port for a PCIe connector -- if I understood correctly.

It's interesting to note that Mirabox board doesn't provide direct access to its USB ports either,
but instead they are used to connect a GL827L MMC card reader. However, we activate USB ports anyway, since it's needed for that to work fine.

So, IMHO, if OpenBlocks uses third USB port to connect some PCIe controller, we should activate it in the dts file.

What do you think?

Signature · 1 line
    Ezequiel
#3 lore raw

PATCH v2 2/3 arm: mvebu: Enable USB controllers on Armada 370/XP boards

Dear Ezequiel Garcia,

Quoted 3 lines · Ezequiel Garcia

from the OpenBlocks AX3-4 board dts file, since you mentioned this board uses that USB
port for a PCIe connector -- if I understood correctly.

No. The OpenBlocks has a different USB controller that sits on the PCIe bus. There is nothing like a PCIe port that uses a USB port, that doesn't make sense.

Quoted 4 lines

So, IMHO, if OpenBlocks uses third USB port to connect some PCIe controller, we should activate it in the dts file.

What do you think?

No, see above.

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#4 lore raw

PATCH v2 2/3 arm: mvebu: Enable USB controllers on Armada 370/XP boards

Hi Thomas,

Quoted 10 lines · Thomas Petazzoni
Quoted 3 lines · Ezequiel Garcia

from the OpenBlocks AX3-4 board dts file, since you mentioned this board uses that USB
port for a PCIe connector -- if I understood correctly.

No. The OpenBlocks has a different USB controller that sits on the PCIe bus. There is nothing like a PCIe port that uses a USB port, that doesn't make sense.

Mmm... indeed, I got it completely wrong.

Quoted 7 lines
Quoted 4 lines

So, IMHO, if OpenBlocks uses third USB port to connect some PCIe controller, we should activate it in the dts file.

What do you think?

No, see above.

So, what do you think about the patch series to be pushed as it is?

Signature · 1 line
    Ezequiel
#5 lore raw

PATCH v2 2/3 arm: mvebu: Enable USB controllers on Armada 370/XP boards

In reply to Thomas Petazzoni

Hi Thomas,

Le Wed, 23 Jan 2013 19:03:52 +0100,
Thomas Petazzoni <[email protected]> a ?crit :

Quoted 10 lines · Ezequiel Garcia
Quoted 4 lines

from the OpenBlocks AX3-4 board dts file, since you mentioned this board uses that USB
port for a PCIe connector -- if I understood correctly.

No. The OpenBlocks has a different USB controller that sits on the PCIe bus. There is nothing like a PCIe port that uses a USB port, that doesn't make sense.

I don't have a AX3-4 but it seems to have a MiniPCIe socket and not a PCIe one.
MiniPCIe specification includes both PCIe _and_ USB2.0 signals (on pins 36&38) (and also SMBus, SIM and LEDs drivers check the following table for details http://pinoutsguide.com/Slots/mini_pcie_pinout.shtml ) so the possibility to have a USB port connected to the MiniPCIe on the AX3-4 makes sense.

For example most 3G MiniPCIe boards are using the USB2.0 signals and not the PCIe ones.

Eric

Applied
#6 lore raw

PATCH v2 2/3 arm: mvebu: Enable USB controllers on Armada 370/XP boards

In reply to Ezequiel Garcia
Quoted 18 lines · Ezequiel Garcia

This patch activates every USB port provided by each SoC. Except for Armada XP Openblocks AX3-4 board, where we enable only the first two USB ports until we have more information on the third one usage.

---
Changes from v1:
* Squashed separate per-board patches into this one, as suggested by Arnd.
* Remove usb at d0052000 activation in OpenBlocks AX3-4 until we have more information about it.

Quoted 5 lines
 arch/arm/boot/dts/armada-370-db.dts              |    8 ++++++++
 arch/arm/boot/dts/armada-370-mirabox.dts         |    8 ++++++++
 arch/arm/boot/dts/armada-xp-db.dts               |   12 ++++++++++++
 arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts |    6 ++++++
 4 files changed, 34 insertions(+), 0 deletions(-)

Applied to mvebu/dt

thx,

Jason.

#7 lore raw

PATCH v2 3/3 arm: mvebu: Update defconfig to select USB support

In reply to Ezequiel Garcia
---
 arch/arm/configs/mvebu_defconfig |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
arch/arm/configs/mvebu_defconfig +4 -1
index c3c6326..f8d0183 100644
@@ -42,7 +42,10 @@ CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_SERIAL_8250_DW=y
 CONFIG_GPIOLIB=y
 CONFIG_GPIO_SYSFS=y
-# CONFIG_USB_SUPPORT is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
 CONFIG_MMC=y
 CONFIG_MMC_MVSDIO=y
 CONFIG_RTC_CLASS=y
Signature · 1 line
1.7.8.6
Applied
#8 lore raw

PATCH v2 3/3 arm: mvebu: Update defconfig to select USB support

Quoted 9 lines · Ezequiel Garcia
---
 arch/arm/configs/mvebu_defconfig |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

Applied to mvebu/boards

thx,

Jason.

#9 lore raw

PATCH v2 1/3 arm: mvebu: Add support for USB host controllers in Armada 370/XP

In reply to Ezequiel Garcia

Jason,

Quoted 92 lines · Ezequiel Garcia

The Armada 370 and Armada XP SoC has an Orion EHCI USB controller. This patch adds support for this controller in Armada 370 and Armada XP SoC common device tree files.

---
Changes from v1:
* Remove uneeded USB_ARCH_HAS_EHCI selection as noted by Florian.

 arch/arm/boot/dts/armada-370-xp.dtsi |   15 +++++++++++++++
 arch/arm/boot/dts/armada-370.dtsi    |    9 +++++++++
 arch/arm/boot/dts/armada-xp.dtsi     |   17 +++++++++++++++++
 3 files changed, 41 insertions(+), 0 deletions(-)
arch/arm/boot/dts/armada-370-xp.dtsi +15 -0
index 28276fe..fa025c4 100644
@@ -145,6 +145,21 @@
                        clocks = <&gateclk 17>;
                        status = "disabled";
                };
+
+               usb at d0050000 {
+                       compatible = "marvell,orion-ehci";
+                       reg = <0xd0050000 0x500>;
+                       interrupts = <45>;
+                       status = "disabled";
+               };
+
+               usb at d0051000 {
+                       compatible = "marvell,orion-ehci";
+                       reg = <0xd0051000 0x500>;
+                       interrupts = <46>;
+                       status = "disabled";
+               };
+
        };
 };
 
arch/arm/boot/dts/armada-370.dtsi +9 -0
index 88f9bab..8188d13 100644
@@ -144,5 +144,14 @@
                                dmacap,memset;
                        };
                };
+
+               usb at d0050000 {
+                       clocks = <&coreclk 0>;
+               };
+
+               usb at d0051000 {
+                       clocks = <&coreclk 0>;
+               };
+
        };
 };
arch/arm/boot/dts/armada-xp.dtsi +17 -1
index 2e37ef1..c22a0c8 100644
@@ -134,5 +134,22 @@
                                dmacap,memset;
                        };
                };
+
+               usb at d0050000 {
+                       clocks = <&gateclk 18>;
+               };
+
+               usb at d0051000 {
+                       clocks = <&gateclk 19>;
+               };
+
+               usb at d0052000 {
+                       compatible = "marvell,orion-ehci";
+                       reg = <0xd0052000 0x500>;
+                       interrupts = <47>;
+                       clocks = <&gateclk 20>;
+                       status = "disabled";
+               };
+
        };
 };
--
Quoted 2 lines

1.7.8.6

Do you think we're still in time to get this series into v3.9 (given we decide soon on the OpenBlocks issue)?

Thanks,

Signature · 1 line
    Ezequiel
#10 lore raw

PATCH v2 1/3 arm: mvebu: Add support for USB host controllers in Armada 370/XP

Quoted 17 lines · Ezequiel Garcia

Jason,

Quoted 14 lines · Ezequiel Garcia

The Armada 370 and Armada XP SoC has an Orion EHCI USB controller. This patch adds support for this controller in Armada 370 and Armada XP SoC common device tree files.

---
Changes from v1:
* Remove uneeded USB_ARCH_HAS_EHCI selection as noted by Florian.

Quoted 7 lines
Quoted 4 lines
 arch/arm/boot/dts/armada-370-xp.dtsi |   15 +++++++++++++++
 arch/arm/boot/dts/armada-370.dtsi    |    9 +++++++++
 arch/arm/boot/dts/armada-xp.dtsi     |   17 +++++++++++++++++
 3 files changed, 41 insertions(+), 0 deletions(-)

Do you think we're still in time to get this series into v3.9 (given we decide soon on the OpenBlocks issue)?

That shouldn't be a problem.

thx,

Jason.

#11 lore raw

PATCH v2 1/3 arm: mvebu: Add support for USB host controllers in Armada 370/XP

Hi Jason,

Quoted 23 lines · Jason Cooper
Quoted 22 lines · Ezequiel Garcia

Jason,

Quoted 18 lines · Ezequiel Garcia

The Armada 370 and Armada XP SoC has an Orion EHCI USB controller. This patch adds support for this controller in Armada 370 and Armada XP SoC common device tree files.

---
Changes from v1:
* Remove uneeded USB_ARCH_HAS_EHCI selection as noted by Florian.

 arch/arm/boot/dts/armada-370-xp.dtsi |   15 +++++++++++++++
 arch/arm/boot/dts/armada-370.dtsi    |    9 +++++++++
 arch/arm/boot/dts/armada-xp.dtsi     |   17 +++++++++++++++++
 3 files changed, 41 insertions(+), 0 deletions(-)
Quoted 5 lines
Quoted 2 lines

Do you think we're still in time to get this series into v3.9 (given we decide soon on the OpenBlocks issue)?

That shouldn't be a problem.

Do you think we can take this series for v3.9 as it is? I have no problems making any changes if they are needed but I can't move forward with the OpenBlocks issue since I don't have access to the hardware.

I think we can sanely merge this as it is, since it has been tested in every platform.
If there's anything to change we can do it later, when I have more information about the
OpenBlocks hardware.

Thanks,

Signature · 1 line
    Ezequiel
#12 lore raw

PATCH v2 1/3 arm: mvebu: Add support for USB host controllers in Armada 370/XP

Quoted 26 lines · Ezequiel Garcia

Hi Jason,

Quoted 23 lines · Jason Cooper
Quoted 22 lines · Ezequiel Garcia

Jason,

Quoted 18 lines · Ezequiel Garcia

The Armada 370 and Armada XP SoC has an Orion EHCI USB controller. This patch adds support for this controller in Armada 370 and Armada XP SoC common device tree files.

---
Changes from v1:
* Remove uneeded USB_ARCH_HAS_EHCI selection as noted by Florian.

 arch/arm/boot/dts/armada-370-xp.dtsi |   15 +++++++++++++++
 arch/arm/boot/dts/armada-370.dtsi    |    9 +++++++++
 arch/arm/boot/dts/armada-xp.dtsi     |   17 +++++++++++++++++
 3 files changed, 41 insertions(+), 0 deletions(-)
Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

Do you think we're still in time to get this series into v3.9 (given we decide soon on the OpenBlocks issue)?

That shouldn't be a problem.

Do you think we can take this series for v3.9 as it is?

I'm working though a few other issues first. I'll take a closer look when I get up to this series.

Quoted 3 lines

I have no problems making any changes if they are needed but I can't move forward with the OpenBlocks issue since I don't have access to the hardware.

understood.

Quoted 5 lines

I think we can sanely merge this as it is, since it has been tested in every platform.
If there's anything to change we can do it later, when I have more information about the
OpenBlocks hardware.

As long that that will be clean, there shouldn't be a problem.

thx,

Jason.

#13 lore raw

PATCH v2 1/3 arm: mvebu: Add support for USB host controllers in Armada 370/XP

In reply to Ezequiel Garcia

Hi, Ezequiel.

I checked with your first patch, that is no ploblem. you dont need to change patch.
sorry for my noise.

best regards,
Nobuhiro

Quoted 47 lines · Ezequiel Garcia

Hi Jason,

Quoted 23 lines · Jason Cooper
Quoted 22 lines · Ezequiel Garcia

Jason,

Quoted 18 lines · Ezequiel Garcia

The Armada 370 and Armada XP SoC has an Orion EHCI USB controller. This patch adds support for this controller in Armada 370 and Armada XP SoC common device tree files.

---
Changes from v1:
* Remove uneeded USB_ARCH_HAS_EHCI selection as noted by Florian.

 arch/arm/boot/dts/armada-370-xp.dtsi |   15 +++++++++++++++
 arch/arm/boot/dts/armada-370.dtsi    |    9 +++++++++
 arch/arm/boot/dts/armada-xp.dtsi     |   17 +++++++++++++++++
 3 files changed, 41 insertions(+), 0 deletions(-)
Quoted 5 lines
Quoted 2 lines

Do you think we're still in time to get this series into v3.9 (given we decide soon on the OpenBlocks issue)?

That shouldn't be a problem.

Do you think we can take this series for v3.9 as it is? I have no problems making any changes if they are needed but I can't move forward with the OpenBlocks issue since I don't have access to the hardware.

I think we can sanely merge this as it is, since it has been tested in every platform.
If there's anything to change we can do it later, when I have more information about the
OpenBlocks hardware.

Thanks,

--
Ezequiel

Signature · 3 lines
Nobuhiro Iwamatsu
   iwamatsu at {nigauri.org / debian.org}
   GPG ID: 40AD1FA6
Applied
#14 lore raw

PATCH v2 1/3 arm: mvebu: Add support for USB host controllers in Armada 370/XP

In reply to Ezequiel Garcia
Quoted 10 lines · Ezequiel Garcia

The Armada 370 and Armada XP SoC has an Orion EHCI USB controller. This patch adds support for this controller in Armada 370 and Armada XP SoC common device tree files.

Quoted 8 lines

---
Changes from v1:
* Remove uneeded USB_ARCH_HAS_EHCI selection as noted by Florian.

 arch/arm/boot/dts/armada-370-xp.dtsi |   15 +++++++++++++++
 arch/arm/boot/dts/armada-370.dtsi    |    9 +++++++++
 arch/arm/boot/dts/armada-xp.dtsi     |   17 +++++++++++++++++
 3 files changed, 41 insertions(+), 0 deletions(-)

Applied to mvebu/dt

thx,

Jason.