123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- /************************************************************************/
- /* (C) Fujitsu Semiconductor Europe GmbH */
- /* */
- /* The following software deliverable is intended for and must only be */
- /* used for reference and in an evaluation laboratory environment. */
- /* It is provided on an as-is basis without charge and is subject to */
- /* alterations. */
- /* It is the user’s obligation to fully test the software in its */
- /* environment and to ensure proper functionality, qualification and */
- /* compliance with component specifications. */
- /* */
- /* In the event the software deliverable includes the use of open */
- /* source components, the provisions of the governing open source */
- /* license agreement shall apply with respect to such software */
- /* deliverable. */
- /* FSEU does not warrant that the deliverables do not infringe any */
- /* third party intellectual property right (IPR). In the event that */
- /* the deliverables infringe a third party IPR it is the sole */
- /* responsibility of the customer to obtain necessary licenses to */
- /* continue the usage of the deliverable. */
- /* */
- /* To the maximum extent permitted by applicable law FSEU disclaims all */
- /* warranties, whether express or implied, in particular, but not */
- /* limited to, warranties of merchantability and fitness for a */
- /* particular purpose for which the deliverable is not designated. */
- /* */
- /* To the maximum extent permitted by applicable law, FSEU's liability */
- /* is restricted to intention and gross negligence. */
- /* FSEU is not liable for consequential damages. */
- /* */
- /* (V1.4) */
- /************************************************************************/
- #include "mb9bf506r.h"
- /*
- * 80MHz : Master Clock
- */
- const uint32_t SystemFrequency = 80000000UL;
- uint32_t SysFreHCLK = 80000000UL; /* HCLK = MasterClock / 1 */
- uint32_t SysFrePCLK0 = 40000000UL; /* PCLK0 = HCLK / 2 */
- uint32_t SysFrePCLK1 = 40000000UL; /* PCLK1 = HCLK / 2 */
- uint32_t SysFrePCLK2 = 40000000UL; /* PCLK2 = HCLK / 2 */
- uint32_t SysFreTPIU = 0UL; /* TPIUCLK : Disable */
- /*
- * Prototype of internal function
- */
- static void ClockInit(void);
- static void HwwdtDisable(void);
- /*
- * Setup the microcontroller system
- */
- void SystemInit (void)
- {
- HwwdtDisable(); /* Disable Hardware Watchdog */
- ClockInit(); /* Initialize Clock */
- }
- /*
- * Initialize Clock
- */
- static void ClockInit(void)
- {
- /*set Main clock stabilization
- wait time to 2ms*/
- FM3_CRG->CSW_TMR = 0x79;
- /*Enable Main Oscilator*/
- FM3_CRG->SCM_CTL |= 1<<1;
- /*Wait stabilization end*/
- while(!(FM3_CRG->SCM_STR & 0x02));
- /* sub CLK enable */
- //FM3_CRG->SCM_CTL |= 0x08;
- //while(!(FM3_CRG->SCM_STR & 0x08));
- /*Set PLL stabilization
- wait time to 512uS*/
- FM3_CRG->PSW_TMR |= 2;
- /*Set PLL to 80MHz*/
- FM3_CRG->PLL_CTL1 = 0; /*K = 1, M=1*/
- FM3_CRG->PLL_CTL2 = 19; /*N = 20*/
- /*Enable PLL*/
- FM3_CRG->SCM_CTL |= 0x10;
- /*Set bus prescalers*/
- FM3_CRG->BSC_PSR = 0; /*Base clock Prescaler 1:1*/
- FM3_CRG->APBC0_PSR |= 1; /*APB0 clock Prescaler 1:2*/
- FM3_CRG->APBC1_PSR |= 1; /*APB1 clock Prescaler 1:2*/
- FM3_CRG->APBC2_PSR |= 1; /*APB2 clock Prescaler 1:2*/
- /*Wait PLL stabilizatoin end*/
- while(!(FM3_CRG->SCM_STR & 0x10));
- /*Select PLL for main clock*/
- FM3_CRG->SCM_CTL |= 2<<5;
- /*Wait PLL to be connected*/
- while((FM3_CRG->SCM_STR & 0xe0) != 0x40);
- }
- /*
- * Stop HW Watchdog Timer
- */
- static void HwwdtDisable(void)
- {
- /* UnLock (except WDG_CTL) */
- FM3_HWWDT->WDG_LCK = 0x1ACCE551;
- /* UnLock (WDG_CTL) */
- FM3_HWWDT->WDG_LCK = 0xE5331AAE;
- /* Disable WDG */
- FM3_HWWDT->WDG_CTL = 0x00;
- }
|