2009-10-19 17:26:19 -07:00
/ *
* arch/ a r m / m a c h - o m a p1 / i n c l u d e / m a c h / 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 O M A P - b a s e d p l a t f o r m s
*
* Copyright ( C ) 2 0 0 9 T e x a s I n s t r u m e n t 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 .
* /
# include < m a c h / h a r d w a r e . h >
# include < m a c h / i o . h >
# include < m a c h / i r q s . h >
# include < a s m / h a r d w a r e / g i c . h >
2010-12-09 15:49:23 -08:00
/ *
* We u s e _ _ g l u e t o a v o i d e r r o r s w i t h m u l t i p l e d e f i n i t i o n s o f
* .globl omap_irq_flags as i t ' s i n c l u d e d f r o m e n t r y - a r m v . S b u t n o t
* from e n t r y - c o m m o n . S .
* /
# ifdef _ _ g l u e
.pushsection .data
.globl omap_irq_flags
omap_irq_flags :
.word 0
.popsection
2009-10-19 17:26:19 -07:00
# endif
.macro disable_fiq
.endm
.macro get_ i r q n r _ p r e a m b l e , b a s e , t m p
.endm
.macro arch_ r e t _ t o _ u s e r , t m p1 , t m p2
.endm
.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
ldr \ b a s e , =OMAP1_IO_ADDRESS ( O M A P _ I H 1 _ B A S E )
ldr \ i r q n r , [ \ b a s e , #I R Q _ I T R _ R E G _ O F F S E T ]
ldr \ t m p , [ \ b a s e , #I R Q _ M I R _ R E G _ O F F S E T ]
mov \ i r q s t a t , #0xffffffff
bic \ t m p , \ i r q s t a t , \ t m p
tst \ i r q n r , \ t m p
beq 1 5 1 0 f
ldr \ i r q n r , [ \ b a s e , #I R Q _ S I R _ F I Q _ R E G _ O F F S E T ]
2010-12-09 15:49:23 -08:00
ldr \ t m p , =omap_irq_flags @ irq flags address
ldr \ t m p , [ \ t m p , #0 ] @ irq flags value
2009-10-19 17:26:19 -07:00
cmp \ i r q n r , #0
ldreq \ i r q n r , [ \ b a s e , #I R Q _ S I R _ I R Q _ R E G _ O F F S E T ]
2010-12-09 15:49:23 -08:00
cmpeq \ i r q n r , \ t m p
2009-10-19 17:26:19 -07:00
ldreq \ b a s e , =OMAP1_IO_ADDRESS ( O M A P _ I H 2 _ B A S E )
ldreq \ i r q n r , [ \ b a s e , #I R Q _ S I R _ I R Q _ R E G _ O F F S E T ]
addeqs \ i r q n r , \ i r q n r , #32
1510 :
.endm