Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
zboot_macros.h
Go to the documentation of this file.
1 #ifndef __ZBOOT_MACRO_H
2 #define __ZBOOT_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  LDR r0, 1f
11  LDR r1, 2f
12  STR r1, [r0]
13  B 3f
14 1 : .long \addr
15 2 : .long \data
16 3 :
17 .endm
18 
19 /* The EW command is used to write a 16-bit word */
20 .macro EW, addr, data
21  LDR r0, 1f
22  LDR r1, 2f
23  STRH r1, [r0]
24  B 3f
25 1 : .long \addr
26 2 : .long \data
27 3 :
28 .endm
29 
30 /* The EB command is used to write an 8-bit word */
31 .macro EB, addr, data
32  LDR r0, 1f
33  LDR r1, 2f
34  STRB r1, [r0]
35  B 3f
36 1 : .long \addr
37 2 : .long \data
38 3 :
39 .endm
40 
41 /* The WAIT command is used to delay the execution */
42 .macro WAIT, time, reg
43  LDR r1, 1f
44  LDR r0, 2f
45  STR r0, [r1]
46 10 :
47  LDR r0, [r1]
48  CMP r0, #0x00000000
49  BNE 10b
50  NOP
51  B 3f
52 1 : .long \reg
53 2 : .long \time * 100
54 3 :
55 .endm
56 
57 /* The DD command is used to read a 32-bit word */
58 .macro DD, start, end
59  LDR r1, 1f
60  B 2f
61 1 : .long \start
62 2 :
63 .endm
64 
65 #endif /* __ZBOOT_MACRO_H */