RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
bsps
arm
rtl22xx
include
bsp.h
Go to the documentation of this file.
1
8
9
/*
10
* Philips LPC22XX/LPC21xx BSP header file
11
*
12
* by Ray,Xu <Rayx.cn@gmail.com>
13
*
14
* The license and distribution terms for this file may be
15
* found in the file LICENSE in this distribution or at
16
* http://www.rtems.org/license/LICENSE.
17
*/
18
#ifndef LIBBSP_ARM_RTL22XX_BSP_H
19
#define LIBBSP_ARM_RTL22XX_BSP_H
20
30
31
#include <bspopts.h>
32
#include <
bsp/default-initial-extension.h
>
33
34
#include <
rtems.h
>
35
36
#ifdef __cplusplus
37
extern
"C"
{
38
#endif
39
40
#define BSP_FEATURE_IRQ_EXTENSION
41
42
#define CONFIG_ARM_CLK 60000000L
43
/* cclk=cco/(2*P) */
44
/* cco = cclk*2*P */
45
47
#define LPC22xx_Fcclk CONFIG_ARM_CLK
48
49
/* Fcco 156M~320Mhz*/
51
#define LPC22xx_Fcclk CONFIG_ARM_CLK
52
#define LPC22xx_Fcco LPC22xx_Fcclk * 4
54
#define LPC22xx_Fpclk (LPC22xx_Fcclk /4) *1
55
56
57
62
63
#define Fcclk_MIN 10000000L
64
#define Fcclk_MAX 60000000L
65
67
72
73
#define Fcco_MIN 156000000L
74
#define Fcco_MAX 320000000L
75
77
78
#define PLLFEED_DATA1 0xAA
79
#define PLLFEED_DATA2 0x55
80
85
86
#define PLLCON_ENABLE_BIT 0
87
#define PLLCON_CONNECT_BIT 1
88
90
95
96
#define PLLSTAT_ENABLE_BIT 8
97
#define PLLSTAT_CONNECT_BIT 9
98
#define PLLSTAT_LOCK_BIT 10
99
101
106
107
#define PC_TIMER0 0x2
108
#define PC_TIMER1 0x4
109
#define PC_UART0 0x8
110
#define PC_UART1 0x10
111
#define PC_PWM0 0x20
112
#define PC_I2C 0x80
113
#define PC_SPI0 0x100
114
#define PC_RTC 0x200
115
117
119
#define FOSC 11059200
121
#define FCCLK FOSC<<2
122
127
129
#define Fosc 11059200
131
#define Fcclk (Fosc << 2)
133
#define Fcco (Fcclk <<2)
135
#define Fpclk (Fcclk >>2) * 1
136
/* This was M. That is a BAD BAD public constant. I renamed it to
137
* JOEL_M so it wouldn't conflict with user code. If you can find
138
* a better name, fix this. But nothing I found uses it.
139
*/
140
142
143
#define JOEL_M Fcclk / Fosc
144
#define P_min Fcco_MIN / (2*Fcclk) + 1;
145
#define P_max Fcco_MAX / (2*Fcclk);
146
147
#define UART_BPS 115200
148
150
#define TIMER_PRECISION 10
151
153
#define I2CSPEED 20000
// 20 Kbit/s
154
159
160
#define RXBUFSIZE 32
161
#define TXBUFSIZE 32
162
164
166
#define SPISPEED 1500000
// 1.5 Mbit/s
171
#define SPI_CS_PIN P0_13
172
#define SPI_CS_PIN_FUNC PINSEL0_bit.SPI_CS_PIN
173
178
179
//#define RTL22XX_FLASH_SIZE (0x200000-RTL22XX_FLASH_BOOT) // Total area of Flash region in words 8 bit
181
#define RTL22XX_FLASH_SIZE (0x80000-RTL22XX_FLASH_BOOT)
182
//#define RTL22XX_FLASH_SIZE (0x80000-RTL22XX_FLASH_BOOT) // Total area of Flash region in words 8 bit
183
#define RTL22XX_FLASH_BEGIN 0x80000000
185
#define RTL22XX_FLASH_BASE (RTL22XX_FLASH_BEGIN+RTL22XX_FLASH_BOOT)
186
188
193
195
#define SRAM_SIZE 0x100000
197
#define SRAM_BASE 0x81000000
198
200
202
#define CS8900A_BASE 0x82000000
204
#define RTL8019AS_BASE 0x82000000
205
206
struct
rtems_bsdnet_ifconfig;
207
int
cs8900_driver_attach (
struct
rtems_bsdnet_ifconfig *config,
208
int
attaching);
209
214
215
#define RTEMS_BSP_NETWORK_DRIVER_NAME "eth0"
216
#define RTEMS_BSP_NETWORK_DRIVER_ATTACH cs8900_driver_attach
217
219
220
/*
221
* Prototypes for methods used across file boundaries in the BSP.
222
*/
223
extern
void
UART0_Ini(
void
);
224
225
#ifdef __cplusplus
226
}
227
#endif
228
230
231
#endif
/* _BSP_H */
default-initial-extension.h
This header file provides the default definition of BSP_INITIAL_EXTENSION.
rtems.h
This header file defines the RTEMS Classic API.
Generated by
1.18.0