1 /* Cypress West Bridge API header file (cyasintr.h)
2 ## ===========================
3 ## Copyright (C) 2010 Cypress Semiconductor
5 ## This program is free software; you can redistribute it and/or
6 ## modify it under the terms of the GNU General Public License
7 ## as published by the Free Software Foundation; either version 2
8 ## of the License, or (at your option) any later version.
10 ## This program is distributed in the hope that it will be useful,
11 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 ## GNU General Public License for more details.
15 ## You should have received a copy of the GNU General Public License
16 ## along with this program; if not, write to the Free Software
17 ## Foundation, Inc., 51 Franklin Street
18 ## Fifth Floor, Boston, MA 02110-1301, USA.
19 ## ===========================
22 #ifndef _INCLUDED_CYASINTR_H_
23 #define _INCLUDED_CYASINTR_H_
25 #include "cyasdevice.h"
27 #include "cyas_cplus_start.h"
30 Initialize the interrupt manager module
33 This function is called to initialize the interrupt module.
34 This module enables interrupts as well as servies West Bridge
35 related interrupts by determining the source of the interrupt
36 and calling the appropriate handler function.
39 If the dmaintr parameter is TRUE, the initialization code
40 initializes the interrupt mask to have the DMA related interrupt
41 enabled via the general purpose interrupt. However, the interrupt
42 service function assumes that the DMA interrupt is handled by the
43 HAL layer before the interrupt module handler function is called.
46 * CY_AS_ERROR_SUCCESS - the interrupt module was initialized
48 * CY_AS_ERROR_ALREADY_RUNNING - the interrupt module was already
53 * CyAsServiceInterrupt
57 /* Device being initialized */
59 /* If true, enable the DMA interrupt through the INT signal */
64 Stop the interrupt manager module
67 This function stops the interrupt module and masks all interrupts
68 from the West Bridge device.
71 * CY_AS_ERROR_SUCCESS - the interrupt module was stopped
73 * CY_AS_ERROR_NOT_RUNNING - the interrupt module was not
78 * CyAsServiceInterrupt
82 /* Device bein stopped */
88 The interrupt service routine for West Bridge
91 When an interrupt is detected, this function is called to
92 service the West Bridge interrupt. It is safe and efficient
93 for this function to be called when no West Bridge interrupt
94 has occurred. This function will determine it is not an West
95 Bridge interrupt quickly and return.
97 void cy_as_intr_service_interrupt(
98 /* The USER supplied tag for this device */
99 cy_as_hal_device_tag tag
102 #include "cyas_cplus_end.h"
104 #endif /* _INCLUDED_CYASINTR_H_ */