Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756087Ab3JHR6Z (ORCPT ); Tue, 8 Oct 2013 13:58:25 -0400 Received: from mho-03-ewr.mailhop.org ([204.13.248.66]:65273 "EHLO mho-01-ewr.mailhop.org" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752091Ab3JHR6X (ORCPT ); Tue, 8 Oct 2013 13:58:23 -0400 X-Mail-Handler: Dyn Standard SMTP by Dyn X-Originating-IP: 50.131.214.131 X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX19JqRHkZUmnclW8GDTdumJO Date: Tue, 8 Oct 2013 10:58:19 -0700 From: Tony Lindgren To: Nishanth Menon Cc: =?utf-8?Q?Beno=C3=AEt?= Cousson , Felipe , Olof Johansson , devicetree@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH V3] ARM: OMAP3: Fix hardware detection for omap3630 when booted with device tree Message-ID: <20131008175818.GC8313@atomide.com> References: <20131007192009.GA8949@atomide.com> <1381178629-13488-1-git-send-email-nm@ti.com> <20131008000515.GA2097@earth.universe> <5253F3D6.5060403@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5253F3D6.5060403@ti.com> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4620 Lines: 133 * Nishanth Menon [131008 05:08]: > On 10/07/2013 07:05 PM, Sebastian Reichel wrote: > > On Mon, Oct 07, 2013 at 03:43:49PM -0500, Nishanth Menon wrote: > >> diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c > >> index 39c7838..4fe5b9c 100644 > >> --- a/arch/arm/mach-omap2/board-generic.c > >> +++ b/arch/arm/mach-omap2/board-generic.c > >> @@ -113,6 +113,7 @@ MACHINE_END > >> #ifdef CONFIG_ARCH_OMAP3 > >> static const char *omap3_boards_compat[] __initdata = { > >> "ti,omap3", > >> + "ti,omap343x", > > ^^^^ > > You used omap36xx everywhere, so I guess this should be > > "ti,omap34xx"? > > 3630 has at least two variants: > http://www.ti.com/product/omap3621 > http://www.ti.com/product/omap3630 > > It got further spun off in 37xx family: > http://www.ti.com/product/dm3730 (DM3730 and DM3725) > > 3430 is no longer in production - but just had a single version (at > least what I can remember). > > 3530 variant of 3430 on the other hand has a few: > http://processors.wiki.ti.com/index.php/OMAP3_Overview > > > I am ok to change to ti,omap34xx if folks think that is the right > thing to do. Personally, I might prefer to handle 35xx family slightly > differently considering deltas. I've dropped that part as that's not needed for the fix AFAIK. Here's what I've applied and pushed out to omap-for-v3.12/fixes. Regards, Tony From: Nishanth Menon Date: Mon, 7 Oct 2013 15:43:49 -0500 Subject: [PATCH] ARM: OMAP3: Fix hardware detection for omap3630 when booted with device tree SoC family definitions at the moment are reactive to board needs as a result, beagle-xm would matchup with ti,omap3 which invokes omap3430_init_early instead of omap3630_init_early. Obviously, this is the wrong behavior. With clock node dts conversion, we get the following warnings before system hangs as a result and 3630 based platforms fails to boot (uart4 clocks are only present in OMAP3630 and not present in OMAP3430): ... omap_hwmod: uart4: cannot clk_get main_clk uart4_fck omap_hwmod: uart4: cannot _init_clocks WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2434 _init+0x6c/0x80() omap_hwmod: uart4: couldn't init clocks ... WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2126 _enable+0x254/0x280() omap_hwmod: timer12: enabled state can only be entered from initialized, idle, or disabled state ... WARNING: CPU: 0 PID: 46 at arch/arm/mach-omap2/omap_hwmod.c:2224 _idle+0xd4/0xf8() omap_hwmod: timer12: idle state can only be entered from enabled state WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2126 _enable+0x254/0x280() omap_hwmod: uart4: enabled state can only be entered from initialized, idle, or disabled state So, add specific compatiblity for 3630 to allow match for Beagle-XM platform. Signed-off-by: Nishanth Menon [tony@atomide.com: left out ti,omap343x, updated comments] Signed-off-by: Tony Lindgren diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts index 0c514dc..2816bf6 100644 --- a/arch/arm/boot/dts/omap3-beagle-xm.dts +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts @@ -11,7 +11,7 @@ / { model = "TI OMAP3 BeagleBoard xM"; - compatible = "ti,omap3-beagle-xm", "ti,omap3-beagle", "ti,omap3"; + compatible = "ti,omap3-beagle-xm", "ti,omap36xx", "ti,omap3"; cpus { cpu@0 { diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c index 39c7838..87162e1 100644 --- a/arch/arm/mach-omap2/board-generic.c +++ b/arch/arm/mach-omap2/board-generic.c @@ -129,6 +129,24 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)") .restart = omap3xxx_restart, MACHINE_END +static const char *omap36xx_boards_compat[] __initdata = { + "ti,omap36xx", + NULL, +}; + +DT_MACHINE_START(OMAP36XX_DT, "Generic OMAP36xx (Flattened Device Tree)") + .reserve = omap_reserve, + .map_io = omap3_map_io, + .init_early = omap3630_init_early, + .init_irq = omap_intc_of_init, + .handle_irq = omap3_intc_handle_irq, + .init_machine = omap_generic_init, + .init_late = omap3_init_late, + .init_time = omap3_sync32k_timer_init, + .dt_compat = omap36xx_boards_compat, + .restart = omap3xxx_restart, +MACHINE_END + static const char *omap3_gp_boards_compat[] __initdata = { "ti,omap3-beagle", "timll,omap3-devkit8000", -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/