From 35ed176af24484dbea064266be75aefdc88d79ec Mon Sep 17 00:00:00 2001
From: =?utf8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>
Date: Tue, 24 May 2022 10:58:42 +0200
Subject: [PATCH] arch: mvebu: Disable by default unused peripherals in SPL
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

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@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
---
 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 908d7d17fd..b8c21f557f 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -294,6 +294,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
@@ -304,6 +305,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 359af3b27e..81d8867ed7 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 6ff00a7cbd..6e9fcf5751 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 86804166de..fd13cf31b5 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
-- 
2.39.5