Fork of the official mbed C/C++ SDK provides the software platform and libraries to build your applications. The fork has the documentation converted to Doxygen format

Dependents:   NervousPuppySprintOne NervousPuppySprint2602 Robot WarehouseBot1 ... more

Fork of mbed by mbed official

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers power_api.h Source File

power_api.h

00001 /****************************************************************************
00002  *   $Id:: power_api.h 6249 2011-01-25 19:23:47Z usb01267                   $
00003  *   Project: NXP LPC11Uxx software example  
00004  *
00005  *   Description:
00006  *     Power API Header File for NXP LPC11Uxx Device Series 
00007  *
00008  ****************************************************************************
00009  * Software that is described herein is for illustrative purposes only
00010  * which provides customers with programming information regarding the
00011  * products. This software is supplied "AS IS" without any warranties.
00012  * NXP Semiconductors assumes no responsibility or liability for the
00013  * use of the software, conveys no license or title under any patent,
00014  * copyright, or mask work right to the product. NXP Semiconductors
00015  * reserves the right to make changes in the software without
00016  * notification. NXP Semiconductors also make no representation or
00017  * warranty that such application will be suitable for the specified
00018  * use without further testing or modification.
00019 ****************************************************************************/
00020 #ifndef __LPC11UXX_POWER_API_H__
00021 #define __LPC11UXX_POWER_API_H__
00022 
00023 #ifdef __cplusplus
00024  extern "C" {
00025 #endif 
00026 
00027 #define PWRROMD_PRESENT
00028 
00029 typedef struct _PWRD {
00030   void (*set_pll)(unsigned int cmd[], unsigned int resp[]);
00031   void (*set_power)(unsigned int cmd[], unsigned int resp[]);
00032 }  PWRD;
00033 
00034 typedef struct _ROM {
00035 #ifdef USBROMD_PRESENT
00036    const USB * pUSBD;
00037 #else
00038    const unsigned p_usbd;
00039 #endif /* USBROMD_PRESENT */
00040    const unsigned p_clib;
00041    const unsigned p_cand;
00042 #ifdef PWRROMD_PRESENT
00043    const PWRD * pPWRD;
00044 #else
00045    const unsigned p_pwrd;
00046 #endif /* PWRROMD_PRESENT */
00047    const unsigned p_dev1;
00048    const unsigned p_dev2;
00049    const unsigned p_dev3;
00050    const unsigned p_dev4; 
00051 }  ROM;
00052 
00053 //PLL setup related definitions
00054 #define CPU_FREQ_EQU        0       //main PLL freq must be equal to the specified 
00055 #define CPU_FREQ_LTE        1       //main PLL freq must be less than or equal the specified
00056 #define CPU_FREQ_GTE        2       //main PLL freq must be greater than or equal the specified
00057 #define CPU_FREQ_APPROX     3       //main PLL freq must be as close as possible the specified
00058 
00059 #define PLL_CMD_SUCCESS     0       //PLL setup successfully found
00060 #define PLL_INVALID_FREQ    1       //specified freq out of range (either input or output)
00061 #define PLL_INVALID_MODE    2       //invalid mode (see above for valid) specified
00062 #define PLL_FREQ_NOT_FOUND  3       //specified freq not found under specified conditions
00063 #define PLL_NOT_LOCKED      4       //PLL not locked => no changes to the PLL setup
00064 
00065 //power setup elated definitions
00066 #define PARAM_DEFAULT           0   //default power settings (voltage regulator, flash interface)
00067 #define PARAM_CPU_PERFORMANCE   1   //setup for maximum CPU performance (higher current, more computation)
00068 #define PARAM_EFFICIENCY        2   //balanced setting (power vs CPU performance)
00069 #define PARAM_LOW_CURRENT       3   //lowest active current, lowest CPU performance
00070 
00071 #define PARAM_CMD_SUCCESS       0   //power setting successfully found
00072 #define PARAM_INVALID_FREQ      1   //specified freq out of range (=0 or > 50 MHz)
00073 #define PARAM_INVALID_MODE      2   //specified mode not valid (see above for valid)
00074 
00075 #define MAX_CLOCK_KHZ_PARAM                50000
00076 
00077 #ifdef __cplusplus
00078 }
00079 #endif
00080 
00081 #endif  /* __LPC11UXX_POWER_API_H__ */
00082