aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorAndrew Lunn <andrew@lunn.ch>2012-11-17 11:00:44 -0500
committerJason Cooper <jason@lakedaemon.net>2012-11-23 21:57:35 -0500
commitf9e7592230b72acb703e6c29691d587341b6c710 (patch)
tree2f1476339bfff7a0e90ad707d23986dec8fca7ff /arch/arm
parent49e928d6cfd4a27f2b2e0ea6cdcb9e853360a9a1 (diff)
ARM: Kirkwood: Make use of mvebu pincltl and gpio drivers
Select the generic mvebu kirkwood pincltr driver and generic mvebu gpio driver. This requires minor changes to the DT, and the calls to configure plat-orion gpio driver are removed. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Tested-by: Michael Walle <michael@walle.cc> Tested-by: Simon Baatz <gmbnomis@gmail.com> Tested-by: Jamie Lentin <jm@lentin.co.uk> Tested-by: Joshua Coombs <josh.coombs@gmail.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/Kconfig2
-rw-r--r--arch/arm/boot/dts/kirkwood.dtsi10
-rw-r--r--arch/arm/plat-orion/irq.c6
3 files changed, 11 insertions, 7 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index ca2b4182061a..3cf5742a23ca 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -549,6 +549,8 @@ config ARCH_KIRKWOOD
549 select CPU_FEROCEON 549 select CPU_FEROCEON
550 select GENERIC_CLOCKEVENTS 550 select GENERIC_CLOCKEVENTS
551 select PCI 551 select PCI
552 select PINCTRL
553 select PINCTRL_KIRKWOOD
552 select PLAT_ORION_LEGACY 554 select PLAT_ORION_LEGACY
553 help 555 help
554 Support for the following Marvell Kirkwood series SoCs: 556 Support for the following Marvell Kirkwood series SoCs:
diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
index 4fc7a8e49168..a990c30f0a26 100644
--- a/arch/arm/boot/dts/kirkwood.dtsi
+++ b/arch/arm/boot/dts/kirkwood.dtsi
@@ -4,6 +4,10 @@
4 compatible = "marvell,kirkwood"; 4 compatible = "marvell,kirkwood";
5 interrupt-parent = <&intc>; 5 interrupt-parent = <&intc>;
6 6
7 aliases {
8 gpio0 = &gpio0;
9 gpio1 = &gpio1;
10 };
7 intc: interrupt-controller { 11 intc: interrupt-controller {
8 compatible = "marvell,orion-intc", "marvell,intc"; 12 compatible = "marvell,orion-intc", "marvell,intc";
9 interrupt-controller; 13 interrupt-controller;
@@ -24,7 +28,8 @@
24 #gpio-cells = <2>; 28 #gpio-cells = <2>;
25 gpio-controller; 29 gpio-controller;
26 reg = <0x10100 0x40>; 30 reg = <0x10100 0x40>;
27 ngpio = <32>; 31 ngpios = <32>;
32 interrupt-controller;
28 interrupts = <35>, <36>, <37>, <38>; 33 interrupts = <35>, <36>, <37>, <38>;
29 }; 34 };
30 35
@@ -33,7 +38,8 @@
33 #gpio-cells = <2>; 38 #gpio-cells = <2>;
34 gpio-controller; 39 gpio-controller;
35 reg = <0x10140 0x40>; 40 reg = <0x10140 0x40>;
36 ngpio = <18>; 41 ngpios = <18>;
42 interrupt-controller;
37 interrupts = <39>, <40>, <41>; 43 interrupts = <39>, <40>, <41>;
38 }; 44 };
39 45
diff --git a/arch/arm/plat-orion/irq.c b/arch/arm/plat-orion/irq.c
index 1867944415ca..8db0b981ca64 100644
--- a/arch/arm/plat-orion/irq.c
+++ b/arch/arm/plat-orion/irq.c
@@ -41,7 +41,7 @@ void __init orion_irq_init(unsigned int irq_start, void __iomem *maskaddr)
41static int __init orion_add_irq_domain(struct device_node *np, 41static int __init orion_add_irq_domain(struct device_node *np,
42 struct device_node *interrupt_parent) 42 struct device_node *interrupt_parent)
43{ 43{
44 int i = 0, irq_gpio; 44 int i = 0;
45 void __iomem *base; 45 void __iomem *base;
46 46
47 do { 47 do {
@@ -54,10 +54,6 @@ static int __init orion_add_irq_domain(struct device_node *np,
54 54
55 irq_domain_add_legacy(np, i * 32, 0, 0, 55 irq_domain_add_legacy(np, i * 32, 0, 0,
56 &irq_domain_simple_ops, NULL); 56 &irq_domain_simple_ops, NULL);
57
58 irq_gpio = i * 32;
59 orion_gpio_of_init(irq_gpio);
60
61 return 0; 57 return 0;
62} 58}
63 59