145 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			145 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/**********************************************************************
							 | 
						|||
| 
								 | 
							
								* $Id$		lpc43xx_rgu.h		2011-06-02
							 | 
						|||
| 
								 | 
							
								*//**
							 | 
						|||
| 
								 | 
							
								* @file		lpc43xx_rgu.h
							 | 
						|||
| 
								 | 
							
								* @brief	Contains all macro definitions and function prototypes
							 | 
						|||
| 
								 | 
							
								* 			support for RGU firmware library on lpc43xx
							 | 
						|||
| 
								 | 
							
								* @version	1.0
							 | 
						|||
| 
								 | 
							
								* @date		02. June. 2011
							 | 
						|||
| 
								 | 
							
								* @author	NXP MCU SW Application Team
							 | 
						|||
| 
								 | 
							
								*
							 | 
						|||
| 
								 | 
							
								* Copyright(C) 2011, NXP Semiconductor
							 | 
						|||
| 
								 | 
							
								* All rights reserved.
							 | 
						|||
| 
								 | 
							
								*
							 | 
						|||
| 
								 | 
							
								***********************************************************************
							 | 
						|||
| 
								 | 
							
								* Software that is described herein is for illustrative purposes only
							 | 
						|||
| 
								 | 
							
								* which provides customers with programming information regarding the
							 | 
						|||
| 
								 | 
							
								* products. This software is supplied "AS IS" without any warranties.
							 | 
						|||
| 
								 | 
							
								* NXP Semiconductors assumes no responsibility or liability for the
							 | 
						|||
| 
								 | 
							
								* use of the software, conveys no license or title under any patent,
							 | 
						|||
| 
								 | 
							
								* copyright, or mask work right to the product. NXP Semiconductors
							 | 
						|||
| 
								 | 
							
								* reserves the right to make changes in the software without
							 | 
						|||
| 
								 | 
							
								* notification. NXP Semiconductors also make no representation or
							 | 
						|||
| 
								 | 
							
								* warranty that such application will be suitable for the specified
							 | 
						|||
| 
								 | 
							
								* use without further testing or modification.
							 | 
						|||
| 
								 | 
							
								* Permission to use, copy, modify, and distribute this software and its
							 | 
						|||
| 
								 | 
							
								* documentation is hereby granted, under NXP Semiconductors<EFBFBD>
							 | 
						|||
| 
								 | 
							
								* relevant copyright in the software, without fee, provided that it
							 | 
						|||
| 
								 | 
							
								* is used in conjunction with NXP Semiconductors microcontrollers.  This
							 | 
						|||
| 
								 | 
							
								* copyright, permission, and disclaimer notice must appear in all copies of
							 | 
						|||
| 
								 | 
							
								* this code.
							 | 
						|||
| 
								 | 
							
								**********************************************************************/
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								/* Peripheral group ----------------------------------------------------------- */
							 | 
						|||
| 
								 | 
							
								/** @defgroup RGU RGU (Reset Generation Unit)
							 | 
						|||
| 
								 | 
							
								 * @ingroup LPC4300CMSIS_FwLib_Drivers
							 | 
						|||
| 
								 | 
							
								 * @{
							 | 
						|||
| 
								 | 
							
								 */
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#ifndef lpc43xx_RGU_H_
							 | 
						|||
| 
								 | 
							
								#define lpc43xx_RGU_H_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								/* Includes ------------------------------------------------------------------- */
							 | 
						|||
| 
								 | 
							
								#include "LPC43xx.h"
							 | 
						|||
| 
								 | 
							
								#include "lpc_types.h"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						|||
| 
								 | 
							
								extern "C"
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								#endif
							 | 
						|||
| 
								 | 
							
								/* Public Types --------------------------------------------------------------- */
							 | 
						|||
| 
								 | 
							
								/** @defgroup RGU_Public_Types RGU Public Types
							 | 
						|||
| 
								 | 
							
								 * @{
							 | 
						|||
| 
								 | 
							
								 */
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								/*********************************************************************//**
							 | 
						|||
| 
								 | 
							
								 * @brief RGU enumeration
							 | 
						|||
| 
								 | 
							
								 **********************************************************************/
							 | 
						|||
| 
								 | 
							
								/** @brief Out Reset Signal Generated by RGU */
							 | 
						|||
| 
								 | 
							
								typedef enum
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									RGU_SIG_CORE  = 0,					/**< Core reset signal 			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_PERIPH,						/**< Peripheral reset signal	*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_MASTER,						/**< Master reset signal		*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_WWDT = 4,					/**< WWDT reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_CREG,						/**< CREG reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_BUS = 8,					/**< Bus reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_SCU,						/**< SCU reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_PINMUX,						/**< Pin mux reset signal		*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_M3 = 13,					/**< Cortex-M3 reset signal		*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_LCD = 16,					/**< LCD reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_USB0,						/**< USB0 reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_USB1,						/**< USB1 reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_DMA,						/**< DMA reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_SDIO,						/**< SDIO reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_EMC,						/**< EMC reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_ETHERNET,					/**< Ethernet reset signal		*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_AES,						/**< AES reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_GPIO = 28,					/**< GPIO reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_TIMER0 = 32,				/**< TIMER 0 reset signal		*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_TIMER1,						/**< TIMER 1 reset signal		*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_TIMER2,						/**< TIMER 2 reset signal		*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_TIMER3,						/**< TIMER 3 reset signal		*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_RITIMER,					/**< RIT timer reset signal		*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_SCT,						/**< SCT reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_MOTOCONPWM,					/**< Motor control reset signal	*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_QEI,						/**< QEI reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_ADC0,						/**< ADC0 reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_ADC1,						/**< ADC1 reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_DAC,						/**< DAC reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_UART0 = 44,					/**< UART0 reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_UART1,						/**< UART1 reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_UART2,						/**< UART2 reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_UART3,						/**< UART3 reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_I2C0,						/**< I2C0 reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_I2C1,						/**< I2C1 reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_SSP0,						/**< SSP0 reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_SSP1,						/**< SSP1 reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_I2S,						/**< I2S reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_SPIFI,						/**< SPIFI reset signal			*/
							 | 
						|||
| 
								 | 
							
									RGU_SIG_CAN = 55					/**< CAN reset signal			*/
							 | 
						|||
| 
								 | 
							
								}RGU_SIG;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								/** @brief Reset Cause Source */
							 | 
						|||
| 
								 | 
							
								typedef enum {
							 | 
						|||
| 
								 | 
							
									RGU_SRC_NONE,						/**< No source				*/
							 | 
						|||
| 
								 | 
							
									RGU_SRC_SOFT,						/**< Software reset source	*/
							 | 
						|||
| 
								 | 
							
									RGU_SRC_EXT,						/**< External reset source	*/
							 | 
						|||
| 
								 | 
							
									RGU_SRC_CORE,						/**< Core reset source		*/
							 | 
						|||
| 
								 | 
							
									RGU_SRC_PERIPH,						/**< Peripheral reset source*/
							 | 
						|||
| 
								 | 
							
									RGU_SRC_MASTER,						/**< Master reset source	*/
							 | 
						|||
| 
								 | 
							
									RGU_SRC_BOD,						/**< BOD reset source		*/
							 | 
						|||
| 
								 | 
							
									RGU_SRC_WWDT						/**< WWDT reset source		*/
							 | 
						|||
| 
								 | 
							
								}RGU_SRC;
							 | 
						|||
| 
								 | 
							
								/**
							 | 
						|||
| 
								 | 
							
								 * @}
							 | 
						|||
| 
								 | 
							
								 */
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								/* Public Functions ----------------------------------------------------------- */
							 | 
						|||
| 
								 | 
							
								/** @defgroup RGU_Public_Functions RGU Public Functions
							 | 
						|||
| 
								 | 
							
								 * @{
							 | 
						|||
| 
								 | 
							
								 */
							 | 
						|||
| 
								 | 
							
								/* RGU peripheral control function ----------------*/
							 | 
						|||
| 
								 | 
							
								void RGU_SoftReset(RGU_SIG ResetSignal);
							 | 
						|||
| 
								 | 
							
								RGU_SRC RGU_GetSource(RGU_SIG ResetSignal);
							 | 
						|||
| 
								 | 
							
								Bool RGU_GetSignalStatus(RGU_SIG ResetSignal);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								/**
							 | 
						|||
| 
								 | 
							
								 * @}
							 | 
						|||
| 
								 | 
							
								 */
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								#endif
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#endif /* lpc43xx_RGU_H_ */
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								/**
							 | 
						|||
| 
								 | 
							
								 * @}
							 | 
						|||
| 
								 | 
							
								 */
							 | 
						|||
| 
								 | 
							
								
							 |