RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
bsps
mips
hurricane
include
bsp.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
10
11
/*
12
* COPYRIGHT (c) 1989-2012.
13
* On-Line Applications Research Corporation (OAR).
14
*
15
* Redistribution and use in source and binary forms, with or without
16
* modification, are permitted provided that the following conditions
17
* are met:
18
* 1. Redistributions of source code must retain the above copyright
19
* notice, this list of conditions and the following disclaimer.
20
* 2. Redistributions in binary form must reproduce the above copyright
21
* notice, this list of conditions and the following disclaimer in the
22
* documentation and/or other materials provided with the distribution.
23
*
24
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34
* POSSIBILITY OF SUCH DAMAGE.
35
*/
36
37
#ifndef LIBBSP_MIPS_HURRICANE_BSP_H
38
#define LIBBSP_MIPS_HURRICANE_BSP_H
39
49
50
#ifndef ASM
51
52
#include <bspopts.h>
53
#include <
bsp/default-initial-extension.h
>
54
55
#include <
rtems.h
>
56
#include <
libcpu/rm5231.h
>
57
58
#ifdef __cplusplus
59
extern
"C"
{
60
#endif
61
62
extern
void
WriteDisplay(
char
*
string
);
63
64
extern
uint32_t mips_get_timer(
void
);
65
66
#define BSP_FEATURE_IRQ_EXTENSION
67
#define BSP_SHARED_HANDLER_SUPPORT 1
68
69
#define CPU_CLOCK_RATE_MHZ (200)
70
#define CLOCKS_PER_MICROSECOND ( CPU_CLOCK_RATE_MHZ )
/* equivalent to CPU clock speed in MHz */
71
72
/*
73
* Simple spin delay in microsecond units for device drivers.
74
* This is very dependent on the clock speed of the target.
75
*
76
* NOTE: This macro generates a warning like "integer constant out
77
* of range" which is safe to ignore. In 64 bit mode, unsigned32
78
* types are actually 64 bits long so that comparisons between
79
* unsigned32 types and pointers are valid. The warning is caused
80
* by code in the delay macro that is necessary for 64 bit mode.
81
*/
82
83
#define rtems_bsp_delay( microseconds ) \
84
{ \
85
uint32_t _end_clock = \
86
mips_get_timer() + microseconds * CLOCKS_PER_MICROSECOND; \
87
_end_clock %= 0x100000000;
/* make sure result is 32 bits */
\
88
\
89
/* handle timer overflow, if necessary */
\
90
while ( _end_clock < mips_get_timer() ); \
91
\
92
while ( _end_clock > mips_get_timer() ); \
93
}
94
95
/* Constants */
96
97
#define RAM_START 0
98
#define RAM_END 0x100000
99
100
/*
101
* Prototypes for methods called from .S for dependency tracking
102
*/
103
void
init_tlb(
void
);
104
void
resettlb(
int
i);
105
106
#ifdef __cplusplus
107
}
108
#endif
109
110
#endif
/* !ASM */
111
113
114
#endif
/* __HURRICANE_BSP_h */
default-initial-extension.h
This header file provides the default definition of BSP_INITIAL_EXTENSION.
rm5231.h
rtems.h
This header file defines the RTEMS Classic API.
Generated by
1.18.0