/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __ROMIMAGE_MACRO_H #define __ROMIMAGE_MACRO_H /* The LIST command is used to include comments in the script */ .macro LIST comment .endm /* The ED command is used to write a 32-bit word */ .macro ED, addr, data mov.l 1f, r1 mov.l 2f, r0 mov.l r0, @r1 bra 3f nop .align 2 1 : .long \addr 2 : .long \data 3 : .endm /* The EW command is used to write a 16-bit word */ .macro EW, addr, data mov.l 1f, r1 mov.l 2f, r0 mov.w r0, @r1 bra 3f nop .align 2 1 : .long \addr 2 : .long \data 3 : .endm /* The EB command is used to write an 8-bit word */ .macro EB, addr, data mov.l 1f, r1 mov.l 2f, r0 mov.b r0, @r1 bra 3f nop .align 2 1 : .long \addr 2 : .long \data 3 : .endm /* The WAIT command is used to delay the execution */ .macro WAIT, time mov.l 2f, r3 1 : nop tst r3, r3 bf/s 1b dt r3 bra 3f nop .align 2 2 : .long \time * 100 3 : .endm /* The DD command is used to read a 32-bit word */ .macro DD, addr, addr2, nr mov.l 1f, r1 mov.l @r1, r0 bra 2f nop .align 2 1 : .long \addr 2 : .endm #endif /* __ROMIMAGE_MACRO_H */ |