]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
378a569e KM |
2 | #ifndef __ROMIMAGE_MACRO_H |
3 | #define __ROMIMAGE_MACRO_H | |
4 | ||
5 | /* The LIST command is used to include comments in the script */ | |
6 | .macro LIST comment | |
7 | .endm | |
8 | ||
9 | /* The ED command is used to write a 32-bit word */ | |
10 | .macro ED, addr, data | |
11 | mov.l 1f, r1 | |
12 | mov.l 2f, r0 | |
13 | mov.l r0, @r1 | |
14 | bra 3f | |
15 | nop | |
16 | .align 2 | |
17 | 1 : .long \addr | |
18 | 2 : .long \data | |
19 | 3 : | |
20 | .endm | |
21 | ||
22 | /* The EW command is used to write a 16-bit word */ | |
23 | .macro EW, addr, data | |
24 | mov.l 1f, r1 | |
25 | mov.l 2f, r0 | |
26 | mov.w r0, @r1 | |
27 | bra 3f | |
28 | nop | |
29 | .align 2 | |
30 | 1 : .long \addr | |
31 | 2 : .long \data | |
32 | 3 : | |
33 | .endm | |
34 | ||
35 | /* The EB command is used to write an 8-bit word */ | |
36 | .macro EB, addr, data | |
37 | mov.l 1f, r1 | |
38 | mov.l 2f, r0 | |
39 | mov.b r0, @r1 | |
40 | bra 3f | |
41 | nop | |
42 | .align 2 | |
43 | 1 : .long \addr | |
44 | 2 : .long \data | |
45 | 3 : | |
46 | .endm | |
47 | ||
48 | /* The WAIT command is used to delay the execution */ | |
49 | .macro WAIT, time | |
50 | mov.l 2f, r3 | |
51 | 1 : | |
52 | nop | |
53 | tst r3, r3 | |
54 | bf/s 1b | |
55 | dt r3 | |
56 | bra 3f | |
57 | nop | |
58 | .align 2 | |
59 | 2 : .long \time * 100 | |
60 | 3 : | |
61 | .endm | |
62 | ||
63 | /* The DD command is used to read a 32-bit word */ | |
64 | .macro DD, addr, addr2, nr | |
65 | mov.l 1f, r1 | |
66 | mov.l @r1, r0 | |
67 | bra 2f | |
68 | nop | |
69 | .align 2 | |
70 | 1 : .long \addr | |
71 | 2 : | |
72 | .endm | |
73 | ||
74 | #endif /* __ROMIMAGE_MACRO_H */ |