Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dab6487e authored by Lee Jones's avatar Lee Jones Committed by Arnd Bergmann
Browse files

ARM: ux500: Enable Cortex-A9 GIC (Generic Interrupt Controller) in Device Tree



This enables the embedded GIC on all u8500 based hardware using DT.

Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 7e0ce270
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -16,8 +16,19 @@
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "stericsson,db8500";
		interrupt-parent = <&intc>;
		ranges;

		intc: interrupt-controller@a0411000 {
			compatible = "arm,cortex-a9-gic";
			#interrupt-cells = <3>;
			#address-cells = <1>;
			interrupt-controller;
			interrupt-parent;
			reg = <0xa0411000 0x1000>,
			      <0xa0410100 0x100>;
		};

		pmu {
			compatible = "arm,cortex-a9-pmu";
			interrupts = <0 7 0x4>;
+13 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@
#include <linux/err.h>
#include <linux/slab.h>
#include <linux/stat.h>
#include <linux/of.h>
#include <linux/of_irq.h>

#include <asm/hardware/gic.h>
#include <asm/mach/map.h>
@@ -28,6 +30,11 @@

void __iomem *_PRCMU_BASE;

static const struct of_device_id ux500_dt_irq_match[] = {
	{ .compatible = "arm,cortex-a9-gic", .data = gic_of_init, },
	{},
};

void __init ux500_init_irq(void)
{
	void __iomem *dist_base;
@@ -42,6 +49,11 @@ void __init ux500_init_irq(void)
	} else
		ux500_unknown_soc();

#ifdef CONFIG_OF
	if (of_have_populated_dt())
		of_irq_init(ux500_dt_irq_match);
	else
#endif
		gic_init(0, 29, dist_base, cpu_base);

	/*