/* ******************************************************************************* * 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