From 05466923b813b4a0f0ff4f092b893ca9c5dacc0e Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Tue, 15 Jan 2013 19:55:50 +0000 Subject: [PATCH] mvebu: add support for EHCI controller Signed-off-by: Florian Fainelli SVN-Revision: 35181 --- target/linux/mvebu/config-default | 10 +- ...3-arm_mvebu_add_support_for_usb_host.patch | 101 ++++++++++++++++++ .../024-arm_mvebu_enable_usb_a370.patch | 30 ++++++ ...25-arm_mvebu_enable_usb_a370_mirabox.patch | 28 +++++ .../026-arm_mvebu_enale_usb_axp.patch | 32 ++++++ .../027-arm_mvebu_enable_axp_openblocks.patch | 31 ++++++ 6 files changed, 224 insertions(+), 8 deletions(-) create mode 100644 target/linux/mvebu/patches-3.8/023-arm_mvebu_add_support_for_usb_host.patch create mode 100644 target/linux/mvebu/patches-3.8/024-arm_mvebu_enable_usb_a370.patch create mode 100644 target/linux/mvebu/patches-3.8/025-arm_mvebu_enable_usb_a370_mirabox.patch create mode 100644 target/linux/mvebu/patches-3.8/026-arm_mvebu_enale_usb_axp.patch create mode 100644 target/linux/mvebu/patches-3.8/027-arm_mvebu_enable_axp_openblocks.patch 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 +Cc: Thomas Petazzoni +Signed-off-by: Gregory CLEMENT +Signed-off-by: Ezequiel Garcia +--- + 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 +Cc: Thomas Petazzoni +Cc: Gregory CLEMENT +Signed-off-by: Ezequiel Garcia +--- + 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 +Cc: Thomas Petazzoni +Cc: Gregory CLEMENT +Signed-off-by: Ezequiel Garcia +--- + 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 +Cc: Thomas Petazzoni +Cc: Gregory CLEMENT +Signed-off-by: Ezequiel Garcia +--- + 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 +Cc: Thomas Petazzoni +Cc: Gregory CLEMENT +Signed-off-by: Ezequiel Garcia +--- + 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 + + -- 2.34.1