Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
romimage-macros.h
Go to the documentation of this file.
1 #ifndef __ROMIMAGE_MACRO_H
2 #define __ROMIMAGE_MACRO_H
3 
4 /* The LIST command is used to include comments in the script */
5 .macro LIST comment
6 .endm
7 
8 /* The ED command is used to write a 32-bit word */
9 .macro ED, addr, data
10  mov.l 1f, r1
11  mov.l 2f, r0
12  mov.l r0, @r1
13  bra 3f
14  nop
15  .align 2
16 1 : .long \addr
17 2 : .long \data
18 3 :
19 .endm
20 
21 /* The EW command is used to write a 16-bit word */
22 .macro EW, addr, data
23  mov.l 1f, r1
24  mov.l 2f, r0
25  mov.w r0, @r1
26  bra 3f
27  nop
28  .align 2
29 1 : .long \addr
30 2 : .long \data
31 3 :
32 .endm
33 
34 /* The EB command is used to write an 8-bit word */
35 .macro EB, addr, data
36  mov.l 1f, r1
37  mov.l 2f, r0
38  mov.b r0, @r1
39  bra 3f
40  nop
41  .align 2
42 1 : .long \addr
43 2 : .long \data
44 3 :
45 .endm
46 
47 /* The WAIT command is used to delay the execution */
48 .macro WAIT, time
49  mov.l 2f, r3
50 1 :
51  nop
52  tst r3, r3
53  bf/s 1b
54  dt r3
55  bra 3f
56  nop
57  .align 2
58 2 : .long \time * 100
59 3 :
60 .endm
61 
62 /* The DD command is used to read a 32-bit word */
63 .macro DD, addr, addr2, nr
64  mov.l 1f, r1
65  mov.l @r1, r0
66  bra 2f
67  nop
68  .align 2
69 1 : .long \addr
70 2 :
71 .endm
72 
73 #endif /* __ROMIMAGE_MACRO_H */