source: rtems/c/src/lib/libbsp/m68k/uC5282/include/bsp.h @ 16ae480

4.104.114.84.95
Last change on this file since 16ae480 was 16ae480, checked in by Eric Norum <WENorum@…>, on Feb 10, 2005 at 10:22:59 PM

Name changes.
Add some more system calls.

  • Property mode set to 100644
File size: 4.0 KB
Line 
1/*
2 *  uC5282 BSP header file
3 */
4 
5#ifndef __SBC5282_BSP_H
6#define __SBC5282_BSP_H
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12#include <rtems.h>
13#include <rtems/iosupp.h>
14#include <rtems/console.h>
15#include <rtems/clockdrv.h>
16#include <rtems/iosupp.h>
17#include <rtems/bspIo.h>
18
19/***************************************************************************/
20/**  Hardware data structure headers                                      **/
21#include <mcf5282/mcf5282.h>   /* internal MCF5282 modules */
22
23/***************************************************************************/
24/**  Network driver configuration                                         **/
25struct rtems_bsdnet_ifconfig;
26extern int rtems_fec_driver_attach (struct rtems_bsdnet_ifconfig *config, int attaching );
27#define RTEMS_BSP_NETWORK_DRIVER_NAME     "fs1"
28#define RTEMS_BSP_NETWORK_DRIVER_ATTACH   rtems_fec_driver_attach
29
30/***************************************************************************/
31/**  User Definable configuration                                         **/
32
33/* define which port the console should use - all other ports are then defined as general purpose */
34#define CONSOLE_PORT        0
35
36
37/*
38 *  Define the time limits for RTEMS Test Suite test durations.
39 *  Long test and short test duration limits are provided.  These
40 *  values are in seconds and need to be converted to ticks for the
41 *  application.
42 *
43 */
44#define MAX_LONG_TEST_DURATION       300 /* 5 minutes = 300 seconds */
45#define MAX_SHORT_TEST_DURATION      3   /* 3 seconds */
46
47/* externals */
48
49/* constants */
50
51/* miscellaneous stuff assumed to exist */
52
53extern rtems_configuration_table BSP_Configuration;
54
55/*
56 *  Device Driver Table Entries
57 */
58 
59/*
60 * NOTE: Use the standard Console driver entry
61 */
62 
63/*
64 * NOTE: Use the standard Clock driver entry
65 */
66
67
68/* functions */
69
70typedef struct {
71    unsigned int l;
72    void        *v;
73} bsp_mnode_t;
74
75#define RTEMS_BSP_PGM_ERASE_FIRST   0x1
76#define RTEMS_BSP_PGM_RESET_AFTER   0x2
77#define RTEMS_BSP_PGM_EXEC_AFTER    0x4
78#define RTEMS_BSP_PGM_HALT_AFTER    0x8
79
80uint32_t bsp_get_CPU_clock_speed(void);
81rtems_status_code bsp_allocate_interrupt(int level, int priority);
82int bsp_reset(int flags);
83int bsp_program(bsp_mnode_t *chain, int flags);
84unsigned const char *bsp_gethwaddr(int a);
85const char *bsp_getbenv(const char *a);
86
87void bsp_cleanup(void);
88
89m68k_isr_entry set_vector(
90  rtems_isr_entry     handler,
91  rtems_vector_number vector,
92  int                 type
93);
94
95/*
96 * Interrupt assignments
97 *  Highest-priority listed first
98 */
99#define FEC_IRQ_LEVEL       4
100#define FEC_IRQ_RX_PRIORITY 7
101#define FEC_IRQ_TX_PRIORITY 6
102
103#define PIT3_IRQ_LEVEL      4
104#define PIT3_IRQ_PRIORITY   0
105
106#define UART0_IRQ_LEVEL     3
107#define UART0_IRQ_PRIORITY  7
108#define UART1_IRQ_LEVEL     3
109#define UART1_IRQ_PRIORITY  6
110#define UART2_IRQ_LEVEL     3
111#define UART2_IRQ_PRIORITY  5
112
113/*
114 * Fake VME support
115 * This makes it easier to use EPICS driver support on this BSP.
116 */
117#define VME_AM_STD_SUP_ASCENDING   0x3f
118#define VME_AM_STD_SUP_PGM         0x3e
119#define VME_AM_STD_USR_ASCENDING   0x3b
120#define VME_AM_STD_USR_PGM         0x3a
121#define VME_AM_STD_SUP_DATA        0x3d
122#define VME_AM_STD_USR_DATA        0x39
123#define VME_AM_EXT_SUP_ASCENDING   0x0f
124#define VME_AM_EXT_SUP_PGM         0x0e
125#define VME_AM_EXT_USR_ASCENDING   0x0b
126#define VME_AM_EXT_USR_PGM         0x0a
127#define VME_AM_EXT_SUP_DATA        0x0d
128#define VME_AM_EXT_USR_DATA        0x09
129#define VME_AM_SUP_SHORT_IO        0x2d
130#define VME_AM_USR_SHORT_IO        0x29
131
132/*
133 * 'Extended' BSP support
134 */
135rtems_status_code bspExtInit(void);
136typedef void (*BSP_VME_ISR_t)(void *usrArg, unsigned long vector);
137BSP_VME_ISR_t BSP_getVME_isr(unsigned long vector, void **parg);
138int BSP_installVME_isr(unsigned long vector, BSP_VME_ISR_t handler, void *usrArg);
139int BSP_removeVME_isr(unsigned long vector, BSP_VME_ISR_t handler, void *usrArg);
140int BSP_enableVME_int_lvl(unsigned int level);
141int BSP_disableVME_int_lvl(unsigned int level);
142int BSP_vme2local_adrs(unsigned am, unsigned long vmeaddr, unsigned long *plocaladdr);
143
144
145#ifdef __cplusplus
146}
147#endif
148
149#endif
150/* end of include file */
Note: See TracBrowser for help on using the repository browser.