2005-11-10 14:26:52 +00:00
/*
2010-01-26 20:13:10 -07:00
* clock2xxx . c - OMAP2xxx - specific clock integration code
2005-11-10 14:26:52 +00:00
*
2010-01-26 20:13:10 -07:00
* Copyright ( C ) 2005 - 2008 Texas Instruments , Inc .
* Copyright ( C ) 2004 - 2010 Nokia Corporation
2005-11-10 14:26:52 +00:00
*
2010-01-26 20:13:10 -07:00
* Contacts :
* Richard Woodruff < r - woodruff2 @ ti . com >
* Paul Walmsley
2005-11-10 14:26:52 +00:00
*
2010-01-26 20:13:10 -07:00
* Based on earlier work by Tuukka Tikkanen , Tony Lindgren ,
* Gordon McNutt and RidgeRun , Inc .
2005-11-10 14:26:52 +00:00
*
* 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 .
*/
2008-03-18 10:35:15 +02:00
# undef DEBUG
2005-11-10 14:26:52 +00:00
# include <linux/kernel.h>
# include <linux/errno.h>
2006-01-07 16:15:52 +00:00
# include <linux/clk.h>
2008-03-18 10:35:15 +02:00
# include <linux/io.h>
2005-11-10 14:26:52 +00:00
2012-08-31 10:59:07 -07:00
# include "soc.h"
2008-03-18 10:35:15 +02:00
# include "clock.h"
2009-12-08 16:21:29 -07:00
# include "clock2xxx.h"
2008-03-18 10:35:15 +02:00
# include "cm.h"
# include "cm-regbits-24xx.h"
2005-11-10 14:26:52 +00:00
2012-04-27 15:59:32 +05:30
struct clk_hw * dclk_hw ;
2010-01-26 20:13:10 -07:00
/*
2008-03-18 10:35:15 +02:00
* Omap24xx specific clock functions
2010-01-26 20:13:10 -07:00
*/
2005-11-10 14:26:52 +00:00
/*
2010-02-22 22:09:36 -07:00
* Switch the MPU rate if specified on cmdline . We cannot do this
* early until cmdline is parsed . XXX This should be removed from the
* clock code and handled by the OPP layer code in the near future .
2005-11-10 14:26:52 +00:00
*/
2010-01-26 20:13:09 -07:00
static int __init omap2xxx_clk_arch_init ( void )
2005-11-10 14:26:52 +00:00
{
2010-02-22 22:09:36 -07:00
int ret ;
2009-12-08 16:21:29 -07:00
2010-01-26 20:13:09 -07:00
if ( ! cpu_is_omap24xx ( ) )
return 0 ;
2010-02-22 22:09:36 -07:00
ret = omap2_clk_switch_mpurate_at_boot ( " virt_prcm_set " ) ;
if ( ! ret )
omap2_clk_print_new_rates ( " sys_ck " , " dpll_ck " , " mpu_ck " ) ;
2005-11-10 14:26:52 +00:00
2010-02-22 22:09:36 -07:00
return ret ;
2005-11-10 14:26:52 +00:00
}
2010-02-22 22:09:36 -07:00
2013-01-11 11:24:18 -08:00
omap_arch_initcall ( omap2xxx_clk_arch_init ) ;
2005-11-10 14:26:52 +00:00