mirror of
https://github.com/hathach/tinyusb.git
synced 2025-01-17 05:32:55 +08:00
70 lines
2.8 KiB
C
70 lines
2.8 KiB
C
/****************************************************************************
|
|
* $Id:: clkconfig.c 6874 2011-03-22 01:58:31Z usb00423 $
|
|
* Project: NXP LPC13Uxx Clock Configuration example
|
|
*
|
|
* Description:
|
|
* This file contains clock configuration code example which include
|
|
* watchdog setup and debug clock out setup.
|
|
*
|
|
****************************************************************************
|
|
* Software that is described herein is for illustrative purposes only
|
|
* which provides customers with programming information regarding the
|
|
* products. This software is supplied "AS IS" without any warranties.
|
|
* NXP Semiconductors assumes no responsibility or liability for the
|
|
* use of the software, conveys no license or title under any patent,
|
|
* copyright, or mask work right to the product. NXP Semiconductors
|
|
* reserves the right to make changes in the software without
|
|
* notification. NXP Semiconductors also make no representation or
|
|
* warranty that such application will be suitable for the specified
|
|
* use without further testing or modification.
|
|
* Permission to use, copy, modify, and distribute this software and its
|
|
* documentation is hereby granted, under NXP Semiconductors'
|
|
* relevant copyright in the software, without fee, provided that it
|
|
* is used in conjunction with NXP Semiconductors microcontrollers. This
|
|
* copyright, permission, and disclaimer notice must appear in all copies of
|
|
* this code.
|
|
****************************************************************************/
|
|
#include "LPC13Uxx.h"
|
|
#include "clkconfig.h"
|
|
|
|
|
|
/*****************************************************************************
|
|
** Function name: WDT_CLK_Setup
|
|
**
|
|
** Descriptions: Configure WDT clock.
|
|
** parameters: clock source: irc_osc(0), main_clk(1), wdt_osc(2).
|
|
**
|
|
** Returned value: None
|
|
**
|
|
*****************************************************************************/
|
|
void WDT_CLK_Setup ( uint32_t clksrc )
|
|
{
|
|
/* Freq = 0.5Mhz, div_sel is 0x1F, divided by 64. WDT_OSC should be 7.8125khz */
|
|
LPC_SYSCON->WDTOSCCTRL = (0x1<<5)|0x1F;
|
|
LPC_SYSCON->PDRUNCFG &= ~(0x1<<6); /* Let WDT clock run */
|
|
|
|
/* Enables clock for WDT */
|
|
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<15);
|
|
LPC_WWDT->CLKSEL = clksrc; /* Select clock source */
|
|
return;
|
|
}
|
|
|
|
/*****************************************************************************
|
|
** Function name: CLKOUT_Setup
|
|
**
|
|
** Descriptions: Configure CLKOUT for reference clock check.
|
|
** parameters: clock source: irc_osc(0), sys_osc(1), wdt_osc(2),
|
|
** main_clk(3).
|
|
**
|
|
** Returned value: None
|
|
**
|
|
*****************************************************************************/
|
|
void CLKOUT_Setup ( uint32_t clksrc )
|
|
{
|
|
/* debug PLL after configuration. */
|
|
LPC_SYSCON->CLKOUTSEL = clksrc; /* Select Main clock */
|
|
LPC_SYSCON->CLKOUTDIV = 1; /* Divided by 1 */
|
|
return;
|
|
}
|
|
|