mvebu: add support for EHCI controller
[openwrt/staging/chunkeey.git] / target / linux / mvebu / patches-3.8 / 023-arm_mvebu_add_support_for_usb_host.patch
1 The Armada 370 and Armada XP SoC has an Orion EHCI USB controller.
2 This patch adds support for this controller in Armada 370
3 and Armada XP SoC common device tree files.
4
5 Cc: Lior Amsalem <alior@marvell.com>
6 Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
8 Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
9 ---
10 arch/arm/boot/dts/armada-370-xp.dtsi | 15 +++++++++++++++
11 arch/arm/boot/dts/armada-370.dtsi | 9 +++++++++
12 arch/arm/boot/dts/armada-xp.dtsi | 17 +++++++++++++++++
13 arch/arm/mach-mvebu/Kconfig | 1 +
14 4 files changed, 42 insertions(+), 0 deletions(-)
15
16 diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
17 index 28276fe..fa025c4 100644
18 --- a/arch/arm/boot/dts/armada-370-xp.dtsi
19 +++ b/arch/arm/boot/dts/armada-370-xp.dtsi
20 @@ -145,6 +145,21 @@
21 clocks = <&gateclk 17>;
22 status = "disabled";
23 };
24 +
25 + usb@d0050000 {
26 + compatible = "marvell,orion-ehci";
27 + reg = <0xd0050000 0x500>;
28 + interrupts = <45>;
29 + status = "disabled";
30 + };
31 +
32 + usb@d0051000 {
33 + compatible = "marvell,orion-ehci";
34 + reg = <0xd0051000 0x500>;
35 + interrupts = <46>;
36 + status = "disabled";
37 + };
38 +
39 };
40 };
41
42 diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
43 index 88f9bab..8188d13 100644
44 --- a/arch/arm/boot/dts/armada-370.dtsi
45 +++ b/arch/arm/boot/dts/armada-370.dtsi
46 @@ -144,5 +144,14 @@
47 dmacap,memset;
48 };
49 };
50 +
51 + usb@d0050000 {
52 + clocks = <&coreclk 0>;
53 + };
54 +
55 + usb@d0051000 {
56 + clocks = <&coreclk 0>;
57 + };
58 +
59 };
60 };
61 diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
62 index 390ba98..1443949 100644
63 --- a/arch/arm/boot/dts/armada-xp.dtsi
64 +++ b/arch/arm/boot/dts/armada-xp.dtsi
65 @@ -134,5 +134,22 @@
66 dmacap,memset;
67 };
68 };
69 +
70 + usb@d0050000 {
71 + clocks = <&gateclk 18>;
72 + };
73 +
74 + usb@d0051000 {
75 + clocks = <&gateclk 19>;
76 + };
77 +
78 + usb@d0052000 {
79 + compatible = "marvell,orion-ehci";
80 + reg = <0xd0052000 0x500>;
81 + interrupts = <47>;
82 + clocks = <&gateclk 20>;
83 + status = "disabled";
84 + };
85 +
86 };
87 };
88 diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
89 index 440b13e..5e4fcde 100644
90 --- a/arch/arm/mach-mvebu/Kconfig
91 +++ b/arch/arm/mach-mvebu/Kconfig
92 @@ -24,6 +24,7 @@ config MACH_ARMADA_370_XP
93 select HAVE_SMP
94 select CACHE_L2X0
95 select CPU_PJ4B
96 + select USB_ARCH_HAS_EHCI if USB_SUPPORT
97
98 config MACH_ARMADA_370
99 bool "Marvell Armada 370 boards"
100 --
101 1.7.8.6