From: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Include hints in the DTS for KZM9G on how to build a kernel that may be booted using the old on-board boot loader. Special handling includes: - The DTB needs to be appended to the zImage before generating the uImage - LOADADDR needs to be set to 0x48008000 to be able to generate an uImage - CONFIG_ATAGS=n is needed for the board to boot Perhaps there is a better place where this kind of information should be placed? Many years ago the LOADADDR information used to be part of the kernel makefiles (and make uImage just worked out of the box) but when going DTS and zImage this seems to have been dropped. So these days special care is needed to build a uImage file which is required by the boot loader. Not-Yet-Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> --- arch/arm/boot/dts/sh73a0-kzm9g.dts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) --- 0001/arch/arm/boot/dts/sh73a0-kzm9g.dts +++ work/arch/arm/boot/dts/sh73a0-kzm9g.dts 2021-03-21 18:10:53.515741849 +0900 @@ -2,9 +2,24 @@ /* * Device Tree Source for the KZM-A9-GT board * - * Copyright (C) 2012 Horms Solutions Ltd. + * The KZM9G board comes with on-board out-of-tree U-Boot from 2012 with: + * uImage support but without zImage support + * one way or the other busted ATAGs + * + * Generate an uImage at the correct load address with apppended DTB like this: + * make ARCH=arm CROSS_COMPILE=_ uImage LOADADDR=0x48008000 + * rm arch/arm/boot/zImage + * make ARCH=arm CROSS_COMPILE=_ dtbs zImage + * cat arch/arm/boot/dts/sh73a0-kzm9g.dtb >> arch/arm/boot/zImage + * $(cut -f 3- -d ' ' < arch/arm/boot/.uImage.cmd) + * + * For a working recent kernel (v5.10+) the following configuration is needed: + * CONFIG_ARM_APPENDED_DTB=y + * CONFIG_ATAGS=n * - * Based on sh73a0-kzm9g.dts + * The shmobile_defconfig works well after setting CONFIG_ATAGS=n + * + * Copyright (C) 2012 Horms Solutions Ltd. * Copyright (C) 2012 Renesas Solutions Corp. */