1
0
mirror of https://git.yoctoproject.org/meta-ti synced 2026-04-20 19:53:43 +00:00
Files
meta-ti/recipes-kernel/linux/linux-3.0/misc/0002-OMAP2-OPP-allow-OPP-enumeration-to-continue-if-devic.patch
Koen Kooi c5f7a7cb9a linux 3.0: update to 3.0.25
Backport Nishants OPP/hwmod fix to get more than 600MHz out of 37xx, but don't
activate it yet. 3630ES1.2 derived silicon gets misdetected:

xM revision A:
[    0.000000] OMAP3630 ES1.0 (l2cache iva sgx neon isp 192mhz_clk )

new xM revision C:
[    0.000000] OMAP3630 ES1.2 (l2cache neon isp 192mhz_clk )

Since the iva hwmod is missing the OPP tables will fail and clock it back to
600MHz. But with the patch the kernel hangs in early init. This problem isn't
specific to this kernel update, it just coincided with ES1.2 silicon arriving
on my desk.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2012-03-22 23:33:31 -04:00

44 lines
1.5 KiB
Diff

From c15f217f7d07c460763a092f31f61b1975a18563 Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Fri, 16 Mar 2012 11:19:09 -0500
Subject: [PATCH 2/2] OMAP2+: OPP: allow OPP enumeration to continue if device is not present
On platforms such as OMAP3, certain variants may not have IVA, SGX
or some specific component. We currently have a check to aid fixing
wrong population of OPP entries for issues such as typos. This however
causes a conflict with valid requirement where the SoC variant does
not actually have the module present.
So, reduce the severity of the print to a debug statement and skip
registering that specific OPP, but continue down the list.
Reported-by: Steve Sakoman <steve@sakoman.com>
Reported-by: Maximilian Schwerin <mvs@tigris.de>
Acked-by: Steve Sakoman <steve@sakoman.com>
Tested-by: Maximilian Schwerin <mvs@tigris.de>
Signed-off-by: Nishanth Menon <nm@ti.com>
---
arch/arm/mach-omap2/opp.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-omap2/opp.c b/arch/arm/mach-omap2/opp.c
index ab8b35b..f111b82 100644
--- a/arch/arm/mach-omap2/opp.c
+++ b/arch/arm/mach-omap2/opp.c
@@ -64,10 +64,10 @@ int __init omap_init_opp_table(struct omap_opp_def *opp_def,
}
oh = omap_hwmod_lookup(opp_def->hwmod_name);
if (!oh || !oh->od) {
- pr_warn("%s: no hwmod or odev for %s, [%d] "
+ pr_debug("%s: no hwmod or odev for %s, [%d] "
"cannot add OPPs.\n", __func__,
opp_def->hwmod_name, i);
- return -EINVAL;
+ continue;
}
dev = &oh->od->pdev.dev;
--
1.7.2.5