sam: Add convenience function for clock setup using internal 4MHz.

This commit is contained in:
Gareth McMullin 2013-05-20 09:50:18 +12:00 committed by Piotr Esden-Tempski
parent ce3e3dc39b
commit 662a2cb8fa
2 changed files with 15 additions and 0 deletions

View File

@ -140,6 +140,7 @@ void pmc_plla_config(u8 mul, u8 div);
void pmc_peripheral_clock_enable(u8 pid); void pmc_peripheral_clock_enable(u8 pid);
void pmc_peripheral_clock_disable(u8 pid); void pmc_peripheral_clock_disable(u8 pid);
void pmc_clock_setup_in_xtal_12mhz_out_84mhz(void); void pmc_clock_setup_in_xtal_12mhz_out_84mhz(void);
void pmc_clock_setup_in_rc_4mhz_out_84mhz(void);
#endif #endif

View File

@ -79,3 +79,17 @@ void pmc_clock_setup_in_xtal_12mhz_out_84mhz(void)
pmc_mck_frequency = 84000000; pmc_mck_frequency = 84000000;
} }
void pmc_clock_setup_in_rc_4mhz_out_84mhz(void)
{
eefc_set_latency(4);
/* Select as main oscillator */
CKGR_MOR = CKGR_MOR_KEY |
(CKGR_MOR & ~(CKGR_MOR_MOSCSEL | CKGR_MOR_MOSCRCF_MASK));
/* Multiply by 21 for 84MHz */
pmc_plla_config(21, 1);
pmc_mck_set_source(MCK_SRC_PLLA);
pmc_mck_frequency = 84000000;
}