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

4.115
Last change on this file since 5ea637ed was 5ea637ed, checked in by Sebastian Huber <sebastian.huber@…>, on 03/26/12 at 16:40:31

bsps/arm: Add BSP_ARMV7M_IRQ_PRIORITY_DEFAULT

  • 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_FREQUENCY LPC24XX_CCLK
49
50#ifndef ASM
51
52struct rtems_bsdnet_ifconfig;
53
54/**
55 * @defgroup lpc24xx LPC24XX Support
56 *
57 * @ingroup bsp_kit
58 *
59 * @brief LPC24XX support package.
60 *
61 * @{
62 */
63
64/**
65 * @brief Network driver attach and detach function.
66 */
67int lpc_eth_attach_detach(
68  struct rtems_bsdnet_ifconfig *config,
69  int attaching
70);
71
72/**
73 * @brief Standard network driver attach and detach function.
74 */
75#define RTEMS_BSP_NETWORK_DRIVER_ATTACH lpc_eth_attach_detach
76
77/**
78 * @brief Standard network driver name.
79 */
80#define RTEMS_BSP_NETWORK_DRIVER_NAME "eth0"
81
82/**
83 * @brief Optimized idle task.
84 *
85 * This idle task sets the power mode to idle.  This causes the processor clock
86 * to be stopped, while on-chip peripherals remain active.  Any enabled
87 * interrupt from a peripheral or an external interrupt source will cause the
88 * processor to resume execution.
89 *
90 * To enable the idle task use the following in the system configuration:
91 *
92 * @code
93 * #include <bsp.h>
94 *
95 * #define CONFIGURE_INIT
96 *
97 * #define CONFIGURE_IDLE_TASK_BODY bsp_idle_thread
98 *
99 * #include <confdefs.h>
100 * @endcode
101 */
102void *bsp_idle_thread(uintptr_t ignored);
103
104#ifdef ARM_MULTILIB_ARCH_V4
105  #define BSP_CONSOLE_UART_BASE 0xe000c000
106#else
107  #define BSP_CONSOLE_UART_BASE 0x4000c000
108#endif
109
110void bsp_restart(void *addr);
111
112/** @} */
113
114#endif /* ASM */
115
116#ifdef __cplusplus
117}
118#endif /* __cplusplus */
119
120#endif /* LIBBSP_ARM_LPC24XX_BSP_H */
Note: See TracBrowser for help on using the repository browser.