From mboxrd@z Thu Jan 1 00:00:00 1970 From: Grant Likely Subject: Re: [PATCH v2] ARM: Tegra: dt: Set up an OF IRQ translation range Date: Sat, 30 Apr 2011 00:36:41 -0600 Message-ID: <20110430063641.GC3103@ponder.secretlab.ca> References: <1304136608-11584-1-git-send-email-swarren@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <1304136608-11584-1-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> Sender: linux-tegra-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Stephen Warren Cc: glikely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org, bones-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: devicetree@vger.kernel.org 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 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 > #include > #include > +#include > #include > +#include > #include > #include > #include > @@ -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 >