2010-07-27 19:42:46 +04:00
/*
* arch / arm / mach - lpc32xx / common . h
*
* Author : Kevin Wells < kevin . wells @ nxp . com >
*
* Copyright ( C ) 2009 - 2010 NXP Semiconductors
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 2 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*/
# ifndef __LPC32XX_COMMON_H
# define __LPC32XX_COMMON_H
2012-03-13 01:27:28 +04:00
# include <mach/board.h>
2010-07-27 19:42:46 +04:00
# include <linux/platform_device.h>
2013-07-09 03:01:40 +04:00
# include <linux/reboot.h>
2010-07-27 19:42:46 +04:00
/*
* Other arch specific structures and functions
*/
2012-11-08 23:40:59 +04:00
extern void lpc32xx_timer_init ( void ) ;
2010-07-27 19:42:46 +04:00
extern void __init lpc32xx_init_irq ( void ) ;
extern void __init lpc32xx_map_io ( void ) ;
extern void __init lpc32xx_serial_init ( void ) ;
2013-07-09 03:01:40 +04:00
extern void lpc23xx_restart ( enum reboot_mode , const char * ) ;
2011-11-05 16:17:40 +04:00
2010-07-27 19:42:46 +04:00
/*
* Structure used for setting up and querying the PLLS
*/
struct clk_pll_setup {
int analog_on ;
int cco_bypass_b15 ;
int direct_output_b14 ;
int fdbk_div_ctrl_b13 ;
int pll_p ;
int pll_n ;
u32 pll_m ;
} ;
extern int clk_is_sysclk_mainosc ( void ) ;
extern u32 clk_check_pll_setup ( u32 ifreq , struct clk_pll_setup * pllsetup ) ;
extern u32 clk_get_pllrate_from_reg ( u32 inputclk , u32 regval ) ;
extern u32 clk_get_pclk_div ( void ) ;
/*
* Returns the LPC32xx unique 128 - bit chip ID
*/
extern void lpc32xx_get_uid ( u32 devid [ 4 ] ) ;
extern u32 lpc32xx_return_iram_size ( void ) ;
/*
* Pointers used for sizing and copying suspend function data
*/
extern int lpc32xx_sys_suspend ( void ) ;
extern int lpc32xx_sys_suspend_sz ;
# endif