diff options
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.patch | 90 |
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 + |