[PATCH] arch: mvebu: Disable by default unused peripherals in SPL

Stefan Roese sr at denx.de
Mon May 30 10:26:37 CEST 2022


On 30.05.22 08:31, Stefan Roese wrote:
> On 24.05.22 10:58, Pali Rohár wrote:
>> SPL on mvebu loads proper U-Boot from custom Marvell kwbimage format and
>> therefore support for other binary formats is not required to be 
>> present in
>> SPL. Boot source of proper U-Boot is defined by compile time options and
>> therefore it is not required to enable all possible and unused 
>> peripherals
>> in SPL by default.
>>
>> This change decrease size of SPL binaries.
>>
>> Signed-off-by: Pali Rohár <pali at kernel.org>
> 
> Reviewed-by: Stefan Roese <sr at denx.de>
> 
> Thanks,
> Stefan

This patch causes some regressions, like on clearfog:

$ make clearfog_defconfig
$ make -s -j20
===================== WARNING ======================
This board does not use CONFIG_TIMER (Driver Model
for Timer drivers). Please update the board to use
CONFIG_TIMER before the v2023.01 release. Failure to
update by the deadline may result in board removal.
See doc/develop/driver-model/migration.rst for more info.
====================================================
/opt/kernel.org/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld.bfd: 
cmd/tlv_eeprom.o: in function `is_checksum_valid':
/home/stefan/git/u-boot/u-boot-marvell/cmd/tlv_eeprom.c:114: undefined 
reference to `crc32'
/opt/kernel.org/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld.bfd: 
cmd/tlv_eeprom.o: in function `update_crc':
/home/stefan/git/u-boot/u-boot-marvell/cmd/tlv_eeprom.c:379: undefined 
reference to `crc32'
make[1]: *** [scripts/Makefile.spl:525: spl/u-boot-spl] Error 1
make: *** [Makefile:2106: spl/u-boot-spl] Error 2

Could you please have a look?

Thanks,
Stefan

> 
>> ---
>>   common/spl/Kconfig  | 2 ++
>>   disk/Kconfig        | 2 ++
>>   drivers/mmc/Kconfig | 1 +
>>   drivers/usb/Kconfig | 1 +
>>   4 files changed, 6 insertions(+)
>>
>> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
>> index 50ff113cab21..0c8df271aa59 100644
>> --- a/common/spl/Kconfig
>> +++ b/common/spl/Kconfig
>> @@ -218,6 +218,7 @@ config SPL_BOOTCOUNT_LIMIT
>>   config SPL_RAW_IMAGE_SUPPORT
>>       bool "Support SPL loading and booting of RAW images"
>> +    default n if ARCH_MVEBU
>>       default n if (ARCH_MX6 && (SPL_MMC || SPL_SATA))
>>       default y
>>       depends on !TI_SECURE_DEVICE
>> @@ -228,6 +229,7 @@ config SPL_RAW_IMAGE_SUPPORT
>>   config SPL_LEGACY_IMAGE_FORMAT
>>       bool "Support SPL loading and booting of Legacy images"
>> +    default n if ARCH_MVEBU
>>       default y if !SPL_LOAD_FIT
>>       depends on !TI_SECURE_DEVICE
>>       help
>> diff --git a/disk/Kconfig b/disk/Kconfig
>> index 359af3b27e6d..81d8867ed7fc 100644
>> --- a/disk/Kconfig
>> +++ b/disk/Kconfig
>> @@ -60,6 +60,7 @@ config DOS_PARTITION
>>   config SPL_DOS_PARTITION
>>       bool "Enable MS Dos partition table for SPL"
>>       depends on SPL
>> +    default n if ARCH_MVEBU
>>       default n if ARCH_SUNXI
>>       default y if DOS_PARTITION
>>       select SPL_PARTITIONS
>> @@ -130,6 +131,7 @@ config EFI_PARTITION_ENTRIES_OFF
>>   config SPL_EFI_PARTITION
>>       bool "Enable EFI GPT partition table for SPL"
>>       depends on  SPL
>> +    default n if ARCH_MVEBU
>>       default n if ARCH_SUNXI
>>       default y if EFI_PARTITION
>>       select SPL_PARTITIONS
>> diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
>> index f04cc44e1973..847c0ef0acc7 100644
>> --- a/drivers/mmc/Kconfig
>> +++ b/drivers/mmc/Kconfig
>> @@ -45,6 +45,7 @@ config DM_MMC
>>   config SPL_DM_MMC
>>       bool "Enable MMC controllers using Driver Model in SPL"
>>       depends on SPL_DM && DM_MMC
>> +    default n if ARCH_MVEBU && !MVEBU_SPL_BOOT_DEVICE_MMC
>>       default y
>>       help
>>         This enables the MultiMediaCard (MMC) uclass which supports 
>> MMC and
>> diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
>> index ab1d061bd0d5..075e9682c435 100644
>> --- a/drivers/usb/Kconfig
>> +++ b/drivers/usb/Kconfig
>> @@ -50,6 +50,7 @@ config DM_USB
>>   config SPL_DM_USB
>>       bool "Enable driver model for USB host most in SPL"
>>       depends on SPL_DM && DM_USB
>> +    default n if ARCH_MVEBU
>>       default y
>>   config DM_USB_GADGET
> 
> Viele Grüße,
> Stefan Roese
> 

Viele Grüße,
Stefan Roese

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list