mbed library sources
Dependents: Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more
Superseded
This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.
Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.
If you are looking for a stable and tested release, please import one of the official mbed library releases:
Import librarymbed
The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.
vendor/NXP/LPC11U24/cmsis/power_api.h@10:3bc89ef62ce7, 2013-06-14 (annotated)
- Committer:
- emilmont
- Date:
- Fri Jun 14 17:49:17 2013 +0100
- Revision:
- 10:3bc89ef62ce7
Unify mbed library sources
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
emilmont | 10:3bc89ef62ce7 | 1 | /**************************************************************************** |
emilmont | 10:3bc89ef62ce7 | 2 | * $Id:: power_api.h 6249 2011-01-25 19:23:47Z usb01267 $ |
emilmont | 10:3bc89ef62ce7 | 3 | * Project: NXP LPC11Uxx software example |
emilmont | 10:3bc89ef62ce7 | 4 | * |
emilmont | 10:3bc89ef62ce7 | 5 | * Description: |
emilmont | 10:3bc89ef62ce7 | 6 | * Power API Header File for NXP LPC11Uxx Device Series |
emilmont | 10:3bc89ef62ce7 | 7 | * |
emilmont | 10:3bc89ef62ce7 | 8 | **************************************************************************** |
emilmont | 10:3bc89ef62ce7 | 9 | * Software that is described herein is for illustrative purposes only |
emilmont | 10:3bc89ef62ce7 | 10 | * which provides customers with programming information regarding the |
emilmont | 10:3bc89ef62ce7 | 11 | * products. This software is supplied "AS IS" without any warranties. |
emilmont | 10:3bc89ef62ce7 | 12 | * NXP Semiconductors assumes no responsibility or liability for the |
emilmont | 10:3bc89ef62ce7 | 13 | * use of the software, conveys no license or title under any patent, |
emilmont | 10:3bc89ef62ce7 | 14 | * copyright, or mask work right to the product. NXP Semiconductors |
emilmont | 10:3bc89ef62ce7 | 15 | * reserves the right to make changes in the software without |
emilmont | 10:3bc89ef62ce7 | 16 | * notification. NXP Semiconductors also make no representation or |
emilmont | 10:3bc89ef62ce7 | 17 | * warranty that such application will be suitable for the specified |
emilmont | 10:3bc89ef62ce7 | 18 | * use without further testing or modification. |
emilmont | 10:3bc89ef62ce7 | 19 | ****************************************************************************/ |
emilmont | 10:3bc89ef62ce7 | 20 | #ifndef __LPC11UXX_POWER_API_H__ |
emilmont | 10:3bc89ef62ce7 | 21 | #define __LPC11UXX_POWER_API_H__ |
emilmont | 10:3bc89ef62ce7 | 22 | |
emilmont | 10:3bc89ef62ce7 | 23 | #ifdef __cplusplus |
emilmont | 10:3bc89ef62ce7 | 24 | extern "C" { |
emilmont | 10:3bc89ef62ce7 | 25 | #endif |
emilmont | 10:3bc89ef62ce7 | 26 | |
emilmont | 10:3bc89ef62ce7 | 27 | #define PWRROMD_PRESENT |
emilmont | 10:3bc89ef62ce7 | 28 | |
emilmont | 10:3bc89ef62ce7 | 29 | typedef struct _PWRD { |
emilmont | 10:3bc89ef62ce7 | 30 | void (*set_pll)(unsigned int cmd[], unsigned int resp[]); |
emilmont | 10:3bc89ef62ce7 | 31 | void (*set_power)(unsigned int cmd[], unsigned int resp[]); |
emilmont | 10:3bc89ef62ce7 | 32 | } PWRD; |
emilmont | 10:3bc89ef62ce7 | 33 | |
emilmont | 10:3bc89ef62ce7 | 34 | typedef struct _ROM { |
emilmont | 10:3bc89ef62ce7 | 35 | #ifdef USBROMD_PRESENT |
emilmont | 10:3bc89ef62ce7 | 36 | const USB * pUSBD; |
emilmont | 10:3bc89ef62ce7 | 37 | #else |
emilmont | 10:3bc89ef62ce7 | 38 | const unsigned p_usbd; |
emilmont | 10:3bc89ef62ce7 | 39 | #endif /* USBROMD_PRESENT */ |
emilmont | 10:3bc89ef62ce7 | 40 | const unsigned p_clib; |
emilmont | 10:3bc89ef62ce7 | 41 | const unsigned p_cand; |
emilmont | 10:3bc89ef62ce7 | 42 | #ifdef PWRROMD_PRESENT |
emilmont | 10:3bc89ef62ce7 | 43 | const PWRD * pPWRD; |
emilmont | 10:3bc89ef62ce7 | 44 | #else |
emilmont | 10:3bc89ef62ce7 | 45 | const unsigned p_pwrd; |
emilmont | 10:3bc89ef62ce7 | 46 | #endif /* PWRROMD_PRESENT */ |
emilmont | 10:3bc89ef62ce7 | 47 | const unsigned p_dev1; |
emilmont | 10:3bc89ef62ce7 | 48 | const unsigned p_dev2; |
emilmont | 10:3bc89ef62ce7 | 49 | const unsigned p_dev3; |
emilmont | 10:3bc89ef62ce7 | 50 | const unsigned p_dev4; |
emilmont | 10:3bc89ef62ce7 | 51 | } ROM; |
emilmont | 10:3bc89ef62ce7 | 52 | |
emilmont | 10:3bc89ef62ce7 | 53 | //PLL setup related definitions |
emilmont | 10:3bc89ef62ce7 | 54 | #define CPU_FREQ_EQU 0 //main PLL freq must be equal to the specified |
emilmont | 10:3bc89ef62ce7 | 55 | #define CPU_FREQ_LTE 1 //main PLL freq must be less than or equal the specified |
emilmont | 10:3bc89ef62ce7 | 56 | #define CPU_FREQ_GTE 2 //main PLL freq must be greater than or equal the specified |
emilmont | 10:3bc89ef62ce7 | 57 | #define CPU_FREQ_APPROX 3 //main PLL freq must be as close as possible the specified |
emilmont | 10:3bc89ef62ce7 | 58 | |
emilmont | 10:3bc89ef62ce7 | 59 | #define PLL_CMD_SUCCESS 0 //PLL setup successfully found |
emilmont | 10:3bc89ef62ce7 | 60 | #define PLL_INVALID_FREQ 1 //specified freq out of range (either input or output) |
emilmont | 10:3bc89ef62ce7 | 61 | #define PLL_INVALID_MODE 2 //invalid mode (see above for valid) specified |
emilmont | 10:3bc89ef62ce7 | 62 | #define PLL_FREQ_NOT_FOUND 3 //specified freq not found under specified conditions |
emilmont | 10:3bc89ef62ce7 | 63 | #define PLL_NOT_LOCKED 4 //PLL not locked => no changes to the PLL setup |
emilmont | 10:3bc89ef62ce7 | 64 | |
emilmont | 10:3bc89ef62ce7 | 65 | //power setup elated definitions |
emilmont | 10:3bc89ef62ce7 | 66 | #define PARAM_DEFAULT 0 //default power settings (voltage regulator, flash interface) |
emilmont | 10:3bc89ef62ce7 | 67 | #define PARAM_CPU_PERFORMANCE 1 //setup for maximum CPU performance (higher current, more computation) |
emilmont | 10:3bc89ef62ce7 | 68 | #define PARAM_EFFICIENCY 2 //balanced setting (power vs CPU performance) |
emilmont | 10:3bc89ef62ce7 | 69 | #define PARAM_LOW_CURRENT 3 //lowest active current, lowest CPU performance |
emilmont | 10:3bc89ef62ce7 | 70 | |
emilmont | 10:3bc89ef62ce7 | 71 | #define PARAM_CMD_SUCCESS 0 //power setting successfully found |
emilmont | 10:3bc89ef62ce7 | 72 | #define PARAM_INVALID_FREQ 1 //specified freq out of range (=0 or > 50 MHz) |
emilmont | 10:3bc89ef62ce7 | 73 | #define PARAM_INVALID_MODE 2 //specified mode not valid (see above for valid) |
emilmont | 10:3bc89ef62ce7 | 74 | |
emilmont | 10:3bc89ef62ce7 | 75 | #define MAX_CLOCK_KHZ_PARAM 50000 |
emilmont | 10:3bc89ef62ce7 | 76 | |
emilmont | 10:3bc89ef62ce7 | 77 | #ifdef __cplusplus |
emilmont | 10:3bc89ef62ce7 | 78 | } |
emilmont | 10:3bc89ef62ce7 | 79 | #endif |
emilmont | 10:3bc89ef62ce7 | 80 | |
emilmont | 10:3bc89ef62ce7 | 81 | #endif /* __LPC11UXX_POWER_API_H__ */ |
emilmont | 10:3bc89ef62ce7 | 82 |