|
#define | SCIF_IER MMIO32(SCIF_BASE) |
|
#define | SCIF_IDR MMIO32(SCIF_BASE + 0x0004) |
|
#define | SCIF_IMR MMIO32(SCIF_BASE + 0x0008) |
|
#define | SCIF_ISR MMIO32(SCIF_BASE + 0x000C) |
|
#define | SCIF_ICR MMIO32(SCIF_BASE + 0x0010) |
|
#define | SCIF_PCLKSR MMIO32(SCIF_BASE + 0x0014) |
|
#define | SCIF_UNLOCK MMIO32(SCIF_BASE + 0x0018) |
|
#define | SCIF_UNLOCK_KEY (0xaa << 24) |
|
#define | SCIF_CSCR MMIO32(SCIF_BASE + 0x001C) |
|
#define | SCIF_OSCCTRL0 MMIO32(SCIF_BASE + 0x0020) |
|
#define | SCIF_OSCCTRL0_KEY (SCIF_UNLOCK_KEY | 0x0020) |
|
#define | SCIF_PLL0 MMIO32(SCIF_BASE + 0x0024) |
|
#define | SCIF_PLL0_KEY (SCIF_UNLOCK_KEY | 0x0024) |
|
#define | SCIF_DFLL0CONF MMIO32(SCIF_BASE + 0x0028) |
|
#define | SCIF_DFLL0VAL MMIO32(SCIF_BASE + 0x002C) |
|
#define | SCIF_DFLL0MUL MMIO32(SCIF_BASE + 0x0030) |
|
#define | SCIF_DFLL0STEP MMIO32(SCIF_BASE + 0x0034) |
|
#define | SCIF_DFLL0SSG MMIO32(SCIF_BASE + 0x0038) |
|
#define | SCIF_DFLL0RATIO MMIO32(SCIF_BASE + 0x003C) |
|
#define | SCIF_DFLL0SYNC MMIO32(SCIF_BASE + 0x0040) |
|
#define | SCIF_RCCR MMIO32(SCIF_BASE + 0x0044) |
|
#define | SCIF_RCFASTCFG MMIO32(SCIF_BASE + 0x0048) |
|
#define | SCIF_RCFASTSR MMIO32(SCIF_BASE + 0x004C) |
|
#define | SCIF_RC80MCR MMIO32(SCIF_BASE + 0x0050) |
|
#define | SCIF_HPPCR MMIO32(SCIF_BASE + 0x0064) |
|
#define | SCIF_FPCR MMIO32(SCIF_BASE + 0x0068) |
|
#define | SCIF_FPMUL MMIO32(SCIF_BASE + 0x006C) |
|
#define | SCIF_FPDIV MMIO32(SCIF_BASE + 0x006C) |
|
#define | SCIF_GCCTRL0 MMIO32(SCIF_BASE + 0x0074) |
|
#define | SCIF_GCCTRL1 MMIO32(SCIF_BASE + 0x0078) |
|
#define | SCIF_GCCTRL2 MMIO32(SCIF_BASE + 0x007C) |
|
#define | SCIF_GCCTRL3 MMIO32(SCIF_BASE + 0x0080) |
|
#define | SCIF_GCCTRL4 MMIO32(SCIF_BASE + 0x0084) |
|
#define | SCIF_GCCTRL5 MMIO32(SCIF_BASE + 0x0088) |
|
#define | SCIF_GCCTRL6 MMIO32(SCIF_BASE + 0x008C) |
|
#define | SCIF_GCCTRL7 MMIO32(SCIF_BASE + 0x0090) |
|
#define | SCIF_GCCTRL8 MMIO32(SCIF_BASE + 0x0094) |
|
#define | SCIF_GCCTRL9 MMIO32(SCIF_BASE + 0x0098) |
|
#define | SCIF_GCCTRL10 MMIO32(SCIF_BASE + 0x009C) |
|
#define | SCIF_GCCTRL11 MMIO32(SCIF_BASE + 0x00A0) |
|
#define | SCIF_GCTRL(N) MMIO32(SCIF_BASE + 0x0074 + 0x0004 * (N)) |
|
#define | SCIF_GCLK_MAX_NUM 11 |
|
#define | SCIF_RCFASTVERSION MMIO32(SCIF_BASE + 0x03D8) |
|
#define | SCIF_GCLKPRESCVERSION MMIO32(SCIF_BASE + 0x03DC) |
|
#define | SCIF_PLLIFAVERSION MMIO32(SCIF_BASE + 0x03E0) |
|
#define | SCIF_OSCIFAVERSION MMIO32(SCIF_BASE + 0x03E4) |
|
#define | SCIF_DFLLIFBVERSION MMIO32(SCIF_BASE + 0x03E8) |
|
#define | SCIF_RCOSCIFAVERSION MMIO32(SCIF_BASE + 0x03EC) |
|
#define | SCIF_RC80MVERSION MMIO32(SCIF_BASE + 0x03F4) |
|
#define | SCIF_GCLKVERSION MMIO32(SCIF_BASE + 0x03F8) |
|
#define | SCIF_VERSION MMIO32(SCIF_BASE + 0x03FC) |
|
#define | SCIF_OSC0RDY (1 << 0) |
|
#define | SCIF_DFLL0LOCKC (1 << 1) |
|
#define | SCIF_DFLL0LOCKF (1 << 2) |
|
#define | SCIF_DFLL0RDY (1 << 3) |
|
#define | SCIF_DFLL0RCS (1 << 4) |
|
#define | SCIF_PLL0LOCK (1 << 6) |
|
#define | SCIF_PLL0LOCKLOST (1 << 7) |
|
#define | SCIF_RCFASTLOCK (1 << 13) |
|
#define | SCIF_RCFASTLOCKLOST (1 << 14) |
|
#define | SCIF_OSCCTRL_MODE (1 << 0) |
|
#define | SCIF_OSCCTRL_GAIN_SHIFT 1 |
|
#define | SCIF_OSCCTRL_GAIN_MASK (3 << SCIF_OSCCTRL_GAIN_SHIFT) |
|
#define | SCIF_OSCCTRL_AGC (1 << 3) |
|
#define | SCIF_OSCCTRL_STARTUP_SHIFT 8 |
|
#define | SCIF_OSCCTRL_STARTUP_MASK (0xf << SCIF_OSCCTRL_STARTUP_SHIFT) |
|
#define | SCIF_OSCCTRL_OSCEN (1 << 16) |
|
#define | _MASKED_VALUE(V, S, M) (((V) << (S)) & (M)) |
|
#define | SCIF_PLL0_PLLEN (1 << 0) |
|
#define | SCIF_PLL0_PLLOSC_SHIFT 1 |
|
#define | SCIF_PLL0_PLLOSC_MASK (3 << SCIF_PLL0_PLLOSC_SHIFT) |
|
#define | SCIF_PLL0_PLLOSC_MASKED(V) _MASKED_VALUE((V), SCIF_PLL0_PLLOSC_SHIFT, SCIF_PLL0_PLLOSC_MASK) |
|
#define | SCIF_PLL0_PLLOPT_SHIFT 3 |
|
#define | SCIF_PLL0_PLLOPT_MASK (7 << SCIF_PLL0_PLLOPT_SHIFT) |
|
#define | SCIF_PLL0_PLLOPT_MASKED(V) _MASKED_VALUE((V), SCIF_PLL0_PLLOPT_SHIFT, SCIF_PLL0_PLLOPT_MASK) |
|
#define | SCIF_PLL0_PLLDIV_SHIFT 8 |
|
#define | SCIF_PLL0_PLLDIV_MASK (0xf << SCIF_PLL0_PLLDIV_SHIFT) |
|
#define | SCIF_PLL0_PLLDIV_MASKED(V) _MASKED_VALUE((V), SCIF_PLL0_PLLDIV_SHIFT, SCIF_PLL0_PLLDIV_MASK) |
|
#define | SCIF_PLL0_PLLMUL_SHIFT 16 |
|
#define | SCIF_PLL0_PLLMUL_MASK (0xf << SCIF_PLL0_PLLMUL_SHIFT) |
|
#define | SCIF_PLL0_PLLMUL_MASKED(V) _MASKED_VALUE((V), SCIF_PLL0_PLLMUL_SHIFT, SCIF_PLL0_PLLMUL_MASK) |
|
#define | SCIF_PLL0_PLLCOUNT_SHIFT 24 |
|
#define | SCIF_PLL0_PLLCOUNT_MASK (0x3f << SCIF_PLL0_PLLCOUNT_SHIFT) |
|
#define | SCIF_PLL0_PLLCOUNT_MASKED(V) _MASKED_VALUE((V), SCIF_PLL0_PLLCOUNT_SHIFT, SCIF_PLL0_PLLCOUNT_MASK) |
|
#define | SCIF_GCCTRL_CEN (1 << 0) |
|
#define | SCIF_GCCTRL_DIVEN (1 << 1) |
|
#define | SCIF_GCCTRL_OSCSEL_SHIFT 8 |
|
#define | SCIF_GCCTRL_OSCSEL_MASK (0x1f << SCIF_GCCTRL_OSCSEL_SHIFT) |
|
#define | SCIF_GCCTRL_OSCSEL_MASKED(V) _MASKED_VALUE(V, SCIF_GCCTRL_OSCSEL_SHIFT, SCIF_GCCTRL_OSCSEL_MASK) |
|
#define | SCIF_GCCTRL_DIV_SHIFT 16 |
|
#define | SCIF_GCCTRL_DIV_MASK (0xffff << SCIF_GCCTRL_DIV_SHIFT) |
|
#define | SCIF_GCCTRL_DIV_MASKED(V) _MASKED_VALUE(V, SCIF_GCCTRL_DIV_SHIFT, SCIF_GCCTRL_DIV_MASK) |
|
int scif_enable_pll |
( |
uint8_t |
delay, |
|
|
uint8_t |
mul, |
|
|
uint8_t |
div, |
|
|
uint8_t |
pll_opt, |
|
|
enum pll_clk_src |
source_clock |
|
) |
| |
Configure and enable PLL clock.
- Parameters
-
[in] | delay | uint8_t: Specifies the number of RCSYS clock cycles before ISR.PLLLOCKn will be set after PLL has been written, or after PLL has been automatically re-enabled after exiting a sleep mode. |
[in] | mul | uint8_t: Multiply factor. |
[in] | div | uint8_t: Division factor.These fields determine the ratio of the PLL output frequency to the source oscillator frequency: f_vco = (PLLMUL+1)/PLLDIV * f_ref if PLLDIV >0 f_vco = 2*(PLLMUL+1) * f_ref if PLLDIV = 0 Note that the PLLMUL field should always be greater than 1 or the behavior of the PLL will be undefined. |
[in] | pll_opt | uint8_t: PLL Options. |
- Returns
- zero upon success.
Definition at line 82 of file scif.c.
References SCIF_PCLKSR, SCIF_PLL0, SCIF_PLL0_KEY, SCIF_PLL0_PLLCOUNT_MASKED, SCIF_PLL0_PLLDIV_MASKED, SCIF_PLL0_PLLEN, SCIF_PLL0_PLLMUL_MASKED, SCIF_PLL0_PLLOPT_MASKED, SCIF_PLL0_PLLOSC_MASKED, SCIF_PLL0LOCK, and SCIF_UNLOCK.