From: Tony Lindgren <tony@atomide.com>
To: linux-arm-kernel@lists.infradead.org
Cc: linux-omap@vger.kernel.org
Subject: [PATCH 13/14] omap2/3: Fix powerdomain init for multiomap
Date: Tue, 26 Jan 2010 12:13:06 -0800 [thread overview]
Message-ID: <20100126201306.15382.7409.stgit@baageli.muru.com> (raw)
In-Reply-To: <20100126200646.15382.52167.stgit@baageli.muru.com>
Otherwise we'll an error when booting a kernel with both
CONFIG_ARCH_OMAP2 and CONFIG_ARCH_OMAP3 compiled in:
Unhandled fault: imprecise external abort (0xc06) at 0x00000000
...
Note that the same problem may still exist when trying to boot
a kernel with 2420 and 2430 both compiled in. We currently cannot
test this as the clock framework needs updating to support booting
2420 and 2430 compiled in.
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/io.c | 13 +++++++++----
arch/arm/mach-omap2/powerdomains.h | 23 +++++++++++++++++------
2 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index ee13ca9..96e9ea8 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -320,21 +320,26 @@ static int __init _omap2_init_reprogram_sdrc(void)
void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0,
struct omap_sdrc_params *sdrc_cs1)
{
+ struct powerdomain **pwrdm = NULL;
struct omap_hwmod **hwmods = NULL;
- if (cpu_is_omap2420())
+ if (cpu_is_omap2420()) {
+ pwrdm = powerdomains_omap2;
hwmods = omap2420_hwmods;
- else if (cpu_is_omap2430())
+ } else if (cpu_is_omap2430()) {
+ pwrdm = powerdomains_omap2;
hwmods = omap2430_hwmods;
- else if (cpu_is_omap34xx())
+ } else if (cpu_is_omap34xx()) {
+ pwrdm = powerdomains_omap3;
hwmods = omap34xx_hwmods;
+ }
#ifndef CONFIG_ARCH_OMAP4 /* FIXME: Remove this once the clkdev is ready */
/* The OPP tables have to be registered before a clk init */
omap_hwmod_init(hwmods);
omap2_mux_init();
omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps);
- pwrdm_init(powerdomains_omap);
+ pwrdm_init(pwrdm);
clkdm_init(clockdomains_omap, clkdm_pwrdm_autodeps);
#endif
omap2_clk_init();
diff --git a/arch/arm/mach-omap2/powerdomains.h b/arch/arm/mach-omap2/powerdomains.h
index d5d753c..6fe7d0c 100644
--- a/arch/arm/mach-omap2/powerdomains.h
+++ b/arch/arm/mach-omap2/powerdomains.h
@@ -152,22 +152,33 @@ static struct powerdomain wkup_pwrdm = {
/* As powerdomains are added or removed above, this list must also be changed */
-static struct powerdomain *powerdomains_omap[] __initdata = {
+
+#ifdef CONFIG_ARCH_OMAP2
+static struct powerdomain *powerdomains_omap2[] __initdata = {
&gfx_pwrdm,
&wkup_pwrdm,
-#ifdef CONFIG_ARCH_OMAP2
&dsp_pwrdm,
&mpu_24xx_pwrdm,
&core_24xx_pwrdm,
-#endif
#ifdef CONFIG_ARCH_OMAP2430
&mdm_pwrdm,
#endif
+ NULL
+};
+#else
+#define powerdomains_omap2 NULL
+#endif
+
#ifdef CONFIG_ARCH_OMAP3
+static struct powerdomain *powerdomains_omap3[] __initdata = {
+
+ &gfx_pwrdm,
+ &wkup_pwrdm,
+
&iva2_pwrdm,
&mpu_34xx_pwrdm,
&neon_pwrdm,
@@ -184,10 +195,10 @@ static struct powerdomain *powerdomains_omap[] __initdata = {
&dpll3_pwrdm,
&dpll4_pwrdm,
&dpll5_pwrdm,
-#endif
-
NULL
};
-
+#else
+#define powerdomains_omap3 NULL
+#endif
#endif
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 13/14] omap2/3: Fix powerdomain init for multiomap
Date: Tue, 26 Jan 2010 12:13:06 -0800 [thread overview]
Message-ID: <20100126201306.15382.7409.stgit@baageli.muru.com> (raw)
In-Reply-To: <20100126200646.15382.52167.stgit@baageli.muru.com>
Otherwise we'll an error when booting a kernel with both
CONFIG_ARCH_OMAP2 and CONFIG_ARCH_OMAP3 compiled in:
Unhandled fault: imprecise external abort (0xc06) at 0x00000000
...
Note that the same problem may still exist when trying to boot
a kernel with 2420 and 2430 both compiled in. We currently cannot
test this as the clock framework needs updating to support booting
2420 and 2430 compiled in.
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/io.c | 13 +++++++++----
arch/arm/mach-omap2/powerdomains.h | 23 +++++++++++++++++------
2 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index ee13ca9..96e9ea8 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -320,21 +320,26 @@ static int __init _omap2_init_reprogram_sdrc(void)
void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0,
struct omap_sdrc_params *sdrc_cs1)
{
+ struct powerdomain **pwrdm = NULL;
struct omap_hwmod **hwmods = NULL;
- if (cpu_is_omap2420())
+ if (cpu_is_omap2420()) {
+ pwrdm = powerdomains_omap2;
hwmods = omap2420_hwmods;
- else if (cpu_is_omap2430())
+ } else if (cpu_is_omap2430()) {
+ pwrdm = powerdomains_omap2;
hwmods = omap2430_hwmods;
- else if (cpu_is_omap34xx())
+ } else if (cpu_is_omap34xx()) {
+ pwrdm = powerdomains_omap3;
hwmods = omap34xx_hwmods;
+ }
#ifndef CONFIG_ARCH_OMAP4 /* FIXME: Remove this once the clkdev is ready */
/* The OPP tables have to be registered before a clk init */
omap_hwmod_init(hwmods);
omap2_mux_init();
omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps);
- pwrdm_init(powerdomains_omap);
+ pwrdm_init(pwrdm);
clkdm_init(clockdomains_omap, clkdm_pwrdm_autodeps);
#endif
omap2_clk_init();
diff --git a/arch/arm/mach-omap2/powerdomains.h b/arch/arm/mach-omap2/powerdomains.h
index d5d753c..6fe7d0c 100644
--- a/arch/arm/mach-omap2/powerdomains.h
+++ b/arch/arm/mach-omap2/powerdomains.h
@@ -152,22 +152,33 @@ static struct powerdomain wkup_pwrdm = {
/* As powerdomains are added or removed above, this list must also be changed */
-static struct powerdomain *powerdomains_omap[] __initdata = {
+
+#ifdef CONFIG_ARCH_OMAP2
+static struct powerdomain *powerdomains_omap2[] __initdata = {
&gfx_pwrdm,
&wkup_pwrdm,
-#ifdef CONFIG_ARCH_OMAP2
&dsp_pwrdm,
&mpu_24xx_pwrdm,
&core_24xx_pwrdm,
-#endif
#ifdef CONFIG_ARCH_OMAP2430
&mdm_pwrdm,
#endif
+ NULL
+};
+#else
+#define powerdomains_omap2 NULL
+#endif
+
#ifdef CONFIG_ARCH_OMAP3
+static struct powerdomain *powerdomains_omap3[] __initdata = {
+
+ &gfx_pwrdm,
+ &wkup_pwrdm,
+
&iva2_pwrdm,
&mpu_34xx_pwrdm,
&neon_pwrdm,
@@ -184,10 +195,10 @@ static struct powerdomain *powerdomains_omap[] __initdata = {
&dpll3_pwrdm,
&dpll4_pwrdm,
&dpll5_pwrdm,
-#endif
-
NULL
};
-
+#else
+#define powerdomains_omap3 NULL
+#endif
#endif
next prev parent reply other threads:[~2010-01-26 20:12 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-26 20:12 [PATCH 00/14] omap DEBUG_LL and multiboot changes for 2.6.34 Tony Lindgren
2010-01-26 20:12 ` Tony Lindgren
2010-01-26 20:12 ` [PATCH 01/14] omap: Clean the serial port defines Tony Lindgren
2010-01-26 20:12 ` Tony Lindgren
2010-01-26 20:12 ` [PATCH 02/14] omap: Make uncompress code and DEBUG_LL code generic Tony Lindgren
2010-01-26 20:12 ` Tony Lindgren
[not found] ` <20100126201239.15382.34792.stgit-XB442sTQ5VIxQTnqJstS8Q@public.gmane.org>
2010-04-29 14:44 ` Kevin Hilman
2010-04-29 14:44 ` Kevin Hilman
2010-04-30 15:07 ` Kevin Hilman
2010-04-30 15:07 ` Kevin Hilman
2010-04-30 16:20 ` Cyril Chemparathy
2010-04-30 16:20 ` Cyril Chemparathy
2010-04-30 16:49 ` Tony Lindgren
2010-04-30 16:49 ` Tony Lindgren
2010-04-30 17:18 ` Russell King - ARM Linux
2010-04-30 17:18 ` Russell King - ARM Linux
2010-04-30 18:47 ` Tony Lindgren
2010-04-30 18:47 ` Tony Lindgren
2010-04-30 21:16 ` Kevin Hilman
2010-04-30 21:16 ` Kevin Hilman
2010-01-26 20:12 ` [PATCH 03/14] omap: Remove old DEBUG_LL serial port options Tony Lindgren
2010-01-26 20:12 ` Tony Lindgren
2010-01-26 20:12 ` [PATCH 04/14] omap2/3: Make get_irqnr_and_base common for mach-omap2 multiboot Tony Lindgren
2010-01-26 20:12 ` Tony Lindgren
2010-01-26 20:12 ` [PATCH 05/14] omap2/3: Multiboot compile fixes to compile in omap2 and omap3 Tony Lindgren
2010-01-26 20:12 ` Tony Lindgren
2010-01-26 20:12 ` [PATCH 06/14] omap: Fix dmtimer.c for multi-omap boot Tony Lindgren
2010-01-26 20:12 ` Tony Lindgren
2010-01-26 20:12 ` [PATCH 07/14] omap2/3/4: Fix omap2_map_common_io for multi-omap Tony Lindgren
2010-01-26 20:12 ` Tony Lindgren
2010-01-26 20:12 ` [PATCH 08/14] omap2/3/4: Fix mbox init " Tony Lindgren
2010-01-26 20:12 ` Tony Lindgren
2010-01-26 20:12 ` [PATCH 09/14] omap2: Convert ARCH_OMAP24XX to ARCH_OMAP2 Tony Lindgren
2010-01-26 20:12 ` Tony Lindgren
2010-01-26 20:12 ` [PATCH 10/14] omap3: Replace ARCH_OMAP34XX with ARCH_OMAP3 Tony Lindgren
2010-01-26 20:12 ` Tony Lindgren
2010-01-26 20:13 ` [PATCH 11/14] omap2/3/4: Replace orred CONFIG_ARCH_OMAP2/3/4 with CONFIG_ARCH_OMAP2PLUS Tony Lindgren
2010-01-26 20:13 ` Tony Lindgren
2010-01-26 20:13 ` [PATCH 12/14] omap2/3: Fix initcalls for multi-omap Tony Lindgren
2010-01-26 20:13 ` Tony Lindgren
2010-08-19 9:03 ` Alexander Shishkin
2010-08-19 9:35 ` Tony Lindgren
2010-08-19 9:35 ` Tony Lindgren
2010-01-26 20:13 ` Tony Lindgren [this message]
2010-01-26 20:13 ` [PATCH 13/14] omap2/3: Fix powerdomain init for multiomap Tony Lindgren
2010-01-27 2:26 ` Paul Walmsley
2010-01-27 2:26 ` Paul Walmsley
2010-01-27 2:29 ` Tony Lindgren
2010-01-27 2:29 ` Tony Lindgren
2010-01-26 20:13 ` [PATCH 14/14] omap2/3: Update omap3_defconfig to build in all the 2420 based boards Tony Lindgren
2010-01-26 20:13 ` Tony Lindgren
2010-03-24 11:43 ` [PATCH 00/14] omap DEBUG_LL and multiboot changes for 2.6.34 Gadiyar, Anand
2010-03-24 11:43 ` Gadiyar, Anand
2010-04-01 12:13 ` Tony Lindgren
2010-04-01 12:13 ` Tony Lindgren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100126201306.15382.7409.stgit@baageli.muru.com \
--to=tony@atomide.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.