1 1.3 christos # $NetBSD: mk.mv2120,v 1.3 2024/02/17 15:08:32 christos Exp $ 2 1.1 jakllsch 3 1.1 jakllsch SYSTEM_FIRST_OBJ= marvell_start.o 4 1.1 jakllsch SYSTEM_FIRST_SFILE= ${THISARM}/marvell/marvell_start.S 5 1.1 jakllsch 6 1.1 jakllsch _OSRELEASE!= ${HOST_SH} $S/conf/osrelease.sh 7 1.1 jakllsch 8 1.2 jakllsch # 9 1.2 jakllsch # MV2120 U-Boot is 1.1.4. 10 1.2 jakllsch # 11 1.2 jakllsch # This version cannot uncompress (or relocate?) images larger than 4Mbyte. 12 1.2 jakllsch # It also requires the entry point to be byte-swapped (or maybe just in 13 1.2 jakllsch # network byte order, this is a LE machine). 14 1.2 jakllsch # 15 1.2 jakllsch # U-Boot is already consuming the first 4MiB of memory, our image header 16 1.2 jakllsch # is 0x40 bytes. Hence we load the image at 0x400000 and enter at 0x400040. 17 1.2 jakllsch # 18 1.2 jakllsch 19 1.2 jakllsch UIMAGE_BASE_PHYS=0x00400000 20 1.1 jakllsch KERNEL_BASE_PHYS=0x00400040 21 1.1 jakllsch KERNEL_BASE_VIRT=0xc0400040 22 1.1 jakllsch 23 1.1 jakllsch MKUBOOTIMAGEARGS= -A arm -T kernel 24 1.2 jakllsch MKUBOOTIMAGEARGS+= -a ${UIMAGE_BASE_PHYS} -E ${KERNEL_BASE_PHYS} 25 1.1 jakllsch MKUBOOTIMAGEARGS+= -n "NetBSD/$(BOARDTYPE) ${_OSRELEASE}" 26 1.3 christos .if ${MKREPRO_TIMESTAMP:Uno} != "no" 27 1.3 christos MKUBOOTIMAGEARGS+= -t "${MKREPRO_TIMESTAMP}" 28 1.3 christos .endif 29 1.1 jakllsch MKUBOOTIMAGEARGS_NONE= ${MKUBOOTIMAGEARGS} -C none 30 1.1 jakllsch 31 1.1 jakllsch SYSTEM_LD_TAIL_EXTRA+=; \ 32 1.1 jakllsch ${OBJCOPY} -S -O binary $@ $@.bin; \ 33 1.2 jakllsch ${TOOL_MKUBOOTIMAGE} ${MKUBOOTIMAGEARGS_NONE} $@.bin $@.ub; 34 1.1 jakllsch 35 1.1 jakllsch EXTRA_KERNELS+= ${KERNELS:@.KERNEL.@${.KERNEL.}.bin@} 36 1.1 jakllsch EXTRA_KERNELS+= ${KERNELS:@.KERNEL.@${.KERNEL.}.ub@} 37