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

4.115
Last change on this file since 33cb8bf was 33cb8bf, checked in by Sebastian Huber <sebastian.huber@…>, on 02/17/14 at 10:40:18

score: Add RTEMS_FATAL_SOURCE_BSP

Merge RTEMS_FATAL_SOURCE_BSP_GENERIC and RTEMS_FATAL_SOURCE_BSP_SPECIFIC
into new fatal source RTEMS_FATAL_SOURCE_BSP. This makes it easier to
figure out the code position given a fatal source and code.

  • Property mode set to 100644
File size: 2.5 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup lpc24xx
5 *
6 * @brief Global BSP definitions.
7 */
8
9/*
10 * Copyright (c) 2008-2013 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
23#ifndef LIBBSP_ARM_LPC24XX_BSP_H
24#define LIBBSP_ARM_LPC24XX_BSP_H
25
26#include <bspopts.h>
27
28#define BSP_FEATURE_IRQ_EXTENSION
29
30#define LPC24XX_PCLK (LPC24XX_CCLK / LPC24XX_PCLKDIV)
31
32#define LPC24XX_EMCCLK (LPC24XX_CCLK / LPC24XX_EMCCLKDIV)
33
34#define LPC24XX_MPU_REGION_COUNT 8
35
36#define BSP_ARMV7M_IRQ_PRIORITY_DEFAULT (29 << 3)
37
38#define BSP_ARMV7M_SYSTICK_PRIORITY (30 << 3)
39
40#define BSP_ARMV7M_SYSTICK_FREQUENCY LPC24XX_CCLK
41
42#ifndef ASM
43
44#include <rtems.h>
45#include <rtems/console.h>
46#include <rtems/clockdrv.h>
47
48#include <bsp/default-initial-extension.h>
49
50#ifdef __cplusplus
51extern "C" {
52#endif /* __cplusplus */
53
54struct rtems_bsdnet_ifconfig;
55
56/**
57 * @defgroup lpc24xx LPC24XX Support
58 *
59 * @ingroup bsp_arm
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
114bool lpc24xx_uart_probe_1(int minor);
115
116bool lpc24xx_uart_probe_2(int minor);
117
118bool lpc24xx_uart_probe_3(int minor);
119
120/** @} */
121
122#ifdef __cplusplus
123}
124#endif /* __cplusplus */
125
126#endif /* ASM */
127
128#endif /* LIBBSP_ARM_LPC24XX_BSP_H */
Note: See TracBrowser for help on using the repository browser.