The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Thu Nov 08 11:45:42 2018 +0000
Revision:
171:3a7713b1edbc
mbed library. Release version 164

Who changed what in which revision?

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