* [PATCH v2] ARM: Tegra: dt: Set up an OF IRQ translation range
@ 2011-04-30 4:10 Stephen Warren
[not found] ` <1304136608-11584-1-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 2+ messages in thread
From: Stephen Warren @ 2011-04-30 4:10 UTC (permalink / raw)
To: glikely-s3s/WqlpOiPyB63q8FvJNQ, bones-s3s/WqlpOiPyB63q8FvJNQ
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-tegra-u79uwXL29TY76Z2rM5mHXA, Stephen Warren
Without this, none of the devicetree devices in tegra-harmony.dts can
map interrupts, and the system fails to boot.
Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
v2: Add a Tegra-specific compatible value, search by that value, minor
formatting fixes.
arch/arm/boot/dts/tegra-harmony.dts | 3 +++
arch/arm/mach-tegra/board-dt.c | 14 ++++++++++++++
2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/tegra-harmony.dts b/arch/arm/boot/dts/tegra-harmony.dts
index 82fa0c2..a22c1bb 100644
--- a/arch/arm/boot/dts/tegra-harmony.dts
+++ b/arch/arm/boot/dts/tegra-harmony.dts
@@ -25,8 +25,11 @@
ranges;
intc: intc {
+ compatible = "nvidia,tegra250-gic", "arm,gic";
interrupt-controller;
#interrupt-cells = <1>;
+ reg = < 0x50041000 0x1000
+ 0x50040100 0x100 >;
};
};
diff --git a/arch/arm/mach-tegra/board-dt.c b/arch/arm/mach-tegra/board-dt.c
index 0efedb8..fb0d75d 100644
--- a/arch/arm/mach-tegra/board-dt.c
+++ b/arch/arm/mach-tegra/board-dt.c
@@ -22,7 +22,9 @@
#include <linux/clk.h>
#include <linux/dma-mapping.h>
#include <linux/of.h>
+#include <linux/of_address.h>
#include <linux/of_fdt.h>
+#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/pda_power.h>
#include <linux/io.h>
@@ -137,8 +139,20 @@ static struct of_device_id tegra_dt_match_table[] __initdata = {
{}
};
+struct of_device_id gic_match[] __initdata = {
+ { .compatible = "nvidia,tegra250-gic", },
+ {}
+};
+
static void __init tegra_dt_init(void)
{
+ struct device_node *node;
+
+ node = of_find_matching_node_by_address(NULL, gic_match,
+ TEGRA_ARM_INT_DIST_BASE);
+ if (node)
+ of_irq_domain_add_simple(node, INT_GIC_BASE, INT_MAIN_NR);
+
/*
* Before registering devices; tell Linux about which device nodes
* are intended to be registered so that it doesn't create devices
--
1.7.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] ARM: Tegra: dt: Set up an OF IRQ translation range
[not found] ` <1304136608-11584-1-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
@ 2011-04-30 6:36 ` Grant Likely
0 siblings, 0 replies; 2+ messages in thread
From: Grant Likely @ 2011-04-30 6:36 UTC (permalink / raw)
To: Stephen Warren
Cc: glikely-s3s/WqlpOiPyB63q8FvJNQ, bones-s3s/WqlpOiPyB63q8FvJNQ,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-tegra-u79uwXL29TY76Z2rM5mHXA
On Fri, Apr 29, 2011 at 10:10:08PM -0600, Stephen Warren wrote:
> Without this, none of the devicetree devices in tegra-harmony.dts can
> map interrupts, and the system fails to boot.
>
> Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Merged into arm/dt: full tegra devicetree support patch, thanks.
g.
> ---
> v2: Add a Tegra-specific compatible value, search by that value, minor
> formatting fixes.
>
> arch/arm/boot/dts/tegra-harmony.dts | 3 +++
> arch/arm/mach-tegra/board-dt.c | 14 ++++++++++++++
> 2 files changed, 17 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/boot/dts/tegra-harmony.dts b/arch/arm/boot/dts/tegra-harmony.dts
> index 82fa0c2..a22c1bb 100644
> --- a/arch/arm/boot/dts/tegra-harmony.dts
> +++ b/arch/arm/boot/dts/tegra-harmony.dts
> @@ -25,8 +25,11 @@
> ranges;
>
> intc: intc {
> + compatible = "nvidia,tegra250-gic", "arm,gic";
> interrupt-controller;
> #interrupt-cells = <1>;
> + reg = < 0x50041000 0x1000
> + 0x50040100 0x100 >;
> };
> };
>
> diff --git a/arch/arm/mach-tegra/board-dt.c b/arch/arm/mach-tegra/board-dt.c
> index 0efedb8..fb0d75d 100644
> --- a/arch/arm/mach-tegra/board-dt.c
> +++ b/arch/arm/mach-tegra/board-dt.c
> @@ -22,7 +22,9 @@
> #include <linux/clk.h>
> #include <linux/dma-mapping.h>
> #include <linux/of.h>
> +#include <linux/of_address.h>
> #include <linux/of_fdt.h>
> +#include <linux/of_irq.h>
> #include <linux/of_platform.h>
> #include <linux/pda_power.h>
> #include <linux/io.h>
> @@ -137,8 +139,20 @@ static struct of_device_id tegra_dt_match_table[] __initdata = {
> {}
> };
>
> +struct of_device_id gic_match[] __initdata = {
> + { .compatible = "nvidia,tegra250-gic", },
> + {}
> +};
> +
> static void __init tegra_dt_init(void)
> {
> + struct device_node *node;
> +
> + node = of_find_matching_node_by_address(NULL, gic_match,
> + TEGRA_ARM_INT_DIST_BASE);
> + if (node)
> + of_irq_domain_add_simple(node, INT_GIC_BASE, INT_MAIN_NR);
> +
> /*
> * Before registering devices; tell Linux about which device nodes
> * are intended to be registered so that it doesn't create devices
> --
> 1.7.1
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-04-30 6:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-30 4:10 [PATCH v2] ARM: Tegra: dt: Set up an OF IRQ translation range Stephen Warren
[not found] ` <1304136608-11584-1-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-04-30 6:36 ` Grant Likely
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).