diff options
Diffstat (limited to 'recipes-kernel/linux/linux-mainline-3.2/omap_fixes/0004-ARM-OMAP4-clock-Add-CPU-local-timer-clock-node.patch')
-rw-r--r-- | recipes-kernel/linux/linux-mainline-3.2/omap_fixes/0004-ARM-OMAP4-clock-Add-CPU-local-timer-clock-node.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-mainline-3.2/omap_fixes/0004-ARM-OMAP4-clock-Add-CPU-local-timer-clock-node.patch b/recipes-kernel/linux/linux-mainline-3.2/omap_fixes/0004-ARM-OMAP4-clock-Add-CPU-local-timer-clock-node.patch new file mode 100644 index 00000000..f6c4ab68 --- /dev/null +++ b/recipes-kernel/linux/linux-mainline-3.2/omap_fixes/0004-ARM-OMAP4-clock-Add-CPU-local-timer-clock-node.patch | |||
@@ -0,0 +1,56 @@ | |||
1 | From 65f1ea963900225224754f674e8907248262a46b Mon Sep 17 00:00:00 2001 | ||
2 | From: Santosh Shilimkar <santosh.shilimkar@ti.com> | ||
3 | Date: Fri, 16 Dec 2011 16:09:12 -0800 | ||
4 | Subject: [PATCH 4/6] ARM: OMAP4: clock: Add CPU local timer clock node | ||
5 | |||
6 | Local timer clock is sourced from the CPU clock and hence changes | ||
7 | along with CPU clock. These per CPU local timers are used as | ||
8 | clock-events, so they need to be reconfigured on CPU frequency | ||
9 | change as part of CPUfreq governor. | ||
10 | |||
11 | Newly introduced clockevents_reconfigure() needs to know the | ||
12 | twd clock-rate. Provide a clock-node to make clk_get_rate() work | ||
13 | for TWD. | ||
14 | |||
15 | Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> | ||
16 | Cc: Paul Walmsley <paul@pwsan.com> | ||
17 | Cc: Kevin Hilman <khilman@ti.com> | ||
18 | [paul@pwsan.com: renamed clock node to 'mpu_periphclk' to indicate that this | ||
19 | is the Cortex-A9 MPCore subsystem clock PERIPHCLK (DDI 0407G); moved | ||
20 | clock and clkdev entries to match the autogenerated script output] | ||
21 | Signed-off-by: Paul Walmsley <paul@pwsan.com> | ||
22 | Signed-off-by: Tony Lindgren <tony@atomide.com> | ||
23 | --- | ||
24 | arch/arm/mach-omap2/clock44xx_data.c | 9 +++++++++ | ||
25 | 1 files changed, 9 insertions(+), 0 deletions(-) | ||
26 | |||
27 | diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c | ||
28 | index 0798a80..730097e 100644 | ||
29 | --- a/arch/arm/mach-omap2/clock44xx_data.c | ||
30 | +++ b/arch/arm/mach-omap2/clock44xx_data.c | ||
31 | @@ -1206,6 +1206,14 @@ static const struct clksel ocp_abe_iclk_div[] = { | ||
32 | { .parent = NULL }, | ||
33 | }; | ||
34 | |||
35 | +static struct clk mpu_periphclk = { | ||
36 | + .name = "mpu_periphclk", | ||
37 | + .parent = &dpll_mpu_ck, | ||
38 | + .ops = &clkops_null, | ||
39 | + .fixed_div = 2, | ||
40 | + .recalc = &omap_fixed_divisor_recalc, | ||
41 | +}; | ||
42 | + | ||
43 | static struct clk ocp_abe_iclk = { | ||
44 | .name = "ocp_abe_iclk", | ||
45 | .parent = &aess_fclk, | ||
46 | @@ -3189,6 +3197,7 @@ static struct omap_clk omap44xx_clks[] = { | ||
47 | CLK(NULL, "l4_div_ck", &l4_div_ck, CK_443X), | ||
48 | CLK(NULL, "lp_clk_div_ck", &lp_clk_div_ck, CK_443X), | ||
49 | CLK(NULL, "l4_wkup_clk_mux_ck", &l4_wkup_clk_mux_ck, CK_443X), | ||
50 | + CLK("smp_twd", NULL, &mpu_periphclk, CK_443X), | ||
51 | CLK(NULL, "ocp_abe_iclk", &ocp_abe_iclk, CK_443X), | ||
52 | CLK(NULL, "per_abe_24m_fclk", &per_abe_24m_fclk, CK_443X), | ||
53 | CLK(NULL, "per_abe_nc_fclk", &per_abe_nc_fclk, CK_443X), | ||
54 | -- | ||
55 | 1.7.7.4 | ||
56 | |||