mvebu: add support for EHCI controller
authorFlorian Fainelli <florian@openwrt.org>
Tue, 15 Jan 2013 19:55:50 +0000 (19:55 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Tue, 15 Jan 2013 19:55:50 +0000 (19:55 +0000)
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 35181

target/linux/mvebu/config-default
target/linux/mvebu/patches-3.8/023-arm_mvebu_add_support_for_usb_host.patch [new file with mode: 0644]
target/linux/mvebu/patches-3.8/024-arm_mvebu_enable_usb_a370.patch [new file with mode: 0644]
target/linux/mvebu/patches-3.8/025-arm_mvebu_enable_usb_a370_mirabox.patch [new file with mode: 0644]
target/linux/mvebu/patches-3.8/026-arm_mvebu_enale_usb_axp.patch [new file with mode: 0644]
target/linux/mvebu/patches-3.8/027-arm_mvebu_enable_axp_openblocks.patch [new file with mode: 0644]

index 55a625b..61e1751 100644 (file)
@@ -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 (file)
index 0000000..63aff01
--- /dev/null
@@ -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 (file)
index 0000000..46b554b
--- /dev/null
@@ -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 (file)
index 0000000..88b20c3
--- /dev/null
@@ -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 (file)
index 0000000..8f44072
--- /dev/null
@@ -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 (file)
index 0000000..d9f6448
--- /dev/null
@@ -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
+
+