source: rtems/c/src/lib/libbsp/arm/lpc176x/include/system-clocks.h @ 19260fb

4.115
Last change on this file since 19260fb was 19260fb, checked in by Martin Boretto <martin.boretto@…>, on Jun 9, 2014 at 2:27:18 PM

bsp/lpc176x: New BSP

  • Property mode set to 100644
File size: 1.8 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup lpc176x_clocks
5 *
6 * @brief System clocks.
7 */
8
9/*
10 * Copyright (c) 2008, 2009
11 * embedded brains GmbH
12 * Obere Lagerstr. 30
13 * D-82178 Puchheim
14 * Germany
15 * <rtems@embedded-brains.de>
16 *
17 * The license and distribution terms for this file may be
18 * found in the file LICENSE in this distribution or at
19 * http://www.rtems.com/license/LICENSE.
20 */
21
22#ifndef LIBBSP_ARM_LPC176X_SYSTEM_CLOCKS_H
23#define LIBBSP_ARM_LPC176X_SYSTEM_CLOCKS_H
24
25#include <bsp/lpc176x.h>
26#include <bsp/timer-defs.h>
27
28#ifdef __cplusplus
29extern "C" {
30#endif /* __cplusplus */
31
32/**
33 * @defgroup lpc176x_clock System Clocks
34 *
35 * @ingroup lpc176x
36 *
37 * @brief System clocks.
38 *
39 * @{
40 */
41
42/**
43 * @brief Initializes the standard timer.
44 *
45 * This function uses Timer 1.
46 */
47void lpc176x_timer_initialize( void );
48
49/**
50 * @brief Returns current standard timer value in CPU clocks.
51 *
52 * @return This function uses Timer 1.
53 */
54static inline unsigned lpc176x_get_timer1( void )
55{
56  return LPC176X_T1TC;
57}
58
59/**
60 * @brief Delay for @a us micro seconds.
61 *
62 * This function uses the standard timer and assumes that the CPU
63 * frequency is in whole MHz numbers.  The delay value @a us will be
64 * converted to CPU ticks and there is no protection against integer
65 * overflows.
66 *
67 * This function uses Timer 1.
68 */
69void lpc176x_micro_seconds_delay( unsigned us );
70
71/**
72 * @brief Returns the PLL output clock frequency in [Hz].
73 *
74 * @return Returns zero in case of an unexpected PLL input frequency.
75 */
76unsigned lpc176x_pllclk( void );
77
78/**
79 * @brief Returns the CPU clock frequency in [Hz].
80 *
81 * @return Returns zero in case of an unexpected PLL input frequency.
82 */
83unsigned lpc176x_cclk( void );
84
85/** @} */
86
87#ifdef __cplusplus
88}
89#endif /* __cplusplus */
90
91#endif /* LIBBSP_ARM_LPC176X_SYSTEM_CLOCKS_H */
Note: See TracBrowser for help on using the repository browser.