aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2013-01-15 19:55:50 +0000
committerFlorian Fainelli <florian@openwrt.org>2013-01-15 19:55:50 +0000
commit45e44da6c216fe1c2aadd224e7baf402ee010c91 (patch)
tree8ca2ec23a382304a1628221c7ef65503ea926ef2
parenta3d1301c2d6691143a9029cd51e2a76acdb939cd (diff)
downloadupstream-45e44da6c216fe1c2aadd224e7baf402ee010c91.tar.gz
upstream-45e44da6c216fe1c2aadd224e7baf402ee010c91.tar.bz2
upstream-45e44da6c216fe1c2aadd224e7baf402ee010c91.zip
mvebu: add support for EHCI controller
Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35181 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/mvebu/config-default10
-rw-r--r--target/linux/mvebu/patches-3.8/023-arm_mvebu_add_support_for_usb_host.patch101
-rw-r--r--target/linux/mvebu/patches-3.8/024-arm_mvebu_enable_usb_a370.patch30
-rw-r--r--target/linux/mvebu/patches-3.8/025-arm_mvebu_enable_usb_a370_mirabox.patch28
-rw-r--r--target/linux/mvebu/patches-3.8/026-arm_mvebu_enale_usb_axp.patch32
-rw-r--r--target/linux/mvebu/patches-3.8/027-arm_mvebu_enable_axp_openblocks.patch31
6 files changed, 224 insertions, 8 deletions
diff --git a/target/linux/mvebu/config-default b/target/linux/mvebu/config-default
index 55a625b26b..61e1751c9b 100644
--- a/target/linux/mvebu/config-default
+++ b/target/linux/mvebu/config-default
@@ -30,13 +30,7 @@ CONFIG_ARM_APPENDED_DTB=y
# CONFIG_ARM_CHARLCD is not set
# CONFIG_ARM_CPU_SUSPEND is not set
# CONFIG_ARM_ERRATA_430973 is not set
-# CONFIG_ARM_ERRATA_458693 is not set
-# CONFIG_ARM_ERRATA_460075 is not set
CONFIG_ARM_ERRATA_720789=y
-# CONFIG_ARM_ERRATA_742230 is not set
-# CONFIG_ARM_ERRATA_742231 is not set
-# CONFIG_ARM_ERRATA_743622 is not set
-CONFIG_ARM_ERRATA_751472=y
# CONFIG_ARM_ERRATA_754322 is not set
# CONFIG_ARM_ERRATA_754327 is not set
# CONFIG_ARM_ERRATA_764369 is not set
@@ -256,13 +250,13 @@ CONFIG_SYS_SUPPORTS_APM_EMULATION=y
# CONFIG_THUMB2_KERNEL is not set
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_TIMER_STATS=y
-# CONFIG_TINY_RCU is not set
CONFIG_TREE_RCU=y
CONFIG_UDF_FS=m
CONFIG_UID16=y
CONFIG_UIDGID_CONVERTED=y
# CONFIG_USB_ARCH_HAS_OHCI is not set
# CONFIG_USB_ARCH_HAS_XHCI is not set
+CONFIG_USB_SUPPORT=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_USE_OF=y
CONFIG_VECTORS_BASE=0xffff0000
@@ -271,9 +265,9 @@ CONFIG_VFAT_FS=y
CONFIG_VFP=y
CONFIG_VFPv3=y
# CONFIG_XEN is not set
+CONFIG_XPS=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_BCJ=y
-CONFIG_XPS=y
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZONE_DMA_FLAG=0
diff --git a/target/linux/mvebu/patches-3.8/023-arm_mvebu_add_support_for_usb_host.patch b/target/linux/mvebu/patches-3.8/023-arm_mvebu_add_support_for_usb_host.patch
new file mode 100644
index 0000000000..63aff01ae1
--- /dev/null
+++ b/target/linux/mvebu/patches-3.8/023-arm_mvebu_add_support_for_usb_host.patch
@@ -0,0 +1,101 @@
+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.
+
+Cc: Lior Amsalem <alior@marvell.com>
+Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
+Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
+---
+ 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 +++++++++++++++++
+ arch/arm/mach-mvebu/Kconfig | 1 +
+ 4 files changed, 42 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
+index 28276fe..fa025c4 100644
+--- a/arch/arm/boot/dts/armada-370-xp.dtsi
++++ b/arch/arm/boot/dts/armada-370-xp.dtsi
+@@ -145,6 +145,21 @@
+ clocks = <&gateclk 17>;
+ status = "disabled";
+ };
++
++ usb@d0050000 {
++ compatible = "marvell,orion-ehci";
++ reg = <0xd0050000 0x500>;
++ interrupts = <45>;
++ status = "disabled";
++ };
++
++ usb@d0051000 {
++ compatible = "marvell,orion-ehci";
++ reg = <0xd0051000 0x500>;
++ interrupts = <46>;
++ status = "disabled";
++ };
++
+ };
+ };
+
+diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
+index 88f9bab..8188d13 100644
+--- a/arch/arm/boot/dts/armada-370.dtsi
++++ b/arch/arm/boot/dts/armada-370.dtsi
+@@ -144,5 +144,14 @@
+ dmacap,memset;
+ };
+ };
++
++ usb@d0050000 {
++ clocks = <&coreclk 0>;
++ };
++
++ usb@d0051000 {
++ clocks = <&coreclk 0>;
++ };
++
+ };
+ };
+diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
+index 390ba98..1443949 100644
+--- a/arch/arm/boot/dts/armada-xp.dtsi
++++ b/arch/arm/boot/dts/armada-xp.dtsi
+@@ -134,5 +134,22 @@
+ dmacap,memset;
+ };
+ };
++
++ usb@d0050000 {
++ clocks = <&gateclk 18>;
++ };
++
++ usb@d0051000 {
++ clocks = <&gateclk 19>;
++ };
++
++ usb@d0052000 {
++ compatible = "marvell,orion-ehci";
++ reg = <0xd0052000 0x500>;
++ interrupts = <47>;
++ clocks = <&gateclk 20>;
++ status = "disabled";
++ };
++
+ };
+ };
+diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
+index 440b13e..5e4fcde 100644
+--- a/arch/arm/mach-mvebu/Kconfig
++++ b/arch/arm/mach-mvebu/Kconfig
+@@ -24,6 +24,7 @@ config MACH_ARMADA_370_XP
+ select HAVE_SMP
+ select CACHE_L2X0
+ select CPU_PJ4B
++ select USB_ARCH_HAS_EHCI if USB_SUPPORT
+
+ config MACH_ARMADA_370
+ bool "Marvell Armada 370 boards"
+--
+1.7.8.6
diff --git a/target/linux/mvebu/patches-3.8/024-arm_mvebu_enable_usb_a370.patch b/target/linux/mvebu/patches-3.8/024-arm_mvebu_enable_usb_a370.patch
new file mode 100644
index 0000000000..46b554b17a
--- /dev/null
+++ b/target/linux/mvebu/patches-3.8/024-arm_mvebu_enable_usb_a370.patch
@@ -0,0 +1,30 @@
+Cc: Lior Amsalem <alior@marvell.com>
+Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
+Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
+---
+ arch/arm/boot/dts/armada-370-db.dts | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/boot/dts/armada-370-db.dts b/arch/arm/boot/dts/armada-370-db.dts
+index 8e66a7c..3d93902 100644
+--- a/arch/arm/boot/dts/armada-370-db.dts
++++ b/arch/arm/boot/dts/armada-370-db.dts
+@@ -74,5 +74,13 @@
+ status = "disabled";
+ /* No CD or WP GPIOs */
+ };
++
++ usb@d0050000 {
++ status = "okay";
++ };
++
++ usb@d0051000 {
++ status = "okay";
++ };
+ };
+ };
+--
+1.7.8.6
+
+
diff --git a/target/linux/mvebu/patches-3.8/025-arm_mvebu_enable_usb_a370_mirabox.patch b/target/linux/mvebu/patches-3.8/025-arm_mvebu_enable_usb_a370_mirabox.patch
new file mode 100644
index 0000000000..88b20c3abb
--- /dev/null
+++ b/target/linux/mvebu/patches-3.8/025-arm_mvebu_enable_usb_a370_mirabox.patch
@@ -0,0 +1,28 @@
+Cc: Lior Amsalem <alior@marvell.com>
+Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
+Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
+---
+ arch/arm/boot/dts/armada-370-mirabox.dts | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/boot/dts/armada-370-mirabox.dts b/arch/arm/boot/dts/armada-370-mirabox.dts
+index 1864820..dd0c57d 100644
+--- a/arch/arm/boot/dts/armada-370-mirabox.dts
++++ b/arch/arm/boot/dts/armada-370-mirabox.dts
+@@ -62,5 +62,13 @@
+ * Wifi/Bluetooth chip
+ */
+ };
++
++ usb@d0050000 {
++ status = "okay";
++ };
++
++ usb@d0051000 {
++ status = "okay";
++ };
+ };
+ };
+--
+1.7.8.6
diff --git a/target/linux/mvebu/patches-3.8/026-arm_mvebu_enale_usb_axp.patch b/target/linux/mvebu/patches-3.8/026-arm_mvebu_enale_usb_axp.patch
new file mode 100644
index 0000000000..8f44072de5
--- /dev/null
+++ b/target/linux/mvebu/patches-3.8/026-arm_mvebu_enale_usb_axp.patch
@@ -0,0 +1,32 @@
+Cc: Lior Amsalem <alior@marvell.com>
+Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
+Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
+---
+ arch/arm/boot/dts/armada-xp-db.dts | 12 ++++++++++++
+ 1 files changed, 12 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/boot/dts/armada-xp-db.dts b/arch/arm/boot/dts/armada-xp-db.dts
+index c7035c5..c84e1fe 100644
+--- a/arch/arm/boot/dts/armada-xp-db.dts
++++ b/arch/arm/boot/dts/armada-xp-db.dts
+@@ -97,5 +97,17 @@
+ status = "okay";
+ /* No CD or WP GPIOs */
+ };
++
++ usb@d0050000 {
++ status = "okay";
++ };
++
++ usb@d0051000 {
++ status = "okay";
++ };
++
++ usb@d0052000 {
++ status = "okay";
++ };
+ };
+ };
+--
+1.7.8.6
diff --git a/target/linux/mvebu/patches-3.8/027-arm_mvebu_enable_axp_openblocks.patch b/target/linux/mvebu/patches-3.8/027-arm_mvebu_enable_axp_openblocks.patch
new file mode 100644
index 0000000000..d9f6448976
--- /dev/null
+++ b/target/linux/mvebu/patches-3.8/027-arm_mvebu_enable_axp_openblocks.patch
@@ -0,0 +1,31 @@
+Cc: Lior Amsalem <alior@marvell.com>
+Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
+Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
+---
+ arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts | 9 +++++++++
+ 1 files changed, 9 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
+index b24644f..55f5b6f 100644
+--- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
++++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
+@@ -127,5 +127,14 @@
+ nr-ports = <2>;
+ status = "okay";
+ };
++ usb@d0050000 {
++ status = "okay";
++ };
++ usb@d0051000 {
++ status = "okay";
++ };
++ usb@d0052000 {
++ status = "okay";
++ };
+ };
+ };
+--
+1.7.8.6
+
+