aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/linux/linux-omap-2.6.37/dvfs/0002-OMAP35x-Add-support-for-720MHz-part.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/linux/linux-omap-2.6.37/dvfs/0002-OMAP35x-Add-support-for-720MHz-part.patch')
-rw-r--r--recipes/linux/linux-omap-2.6.37/dvfs/0002-OMAP35x-Add-support-for-720MHz-part.patch90
1 files changed, 90 insertions, 0 deletions
diff --git a/recipes/linux/linux-omap-2.6.37/dvfs/0002-OMAP35x-Add-support-for-720MHz-part.patch b/recipes/linux/linux-omap-2.6.37/dvfs/0002-OMAP35x-Add-support-for-720MHz-part.patch
new file mode 100644
index 0000000000..c771b09159
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.37/dvfs/0002-OMAP35x-Add-support-for-720MHz-part.patch
@@ -0,0 +1,90 @@
+From 154571d1620731a3207da126eb4f139a1534f293 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Thu, 6 Jan 2011 13:13:18 +0100
+Subject: [PATCH 2/4] OMAP35x: Add support for 720MHz part
+
+This patch adds support for ARM running at 720MHz part.
+
+The 720MHz capability can be probed run-time by reading the
+PRODID.SKUID[3:0] at 0x4830A20C.
+
+ [1] http://focus.ti.com/lit/ug/spruff1d/spruff1d.pdf
+
+This is a forward port of https://patchwork.kernel.org/patch/53125/
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ arch/arm/mach-omap2/control.h | 7 +++++++
+ arch/arm/mach-omap2/id.c | 10 ++++++++++
+ arch/arm/plat-omap/include/plat/cpu.h | 2 ++
+ 3 files changed, 19 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/control.h b/arch/arm/mach-omap2/control.h
+index f0629ae..b9671d3 100644
+--- a/arch/arm/mach-omap2/control.h
++++ b/arch/arm/mach-omap2/control.h
+@@ -365,7 +365,14 @@
+ #define FEAT_NEON 0
+ #define FEAT_NEON_NONE 1
+
++/*
++ * Product ID register
++ */
++#define OMAP3_PRODID 0x020C
+
++#define OMAP3_SKUID_MASK 0x0f
++#define OMAP3_SKUID_720MHZ 0x08
++
+ #ifndef __ASSEMBLY__
+ #ifdef CONFIG_ARCH_OMAP2PLUS
+ extern void __iomem *omap_ctrl_base_get(void);
+diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
+index 5f9086c..53fbe01 100644
+--- a/arch/arm/mach-omap2/id.c
++++ b/arch/arm/mach-omap2/id.c
+@@ -195,6 +195,15 @@ static void __init omap3_check_features(void)
+ * TODO: Get additional info (where applicable)
+ * e.g. Size of L2 cache.
+ */
++
++ /*
++ * Does it support 720MHz?
++ */
++ status = (OMAP3_SKUID_MASK & read_tap_reg(OMAP3_PRODID));
++
++ if (status & OMAP3_SKUID_720MHZ) {
++ omap3_features |= OMAP3_HAS_720MHZ;
++ }
+ }
+
+ static void __init omap3_check_revision(void)
+@@ -445,6 +454,7 @@ static void __init omap3_cpuinfo(void)
+ OMAP3_SHOW_FEATURE(neon);
+ OMAP3_SHOW_FEATURE(isp);
+ OMAP3_SHOW_FEATURE(192mhz_clk);
++ OMAP3_SHOW_FEATURE(720mhz);
+
+ printk(")\n");
+ }
+diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
+index 1a8c347..7d24faa 100644
+--- a/arch/arm/plat-omap/include/plat/cpu.h
++++ b/arch/arm/plat-omap/include/plat/cpu.h
+@@ -510,6 +510,7 @@ extern u32 omap3_features;
+ #define OMAP3_HAS_ISP BIT(4)
+ #define OMAP3_HAS_192MHZ_CLK BIT(5)
+ #define OMAP3_HAS_IO_WAKEUP BIT(6)
++#define OMAP3_HAS_720MHZ BIT(7)
+
+ #define OMAP3_HAS_FEATURE(feat,flag) \
+ static inline unsigned int omap3_has_ ##feat(void) \
+@@ -524,5 +525,6 @@ OMAP3_HAS_FEATURE(neon, NEON)
+ OMAP3_HAS_FEATURE(isp, ISP)
+ OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK)
+ OMAP3_HAS_FEATURE(io_wakeup, IO_WAKEUP)
++OMAP3_HAS_FEATURE(720mhz, 720MHZ)
+
+ #endif
+--
+1.6.6.1
+