1 /* SPDX-License-Identifier: GPL-2.0 */ 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 */ 75