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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [arm/] [xscale/] [ixp425/] [current/] [include/] [hal_var_ints.h] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
#ifndef CYGONCE_HAL_VAR_INTS_H
2
#define CYGONCE_HAL_VAR_INTS_H
3
//==========================================================================
4
//
5
//      hal_var_ints.h
6
//
7
//      HAL Interrupt and clock support
8
//
9
//==========================================================================
10
// ####ECOSGPLCOPYRIGHTBEGIN####                                            
11
// -------------------------------------------                              
12
// This file is part of eCos, the Embedded Configurable Operating System.   
13
// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 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):    msalter
45
// Contributors: msalter
46
// Date:         2001-12-03
47
// Purpose:      Define Interrupt support
48
// Description:  The interrupt details for XScale CPUs are defined here.
49
// Usage:
50
//               #include <pkgconf/system.h>
51
//               #include CYGBLD_HAL_VARIANT_H
52
//               #include CYGBLD_HAL_VAR_INTS_H
53
//
54
//               ...
55
//              
56
//
57
//####DESCRIPTIONEND####
58
//
59
//==========================================================================
60
 
61
#include <cyg/hal/hal_ixp425.h>         // registers
62
 
63
//
64
// Values for the vector argument of cyg_drv_interrupt_create() and
65
// other interrupt related interfaces.
66
//
67
#define CYGNUM_HAL_INTERRUPT_NONE         -1
68
#define CYGNUM_HAL_INTERRUPT_NPEA         0
69
#define CYGNUM_HAL_INTERRUPT_NPEB         1
70
#define CYGNUM_HAL_INTERRUPT_NPEC         2
71
#define CYGNUM_HAL_INTERRUPT_QM1          3
72
#define CYGNUM_HAL_INTERRUPT_QM2          4
73
#define CYGNUM_HAL_INTERRUPT_TIMER0       5
74
#define CYGNUM_HAL_INTERRUPT_GPIO0        6
75
#define CYGNUM_HAL_INTERRUPT_GPIO1        7
76
#define CYGNUM_HAL_INTERRUPT_PCI_INT      8
77
#define CYGNUM_HAL_INTERRUPT_PCI_DMA1     9
78
#define CYGNUM_HAL_INTERRUPT_PCI_DMA2     10
79
#define CYGNUM_HAL_INTERRUPT_TIMER1       11
80
#define CYGNUM_HAL_INTERRUPT_USB          12
81
#define CYGNUM_HAL_INTERRUPT_UART2        13
82
#define CYGNUM_HAL_INTERRUPT_TIMESTAMP    14
83
#define CYGNUM_HAL_INTERRUPT_UART1        15
84
#define CYGNUM_HAL_INTERRUPT_WDOG         16
85
#define CYGNUM_HAL_INTERRUPT_AHB_PMU      17
86
#define CYGNUM_HAL_INTERRUPT_XSCALE_PMU   18
87
#define CYGNUM_HAL_INTERRUPT_GPIO2        19
88
#define CYGNUM_HAL_INTERRUPT_GPIO3        20
89
#define CYGNUM_HAL_INTERRUPT_GPIO4        21
90
#define CYGNUM_HAL_INTERRUPT_GPIO5        22
91
#define CYGNUM_HAL_INTERRUPT_GPIO6        23
92
#define CYGNUM_HAL_INTERRUPT_GPIO7        24
93
#define CYGNUM_HAL_INTERRUPT_GPIO8        25
94
#define CYGNUM_HAL_INTERRUPT_GPIO9        26
95
#define CYGNUM_HAL_INTERRUPT_GPIO10       27
96
#define CYGNUM_HAL_INTERRUPT_GPIO11       28           
97
#define CYGNUM_HAL_INTERRUPT_GPIO12       29
98
#define CYGNUM_HAL_INTERRUPT_SW_INT1      30
99
#define CYGNUM_HAL_INTERRUPT_SW_INT2      31
100
 
101
#define CYGNUM_HAL_VAR_ISR_MAX    31
102
 
103
#define CYGNUM_HAL_ISR_MIN        0
104
#define CYGNUM_HAL_ISR_MAX        CYGNUM_HAL_VAR_ISR_MAX
105
 
106
#define CYGNUM_HAL_ISR_COUNT      (CYGNUM_HAL_ISR_MAX+1)
107
 
108
#define CYGNUM_HAL_INTERRUPT_RTC  CYGNUM_HAL_INTERRUPT_TIMER0
109
 
110
// ------------------------------------------------------------------------
111
// Dynamically set the timer interrupt rate.
112
// Not for application use at all.
113
 
114
externC void
115
hal_clock_reinitialize(          int *pfreq,    /* inout */
116
                        unsigned int *pperiod,  /* inout */
117
                        unsigned int old_hz );  /* in */
118
 
119
#define HAL_CLOCK_REINITIALIZE( _freq, _period, _old_hz ) \
120
        hal_clock_reinitialize( &_freq, &_period, _old_hz )
121
 
122
#define HAL_PLATFORM_RESET_ENTRY 0x00000000
123
 
124
 
125
// ------------------------------------------------------------------------
126
// Used for to tell if interrupt belongs to GDB comm channel
127
//
128
#define CYGHWR_HAL_GDB_PORT_VECTORS_MATCH(_v_, _gv_) \
129
    (((_v_) == (_gv_)) || \
130
     ((_v_) == CYGNUM_HAL_INTERRUPT_QM1 && \
131
       ((_gv_) == CYGNUM_HAL_INTERRUPT_NPEB || \
132
        (_gv_) == CYGNUM_HAL_INTERRUPT_NPEC)))
133
 
134
 
135
#endif // CYGONCE_HAL_VAR_INTS_H
136
// EOF hal_var_ints.h

powered by: WebSVN 2.1.0

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