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