CG_system.h 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. /*
  2. *******************************************************************************
  3. * Copyright(C) NEC Electronics Corporation 2010
  4. * All rights reserved by NEC Electronics Corporation.
  5. * This program should be used on your own responsibility.
  6. * NEC Electronics Corporation assumes no responsibility for any losses
  7. * incurred by customers or third parties arising from the use of this file.
  8. *
  9. * This device driver was created by Applilet3 for V850ES/Jx3
  10. * 32-Bit Single-Chip Microcontrollers
  11. * Filename: CG_system.h
  12. * Abstract: This file implements device driver for System module.
  13. * APIlib: Applilet3 for V850ES/Jx3 V2.01 [20 Apr 2010]
  14. * Device: uPD70F3746
  15. * Compiler: IAR Systems ICCV850
  16. * Creation date: 6/26/2010
  17. *******************************************************************************
  18. */
  19. #ifndef _MDSYSTEM_
  20. #define _MDSYSTEM_
  21. /*
  22. *******************************************************************************
  23. ** Register bit define
  24. *******************************************************************************
  25. */
  26. /*
  27. Processor clock control register (PCC)
  28. */
  29. #define _03_CG_PCC_INITIALVALUE 0x03U
  30. /* Use of subclock on-chip feedback resistor (FRC) */
  31. #define _00_CG_SUBCLK_FEEDBACK_USE 0x00U /* subclock on-chip feedback resistor connected */
  32. #define _08_CG_SUBCLK_FEEDBACK_UNUSE 0x80U /* subclock on-chip feedback resistor not connected */
  33. /* Main clock osillator control (MCK) */
  34. #define _00_CG_MAINCLK_ENABLE 0x00U /* main clock oscillation enabled */
  35. #define _04_CG_MAINCLK_STOP 0x40U /* main clock oscillation stopped */
  36. /* Use of main clock on-chip feedback resistor (MFRC) */
  37. #define _00_CG_MAINCLK_FEEDBACK_USE 0x00U /* main clock feedback resistor connected */
  38. #define _20_CG_MAINCLK_FEEDBACK_UNUSE 0x20U /* main clock feedback resistor not connected */
  39. /* Status of CPU clock fCPU (CLS) */
  40. #define _00_CG_CPUCLK_MAINCLK 0x00U /* main clock operation */
  41. #define _10_CG_CPUCLK_SUBCLK 0x10U /* subclock operation */
  42. /* Clock(fCLK/fCPU) selection (CK3 - CK0) */
  43. #define _0F_CG_CPUCLK 0x0FU
  44. #define _00_CG_CPUCLK_MAIN0 0x00U /* fCPU = fXX */
  45. #define _01_CG_CPUCLK_MAIN1 0x01U /* fCPU = fXX/2 */
  46. #define _02_CG_CPUCLK_MAIN2 0x02U /* fCPU = fXX/2^2 */
  47. #define _03_CG_CPUCLK_MAIN3 0x03U /* fCPU = fXX/2^3 */
  48. #define _04_CG_CPUCLK_MAIN4 0x04U /* fCPU = fXX/2^4 */
  49. #define _05_CG_CPUCLK_MAIN5 0x05U /* fCPU = fXX/2^5 */
  50. #define _0B_CG_CPUCLK_SUB 0x0BU /* fXT */
  51. /*
  52. Internal oscillator mode register (RCM)
  53. */
  54. /* Oscillation/stop of internal oscillator (RSTOP) */
  55. #define _00_CG_INTER_OSC_ON 0x00U /* internal oscillator oscillation */
  56. #define _01_CG_INTER_OSC_OFF 0x01U /* internal oscillator stopped */
  57. /*
  58. CPU operation clock status register (CCLS)
  59. */
  60. /* CPU operation clock status (CCLSF) */
  61. #define _00_CG_CPUCLK_STATUS_MAINORSUB 0x00U /* operating on main clock(fX) or subclock(fXT) */
  62. #define _01_CG_CPUCLK_STATUS_INTEROSC 0x01U /* operating on internal oscillation clock(fR) */
  63. /*
  64. Lock register (LOCKR)
  65. */
  66. /* PLL lock status check (LOCK) */
  67. #define _00_CG_PLLSTATUS_LOCK 0x00U /* locked status */
  68. #define _01_CG_PLLSTATUS_UNLOCK 0x01U /* unlocked status */
  69. /*
  70. PLL control register (PLLCTL)
  71. */
  72. #define _01_CG_PLLCTL_INITIALVALUE 0x01U
  73. /* CPU operation clock selection register (SELPLL) */
  74. #define _00_CG_CPUCLK_CLKTHROUGH 0x00U /* clock-through mode */
  75. #define _02_CG_CPUCLK_PLL 0x02U /* PLL mode */
  76. /* PLL operation stop register (PLLON) */
  77. #define _00_CG_CPUCLK_PLLOFF 0x00U /* PLL stopped */
  78. #define _01_CG_CPUCLK_PLLON 0x01U /* PLL operating */
  79. /*
  80. Clock control register (CKC)
  81. */
  82. #define _0A_CG_CKC_INITIALVALUE 0x0AU
  83. /* Internal system clock(fXX) in PLL mode */
  84. #define _00_CG_CPUCLK_4PLL 0x00U /* fXX = 4* fX (fX = 2.5 to 5.0 MHz) */
  85. #define _01_CG_CPUCLK_8PLL 0x01U /* fXX = 8* fX (fX = 2.5 to 4.0 MHz) */
  86. /*
  87. PLL lockup time specification register (PLLS)
  88. */
  89. #define _03_CG_PLLS_INITIALVALUE 0x03U
  90. /* PLL lockup time selection (PLLS2 - PLLS0) */
  91. #define _00_CG_PLLLOCKUP_SEL0 0x00U /* 2^10/fX */
  92. #define _01_CG_PLLLOCKUP_SEL1 0x01U /* 2^11/fX*/
  93. #define _02_CG_PLLLOCKUP_SEL2 0x02U /* 2^12/fX */
  94. #define _03_CG_PLLLOCKUP_SEL3 0x03U /* 2^13/fX (default value) */
  95. /*
  96. Power save control register (PSC)
  97. */
  98. /* Stand-by mode release control by occurrence of INTWDT2 signal (NMI1M) */
  99. #define _00_CG_STANDBY_INTWDT2EN 0x00U /* enable releasing stand-by mode by INTWDT2 signal */
  100. #define _40_CG_STANDBY_INTWDT2DIS 0x40U /* disable releasing stand-by mode by INTWDT2 signal */
  101. /* Stand-by mode release control by NMI pin input (NMI0M) */
  102. #define _00_CG_STANDBY_NMIEN 0x00U /* enable releasing stand-by mode by NMI pin input */
  103. #define _20_CG_STANDBY_NMIDIS 0x20U /* disable releasing stand-by mode by NMI pin input */
  104. /* Stand-by mode release control by maskable interrupt request signal (NMI0M) */
  105. #define _00_CG_STANDBY_MASKIEN 0x00U /* enable releasing stand-by mode by maskable interrupt request signal */
  106. #define _10_CG_STANDBY_MASKIDIS 0x10U /* disable releasing stand-by mode by maskable interrupt request signal */
  107. /* Setting of stand-by mode (STP) */
  108. #define _00_CG_STANDBY_UNUSE 0x00U /* normal mode */
  109. #define _02_CG_STANDBY_USE 0x02U /* stand-by mode */
  110. /*
  111. Power save mode control register (PSMR)
  112. */
  113. /* Specification of operation in software stand-by mode (PSM1,PSM0) */
  114. #define _00_CG_POWERSAVE_IDLE1 0x00U /* IDLE1, sub-IDLE modes */
  115. #define _01_CG_POWERSAVE_STOP1 0x01U /* STOP, sub-IDLE modes */
  116. #define _02_CG_POWERSAVE_IDLE2 0x02U /* IDLE2, sub-IDLE modes */
  117. #define _03_CG_POWERSAVE_STOP2 0x03U /* STOP mode */
  118. /*
  119. Clock monitor mode register (CLM)
  120. */
  121. /* Clock monitor operation enable or disable (CLME) */
  122. #define _01_CG_MONITOR_ENABLE 0x01U /* enable clock monitor operation */
  123. #define _00_CG_MONITOR_DISABLE 0x00U /* disable clock monitor operation */
  124. /*
  125. Watchdog Timer 2 mode register (WDTM2)
  126. */
  127. /* Selection of operation mode (WDM21, WDM20) */
  128. #define _00_WDT2_OPERMODE_STOP 0x00U /* stops operation */
  129. #define _20_WDT2_OPERMODE_NONMASK 0x20U /* non-maskable interrupt request mode (generation of INTWDT2) */
  130. #define _40_WDT2_OPERMODE_RESET 0x40U /* reset mode (generation of RESWDT2) */
  131. /* Selection of clock mode (WDCS24,WDCS23) */
  132. #define _00_WDT2_CLKMODE_INTEROSC 0x00U /* use internal oscillator */
  133. #define _08_WDT2_CLKMODE_MAINCLK 0x08U /* use Main clock */
  134. #define _10_WDT2_CLKMODE_SUBCLK 0x10U /* use subclock */
  135. /* Watchdog Timer 2 clock Selection (WDCS22 - WDCS20) */
  136. #define _00_WDT2_CLOCK_SEL0 0x00U /* 2^12/fR or 2^18/fXX or 2^9/fXT */
  137. #define _01_WDT2_CLOCK_SEL1 0x01U /* 2^13/fR or 2^19/fXX or 2^10/fXT */
  138. #define _02_WDT2_CLOCK_SEL2 0x02U /* 2^14/fR or 2^20/fXX or 2^11/fXT */
  139. #define _03_WDT2_CLOCK_SEL3 0x03U /* 2^15/fR or 2^21/fXX or 2^12/fXT */
  140. #define _04_WDT2_CLOCK_SEL4 0x04U /* 2^16/fR or 2^22/fXX or 2^13/fXT */
  141. #define _05_WDT2_CLOCK_SEL5 0x05U /* 2^17/fR or 2^23/fXX or 2^14/fXT */
  142. #define _06_WDT2_CLOCK_SEL6 0x06U /* 2^18/fR or 2^24/fXX or 2^15/fXT */
  143. #define _07_WDT2_CLOCK_SEL7 0x07U /* 2^19/fR or 2^25/fXX or 2^16/fXT */
  144. /*
  145. *******************************************************************************
  146. ** Macro define
  147. *******************************************************************************
  148. */
  149. #define _00_CG_VSWC_VALUE 0x00U
  150. /*
  151. *******************************************************************************
  152. ** Function define
  153. *******************************************************************************
  154. */
  155. void CLOCK_Init(void);
  156. void WDT2_Restart(void);
  157. void CG_ReadResetSource(void);
  158. /* Start user code for function. Do not edit comment generated here */
  159. /* End user code. Do not edit comment generated here */
  160. #endif