diff options
author | Koen Kooi <koen@dominion.thruhere.net> | 2012-03-21 09:02:22 +0100 |
---|---|---|
committer | Denys Dmytriyenko <denys@ti.com> | 2012-03-22 23:33:31 -0400 |
commit | c5f7a7cb9a208a3d185b047df9eef5bd5aa06c1a (patch) | |
tree | d8574d0a4453314aed5d8722587296443732ef50 | |
parent | 997bf8f58a718afaab57657d8e347bffa70d8b9f (diff) | |
download | meta-ti-c5f7a7cb9a208a3d185b047df9eef5bd5aa06c1a.tar.gz |
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>
-rw-r--r-- | conf/machine/include/omap3.inc | 2 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-3.0/misc/0002-OMAP2-OPP-allow-OPP-enumeration-to-continue-if-devic.patch | 43 | ||||
-rw-r--r-- | recipes-kernel/linux/linux_3.0.bb | 8 |
3 files changed, 48 insertions, 5 deletions
diff --git a/conf/machine/include/omap3.inc b/conf/machine/include/omap3.inc index 9cafe852..16078dbc 100644 --- a/conf/machine/include/omap3.inc +++ b/conf/machine/include/omap3.inc | |||
@@ -4,7 +4,7 @@ require conf/machine/include/soc-family.inc | |||
4 | require conf/machine/include/tune-cortexa8.inc | 4 | require conf/machine/include/tune-cortexa8.inc |
5 | PREFERRED_PROVIDER_virtual/kernel = "linux-omap" | 5 | PREFERRED_PROVIDER_virtual/kernel = "linux-omap" |
6 | # Increase this everytime you change something in the kernel | 6 | # Increase this everytime you change something in the kernel |
7 | MACHINE_KERNEL_PR = "r117" | 7 | MACHINE_KERNEL_PR = "r118" |
8 | 8 | ||
9 | KERNEL_IMAGETYPE = "uImage" | 9 | KERNEL_IMAGETYPE = "uImage" |
10 | 10 | ||
diff --git a/recipes-kernel/linux/linux-3.0/misc/0002-OMAP2-OPP-allow-OPP-enumeration-to-continue-if-devic.patch b/recipes-kernel/linux/linux-3.0/misc/0002-OMAP2-OPP-allow-OPP-enumeration-to-continue-if-devic.patch new file mode 100644 index 00000000..70193813 --- /dev/null +++ b/recipes-kernel/linux/linux-3.0/misc/0002-OMAP2-OPP-allow-OPP-enumeration-to-continue-if-devic.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | From c15f217f7d07c460763a092f31f61b1975a18563 Mon Sep 17 00:00:00 2001 | ||
2 | From: Nishanth Menon <nm@ti.com> | ||
3 | Date: Fri, 16 Mar 2012 11:19:09 -0500 | ||
4 | Subject: [PATCH 2/2] OMAP2+: OPP: allow OPP enumeration to continue if device is not present | ||
5 | |||
6 | On platforms such as OMAP3, certain variants may not have IVA, SGX | ||
7 | or some specific component. We currently have a check to aid fixing | ||
8 | wrong population of OPP entries for issues such as typos. This however | ||
9 | causes a conflict with valid requirement where the SoC variant does | ||
10 | not actually have the module present. | ||
11 | |||
12 | So, reduce the severity of the print to a debug statement and skip | ||
13 | registering that specific OPP, but continue down the list. | ||
14 | |||
15 | Reported-by: Steve Sakoman <steve@sakoman.com> | ||
16 | Reported-by: Maximilian Schwerin <mvs@tigris.de> | ||
17 | Acked-by: Steve Sakoman <steve@sakoman.com> | ||
18 | Tested-by: Maximilian Schwerin <mvs@tigris.de> | ||
19 | Signed-off-by: Nishanth Menon <nm@ti.com> | ||
20 | --- | ||
21 | arch/arm/mach-omap2/opp.c | 4 ++-- | ||
22 | 1 files changed, 2 insertions(+), 2 deletions(-) | ||
23 | |||
24 | diff --git a/arch/arm/mach-omap2/opp.c b/arch/arm/mach-omap2/opp.c | ||
25 | index ab8b35b..f111b82 100644 | ||
26 | --- a/arch/arm/mach-omap2/opp.c | ||
27 | +++ b/arch/arm/mach-omap2/opp.c | ||
28 | @@ -64,10 +64,10 @@ int __init omap_init_opp_table(struct omap_opp_def *opp_def, | ||
29 | } | ||
30 | oh = omap_hwmod_lookup(opp_def->hwmod_name); | ||
31 | if (!oh || !oh->od) { | ||
32 | - pr_warn("%s: no hwmod or odev for %s, [%d] " | ||
33 | + pr_debug("%s: no hwmod or odev for %s, [%d] " | ||
34 | "cannot add OPPs.\n", __func__, | ||
35 | opp_def->hwmod_name, i); | ||
36 | - return -EINVAL; | ||
37 | + continue; | ||
38 | } | ||
39 | dev = &oh->od->pdev.dev; | ||
40 | |||
41 | -- | ||
42 | 1.7.2.5 | ||
43 | |||
diff --git a/recipes-kernel/linux/linux_3.0.bb b/recipes-kernel/linux/linux_3.0.bb index c95542e9..a817c1d3 100644 --- a/recipes-kernel/linux/linux_3.0.bb +++ b/recipes-kernel/linux/linux_3.0.bb | |||
@@ -5,12 +5,12 @@ KERNEL_IMAGETYPE = "uImage" | |||
5 | 5 | ||
6 | COMPATIBLE_MACHINE = "(beagleboard)" | 6 | COMPATIBLE_MACHINE = "(beagleboard)" |
7 | 7 | ||
8 | PV = "3.0.23" | 8 | PV = "3.0.25" |
9 | # v3.0.23 tag | 9 | # v3.0.25 tag |
10 | SRCREV_pn-${PN} = "bf6a68d2a214e07f7c0d6538e00e17b826714160" | 10 | SRCREV_pn-${PN} = "9bf176a3e029ae7f2dc6feae185091525a988be2" |
11 | 11 | ||
12 | # The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc | 12 | # The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc |
13 | MACHINE_KERNEL_PR_append = "b" | 13 | MACHINE_KERNEL_PR_append = "a" |
14 | 14 | ||
15 | FILESPATH =. "${FILE_DIRNAME}/linux-3.0:${FILE_DIRNAME}/linux-3.0/${MACHINE}:" | 15 | FILESPATH =. "${FILE_DIRNAME}/linux-3.0:${FILE_DIRNAME}/linux-3.0/${MACHINE}:" |
16 | 16 | ||