version_2.0

Dependents:   cc3000_ping_demo_try_2

Fork of mbed by mbed official

Committer:
bogdanm
Date:
Mon Aug 12 13:17:46 2013 +0300
Revision:
65:5798e58a58b1
Parent:
64:e3affc9e7238
Child:
66:9c8f0e3462fb
New target (LPC4088), new features (interrupt chaining), bug fixes (KL25Z I2C).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bogdanm 65:5798e58a58b1 1 /****************************************************************************
bogdanm 65:5798e58a58b1 2 * $Id:: power_api.h 6249 2011-01-25 19:23:47Z usb01267 $
bogdanm 65:5798e58a58b1 3 * Project: NXP LPC11Uxx software example
bogdanm 65:5798e58a58b1 4 *
bogdanm 65:5798e58a58b1 5 * Description:
bogdanm 65:5798e58a58b1 6 * Power API Header File for NXP LPC11Uxx Device Series
bogdanm 65:5798e58a58b1 7 *
bogdanm 65:5798e58a58b1 8 ****************************************************************************
bogdanm 65:5798e58a58b1 9 * Software that is described herein is for illustrative purposes only
bogdanm 65:5798e58a58b1 10 * which provides customers with programming information regarding the
bogdanm 65:5798e58a58b1 11 * products. This software is supplied "AS IS" without any warranties.
bogdanm 65:5798e58a58b1 12 * NXP Semiconductors assumes no responsibility or liability for the
bogdanm 65:5798e58a58b1 13 * use of the software, conveys no license or title under any patent,
bogdanm 65:5798e58a58b1 14 * copyright, or mask work right to the product. NXP Semiconductors
bogdanm 65:5798e58a58b1 15 * reserves the right to make changes in the software without
bogdanm 65:5798e58a58b1 16 * notification. NXP Semiconductors also make no representation or
bogdanm 65:5798e58a58b1 17 * warranty that such application will be suitable for the specified
bogdanm 65:5798e58a58b1 18 * use without further testing or modification.
bogdanm 65:5798e58a58b1 19 ****************************************************************************/
bogdanm 65:5798e58a58b1 20 #ifndef __LPC11UXX_POWER_API_H__
bogdanm 65:5798e58a58b1 21 #define __LPC11UXX_POWER_API_H__
bogdanm 65:5798e58a58b1 22
bogdanm 65:5798e58a58b1 23 #ifdef __cplusplus
bogdanm 65:5798e58a58b1 24 extern "C" {
bogdanm 65:5798e58a58b1 25 #endif
bogdanm 65:5798e58a58b1 26
bogdanm 65:5798e58a58b1 27 #define PWRROMD_PRESENT
bogdanm 65:5798e58a58b1 28
bogdanm 65:5798e58a58b1 29 typedef struct _PWRD {
bogdanm 65:5798e58a58b1 30 void (*set_pll)(unsigned int cmd[], unsigned int resp[]);
bogdanm 65:5798e58a58b1 31 void (*set_power)(unsigned int cmd[], unsigned int resp[]);
bogdanm 65:5798e58a58b1 32 } PWRD;
bogdanm 65:5798e58a58b1 33
bogdanm 65:5798e58a58b1 34 typedef struct _ROM {
bogdanm 65:5798e58a58b1 35 #ifdef USBROMD_PRESENT
bogdanm 65:5798e58a58b1 36 const USB * pUSBD;
bogdanm 65:5798e58a58b1 37 #else
bogdanm 65:5798e58a58b1 38 const unsigned p_usbd;
bogdanm 65:5798e58a58b1 39 #endif /* USBROMD_PRESENT */
bogdanm 65:5798e58a58b1 40 const unsigned p_clib;
bogdanm 65:5798e58a58b1 41 const unsigned p_cand;
bogdanm 65:5798e58a58b1 42 #ifdef PWRROMD_PRESENT
bogdanm 65:5798e58a58b1 43 const PWRD * pPWRD;
bogdanm 65:5798e58a58b1 44 #else
bogdanm 65:5798e58a58b1 45 const unsigned p_pwrd;
bogdanm 65:5798e58a58b1 46 #endif /* PWRROMD_PRESENT */
bogdanm 65:5798e58a58b1 47 const unsigned p_dev1;
bogdanm 65:5798e58a58b1 48 const unsigned p_dev2;
bogdanm 65:5798e58a58b1 49 const unsigned p_dev3;
bogdanm 65:5798e58a58b1 50 const unsigned p_dev4;
bogdanm 65:5798e58a58b1 51 } ROM;
bogdanm 65:5798e58a58b1 52
bogdanm 65:5798e58a58b1 53 //PLL setup related definitions
bogdanm 65:5798e58a58b1 54 #define CPU_FREQ_EQU 0 //main PLL freq must be equal to the specified
bogdanm 65:5798e58a58b1 55 #define CPU_FREQ_LTE 1 //main PLL freq must be less than or equal the specified
bogdanm 65:5798e58a58b1 56 #define CPU_FREQ_GTE 2 //main PLL freq must be greater than or equal the specified
bogdanm 65:5798e58a58b1 57 #define CPU_FREQ_APPROX 3 //main PLL freq must be as close as possible the specified
bogdanm 65:5798e58a58b1 58
bogdanm 65:5798e58a58b1 59 #define PLL_CMD_SUCCESS 0 //PLL setup successfully found
bogdanm 65:5798e58a58b1 60 #define PLL_INVALID_FREQ 1 //specified freq out of range (either input or output)
bogdanm 65:5798e58a58b1 61 #define PLL_INVALID_MODE 2 //invalid mode (see above for valid) specified
bogdanm 65:5798e58a58b1 62 #define PLL_FREQ_NOT_FOUND 3 //specified freq not found under specified conditions
bogdanm 65:5798e58a58b1 63 #define PLL_NOT_LOCKED 4 //PLL not locked => no changes to the PLL setup
bogdanm 65:5798e58a58b1 64
bogdanm 65:5798e58a58b1 65 //power setup elated definitions
bogdanm 65:5798e58a58b1 66 #define PARAM_DEFAULT 0 //default power settings (voltage regulator, flash interface)
bogdanm 65:5798e58a58b1 67 #define PARAM_CPU_PERFORMANCE 1 //setup for maximum CPU performance (higher current, more computation)
bogdanm 65:5798e58a58b1 68 #define PARAM_EFFICIENCY 2 //balanced setting (power vs CPU performance)
bogdanm 65:5798e58a58b1 69 #define PARAM_LOW_CURRENT 3 //lowest active current, lowest CPU performance
bogdanm 65:5798e58a58b1 70
bogdanm 65:5798e58a58b1 71 #define PARAM_CMD_SUCCESS 0 //power setting successfully found
bogdanm 65:5798e58a58b1 72 #define PARAM_INVALID_FREQ 1 //specified freq out of range (=0 or > 50 MHz)
bogdanm 65:5798e58a58b1 73 #define PARAM_INVALID_MODE 2 //specified mode not valid (see above for valid)
bogdanm 65:5798e58a58b1 74
bogdanm 65:5798e58a58b1 75 #define MAX_CLOCK_KHZ_PARAM 50000
bogdanm 65:5798e58a58b1 76
bogdanm 65:5798e58a58b1 77 #ifdef __cplusplus
bogdanm 65:5798e58a58b1 78 }
bogdanm 65:5798e58a58b1 79 #endif
bogdanm 65:5798e58a58b1 80
bogdanm 65:5798e58a58b1 81 #endif /* __LPC11UXX_POWER_API_H__ */
bogdanm 65:5798e58a58b1 82