[PATCH 1/1] rpi: Fix build error when CONFIG_VIDEO is disabled for Raspberry Pi

Devarsh Thakkar devarsht at ti.com
Mon Oct 7 15:02:59 CEST 2024


Hi Martin,

On 07/10/24 18:24, Martin Stolpe wrote:
> Hi Devarsh,
> 
> Am Do., 26. Sept. 2024 um 18:45 Uhr schrieb Devarsh Thakkar <devarsht at ti.com
>> :
> 
>>
>> Thanks for taking a look, I have posted them to the list [1], it would
>> be great if you could provide a Reviewed-by or Tested-by too.
>>
> 
> I've tried to compile the project for am64x_evm_a53 with the patches
> applied and I've added the following line to
> am64x_evm_a53_defconfig: CONFIG_OF_BOARD_SETUP=y
> When I then try to compile U-Boot using the following command:
> make am64x_evm_a53_defconfig; make
> 
> I get the following error message:
> aarch64-linux-gnu-ld.bfd: boot/image-fdt.o: in function
> `image_setup_libfdt':
> /home/mstolpe/repositories/build_base_station/build/workspace/sources/u-boot-copy/boot/image-fdt.c:633:(.text.image_setup_libfdt+0x150):
> undefined reference to `ft_board_setup'
> aarch64-linux-gnu-ld.bfd: cmd/fdt.o: in function `do_fdt':
> /home/mstolpe/repositories/build_base_station/build/workspace/sources/u-boot-copy/cmd/fdt.c:687:(.text.do_fdt+0xf98):
> undefined reference to `ft_board_setup'
> Segmentation fault (core dumped)
> make: *** [Makefile:1801: u-boot] Error 139
> make: *** Deleting file 'u-boot'
> 
> I guess this shouldn't happen?

I think this is expected as you are trying to enable CONFIG_OF_BOARD_SETUP but
AM64 platform does not implement ft_board_setup.

Platforms need to implement ft_board_setup for platform specific knobs (for
e.g. simplefb for splash etc) if using CONFIG_OF_BOARD_SETUP as per below
snippet in boot/image-fdt.c :

        if (IS_ENABLED(CONFIG_OF_BOARD_SETUP)) {

                const char *skip_board_fixup;



                skip_board_fixup = env_get("skip_board_fixup");

                if (skip_board_fixup && ((int)simple_strtol(skip_board_fixup,
NULL, 10) == 1)) {
                        printf("skip board fdt fixup\n");

                } else {

                        fdt_ret = ft_board_setup(blob, gd->bd);

                        if (fdt_ret) {

                                printf("ERROR: board-specific fdt fixup
failed: %s\n",
                                       fdt_strerror(fdt_ret));

                                goto err;

                        }

                }

        }

Regards
Devarsh
> 
> BR
> Martin
> 


More information about the U-Boot mailing list