source: rtems/c/src/lib/libbsp/arm/lpc24xx/include/bsp.h @ d8f05c83

4.115
Last change on this file since d8f05c83 was d8f05c83, checked in by Sebastian Huber <sebastian.huber@…>, on Mar 26, 2012 at 4:41:45 PM

bsps/arm: Add BSP_ARMV7M_SYSTICK_PRIORITY

  • Property mode set to 100644
File size: 2.3 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup lpc24xx
5 *
6 * @brief Global BSP definitions.
7 */
8
9/*
10 * Copyright (c) 2008-2012 embedded brains GmbH.  All rights reserved.
11 *
12 *  embedded brains GmbH
13 *  Obere Lagerstr. 30
14 *  82178 Puchheim
15 *  Germany
16 *  <rtems@embedded-brains.de>
17 *
18 * The license and distribution terms for this file may be
19 * found in the file LICENSE in this distribution or at
20 * http://www.rtems.com/license/LICENSE.
21 *
22 * $Id$
23 */
24
25#ifndef LIBBSP_ARM_LPC24XX_BSP_H
26#define LIBBSP_ARM_LPC24XX_BSP_H
27
28#include <bspopts.h>
29
30#include <rtems.h>
31#include <rtems/console.h>
32#include <rtems/clockdrv.h>
33
34#ifdef __cplusplus
35extern "C" {
36#endif /* __cplusplus */
37
38#define BSP_FEATURE_IRQ_EXTENSION
39
40#define LPC24XX_PCLK (LPC24XX_CCLK / LPC24XX_PCLKDIV)
41
42#define LPC24XX_EMCCLK (LPC24XX_CCLK / LPC24XX_EMCCLKDIV)
43
44#define LPC24XX_MPU_REGION_COUNT 8
45
46#define BSP_ARMV7M_IRQ_PRIORITY_DEFAULT (29 << 3)
47
48#define BSP_ARMV7M_SYSTICK_PRIORITY (30 << 3)
49
50#define BSP_ARMV7M_SYSTICK_FREQUENCY LPC24XX_CCLK
51
52#ifndef ASM
53
54struct rtems_bsdnet_ifconfig;
55
56/**
57 * @defgroup lpc24xx LPC24XX Support
58 *
59 * @ingroup bsp_kit
60 *
61 * @brief LPC24XX support package.
62 *
63 * @{
64 */
65
66/**
67 * @brief Network driver attach and detach function.
68 */
69int lpc_eth_attach_detach(
70  struct rtems_bsdnet_ifconfig *config,
71  int attaching
72);
73
74/**
75 * @brief Standard network driver attach and detach function.
76 */
77#define RTEMS_BSP_NETWORK_DRIVER_ATTACH lpc_eth_attach_detach
78
79/**
80 * @brief Standard network driver name.
81 */
82#define RTEMS_BSP_NETWORK_DRIVER_NAME "eth0"
83
84/**
85 * @brief Optimized idle task.
86 *
87 * This idle task sets the power mode to idle.  This causes the processor clock
88 * to be stopped, while on-chip peripherals remain active.  Any enabled
89 * interrupt from a peripheral or an external interrupt source will cause the
90 * processor to resume execution.
91 *
92 * To enable the idle task use the following in the system configuration:
93 *
94 * @code
95 * #include <bsp.h>
96 *
97 * #define CONFIGURE_INIT
98 *
99 * #define CONFIGURE_IDLE_TASK_BODY bsp_idle_thread
100 *
101 * #include <confdefs.h>
102 * @endcode
103 */
104void *bsp_idle_thread(uintptr_t ignored);
105
106#ifdef ARM_MULTILIB_ARCH_V4
107  #define BSP_CONSOLE_UART_BASE 0xe000c000
108#else
109  #define BSP_CONSOLE_UART_BASE 0x4000c000
110#endif
111
112void bsp_restart(void *addr);
113
114/** @} */
115
116#endif /* ASM */
117
118#ifdef __cplusplus
119}
120#endif /* __cplusplus */
121
122#endif /* LIBBSP_ARM_LPC24XX_BSP_H */
Note: See TracBrowser for help on using the repository browser.