18ec6d935SJohn Crispin /* 28ec6d935SJohn Crispin * This program is free software; you can redistribute it and/or modify it 38ec6d935SJohn Crispin * under the terms of the GNU General Public License version 2 as published 48ec6d935SJohn Crispin * by the Free Software Foundation. 58ec6d935SJohn Crispin * 68ec6d935SJohn Crispin * Copyright (C) 2010 John Crispin <blogic@openwrt.org> 78ec6d935SJohn Crispin */ 88ec6d935SJohn Crispin 98ec6d935SJohn Crispin #ifndef _LANTIQ_XWAY_IRQ_H__ 108ec6d935SJohn Crispin #define _LANTIQ_XWAY_IRQ_H__ 118ec6d935SJohn Crispin 128ec6d935SJohn Crispin #define INT_NUM_IRQ0 8 138ec6d935SJohn Crispin #define INT_NUM_IM0_IRL0 (INT_NUM_IRQ0 + 0) 148ec6d935SJohn Crispin #define INT_NUM_IM1_IRL0 (INT_NUM_IRQ0 + 32) 158ec6d935SJohn Crispin #define INT_NUM_IM2_IRL0 (INT_NUM_IRQ0 + 64) 168ec6d935SJohn Crispin #define INT_NUM_IM3_IRL0 (INT_NUM_IRQ0 + 96) 178ec6d935SJohn Crispin #define INT_NUM_IM4_IRL0 (INT_NUM_IRQ0 + 128) 188ec6d935SJohn Crispin #define INT_NUM_IM_OFFSET (INT_NUM_IM1_IRL0 - INT_NUM_IM0_IRL0) 198ec6d935SJohn Crispin 208ec6d935SJohn Crispin #define LTQ_ASC_TIR(x) (INT_NUM_IM3_IRL0 + (x * 8)) 218ec6d935SJohn Crispin #define LTQ_ASC_RIR(x) (INT_NUM_IM3_IRL0 + (x * 8) + 1) 228ec6d935SJohn Crispin #define LTQ_ASC_EIR(x) (INT_NUM_IM3_IRL0 + (x * 8) + 2) 238ec6d935SJohn Crispin 248ec6d935SJohn Crispin #define LTQ_ASC_ASE_TIR INT_NUM_IM2_IRL0 258ec6d935SJohn Crispin #define LTQ_ASC_ASE_RIR (INT_NUM_IM2_IRL0 + 2) 268ec6d935SJohn Crispin #define LTQ_ASC_ASE_EIR (INT_NUM_IM2_IRL0 + 3) 278ec6d935SJohn Crispin 288ec6d935SJohn Crispin #define LTQ_SSC_TIR (INT_NUM_IM0_IRL0 + 15) 298ec6d935SJohn Crispin #define LTQ_SSC_RIR (INT_NUM_IM0_IRL0 + 14) 308ec6d935SJohn Crispin #define LTQ_SSC_EIR (INT_NUM_IM0_IRL0 + 16) 318ec6d935SJohn Crispin 328ec6d935SJohn Crispin #define LTQ_MEI_DYING_GASP_INT (INT_NUM_IM1_IRL0 + 21) 338ec6d935SJohn Crispin #define LTQ_MEI_INT (INT_NUM_IM1_IRL0 + 23) 348ec6d935SJohn Crispin 358ec6d935SJohn Crispin #define LTQ_TIMER6_INT (INT_NUM_IM1_IRL0 + 23) 368ec6d935SJohn Crispin #define LTQ_USB_INT (INT_NUM_IM1_IRL0 + 22) 378ec6d935SJohn Crispin #define LTQ_USB_OC_INT (INT_NUM_IM4_IRL0 + 23) 388ec6d935SJohn Crispin 398ec6d935SJohn Crispin #define MIPS_CPU_TIMER_IRQ 7 408ec6d935SJohn Crispin 418ec6d935SJohn Crispin #define LTQ_DMA_CH0_INT (INT_NUM_IM2_IRL0) 428ec6d935SJohn Crispin #define LTQ_DMA_CH1_INT (INT_NUM_IM2_IRL0 + 1) 438ec6d935SJohn Crispin #define LTQ_DMA_CH2_INT (INT_NUM_IM2_IRL0 + 2) 448ec6d935SJohn Crispin #define LTQ_DMA_CH3_INT (INT_NUM_IM2_IRL0 + 3) 458ec6d935SJohn Crispin #define LTQ_DMA_CH4_INT (INT_NUM_IM2_IRL0 + 4) 468ec6d935SJohn Crispin #define LTQ_DMA_CH5_INT (INT_NUM_IM2_IRL0 + 5) 478ec6d935SJohn Crispin #define LTQ_DMA_CH6_INT (INT_NUM_IM2_IRL0 + 6) 488ec6d935SJohn Crispin #define LTQ_DMA_CH7_INT (INT_NUM_IM2_IRL0 + 7) 498ec6d935SJohn Crispin #define LTQ_DMA_CH8_INT (INT_NUM_IM2_IRL0 + 8) 508ec6d935SJohn Crispin #define LTQ_DMA_CH9_INT (INT_NUM_IM2_IRL0 + 9) 518ec6d935SJohn Crispin #define LTQ_DMA_CH10_INT (INT_NUM_IM2_IRL0 + 10) 528ec6d935SJohn Crispin #define LTQ_DMA_CH11_INT (INT_NUM_IM2_IRL0 + 11) 538ec6d935SJohn Crispin #define LTQ_DMA_CH12_INT (INT_NUM_IM2_IRL0 + 25) 548ec6d935SJohn Crispin #define LTQ_DMA_CH13_INT (INT_NUM_IM2_IRL0 + 26) 558ec6d935SJohn Crispin #define LTQ_DMA_CH14_INT (INT_NUM_IM2_IRL0 + 27) 568ec6d935SJohn Crispin #define LTQ_DMA_CH15_INT (INT_NUM_IM2_IRL0 + 28) 578ec6d935SJohn Crispin #define LTQ_DMA_CH16_INT (INT_NUM_IM2_IRL0 + 29) 588ec6d935SJohn Crispin #define LTQ_DMA_CH17_INT (INT_NUM_IM2_IRL0 + 30) 598ec6d935SJohn Crispin #define LTQ_DMA_CH18_INT (INT_NUM_IM2_IRL0 + 16) 608ec6d935SJohn Crispin #define LTQ_DMA_CH19_INT (INT_NUM_IM2_IRL0 + 21) 618ec6d935SJohn Crispin 628ec6d935SJohn Crispin #define LTQ_PPE_MBOX_INT (INT_NUM_IM2_IRL0 + 24) 638ec6d935SJohn Crispin 648ec6d935SJohn Crispin #define INT_NUM_IM4_IRL14 (INT_NUM_IM4_IRL0 + 14) 658ec6d935SJohn Crispin 668ec6d935SJohn Crispin #endif 67