|
|
|
@ -47,6 +47,7 @@
|
|
|
|
|
0 ... Multipurpose Clock Generator (MCG) in FLL Engaged Internal (FEI) mode
|
|
|
|
|
Reference clock source for MCG module is the slow internal clock source 32.768kHz
|
|
|
|
|
Core clock = 41.94MHz, BusClock = 41.94MHz
|
|
|
|
|
This works on Teensy3.1
|
|
|
|
|
1 ... Multipurpose Clock Generator (MCG) in PLL Engaged External (PEE) mode
|
|
|
|
|
Reference clock source for MCG module is an external crystal 8MHz
|
|
|
|
|
Core clock = 48MHz, BusClock = 48MHz
|
|
|
|
@ -56,7 +57,7 @@
|
|
|
|
|
3 ... Multipurpose Clock Generator (MCG) in PLL Engaged External (PEE) mode
|
|
|
|
|
Reference clock source for MCG module is an external crystal 16MHz
|
|
|
|
|
Core clock = 72MHz, BusClock = 48MHz
|
|
|
|
|
This is the Teensy3.1 72Mhz set up
|
|
|
|
|
This is the default Teensy3.1 72Mhz set up
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------
|
|
|
|
@ -98,7 +99,6 @@ uint32_t SystemCoreClock = DEFAULT_SYSTEM_CLOCK;
|
|
|
|
|
/* ----------------------------------------------------------------------------
|
|
|
|
|
-- SystemInit()
|
|
|
|
|
---------------------------------------------------------------------------- */
|
|
|
|
|
|
|
|
|
|
void SystemInit (void) {
|
|
|
|
|
#if (DISABLE_WDOG)
|
|
|
|
|
/* Disable the WDOG module */
|
|
|
|
@ -106,143 +106,120 @@ void SystemInit (void) {
|
|
|
|
|
WDOG->UNLOCK = (uint16_t)0xC520u; /* Key 1 */
|
|
|
|
|
/* WDOG_UNLOCK : WDOGUNLOCK=0xD928 */
|
|
|
|
|
WDOG->UNLOCK = (uint16_t)0xD928u; /* Key 2 */
|
|
|
|
|
/* WDOG_STCTRLH: ??=0,DISTESTWDOG=0,BYTESEL=0,TESTSEL=0,TESTWDOG=0,??=0,STNDBYEN=1,WAITEN=1,STOPEN=1,DBGEN=0,ALLOWUPDATE=1,WINEN=0,IRQRSTEN=0,CLKSRC=1,WDOGEN=0 */
|
|
|
|
|
/* WDOG_STCTRLH: DISTESTWDOG=0,BYTESEL=0,TESTSEL=0,TESTWDOG=0,STNDBYEN=1,WAITEN=1,STOPEN=1,DBGEN=0,ALLOWUPDATE=1,WINEN=0,IRQRSTEN=0,CLKSRC=1,WDOGEN=0 */
|
|
|
|
|
WDOG->STCTRLH = (uint16_t)0x01D2u;
|
|
|
|
|
#endif /* (DISABLE_WDOG) */
|
|
|
|
|
|
|
|
|
|
#if (CLOCK_SETUP == 0)
|
|
|
|
|
/* SIM->CLKDIV1: OUTDIV1=0,OUTDIV2=0,OUTDIV3=1,OUTDIV4=1,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0 */
|
|
|
|
|
SIM->CLKDIV1 = (uint32_t)0x00110000u; /* Update system prescalers */
|
|
|
|
|
/* SIM->CLKDIV1: OUTDIV1=0,OUTDIV2=0,OUTDIV4=1 Set Prescalers 41.94MHz cpu, 41.94MHz system, 20.97MHz flash*/
|
|
|
|
|
SIM->CLKDIV1 = SIM_CLKDIV1_OUTDIV4(1);
|
|
|
|
|
/* Switch to FEI Mode */
|
|
|
|
|
/* MCG->C1: CLKS=0,FRDIV=0,IREFS=1,IRCLKEN=1,IREFSTEN=0 */
|
|
|
|
|
MCG->C1 = (uint8_t)0x06u;
|
|
|
|
|
/* MCG->C2: ??=0,??=0,RANGE0=0,HGO=0,EREFS=0,LP=0,IRCS=0 */
|
|
|
|
|
MCG->C1 = MCG_C1_IREFS_MASK | MCG_C1_IRCLKEN_MASK;
|
|
|
|
|
/* MCG->C2: LOCKRE0=0,RANGE0=0,HGO=0,EREFS=0,LP=0,IRCS=0 */
|
|
|
|
|
MCG->C2 = (uint8_t)0x00u;
|
|
|
|
|
/* MCG_C4: DMX32=0,DRST_DRS=1 */
|
|
|
|
|
MCG->C4 = (uint8_t)((MCG->C4 & (uint8_t)~(uint8_t)0xC0u) | (uint8_t)0x20u);
|
|
|
|
|
/* MCG->C5: ??=0,PLLCLKEN=0,PLLSTEN=0,PRDIV0=0 */
|
|
|
|
|
/* MCG->C5: PLLCLKEN=0,PLLSTEN=0,PRDIV0=0 */
|
|
|
|
|
MCG->C5 = (uint8_t)0x00u;
|
|
|
|
|
/* MCG->C6: LOLIE=0,PLLS=0,CME=0,VDIV0=0 */
|
|
|
|
|
MCG->C6 = (uint8_t)0x00u;
|
|
|
|
|
while((MCG->S & MCG_S_IREFST_MASK) == 0u) { /* Check that the source of the FLL reference clock is the internal reference clock. */
|
|
|
|
|
}
|
|
|
|
|
while((MCG->S & 0x0Cu) != 0x00u) { /* Wait until output of the FLL is selected */
|
|
|
|
|
}
|
|
|
|
|
while((MCG->S & MCG_S_IREFST_MASK) == 0u) { } /* Check that the source of the FLL reference clock is the internal reference clock. */
|
|
|
|
|
while((MCG->S & 0x0Cu) != 0x00u) { } /* Wait until output of the FLL is selected */
|
|
|
|
|
|
|
|
|
|
#elif (CLOCK_SETUP == 1)
|
|
|
|
|
/* SIM->CLKDIV1: OUTDIV1=0,OUTDIV2=0,OUTDIV3=1,OUTDIV4=1,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0 */
|
|
|
|
|
SIM->CLKDIV1 = (uint32_t)0x00110000u; /* Update system prescalers */
|
|
|
|
|
/* SIM->CLKDIV1: OUTDIV1=0,OUTDIV2=0,OUTDIV4=1 Set Prescalers 48MHz cpu, 48MHz system, 24MHz flash*/
|
|
|
|
|
SIM->CLKDIV1 = SIM_CLKDIV1_OUTDIV4(1);
|
|
|
|
|
/* Switch to FBE Mode */
|
|
|
|
|
/* OSC0->CR: ERCLKEN=0,??=0,EREFSTEN=0,??=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
|
|
|
|
|
/* OSC0->CR: ERCLKEN=0,EREFSTEN=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
|
|
|
|
|
OSC0->CR = (uint8_t)0x00u;
|
|
|
|
|
/* MCG->C7: OSCSEL=0 */
|
|
|
|
|
MCG->C7 = (uint8_t)0x00u;
|
|
|
|
|
/* MCG->C2: ??=0,??=0,RANGE0=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
|
|
|
|
|
MCG->C2 = (uint8_t)0x24u;
|
|
|
|
|
/* MCG->C2: LOCKRE0=0,RANGE0=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
|
|
|
|
|
MCG->C2 = MCG_C2_RANGE0(2);
|
|
|
|
|
/* MCG->C1: CLKS=2,FRDIV=3,IREFS=0,IRCLKEN=1,IREFSTEN=0 */
|
|
|
|
|
MCG->C1 = (uint8_t)0x9Au;
|
|
|
|
|
MCG->C1 = MCG_C1_CLKS(2) | MCG_C1_FRDIV(3) | MCG_C1_IRCLKEN_MASK;
|
|
|
|
|
/* MCG->C4: DMX32=0,DRST_DRS=0 */
|
|
|
|
|
MCG->C4 &= (uint8_t)~(uint8_t)0xE0u;
|
|
|
|
|
/* MCG->C5: ??=0,PLLCLKEN=0,PLLSTEN=0,PRDIV0=3 */
|
|
|
|
|
MCG->C5 = (uint8_t)0x03u;
|
|
|
|
|
/* MCG->C5: PLLCLKEN=0,PLLSTEN=0,PRDIV0=3 */
|
|
|
|
|
MCG->C5 = MCG_C5_PRDIV0(3);
|
|
|
|
|
/* MCG->C6: LOLIE=0,PLLS=0,CME=0,VDIV0=0 */
|
|
|
|
|
MCG->C6 = (uint8_t)0x00u;
|
|
|
|
|
while((MCG->S & MCG_S_OSCINIT0_MASK) == 0u) { /* Check that the oscillator is running */
|
|
|
|
|
}
|
|
|
|
|
#if 0 /* ARM: THIS CHECK IS REMOVED DUE TO BUG WITH SLOW IRC IN REV. 1.0 */
|
|
|
|
|
while((MCG->S & MCG_S_IREFST_MASK) != 0u) { /* Check that the source of the FLL reference clock is the external reference clock. */
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
while((MCG->S & 0x0Cu) != 0x08u) { /* Wait until external reference clock is selected as MCG output */
|
|
|
|
|
}
|
|
|
|
|
while((MCG->S & MCG_S_OSCINIT0_MASK) == 0u) { } /* Check that the oscillator is running */
|
|
|
|
|
while((MCG->S & 0x0Cu) != 0x08u) { } /* Wait until external reference clock is selected as MCG output */
|
|
|
|
|
/* Switch to PBE Mode */
|
|
|
|
|
/* MCG_C5: ??=0,PLLCLKEN=0,PLLSTEN=0,PRDIV0=3 */
|
|
|
|
|
MCG->C5 = (uint8_t)0x03u;
|
|
|
|
|
/* MCG_C5: PLLCLKEN=0,PLLSTEN=0,PRDIV0=3 */
|
|
|
|
|
MCG->C5 = MCG_C5_PRDIV0(3);
|
|
|
|
|
/* MCG->C6: LOLIE=0,PLLS=1,CME=0,VDIV0=0 */
|
|
|
|
|
MCG->C6 = (uint8_t)0x40u;
|
|
|
|
|
while((MCG->S & MCG_S_PLLST_MASK) == 0u) { /* Wait until the source of the PLLS clock has switched to the PLL */
|
|
|
|
|
}
|
|
|
|
|
while((MCG->S & MCG_S_LOCK0_MASK) == 0u) { /* Wait until locked */
|
|
|
|
|
}
|
|
|
|
|
MCG->C6 = MCG_C6_PLLS_MASK;
|
|
|
|
|
while((MCG->S & MCG_S_PLLST_MASK) == 0u) { } /* Wait until the source of the PLLS clock has switched to the PLL */
|
|
|
|
|
while((MCG->S & MCG_S_LOCK0_MASK) == 0u) { } /* Wait until locked */
|
|
|
|
|
/* Switch to PEE Mode */
|
|
|
|
|
/* MCG->C1: CLKS=0,FRDIV=3,IREFS=0,IRCLKEN=1,IREFSTEN=0 */
|
|
|
|
|
MCG->C1 = (uint8_t)0x1Au;
|
|
|
|
|
while((MCG->S & 0x0Cu) != 0x0Cu) { /* Wait until output of the PLL is selected */
|
|
|
|
|
}
|
|
|
|
|
while((MCG->S & MCG_S_LOCK0_MASK) == 0u) { /* Wait until locked */
|
|
|
|
|
}
|
|
|
|
|
MCG->C1 = MCG_C1_FRDIV(3) | MCG_C1_IRCLKEN_MASK;
|
|
|
|
|
while((MCG->S & 0x0Cu) != 0x0Cu) { } /* Wait until output of the PLL is selected */
|
|
|
|
|
while((MCG->S & MCG_S_LOCK0_MASK) == 0u) { } /* Wait until locked */
|
|
|
|
|
|
|
|
|
|
#elif (CLOCK_SETUP == 2)
|
|
|
|
|
/* SIM_CLKDIV1: OUTDIV1=0,OUTDIV2=0,OUTDIV3=1,OUTDIV4=1,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0 */
|
|
|
|
|
SIM->CLKDIV1 = (uint32_t)0x00110000u; /* Update system prescalers */
|
|
|
|
|
/* SIM->CLKDIV1: OUTDIV1=0,OUTDIV2=0,OUTDIV4=1 Set Prescalers 8MHz cpu, 8MHz system, 8MHz flash*/
|
|
|
|
|
SIM->CLKDIV1 = SIM_CLKDIV1_OUTDIV4(1);
|
|
|
|
|
/* Switch to FBE Mode */
|
|
|
|
|
/* OSC0->CR: ERCLKEN=0,??=0,EREFSTEN=0,??=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
|
|
|
|
|
/* OSC0->CR: ERCLKEN=0,EREFSTEN=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
|
|
|
|
|
OSC0->CR = (uint8_t)0x00u;
|
|
|
|
|
/* MCG->C7: OSCSEL=0 */
|
|
|
|
|
MCG->C7 = (uint8_t)0x00u;
|
|
|
|
|
/* MCG->C2: ??=0,??=0,RANGE0=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
|
|
|
|
|
MCG->C2 = (uint8_t)0x24u;
|
|
|
|
|
/* MCG->C2: LOCKRE0=0,RANGE0=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
|
|
|
|
|
MCG->C2 = MCG_C2_RANGE0(2) | MCG_C2_EREFS0_MASK;
|
|
|
|
|
/* MCG->C1: CLKS=2,FRDIV=3,IREFS=0,IRCLKEN=1,IREFSTEN=0 */
|
|
|
|
|
MCG->C1 = (uint8_t)0x9Au;
|
|
|
|
|
MCG->C1 = MCG_C1_CLKS(2) | MCG_C1_FRDIV(3) | MCG_C1_IRCLKEN_MASK;
|
|
|
|
|
/* MCG->C4: DMX32=0,DRST_DRS=0 */
|
|
|
|
|
MCG->C4 &= (uint8_t)~(uint8_t)0xE0u;
|
|
|
|
|
/* MCG->C5: ??=0,PLLCLKEN=0,PLLSTEN=0,PRDIV0=0 */
|
|
|
|
|
/* MCG->C5: PLLCLKEN=0,PLLSTEN=0,PRDIV0=0 */
|
|
|
|
|
MCG->C5 = (uint8_t)0x00u;
|
|
|
|
|
/* MCG->C6: LOLIE=0,PLLS=0,CME=0,VDIV0=0 */
|
|
|
|
|
MCG->C6 = (uint8_t)0x00u;
|
|
|
|
|
while((MCG->S & MCG_S_OSCINIT0_MASK) == 0u) { /* Check that the oscillator is running */
|
|
|
|
|
}
|
|
|
|
|
#if 0 /* ARM: THIS CHECK IS REMOVED DUE TO BUG WITH SLOW IRC IN REV. 1.0 */
|
|
|
|
|
while((MCG->S & MCG_S_IREFST_MASK) != 0u) { /* Check that the source of the FLL reference clock is the external reference clock. */
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
while((MCG->S & 0x0CU) != 0x08u) { /* Wait until external reference clock is selected as MCG output */
|
|
|
|
|
}
|
|
|
|
|
while((MCG->S & MCG_S_OSCINIT0_MASK) == 0u) { } /* Check that the oscillator is running */
|
|
|
|
|
while((MCG->S & 0x0CU) != 0x08u) { } /* Wait until external reference clock is selected as MCG output */
|
|
|
|
|
/* Switch to BLPE Mode */
|
|
|
|
|
/* MCG->C2: ??=0,??=0,RANGE0=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
|
|
|
|
|
MCG->C2 = (uint8_t)0x24u;
|
|
|
|
|
/* MCG->C2: LOCKRE0=0,RANGE0=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
|
|
|
|
|
MCG->C2 = MCG_C2_RANGE0(2) | MCG_C2_EREFS0_MASK;
|
|
|
|
|
|
|
|
|
|
#elif (CLOCK_SETUP == 3)
|
|
|
|
|
/* SIM->CLKDIV1: OUTDIV1=0,OUTDIV2=0,OUTDIV3=1,OUTDIV4=1,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0 */
|
|
|
|
|
SIM->CLKDIV1 = (uint32_t)0x00110000u; /* Update system prescalers */
|
|
|
|
|
/* SIM->CLKDIV1: OUTDIV1=0,OUTDIV2=0,OUTDIV4=1 Set Prescalers 72MHz cpu, 72MHz system, 36MHz flash*/
|
|
|
|
|
SIM->CLKDIV1 = SIM_CLKDIV1_OUTDIV4(1);
|
|
|
|
|
/* SIM->CLKDIV2: USBDIV=2,USBFRAC=1 Divide 72MHz system clock for USB 48MHz */
|
|
|
|
|
SIM->CLKDIV2 = SIM_CLKDIV2_USBDIV(2) | SIM_CLKDIV2_USBFRAC_MASK;
|
|
|
|
|
/* OSC0->CR: ERCLKEN=0,EREFSTEN=0,SC2P=1,SC4P=0,SC8P=1,SC16P=0 10pF loading capacitors for 16MHz system oscillator*/
|
|
|
|
|
OSC0->CR = OSC_CR_SC8P_MASK | OSC_CR_SC2P_MASK;
|
|
|
|
|
/* Switch to FBE Mode */
|
|
|
|
|
/* OSC0->CR: ERCLKEN=0,??=0,EREFSTEN=0,??=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
|
|
|
|
|
OSC0->CR = (uint8_t)0x0Au; // this is required if there are no external capacitors fitted to the Xtal
|
|
|
|
|
/* MCG->C7: OSCSEL=0 */
|
|
|
|
|
MCG->C7 = (uint8_t)0x00u;
|
|
|
|
|
/* MCG->C2: ??=0,??=0,RANGE0=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
|
|
|
|
|
MCG->C2 = (uint8_t)0x24u;
|
|
|
|
|
/* MCG->C2: LOCKRE0=0,RANGE0=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
|
|
|
|
|
MCG->C2 = MCG_C2_RANGE0(2) | MCG_C2_EREFS0_MASK;
|
|
|
|
|
//MCG->C2 = (uint8_t)0x24u;
|
|
|
|
|
/* MCG->C1: CLKS=2,FRDIV=3,IREFS=0,IRCLKEN=1,IREFSTEN=0 */
|
|
|
|
|
MCG->C1 = (uint8_t)0x9Au;
|
|
|
|
|
/* MCG->C4: DMX32=0,DRST_DRS=0 */
|
|
|
|
|
MCG->C4 &= (uint8_t)~(uint8_t)0xE0u;
|
|
|
|
|
/* MCG->C5: ??=0,PLLCLKEN=0,PLLSTEN=0,PRDIV0=3 */
|
|
|
|
|
MCG->C5 = (uint8_t)0x07u;
|
|
|
|
|
MCG->C1 = MCG_C1_CLKS(2) | MCG_C1_FRDIV(3) | MCG_C1_IRCLKEN_MASK;
|
|
|
|
|
/* MCG->C4: DMX32=0,DRST_DRS=0,FCTRIM=0,SCFTRIM=0 */
|
|
|
|
|
MCG->C4 &= (uint8_t)~(uint8_t)0xE0u;
|
|
|
|
|
/* MCG->C5: PLLCLKEN=0,PLLSTEN=0,PRDIV0=7 */
|
|
|
|
|
MCG->C5 = MCG_C5_PRDIV0(7);
|
|
|
|
|
/* MCG->C6: LOLIE=0,PLLS=0,CME=0,VDIV0=0 */
|
|
|
|
|
MCG->C6 = (uint8_t)0x00u;
|
|
|
|
|
while((MCG->S & MCG_S_OSCINIT0_MASK) == 0u) { /* Check that the oscillator is running */
|
|
|
|
|
}
|
|
|
|
|
#if 0 /* ARM: THIS CHECK IS REMOVED DUE TO BUG WITH SLOW IRC IN REV. 1.0 */
|
|
|
|
|
while((MCG->S & MCG_S_IREFST_MASK) != 0u) { /* Check that the source of the FLL reference clock is the external reference clock. */
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
while((MCG->S & 0x0Cu) != 0x08u) { /* Wait until external reference clock is selected as MCG output */
|
|
|
|
|
}
|
|
|
|
|
while((MCG->S & MCG_S_OSCINIT0_MASK) == 0u) { } /* Check that the oscillator is running */
|
|
|
|
|
while((MCG->S & 0x0Cu) != 0x08u) { } /* Wait until external reference clock is selected as MCG output */
|
|
|
|
|
/* Switch to PBE Mode */
|
|
|
|
|
/* MCG_C5: ??=0,PLLCLKEN=0,PLLSTEN=0,PRDIV0=3 */
|
|
|
|
|
MCG->C5 = (uint8_t)0x05u;
|
|
|
|
|
/* MCG->C6: LOLIE=0,PLLS=1,CME=0,VDIV0=0 */
|
|
|
|
|
MCG->C6 = (uint8_t)0x43u;
|
|
|
|
|
while((MCG->S & MCG_S_PLLST_MASK) == 0u) { /* Wait until the source of the PLLS clock has switched to the PLL */
|
|
|
|
|
}
|
|
|
|
|
while((MCG->S & MCG_S_LOCK0_MASK) == 0u) { /* Wait until locked */
|
|
|
|
|
}
|
|
|
|
|
/* MCG_C5: PLLCLKEN=0,PLLSTEN=0,PRDIV0=5 */
|
|
|
|
|
MCG->C5 = MCG_C5_PRDIV0(5);
|
|
|
|
|
/* MCG->C6: LOLIE=0,PLLS=1,CME=0,VDIV0=3 */
|
|
|
|
|
MCG->C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV0(3);
|
|
|
|
|
while((MCG->S & MCG_S_PLLST_MASK) == 0u) { } /* Wait until the source of the PLLS clock has switched to the PLL */
|
|
|
|
|
while((MCG->S & MCG_S_LOCK0_MASK) == 0u) { } /* Wait until locked */
|
|
|
|
|
/* Switch to PEE Mode */
|
|
|
|
|
/* MCG->C1: CLKS=0,FRDIV=3,IREFS=0,IRCLKEN=1,IREFSTEN=0 */
|
|
|
|
|
MCG->C1 = (uint8_t)0x22u;
|
|
|
|
|
while((MCG->S & 0x0Cu) != 0x0Cu) { /* Wait until output of the PLL is selected */
|
|
|
|
|
}
|
|
|
|
|
while((MCG->S & MCG_S_LOCK0_MASK) == 0u) { /* Wait until locked */
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif /* (CLOCK_SETUP == 3) */
|
|
|
|
|
/* MCG->C1: CLKS=0,FRDIV=2,IREFS=0,IRCLKEN=1,IREFSTEN=0 */
|
|
|
|
|
MCG->C1 = MCG_C1_FRDIV(2) | MCG_C1_IRCLKEN_MASK;
|
|
|
|
|
while((MCG->S & 0x0Cu) != 0x0Cu) { } /* Wait until output of the PLL is selected */
|
|
|
|
|
while((MCG->S & MCG_S_LOCK0_MASK) == 0u) { } /* Wait until locked */
|
|
|
|
|
#endif /* (CLOCK_SETUP) */
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* ----------------------------------------------------------------------------
|
|
|
|
|