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 */ 74