forked from Minki/linux
ARM: OMAP2: Clean up 24xx clock code
Clean up 24xx clock code to sync it with linux-omap tree. Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
parent
2150ef46f8
commit
a16e97037b
@ -1,20 +1,13 @@
|
||||
/*
|
||||
* linux/arch/arm/mach-omap2/clock.c
|
||||
*
|
||||
* Copyright (C) 2005 Texas Instruments Inc.
|
||||
* Copyright (C) 2005-2008 Texas Instruments, Inc.
|
||||
* Copyright (C) 2004-2008 Nokia Corporation
|
||||
*
|
||||
* Contacts:
|
||||
* Richard Woodruff <r-woodruff2@ti.com>
|
||||
* Created for OMAP2.
|
||||
*
|
||||
* Cleaned up and modified to use omap shared clock framework by
|
||||
* Tony Lindgren <tony@atomide.com>
|
||||
*
|
||||
* Copyright (C) 2007 Texas Instruments, Inc.
|
||||
* Copyright (C) 2007 Nokia Corporation
|
||||
* Paul Walmsley
|
||||
*
|
||||
* Based on omap1 clock.c, Copyright (C) 2004 - 2005 Nokia corporation
|
||||
* Written by Tuukka Tikkanen <tuukka.tikkanen@elektrobit.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
|
@ -1,16 +1,11 @@
|
||||
/*
|
||||
* linux/arch/arm/mach-omap2/clock.h
|
||||
*
|
||||
* Copyright (C) 2005 Texas Instruments Inc.
|
||||
* Copyright (C) 2005-2008 Texas Instruments, Inc.
|
||||
* Copyright (C) 2004-2008 Nokia Corporation
|
||||
*
|
||||
* Contacts:
|
||||
* Richard Woodruff <r-woodruff2@ti.com>
|
||||
* Created for OMAP2.
|
||||
*
|
||||
* Copyright (C) 2004 Nokia corporation
|
||||
* Written by Tuukka Tikkanen <tuukka.tikkanen@elektrobit.com>
|
||||
* Based on clocks.h by Tony Lindgren, Gordon McNutt and RidgeRun, Inc
|
||||
*
|
||||
* Copyright (C) 2007 Texas Instruments, Inc.
|
||||
* Copyright (C) 2007 Nokia Corporation
|
||||
* Paul Walmsley
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
@ -1,15 +1,15 @@
|
||||
/*
|
||||
* linux/arch/arm/mach-omap2/clock.c
|
||||
*
|
||||
* Copyright (C) 2005 Texas Instruments Inc.
|
||||
* Copyright (C) 2005-2008 Texas Instruments, Inc.
|
||||
* Copyright (C) 2004-2008 Nokia Corporation
|
||||
*
|
||||
* Contacts:
|
||||
* Richard Woodruff <r-woodruff2@ti.com>
|
||||
* Created for OMAP2.
|
||||
* Paul Walmsley
|
||||
*
|
||||
* Cleaned up and modified to use omap shared clock framework by
|
||||
* Tony Lindgren <tony@atomide.com>
|
||||
*
|
||||
* Based on omap1 clock.c, Copyright (C) 2004 - 2005 Nokia corporation
|
||||
* Written by Tuukka Tikkanen <tuukka.tikkanen@elektrobit.com>
|
||||
* Based on earlier work by Tuukka Tikkanen, Tony Lindgren,
|
||||
* Gordon McNutt and RidgeRun, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
@ -60,6 +60,21 @@ static struct clk *sclk;
|
||||
* Omap24xx specific clock functions
|
||||
*-------------------------------------------------------------------------*/
|
||||
|
||||
/* This actually returns the rate of core_ck, not dpll_ck. */
|
||||
static u32 omap2_get_dpll_rate_24xx(struct clk *tclk)
|
||||
{
|
||||
long long dpll_clk;
|
||||
u8 amult;
|
||||
|
||||
dpll_clk = omap2_get_dpll_rate(tclk);
|
||||
|
||||
amult = cm_read_mod_reg(PLL_MOD, CM_CLKSEL2);
|
||||
amult &= OMAP24XX_CORE_CLK_SRC_MASK;
|
||||
dpll_clk *= amult;
|
||||
|
||||
return dpll_clk;
|
||||
}
|
||||
|
||||
static int omap2_enable_osc_ck(struct clk *clk)
|
||||
{
|
||||
u32 pcc;
|
||||
@ -94,21 +109,6 @@ static void omap2_sys_clk_recalc(struct clk * clk)
|
||||
}
|
||||
#endif /* OLD_CK */
|
||||
|
||||
/* This actually returns the rate of core_ck, not dpll_ck. */
|
||||
static u32 omap2_get_dpll_rate_24xx(struct clk *tclk)
|
||||
{
|
||||
long long dpll_clk;
|
||||
u8 amult;
|
||||
|
||||
dpll_clk = omap2_get_dpll_rate(tclk);
|
||||
|
||||
amult = cm_read_mod_reg(PLL_MOD, CM_CLKSEL2);
|
||||
amult &= OMAP24XX_CORE_CLK_SRC_MASK;
|
||||
dpll_clk *= amult;
|
||||
|
||||
return dpll_clk;
|
||||
}
|
||||
|
||||
/* Enable an APLL if off */
|
||||
static int omap2_clk_fixed_enable(struct clk *clk)
|
||||
{
|
||||
@ -333,7 +333,7 @@ static int omap2_select_table_rate(struct clk *clk, unsigned long rate)
|
||||
|
||||
if (!found_speed) {
|
||||
printk(KERN_INFO "Could not set MPU rate to %luMHz\n",
|
||||
rate / 1000000);
|
||||
rate / 1000000);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
@ -1,13 +1,12 @@
|
||||
/*
|
||||
* linux/arch/arm/mach-omap24xx/clock.h
|
||||
* linux/arch/arm/mach-omap2/clock24xx.h
|
||||
*
|
||||
* Copyright (C) 2005 Texas Instruments Inc.
|
||||
* Copyright (C) 2005-2008 Texas Instruments, Inc.
|
||||
* Copyright (C) 2004-2008 Nokia Corporation
|
||||
*
|
||||
* Contacts:
|
||||
* Richard Woodruff <r-woodruff2@ti.com>
|
||||
* Created for OMAP2.
|
||||
*
|
||||
* Copyright (C) 2004 Nokia corporation
|
||||
* Written by Tuukka Tikkanen <tuukka.tikkanen@elektrobit.com>
|
||||
* Based on clocks.h by Tony Lindgren, Gordon McNutt and RidgeRun, Inc
|
||||
* Paul Walmsley
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
@ -25,18 +24,18 @@
|
||||
#include "cm-regbits-24xx.h"
|
||||
#include "sdrc.h"
|
||||
|
||||
static void omap2_table_mpu_recalc(struct clk * clk);
|
||||
static int omap2_select_table_rate(struct clk * clk, unsigned long rate);
|
||||
static long omap2_round_to_table_rate(struct clk * clk, unsigned long rate);
|
||||
static void omap2_sys_clk_recalc(struct clk * clk);
|
||||
static void omap2_osc_clk_recalc(struct clk * clk);
|
||||
static void omap2_sys_clk_recalc(struct clk * clk);
|
||||
static void omap2_dpll_recalc(struct clk * clk);
|
||||
static int omap2_clk_fixed_enable(struct clk * clk);
|
||||
static void omap2_clk_fixed_disable(struct clk * clk);
|
||||
static int omap2_enable_osc_ck(struct clk * clk);
|
||||
static void omap2_disable_osc_ck(struct clk * clk);
|
||||
static int omap2_reprogram_dpll(struct clk * clk, unsigned long rate);
|
||||
static void omap2_table_mpu_recalc(struct clk *clk);
|
||||
static int omap2_select_table_rate(struct clk *clk, unsigned long rate);
|
||||
static long omap2_round_to_table_rate(struct clk *clk, unsigned long rate);
|
||||
static void omap2_sys_clk_recalc(struct clk *clk);
|
||||
static void omap2_osc_clk_recalc(struct clk *clk);
|
||||
static void omap2_sys_clk_recalc(struct clk *clk);
|
||||
static void omap2_dpll_recalc(struct clk *clk);
|
||||
static int omap2_clk_fixed_enable(struct clk *clk);
|
||||
static void omap2_clk_fixed_disable(struct clk *clk);
|
||||
static int omap2_enable_osc_ck(struct clk *clk);
|
||||
static void omap2_disable_osc_ck(struct clk *clk);
|
||||
static int omap2_reprogram_dpll(struct clk *clk, unsigned long rate);
|
||||
|
||||
/* Key dividers which make up a PRCM set. Ratio's for a PRCM are mandated.
|
||||
* xtal_speed, dpll_speed, mpu_speed, CM_CLKSEL_MPU,CM_CLKSEL_DSP
|
||||
|
Loading…
Reference in New Issue
Block a user