RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
bsp.h
Go to the documentation of this file.
1
9/*
10 * This file includes definitions for the Intec SS555.
11 */
12
13/*
14 * SS555 port sponsored by Defence Research and Development Canada - Suffield
15 * Copyright (C) 2004, Real-Time Systems Inc. (querbach@realtime.bc.ca)
16 *
17 * Derived from c/src/lib/libbsp/powerpc/mbx8xx/include/bsp.h:
18 *
19 * COPYRIGHT (c) 1989-1998.
20 * On-Line Applications Research Corporation (OAR).
21 *
22 * The license and distribution terms for this file may be
23 * found in the file LICENSE in this distribution or at
24 * http://www.rtems.org/license/LICENSE.
25 */
26
27#ifndef LIBBSP_POWERPC_SS555_BSP_H
28#define LIBBSP_POWERPC_SS555_BSP_H
29
40#include <bspopts.h>
41
42#ifdef ASM
43
44#define eie 0x050 /* External Interrupt Enable Register */
45#define eid 0x051 /* External Interrupt Disable Register */
46#define nri 0x052 /* Non-Recoverable Interrupt Register */
47
48#else /* !ASM */
49
51
52#include <rtems.h>
53#include <mpc5xx.h>
54#include <mpc5xx/console.h>
55#include <libcpu/vectors.h>
56#include <bsp/irq.h>
57
58#ifdef __cplusplus
59extern "C" {
60#endif
61
62/*
63 * Clock definitions
64 */
65
66#define BSP_CRYSTAL_HZ 4000000 /* crystal frequency, Hz */
67#define BSP_CLOCK_HZ 40000000 /* CPU clock frequency, Hz */
68
69/*
70 * I/O definitions
71 *
72 * The SS555 board includes a CPLD to control on-board features and
73 * off-board devices.
74 */
75typedef struct cpld_ {
76 uint8_t cs3a[32]; /* Chip select 3A */
77 uint8_t pad0[0x200000 - 0x000020];
78
79 uint8_t cs3b[32]; /* Chip select 3B */
80 uint8_t pad2[0x400000 - 0x200020];
81
82 uint8_t cs3c[32]; /* Chip select 3C */
83 uint8_t pad4[0x600000 - 0x400020];
84
85 uint8_t cs3d[32]; /* Chip select 3D */
86 uint8_t pad6[0x800000 - 0x600020];
87
88 uint8_t serial_ints; /* Enable/disable serial interrupts */
89 uint8_t serial_resets; /* Enable/disable serial resets */
90 uint8_t serial_ack; /* Acknowledge serial transfers */
91 uint8_t pad8[0xA00000 - 0x800003];
92
93 uint8_t iflash_writess; /* Enable/disable internal-flash writes */
94 uint8_t nflash_writess; /* Enable/disable NAND-flash writes */
95 uint8_t padA[0xC00000 - 0xA00002];
96} cpld_t;
97
98extern volatile cpld_t cpld; /* defined in linkcmds */
99
100/* clock/p_clock.c */
101extern int BSP_disconnect_clock_handler (void);
102
103extern int BSP_connect_clock_handler (rtems_irq_hdl hdl);
104
105/*
106 * Prototypes for methods called from .S to support dependency tracking.
107 */
108void _InitSS555(void);
109
110#ifdef __cplusplus
111}
112#endif
113
114#endif /* !ASM */
115
118#endif
DEFAULT_INITIAL_EXTENSION Support.
int BSP_connect_clock_handler(void)
Clock Tick Device Driver.
Definition: p_clock.c:37
Definition: bsp.h:75