Exemple #1
0
void __init arch_init_irq(void)
{
	int i;

	clear_c0_status(0xff04); /* clear ERL */
	set_c0_status(0x0400);   /* set IP2 */

	/* Set up INTC irq
	 */
	for (i = 0; i < 32; i++) {
		disable_intc_irq(i);
		set_irq_chip_and_handler(i, &intc_irq_type, handle_level_irq);

	}
	
	/* Set up DMAC irq
	 */
	for (i = 0; i < NUM_DMA; i++) {
		disable_dma_irq(IRQ_DMA_0 + i);
		set_irq_chip_and_handler(IRQ_DMA_0 + i, &dma_irq_type, handle_level_irq);
	}

	/* Set up GPIO irq
	 */
	for (i = 0; i < NUM_GPIO; i++) {
		disable_gpio_irq(IRQ_GPIO_0 + i);
		set_irq_chip_and_handler(IRQ_GPIO_0 + i, &gpio_irq_type, handle_level_irq);
	}
}
Exemple #2
0
/*
 * you want to use this!
 */
int calcwindspeed(){

	int curtick = 0;
	int speed = 0;
	disable_gpio_irq(2,13);


	curtick = cnttick;
	cnttick = 0;
	float div = Chip_TIMER_ReadCount(LPC_TIMER2)/ticksPerSecond;

	Chip_TIMER_Reset(LPC_TIMER2);
	enable_gpio_irq(2,13);
	DBG("div:%f count:%d\n",div,curtick);

	speed =  curtick*(2.25/(div))*1.609344*100; //mph to km/h to 100m/h
	return speed;
}
Exemple #3
0
static void shutdown_gpio_irq(unsigned int irq)
{
	disable_gpio_irq(irq);
}