2005-04-17 02:20:36 +04:00
/ *
* include/ a s m - a r m / a r c h - f o o t b r i d g e / e n t r y - m a c r o . S
*
* Low- l e v e l I R Q h e l p e r m a c r o s f o r f o o t b r i d g e - b a s e d p l a t f o r m s
*
* This f i l e i s l i c e n s e d u n d e r t h e t e r m s o f t h e G N U G e n e r a l P u b l i c
* License v e r s i o n 2 . T h i s p r o g r a m i s l i c e n s e d " a s i s " w i t h o u t a n y
* warranty o f a n y k i n d , w h e t h e r e x p r e s s o r i m p l i e d .
* /
2006-01-03 20:39:34 +03:00
# include < a s m / h a r d w a r e . h >
# include < a s m / a r c h / i r q s . h >
2005-04-17 02:20:36 +04:00
# include < a s m / h a r d w a r e / d e c21 2 8 5 . h >
.macro disable_fiq
.endm
.equ dc2 1 2 8 5 _ h i g h , A R M C S R _ B A S E & 0 x f f00 0 0 0 0
.equ dc2 1 2 8 5 _ l o w , A R M C S R _ B A S E & 0 x00 f f f f f f
.macro get_ i r q n r _ a n d _ b a s e , i r q n r , i r q s t a t , b a s e , t m p
mov r4 , #d c 21285 _ h i g h
.if dc21285_low
orr r4 , r4 , #d c 21285 _ l o w
.endif
ldr \ i r q s t a t , [ r4 , #0x180 ] @ get interrupts
mov \ i r q n r , #I R Q _ S D R A M P A R I T Y
tst \ i r q s t a t , #I R Q _ M A S K _ S D R A M P A R I T Y
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ U A R T _ R X
movne \ i r q n r , #I R Q _ C O N R X
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ D M A 1
movne \ i r q n r , #I R Q _ D M A 1
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ D M A 2
movne \ i r q n r , #I R Q _ D M A 2
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ I N 0
movne \ i r q n r , #I R Q _ I N 0
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ I N 1
movne \ i r q n r , #I R Q _ I N 1
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ I N 2
movne \ i r q n r , #I R Q _ I N 2
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ I N 3
movne \ i r q n r , #I R Q _ I N 3
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ P C I
movne \ i r q n r , #I R Q _ P C I
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ D O O R B E L L H O S T
movne \ i r q n r , #I R Q _ D O O R B E L L H O S T
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ I 2 O I N P O S T
movne \ i r q n r , #I R Q _ I 2 O I N P O S T
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ T I M E R 1
movne \ i r q n r , #I R Q _ T I M E R 1
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ T I M E R 2
movne \ i r q n r , #I R Q _ T I M E R 2
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ T I M E R 3
movne \ i r q n r , #I R Q _ T I M E R 3
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ U A R T _ T X
movne \ i r q n r , #I R Q _ C O N T X
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ P C I _ A B O R T
movne \ i r q n r , #I R Q _ P C I _ A B O R T
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ P C I _ S E R R
movne \ i r q n r , #I R Q _ P C I _ S E R R
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ D I S C A R D _ T I M E R
movne \ i r q n r , #I R Q _ D I S C A R D _ T I M E R
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ P C I _ D P E R R
movne \ i r q n r , #I R Q _ P C I _ D P E R R
bne 1 0 0 1 f
tst \ i r q s t a t , #I R Q _ M A S K _ P C I _ P E R R
movne \ i r q n r , #I R Q _ P C I _ P E R R
1001 :
.endm