OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [cortexm/] [kinetis/] [var/] [current/] [include/] [var_io_devs.h] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
#ifndef CYGONCE_HAL_VAR_IO_DEVS_H
2
#define CYGONCE_HAL_VAR_IO_DEVS_H
3
//===========================================================================
4
//
5
//      var_io_devs.h
6
//
7
//      Variant specific registers
8
//
9
//===========================================================================
10
// ####ECOSGPLCOPYRIGHTBEGIN####                                            
11
// -------------------------------------------                              
12
// This file is part of eCos, the Embedded Configurable Operating System.   
13
// Copyright (C) 2011 Free Software Foundation, Inc.                        
14
//
15
// eCos is free software; you can redistribute it and/or modify it under    
16
// the terms of the GNU General Public License as published by the Free     
17
// Software Foundation; either version 2 or (at your option) any later      
18
// version.                                                                 
19
//
20
// eCos is distributed in the hope that it will be useful, but WITHOUT      
21
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or    
22
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License    
23
// for more details.                                                        
24
//
25
// You should have received a copy of the GNU General Public License        
26
// along with eCos; if not, write to the Free Software Foundation, Inc.,    
27
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.            
28
//
29
// As a special exception, if other files instantiate templates or use      
30
// macros or inline functions from this file, or you compile this file      
31
// and link it with other works to produce a work based on this file,       
32
// this file does not by itself cause the resulting work to be covered by   
33
// the GNU General Public License. However the source code for this file    
34
// must still be made available in accordance with section (3) of the GNU   
35
// General Public License v2.                                               
36
//
37
// This exception does not invalidate any other reasons why a work based    
38
// on this file might be covered by the GNU General Public License.         
39
// -------------------------------------------                              
40
// ####ECOSGPLCOPYRIGHTEND####                                              
41
//===========================================================================
42
//#####DESCRIPTIONBEGIN####
43
//
44
// Author(s):     Ilija Kocho <ilijak@siva.com.mk>
45
// Date:          2011-02-05
46
// Purpose:       Kinetis variant IO provided to various device drivers
47
// Description:
48
// Usage:         #include <cyg/hal/var_io.h> //var_io.h includes this file
49
//
50
//####DESCRIPTIONEND####
51
//
52
//===========================================================================
53
 
54
 
55
//=============================================================================
56
// DEVS:
57
// Following macros may be, and usually are borrwed by some device drivers.
58
 
59
 
60
//=============================================================================
61
// Peripheral clock
62
 
63
//
64
//===========================================================================
65
 
66
 
67
//=============================================================================
68
// DEVS:
69
// Following macros may be, and usually are borrwed by some device drivers.
70
 
71
// Peripheral clock [Hz];
72
__externC cyg_uint32 hal_get_peripheral_clock(void);
73
 
74
//-----------------------------------------------------------------------------
75
// Freescale UART
76
// Borrow some HAL resources to Freescale UART driver
77
// UART  macros are used by both:
78
//      src/hal_diag.c
79
//      devs/serial/<version>/src/ser_freescale_uart.c
80
 
81
#define CYGADDR_IO_SERIAL_FREESCALE_UART0_BASE  0x4006A000
82
#define CYGADDR_IO_SERIAL_FREESCALE_UART1_BASE  0x4006B000
83
#define CYGADDR_IO_SERIAL_FREESCALE_UART2_BASE  0x4006C000
84
#define CYGADDR_IO_SERIAL_FREESCALE_UART3_BASE  0x4006D000
85
#define CYGADDR_IO_SERIAL_FREESCALE_UART4_BASE  0x400EA000
86
#define CYGADDR_IO_SERIAL_FREESCALE_UART5_BASE  0x400EB000
87
 
88
// UART PIN configuration
89
// Note: May be overriden by plf_io.h
90
 
91
#define CYGHWR_HAL_KINETIS_PORT_PIN_NONE CYGHWR_HAL_KINETIS_PIN_NONE
92
 
93
#ifndef CYGHWR_IO_FREESCALE_UART0_PIN_RX
94
# define CYGHWR_IO_FREESCALE_UART0_PIN_RX CYGHWR_HAL_KINETIS_PORT_PIN_NONE
95
# define CYGHWR_IO_FREESCALE_UART0_PIN_TX CYGHWR_HAL_KINETIS_PORT_PIN_NONE
96
# define CYGHWR_IO_FREESCALE_UART0_PIN_RTS CYGHWR_HAL_KINETIS_PORT_PIN_NONE
97
# define CYGHWR_IO_FREESCALE_UART0_PIN_CTS CYGHWR_HAL_KINETIS_PORT_PIN_NONE
98
#endif
99
 
100
#ifndef CYGHWR_IO_FREESCALE_UART1_PIN_RX
101
# define CYGHWR_IO_FREESCALE_UART1_PIN_RX CYGHWR_HAL_KINETIS_PORT_PIN_NONE
102
# define CYGHWR_IO_FREESCALE_UART1_PIN_TX CYGHWR_HAL_KINETIS_PORT_PIN_NONE
103
# define CYGHWR_IO_FREESCALE_UART1_PIN_RTS CYGHWR_HAL_KINETIS_PORT_PIN_NONE
104
# define CYGHWR_IO_FREESCALE_UART1_PIN_CTS CYGHWR_HAL_KINETIS_PORT_PIN_NONE
105
#endif
106
 
107
#ifndef CYGHWR_IO_FREESCALE_UART2_PIN_RX
108
# define CYGHWR_IO_FREESCALE_UART2_PIN_RX CYGHWR_HAL_KINETIS_PORT_PIN_NONE
109
# define CYGHWR_IO_FREESCALE_UART2_PIN_TX CYGHWR_HAL_KINETIS_PORT_PIN_NONE
110
# define CYGHWR_IO_FREESCALE_UART2_PIN_RTS CYGHWR_HAL_KINETIS_PORT_PIN_NONE
111
# define CYGHWR_IO_FREESCALE_UART2_PIN_CTS CYGHWR_HAL_KINETIS_PORT_PIN_NONE
112
#endif
113
 
114
#ifndef CYGHWR_IO_FREESCALE_UART3_PIN_RX
115
# define CYGHWR_IO_FREESCALE_UART3_PIN_RX CYGHWR_HAL_KINETIS_PORT_PIN_NONE
116
# define CYGHWR_IO_FREESCALE_UART3_PIN_TX CYGHWR_HAL_KINETIS_PORT_PIN_NONE
117
# define CYGHWR_IO_FREESCALE_UART3_PIN_RTS CYGHWR_HAL_KINETIS_PORT_PIN_NONE
118
# define CYGHWR_IO_FREESCALE_UART3_PIN_CTS CYGHWR_HAL_KINETIS_PORT_PIN_NONE
119
#endif
120
 
121
#ifndef CYGHWR_IO_FREESCALE_UART4_PIN_RX
122
# define CYGHWR_IO_FREESCALE_UART4_PIN_RX CYGHWR_HAL_KINETIS_PORT_PIN_NONE
123
# define CYGHWR_IO_FREESCALE_UART4_PIN_TX CYGHWR_HAL_KINETIS_PORT_PIN_NONE
124
# define CYGHWR_IO_FREESCALE_UART4_PIN_RTS CYGHWR_HAL_KINETIS_PORT_PIN_NONE
125
# define CYGHWR_IO_FREESCALE_UART4_PIN_CTS CYGHWR_HAL_KINETIS_PORT_PIN_NONE
126
#endif
127
 
128
#ifndef CYGHWR_IO_FREESCALE_UART5_PIN_RX
129
# define CYGHWR_IO_FREESCALE_UART5_PIN_RX CYGHWR_HAL_KINETIS_PORT_PIN_NONE
130
# define CYGHWR_IO_FREESCALE_UART5_PIN_TX CYGHWR_HAL_KINETIS_PORT_PIN_NONE
131
# define CYGHWR_IO_FREESCALE_UART5_PIN_RTS CYGHWR_HAL_KINETIS_PORT_PIN_NONE
132
# define CYGHWR_IO_FREESCALE_UART5_PIN_CTS CYGHWR_HAL_KINETIS_PORT_PIN_NONE
133
#endif
134
 
135
// Lend some HAL dependent functions to the UART serial device driver
136
 
137
#ifndef __ASSEMBLER__
138
 
139
# define CYGHWR_IO_FREESCALE_UART_BAUD_SET(__uart_p, _baud_) \
140
        hal_freescale_uart_setbaud(__uart_p, _baud_)
141
 
142
# define CYGHWR_IO_FREESCALE_UART_PIN(__pin) \
143
        hal_set_pin_function(__pin)
144
 
145
 
146
// Set baud rate
147
__externC void hal_freescale_uart_setbaud( CYG_ADDRESS uart, cyg_uint32 baud );
148
 
149
#endif
150
 
151
//---------------------------------------------------------------------------
152
// ENET
153
// Lend some HAL dependent functions to the Ethernet device driver
154
#define CYGADDR_IO_ETH_FREESCALE_ENET0_BASE  (0x400C0000)
155
 
156
#ifndef __ASSEMBLER__
157
 
158
# define CYGHWR_IO_FREESCALE_ENET_PIN(__pin) \
159
        hal_set_pin_function(__pin)
160
 
161
#endif
162
 
163
//----------------------------------------------------------------------------
164
// DSPI
165
// Lend some HAL dependent macros to DSPI device driver
166
 
167
// DSPI - Peripheral instance base addresses
168
#define CYGADDR_IO_SPI_FREESCALE_DSPI0_P ((cyghwr_devs_freescale_dspi_t*)0x4002C000)
169
#define CYGADDR_IO_SPI_FREESCALE_DSPI1_P ((cyghwr_devs_freescale_dspi_t*)0x4002D000)
170
#define CYGADDR_IO_SPI_FREESCALE_DSPI2_P ((cyghwr_devs_freescale_dspi_t*)0x400AC000)
171
 
172
#define CYGHWR_IO_SPI_FREESCALE_DSPI_CLOCK hal_get_peripheral_clock();
173
 
174
#ifndef __ASSEMBLER__
175
 
176
# define CYGHWR_IO_FREESCALE_DSPI_PIN(__pin) \
177
        hal_set_pin_function(__pin)
178
 
179
#endif
180
 
181
#ifndef KINETIS_PIN_SPI0_OUT_OPT
182
#define KINETIS_PIN_SPI0_OUT_OPT (CYGHWR_HAL_KINETIS_PORT_PCR_DSE_M | \
183
                                 CYGHWR_HAL_KINETIS_PORT_PCR_SRE_M)
184
#endif
185
#ifndef KINETIS_PIN_SPI0_CS_OPT
186
#define KINETIS_PIN_SPI0_CS_OPT  (CYGHWR_HAL_KINETIS_PORT_PCR_DSE_M | \
187
                                 CYGHWR_HAL_KINETIS_PORT_PCR_SRE_M)
188
#endif
189
#ifndef KINETIS_PIN_SPI0_IN_OPT
190
#define KINETIS_PIN_SPI0_IN_OPT  (CYGHWR_HAL_KINETIS_PORT_PCR_PE_M |  \
191
                                 CYGHWR_HAL_KINETIS_PORT_PCR_PS_M)
192
#endif
193
 
194
#ifndef KINETIS_PIN_SPI1_OUT_OPT
195
#define KINETIS_PIN_SPI1_OUT_OPT (CYGHWR_HAL_KINETIS_PORT_PCR_DSE_M | \
196
                                 CYGHWR_HAL_KINETIS_PORT_PCR_SRE_M)
197
#endif
198
#ifndef KINETIS_PIN_SPI1_CS_OPT
199
#define KINETIS_PIN_SPI1_CS_OPT  (CYGHWR_HAL_KINETIS_PORT_PCR_DSE_M | \
200
                                 CYGHWR_HAL_KINETIS_PORT_PCR_SRE_M)
201
#endif
202
#ifndef KINETIS_PIN_SPI1_IN_OPT
203
#define KINETIS_PIN_SPI1_IN_OPT  (CYGHWR_HAL_KINETIS_PORT_PCR_PE_M |  \
204
                                 CYGHWR_HAL_KINETIS_PORT_PCR_PS_M)
205
#endif
206
#ifndef KINETIS_PIN_SPI2_OUT_OPT
207
#define KINETIS_PIN_SPI2_OUT_OPT (CYGHWR_HAL_KINETIS_PORT_PCR_DSE_M | \
208
                                 CYGHWR_HAL_KINETIS_PORT_PCR_SRE_M)
209
#endif
210
#ifndef KINETIS_PIN_SPI2_CS_OPT
211
#define KINETIS_PIN_SPI2_CS_OPT  (CYGHWR_HAL_KINETIS_PORT_PCR_DSE_M | \
212
                                 CYGHWR_HAL_KINETIS_PORT_PCR_SRE_M)
213
#endif
214
#ifndef KINETIS_PIN_SPI2_IN_OPT
215
#define KINETIS_PIN_SPI2_IN_OPT  (CYGHWR_HAL_KINETIS_PORT_PCR_PE_M |  \
216
                                 CYGHWR_HAL_KINETIS_PORT_PCR_PS_M)
217
#endif
218
 
219
// DMA MUX ------------------------------------------------------------------
220
// DMAMUX DMA request sources
221
#define FREESCALE_DMAMUX_SRC_KINETIS_DISABLE      0
222
#define FREESCALE_DMAMUX_SRC_KINETIS_RESERVE      1
223
#define FREESCALE_DMAMUX_SRC_KINETIS_UART0R       2
224
#define FREESCALE_DMAMUX_SRC_KINETIS_UART0T       3
225
#define FREESCALE_DMAMUX_SRC_KINETIS_UART1R       4
226
#define FREESCALE_DMAMUX_SRC_KINETIS_UART1T       5
227
#define FREESCALE_DMAMUX_SRC_KINETIS_UART2R       6
228
#define FREESCALE_DMAMUX_SRC_KINETIS_UART2T       7
229
#define FREESCALE_DMAMUX_SRC_KINETIS_UART3R       8
230
#define FREESCALE_DMAMUX_SRC_KINETIS_UART3T       9
231
#define FREESCALE_DMAMUX_SRC_KINETIS_UART4R      10
232
#define FREESCALE_DMAMUX_SRC_KINETIS_UART4T      11
233
#define FREESCALE_DMAMUX_SRC_KINETIS_UART5R      12
234
#define FREESCALE_DMAMUX_SRC_KINETIS_UART5T      13
235
#define FREESCALE_DMAMUX_SRC_KINETIS_I2S0R       14
236
#define FREESCALE_DMAMUX_SRC_KINETIS_I3S0T       15
237
#define FREESCALE_DMAMUX_SRC_KINETIS_SPI0R       16
238
#define FREESCALE_DMAMUX_SRC_KINETIS_SPI0T       17
239
#define FREESCALE_DMAMUX_SRC_KINETIS_SPI1R       18
240
#define FREESCALE_DMAMUX_SRC_KINETIS_SPI1T       19
241
#define FREESCALE_DMAMUX_SRC_KINETIS_SPI2R       20
242
#define FREESCALE_DMAMUX_SRC_KINETIS_SPI2T       21
243
#define FREESCALE_DMAMUX_SRC_KINETIS_I2C0        22
244
#define FREESCALE_DMAMUX_SRC_KINETIS_I2C1        23
245
#define FREESCALE_DMAMUX_SRC_KINETIS_FTM0C0      24
246
#define FREESCALE_DMAMUX_SRC_KINETIS_FTM0C1      25
247
#define FREESCALE_DMAMUX_SRC_KINETIS_FTM0C2      26
248
#define FREESCALE_DMAMUX_SRC_KINETIS_FTM0C3      27
249
#define FREESCALE_DMAMUX_SRC_KINETIS_FTM0C4      28
250
#define FREESCALE_DMAMUX_SRC_KINETIS_FTM0C5      29
251
#define FREESCALE_DMAMUX_SRC_KINETIS_FTM0C6      30
252
#define FREESCALE_DMAMUX_SRC_KINETIS_FTM0C7      31
253
#define FREESCALE_DMAMUX_SRC_KINETIS_FTM1C0      32
254
#define FREESCALE_DMAMUX_SRC_KINETIS_FTM1C1      33
255
#define FREESCALE_DMAMUX_SRC_KINETIS_FTM2C0      34
256
#define FREESCALE_DMAMUX_SRC_KINETIS_FTM2C1      35
257
#define FREESCALE_DMAMUX_SRC_KINETIS_1588T0      36
258
#define FREESCALE_DMAMUX_SRC_KINETIS_1588T1      37
259
#define FREESCALE_DMAMUX_SRC_KINETIS_1588T2      38
260
#define FREESCALE_DMAMUX_SRC_KINETIS_1588T3      39
261
#define FREESCALE_DMAMUX_SRC_KINETIS_ADC0        40
262
#define FREESCALE_DMAMUX_SRC_KINETIS_ADC1        41
263
#define FREESCALE_DMAMUX_SRC_KINETIS_CMP0        42
264
#define FREESCALE_DMAMUX_SRC_KINETIS_CMP1        43
265
#define FREESCALE_DMAMUX_SRC_KINETIS_CMP2        44
266
#define FREESCALE_DMAMUX_SRC_KINETIS_DAC0        45
267
#define FREESCALE_DMAMUX_SRC_KINETIS_DAC1        46
268
#define FREESCALE_DMAMUX_SRC_KINETIS_CMT         47
269
#define FREESCALE_DMAMUX_SRC_KINETIS_PDB         48
270
#define FREESCALE_DMAMUX_SRC_KINETIS_PORTA       49
271
#define FREESCALE_DMAMUX_SRC_KINETIS_PORTB       50
272
#define FREESCALE_DMAMUX_SRC_KINETIS_PORTC       51
273
#define FREESCALE_DMAMUX_SRC_KINETIS_PORTD       52
274
#define FREESCALE_DMAMUX_SRC_KINETIS_PORTE       53
275
#define FREESCALE_DMAMUX_SRC_KINETIS_DMAMUX0     54
276
#define FREESCALE_DMAMUX_SRC_KINETIS_DMAMUX1     55
277
#define FREESCALE_DMAMUX_SRC_KINETIS_DMAMUX2     56
278
#define FREESCALE_DMAMUX_SRC_KINETIS_DMAMUX3     57
279
#define FREESCALE_DMAMUX_SRC_KINETIS_DMAMUX4     58
280
#define FREESCALE_DMAMUX_SRC_KINETIS_DMAMUX5     59
281
#define FREESCALE_DMAMUX_SRC_KINETIS_DMAMUX6     60
282
#define FREESCALE_DMAMUX_SRC_KINETIS_DMAMUX7     61
283
#define FREESCALE_DMAMUX_SRC_KINETIS_DMAMUX8     62
284
#define FREESCALE_DMAMUX_SRC_KINETIS_DMAMUX9     63
285
 
286
#define FREESCALE_DMAMUX_SRC_SPI0_RX FREESCALE_DMAMUX_SRC_KINETIS_SPI0R
287
#define FREESCALE_DMAMUX_SRC_SPI0_TX FREESCALE_DMAMUX_SRC_KINETIS_SPI0T
288
#define FREESCALE_DMAMUX_SRC_SPI1_RX FREESCALE_DMAMUX_SRC_KINETIS_SPI1R
289
#define FREESCALE_DMAMUX_SRC_SPI1_TX FREESCALE_DMAMUX_SRC_KINETIS_SPI1T
290
#define FREESCALE_DMAMUX_SRC_SPI2_RX FREESCALE_DMAMUX_SRC_KINETIS_SPI2R
291
#define FREESCALE_DMAMUX_SRC_SPI2_TX FREESCALE_DMAMUX_SRC_KINETIS_SPI2T
292
 
293
//----------------------------------------------------------------------------
294
// eDMA
295
// Lend some eDMA macros to device driver that use DMA
296
 
297
// Base address
298
#define CYGHWR_IO_FREESCALE_EDMA0_P CYGHWR_HAL_FREESCALE_EDMA0_P
299
#define CYGHWR_IO_FREESCALE_DMAMUX0_P CYGHWR_HAL_FREESCALE_DMAMUX0_P
300
 
301
//-----------------------------------------------------------------------------
302
// end of var_io_devs.h
303
#endif // CYGONCE_HAL_VAR_IO_DEVS_H

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.