Microchip® Advanced Software Framework

sysclk.c File Reference

Chip-specific system clock management functions.

Copyright (c) 2010-2018 Microchip Technology Inc. and its subsidiaries.

#include <compiler.h>
#include <sysclk.h>
#include <osc.h>
#include <pll.h>

Functions

void sysclk_disable_module (enum sysclk_port_id port, uint8_t id)
 Disable the clock to peripheral id on port port. More...
 
void sysclk_disable_usb (void)
 Disable clock for the USB module. More...
 
void sysclk_enable_module (enum sysclk_port_id port, uint8_t id)
 Enable the clock to peripheral id on port port. More...
 
void sysclk_enable_usb (uint8_t frequency)
 Enable clock for the USB module. More...
 
System Clock Initialization
void sysclk_init (void)
 Initialize the synchronous clock system. More...
 

void sysclk_disable_usb ( void  )

Disable clock for the USB module.

References ccp_write_io(), sysclk_disable_module(), SYSCLK_PORT_GEN, and SYSCLK_USB.

void sysclk_enable_usb ( uint8_t  frequency)

Enable clock for the USB module.

Precondition
CONFIG_USBCLK_SOURCE must be defined.
Parameters
frequencyThe required USB clock frequency in MHz:
  • 6 for 6 MHz
  • 48 for 48 MHz

References Assert, ccp_write_io(), CONFIG_USBCLK_SOURCE, osc_enable(), osc_enable_autocalibration(), OSC_ID_RC32MHZ, OSC_ID_USBSOF, osc_is_ready(), osc_wait_ready(), pll_enable_config_defaults(), sysclk_enable_module(), SYSCLK_PORT_GEN, SYSCLK_USB, USBCLK_SRC_PLL, and USBCLK_SRC_RCOSC.