2013-01-08 22:40:58 +08:00
|
|
|
/*
|
|
|
|
*******************************************************************************
|
|
|
|
* Copyright(C) NEC Electronics Corporation 2010
|
|
|
|
* All rights reserved by NEC Electronics Corporation.
|
|
|
|
* This program should be used on your own responsibility.
|
|
|
|
* NEC Electronics Corporation assumes no responsibility for any losses
|
|
|
|
* incurred by customers or third parties arising from the use of this file.
|
|
|
|
*
|
|
|
|
* This device driver was created by Applilet3 for V850ES/Jx3
|
|
|
|
* 32-Bit Single-Chip Microcontrollers
|
|
|
|
* Filename: CG_system.h
|
|
|
|
* Abstract: This file implements device driver for System module.
|
|
|
|
* APIlib: Applilet3 for V850ES/Jx3 V2.01 [20 Apr 2010]
|
|
|
|
* Device: uPD70F3746
|
|
|
|
* Compiler: IAR Systems ICCV850
|
|
|
|
* Creation date: 6/26/2010
|
|
|
|
*******************************************************************************
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _MDSYSTEM_
|
|
|
|
#define _MDSYSTEM_
|
|
|
|
/*
|
|
|
|
*******************************************************************************
|
|
|
|
** Register bit define
|
|
|
|
*******************************************************************************
|
|
|
|
*/
|
|
|
|
/*
|
|
|
|
Processor clock control register (PCC)
|
|
|
|
*/
|
|
|
|
#define _03_CG_PCC_INITIALVALUE 0x03U
|
|
|
|
/* Use of subclock on-chip feedback resistor (FRC) */
|
|
|
|
#define _00_CG_SUBCLK_FEEDBACK_USE 0x00U /* subclock on-chip feedback resistor connected */
|
|
|
|
#define _08_CG_SUBCLK_FEEDBACK_UNUSE 0x80U /* subclock on-chip feedback resistor not connected */
|
|
|
|
/* Main clock osillator control (MCK) */
|
|
|
|
#define _00_CG_MAINCLK_ENABLE 0x00U /* main clock oscillation enabled */
|
|
|
|
#define _04_CG_MAINCLK_STOP 0x40U /* main clock oscillation stopped */
|
|
|
|
/* Use of main clock on-chip feedback resistor (MFRC) */
|
|
|
|
#define _00_CG_MAINCLK_FEEDBACK_USE 0x00U /* main clock feedback resistor connected */
|
|
|
|
#define _20_CG_MAINCLK_FEEDBACK_UNUSE 0x20U /* main clock feedback resistor not connected */
|
|
|
|
/* Status of CPU clock fCPU (CLS) */
|
|
|
|
#define _00_CG_CPUCLK_MAINCLK 0x00U /* main clock operation */
|
|
|
|
#define _10_CG_CPUCLK_SUBCLK 0x10U /* subclock operation */
|
|
|
|
/* Clock(fCLK/fCPU) selection (CK3 - CK0) */
|
|
|
|
#define _0F_CG_CPUCLK 0x0FU
|
|
|
|
#define _00_CG_CPUCLK_MAIN0 0x00U /* fCPU = fXX */
|
|
|
|
#define _01_CG_CPUCLK_MAIN1 0x01U /* fCPU = fXX/2 */
|
|
|
|
#define _02_CG_CPUCLK_MAIN2 0x02U /* fCPU = fXX/2^2 */
|
|
|
|
#define _03_CG_CPUCLK_MAIN3 0x03U /* fCPU = fXX/2^3 */
|
|
|
|
#define _04_CG_CPUCLK_MAIN4 0x04U /* fCPU = fXX/2^4 */
|
|
|
|
#define _05_CG_CPUCLK_MAIN5 0x05U /* fCPU = fXX/2^5 */
|
|
|
|
#define _0B_CG_CPUCLK_SUB 0x0BU /* fXT */
|
|
|
|
|
|
|
|
/*
|
|
|
|
Internal oscillator mode register (RCM)
|
|
|
|
*/
|
|
|
|
/* Oscillation/stop of internal oscillator (RSTOP) */
|
|
|
|
#define _00_CG_INTER_OSC_ON 0x00U /* internal oscillator oscillation */
|
|
|
|
#define _01_CG_INTER_OSC_OFF 0x01U /* internal oscillator stopped */
|
|
|
|
|
|
|
|
/*
|
|
|
|
CPU operation clock status register (CCLS)
|
|
|
|
*/
|
|
|
|
/* CPU operation clock status (CCLSF) */
|
|
|
|
#define _00_CG_CPUCLK_STATUS_MAINORSUB 0x00U /* operating on main clock(fX) or subclock(fXT) */
|
|
|
|
#define _01_CG_CPUCLK_STATUS_INTEROSC 0x01U /* operating on internal oscillation clock(fR) */
|
|
|
|
|
|
|
|
/*
|
|
|
|
Lock register (LOCKR)
|
|
|
|
*/
|
|
|
|
/* PLL lock status check (LOCK) */
|
|
|
|
#define _00_CG_PLLSTATUS_LOCK 0x00U /* locked status */
|
|
|
|
#define _01_CG_PLLSTATUS_UNLOCK 0x01U /* unlocked status */
|
|
|
|
|
|
|
|
/*
|
|
|
|
PLL control register (PLLCTL)
|
|
|
|
*/
|
|
|
|
#define _01_CG_PLLCTL_INITIALVALUE 0x01U
|
|
|
|
/* CPU operation clock selection register (SELPLL) */
|
|
|
|
#define _00_CG_CPUCLK_CLKTHROUGH 0x00U /* clock-through mode */
|
|
|
|
#define _02_CG_CPUCLK_PLL 0x02U /* PLL mode */
|
|
|
|
/* PLL operation stop register (PLLON) */
|
|
|
|
#define _00_CG_CPUCLK_PLLOFF 0x00U /* PLL stopped */
|
|
|
|
#define _01_CG_CPUCLK_PLLON 0x01U /* PLL operating */
|
|
|
|
|
|
|
|
/*
|
|
|
|
Clock control register (CKC)
|
|
|
|
*/
|
|
|
|
#define _0A_CG_CKC_INITIALVALUE 0x0AU
|
|
|
|
/* Internal system clock(fXX) in PLL mode */
|
|
|
|
#define _00_CG_CPUCLK_4PLL 0x00U /* fXX = 4* fX (fX = 2.5 to 5.0 MHz) */
|
|
|
|
#define _01_CG_CPUCLK_8PLL 0x01U /* fXX = 8* fX (fX = 2.5 to 4.0 MHz) */
|
|
|
|
|
|
|
|
/*
|
|
|
|
PLL lockup time specification register (PLLS)
|
|
|
|
*/
|
|
|
|
#define _03_CG_PLLS_INITIALVALUE 0x03U
|
|
|
|
/* PLL lockup time selection (PLLS2 - PLLS0) */
|
|
|
|
#define _00_CG_PLLLOCKUP_SEL0 0x00U /* 2^10/fX */
|
|
|
|
#define _01_CG_PLLLOCKUP_SEL1 0x01U /* 2^11/fX*/
|
|
|
|
#define _02_CG_PLLLOCKUP_SEL2 0x02U /* 2^12/fX */
|
|
|
|
#define _03_CG_PLLLOCKUP_SEL3 0x03U /* 2^13/fX (default value) */
|
|
|
|
|
|
|
|
/*
|
|
|
|
Power save control register (PSC)
|
|
|
|
*/
|
|
|
|
/* Stand-by mode release control by occurrence of INTWDT2 signal (NMI1M) */
|
|
|
|
#define _00_CG_STANDBY_INTWDT2EN 0x00U /* enable releasing stand-by mode by INTWDT2 signal */
|
|
|
|
#define _40_CG_STANDBY_INTWDT2DIS 0x40U /* disable releasing stand-by mode by INTWDT2 signal */
|
|
|
|
/* Stand-by mode release control by NMI pin input (NMI0M) */
|
|
|
|
#define _00_CG_STANDBY_NMIEN 0x00U /* enable releasing stand-by mode by NMI pin input */
|
|
|
|
#define _20_CG_STANDBY_NMIDIS 0x20U /* disable releasing stand-by mode by NMI pin input */
|
|
|
|
/* Stand-by mode release control by maskable interrupt request signal (NMI0M) */
|
|
|
|
#define _00_CG_STANDBY_MASKIEN 0x00U /* enable releasing stand-by mode by maskable interrupt request signal */
|
|
|
|
#define _10_CG_STANDBY_MASKIDIS 0x10U /* disable releasing stand-by mode by maskable interrupt request signal */
|
|
|
|
/* Setting of stand-by mode (STP) */
|
|
|
|
#define _00_CG_STANDBY_UNUSE 0x00U /* normal mode */
|
|
|
|
#define _02_CG_STANDBY_USE 0x02U /* stand-by mode */
|
|
|
|
|
|
|
|
/*
|
|
|
|
Power save mode control register (PSMR)
|
|
|
|
*/
|
|
|
|
/* Specification of operation in software stand-by mode (PSM1,PSM0) */
|
|
|
|
#define _00_CG_POWERSAVE_IDLE1 0x00U /* IDLE1, sub-IDLE modes */
|
|
|
|
#define _01_CG_POWERSAVE_STOP1 0x01U /* STOP, sub-IDLE modes */
|
|
|
|
#define _02_CG_POWERSAVE_IDLE2 0x02U /* IDLE2, sub-IDLE modes */
|
|
|
|
#define _03_CG_POWERSAVE_STOP2 0x03U /* STOP mode */
|
|
|
|
|
|
|
|
/*
|
|
|
|
Clock monitor mode register (CLM)
|
|
|
|
*/
|
|
|
|
/* Clock monitor operation enable or disable (CLME) */
|
|
|
|
#define _01_CG_MONITOR_ENABLE 0x01U /* enable clock monitor operation */
|
|
|
|
#define _00_CG_MONITOR_DISABLE 0x00U /* disable clock monitor operation */
|
|
|
|
|
|
|
|
/*
|
|
|
|
Watchdog Timer 2 mode register (WDTM2)
|
|
|
|
*/
|
|
|
|
/* Selection of operation mode (WDM21, WDM20) */
|
|
|
|
#define _00_WDT2_OPERMODE_STOP 0x00U /* stops operation */
|
|
|
|
#define _20_WDT2_OPERMODE_NONMASK 0x20U /* non-maskable interrupt request mode (generation of INTWDT2) */
|
|
|
|
#define _40_WDT2_OPERMODE_RESET 0x40U /* reset mode (generation of RESWDT2) */
|
|
|
|
/* Selection of clock mode (WDCS24,WDCS23) */
|
|
|
|
#define _00_WDT2_CLKMODE_INTEROSC 0x00U /* use internal oscillator */
|
|
|
|
#define _08_WDT2_CLKMODE_MAINCLK 0x08U /* use Main clock */
|
|
|
|
#define _10_WDT2_CLKMODE_SUBCLK 0x10U /* use subclock */
|
|
|
|
/* Watchdog Timer 2 clock Selection (WDCS22 - WDCS20) */
|
|
|
|
#define _00_WDT2_CLOCK_SEL0 0x00U /* 2^12/fR or 2^18/fXX or 2^9/fXT */
|
|
|
|
#define _01_WDT2_CLOCK_SEL1 0x01U /* 2^13/fR or 2^19/fXX or 2^10/fXT */
|
|
|
|
#define _02_WDT2_CLOCK_SEL2 0x02U /* 2^14/fR or 2^20/fXX or 2^11/fXT */
|
|
|
|
#define _03_WDT2_CLOCK_SEL3 0x03U /* 2^15/fR or 2^21/fXX or 2^12/fXT */
|
|
|
|
#define _04_WDT2_CLOCK_SEL4 0x04U /* 2^16/fR or 2^22/fXX or 2^13/fXT */
|
|
|
|
#define _05_WDT2_CLOCK_SEL5 0x05U /* 2^17/fR or 2^23/fXX or 2^14/fXT */
|
|
|
|
#define _06_WDT2_CLOCK_SEL6 0x06U /* 2^18/fR or 2^24/fXX or 2^15/fXT */
|
|
|
|
#define _07_WDT2_CLOCK_SEL7 0x07U /* 2^19/fR or 2^25/fXX or 2^16/fXT */
|
|
|
|
/*
|
|
|
|
*******************************************************************************
|
|
|
|
** Macro define
|
|
|
|
*******************************************************************************
|
|
|
|
*/
|
|
|
|
#define _00_CG_VSWC_VALUE 0x00U
|
|
|
|
/*
|
|
|
|
*******************************************************************************
|
|
|
|
** Function define
|
|
|
|
*******************************************************************************
|
|
|
|
*/
|
|
|
|
void CLOCK_Init(void);
|
|
|
|
void WDT2_Restart(void);
|
|
|
|
void CG_ReadResetSource(void);
|
|
|
|
|
|
|
|
/* Start user code for function. Do not edit comment generated here */
|
|
|
|
/* End user code. Do not edit comment generated here */
|
|
|
|
#endif
|