Ejemplo n.º 1
0
void hal_interrupt_unmask(int vector)
{

#ifdef HAL_EXTENDED_INTERRUPT_UNMASK
    // Use platform specific handling, if defined
    // Note: this macro should do a 'return' for "extended" values of 'vector'
    // Normal vectors are handled by code subsequent to the macro call.
    HAL_EXTENDED_INTERRUPT_UNMASK(vector);
#endif

    if (vector >= CYGNUM_HAL_INTERRUPT_GPIO2) {
        vector = CYGNUM_HAL_INTERRUPT_GPIO;
    }
    *PXA2X0_ICMR |= (1 << vector);
}
Ejemplo n.º 2
0
void hal_interrupt_unmask(int vector)
{

#ifdef HAL_EXTENDED_INTERRUPT_UNMASK
    // Use platform specific handling, if defined
    // Note: this macro should do a 'return' for "extended" values of 'vector'
    // Normal vectors are handled by code subsequent to the macro call.
    HAL_EXTENDED_INTERRUPT_UNMASK(vector);
#endif
#ifdef CYGOPT_HAL_ARM_XSCALE_PXA2X0_VARIANT_PXA27X
    if (vector >= 32 && vector < CYGNUM_HAL_INTERNAL_IRQS) {
        *PXA2X0_ICMR2 |= (1 << (vector - 32));
        return;
    }
#endif
    if (vector >= CYGNUM_HAL_INTERRUPT_GPIO(2)) {
        vector = CYGNUM_HAL_INTERRUPT_GPIOX;
    }
    *PXA2X0_ICMR |= (1 << vector);
}