* [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*
@ 2019-09-04 22:16 Lukasz Majewski
2019-09-04 22:16 ` [U-Boot] [PATCH v3 1/3] spi: Move DM_SPI_FLASH to Kconfig (for NXP's ls1043a) Lukasz Majewski
` (3 more replies)
0 siblings, 4 replies; 11+ messages in thread
From: Lukasz Majewski @ 2019-09-04 22:16 UTC (permalink / raw)
To: u-boot
This patch series introduces new SPL and TPL specific Kconfig entries for
DM_SPI* options. Such change allows using the spi driver in SPL/TPL or
U-Boot proper.
First two patches - related to ls10{42}* NXP soc fix some issues with
defining the DM_SPI* defines in <board>.h file instead of Kconfig.
This series doesn't introduce build breaks, but board maintainers are kindly
asked to check if their boards still boots.
Buildman setup for binary size regression checking:
./tools/buildman/buildman.py -b HEAD --count=4 ls1043 --output-dir=../BUILD/ --force-build -CveE
./tools/buildman/buildman.py -b HEAD --count=4 ls1043 --output-dir=../BUILD/ -Ssdel
Changes in v3:
- Provide better Kconfig flags conditionals to avoid not compiling
relavant code (there is negative diff observed after applying those
patches)
- Fix da850evm_nand and da850evm by enabling SPL_DM_SPI support in
Kconfig
- Drop patch from the series
[U-Boot,v2,1/4] kconfig: doc: Update comment regarding CONFIG_IS_ENABLED(FOO) for TPL
as not being related to this particular change
Changes in v2:
- Resend patches with some not yet in mainline code removed as
suggested by Adam Ford
Lukasz Majewski (3):
spi: Move DM_SPI_FLASH to Kconfig (for NXP's ls1043a)
spi: Move DM_SPI_FLASH and SPI_FLASH_DATAFLASH to Kconfig (for
ls1021aXXX)
spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*
arch/arm/Kconfig | 24 ++++++++++++++++++++++--
board/l+g/vinco/vinco.c | 4 ++--
cmd/sf.c | 4 ++--
cmd/spi.c | 6 +++---
common/spl/Kconfig | 28 ++++++++++++++++++++++++++++
configs/am57xx_evm_defconfig | 2 ++
configs/am57xx_hs_evm_defconfig | 2 ++
configs/am57xx_hs_evm_usb_defconfig | 2 ++
configs/axm_defconfig | 2 ++
configs/chromebook_link64_defconfig | 2 ++
configs/chromebook_samus_tpl_defconfig | 4 ++++
configs/dra7xx_evm_defconfig | 2 ++
configs/dra7xx_hs_evm_defconfig | 2 ++
configs/dra7xx_hs_evm_usb_defconfig | 2 ++
configs/j721e_evm_a72_defconfig | 2 ++
configs/j721e_evm_r5_defconfig | 2 ++
configs/ls1021aiot_qspi_defconfig | 2 ++
configs/ls1021aiot_sdcard_defconfig | 2 ++
configs/ls1021aqds_qspi_defconfig | 1 +
configs/ls1021aqds_sdcard_qspi_defconfig | 1 +
configs/ls1021atwr_qspi_defconfig | 1 +
configs/sama5d2_xplained_spiflash_defconfig | 2 ++
configs/sama5d3xek_spiflash_defconfig | 6 ++++--
configs/sama5d4_xplained_spiflash_defconfig | 2 ++
configs/sama5d4ek_spiflash_defconfig | 2 ++
configs/stm32mp15_basic_defconfig | 2 ++
configs/taurus_defconfig | 2 ++
drivers/mtd/spi/Makefile | 4 ++--
drivers/mtd/spi/sf_probe.c | 8 ++++----
drivers/net/fm/fm.c | 4 ++--
drivers/spi/Makefile | 2 +-
drivers/spi/atmel_spi.c | 4 ++--
drivers/spi/davinci_spi.c | 6 +++---
drivers/spi/fsl_dspi.c | 5 +++--
drivers/spi/kirkwood_spi.c | 2 +-
drivers/spi/mxc_spi.c | 6 +++---
drivers/spi/omap3_spi.c | 4 ++--
drivers/spi/sh_qspi.c | 4 ++--
env/sf.c | 2 +-
include/configs/ls1021aiot.h | 6 ------
include/configs/ls1021aqds.h | 8 --------
include/configs/ls1021atwr.h | 5 -----
include/configs/ls1043a_common.h | 2 --
include/spi.h | 8 ++++----
include/spi_flash.h | 2 +-
test/dm/spi.c | 2 +-
46 files changed, 134 insertions(+), 63 deletions(-)
--
2.11.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v3 1/3] spi: Move DM_SPI_FLASH to Kconfig (for NXP's ls1043a)
2019-09-04 22:16 [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI* Lukasz Majewski
@ 2019-09-04 22:16 ` Lukasz Majewski
2019-09-04 22:16 ` [U-Boot] [PATCH v3 2/3] spi: Move DM_SPI_FLASH and SPI_FLASH_DATAFLASH to Kconfig (for ls1021aXXX) Lukasz Majewski
` (2 subsequent siblings)
3 siblings, 0 replies; 11+ messages in thread
From: Lukasz Majewski @ 2019-09-04 22:16 UTC (permalink / raw)
To: u-boot
This patch fixes issue with defining the DM_SPI_FLASH in the
configs/include/<board.h> instead of enabling this option in Kconfig.
The problem is that CONFIG_IS_ENABLED(DM_SPI_FLASH) shows false as there
is no DM_SPI_FLASH=y in .config (but the define is set in u-boot.cfg).
As a result conversion of DM_SPI_FLASH to using CONFIG_IS_ENABLED() is not
working properly.
Signed-off-by: Lukasz Majewski <lukma@denx.de>
---
Changes in v3:
- Provide better Kconfig flags conditionals to avoid not compiling
relavant code (there is negative diff observed after applying those
patches)
Changes in v2: None
Buildman test code:
./tools/buildman/buildman.py -b HEAD --count=4 ls1043 --output-dir=../BUILD/ --force-build -CveE
./tools/buildman/buildman.py -b HEAD --count=4 ls1043 --output-dir=../BUILD/ -Ssdel
---
arch/arm/Kconfig | 4 ++++
include/configs/ls1043a_common.h | 2 --
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 3b0e315061..b13173d7a0 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1407,6 +1407,8 @@ config TARGET_LS1043AQDS
select BOARD_LATE_INIT
select SUPPORT_SPL
select FSL_DDR_INTERACTIVE if !SPL
+ select FSL_DSPI if !SPL_NO_DSPI
+ select DM_SPI_FLASH if FSL_DSPI && !SPL_NO_DSPI
imply SCSI
imply SCSI_AHCI
help
@@ -1421,6 +1423,8 @@ config TARGET_LS1043ARDB
select BOARD_EARLY_INIT_F
select BOARD_LATE_INIT
select SUPPORT_SPL
+ select FSL_DSPI if !SPL_NO_DSPI
+ select DM_SPI_FLASH if FSL_DSPI && !SPL_NO_DSPI
help
Support for Freescale LS1043ARDB platform.
diff --git a/include/configs/ls1043a_common.h b/include/configs/ls1043a_common.h
index 70447a2183..fd8bf705cd 100644
--- a/include/configs/ls1043a_common.h
+++ b/include/configs/ls1043a_common.h
@@ -165,9 +165,7 @@
/* DSPI */
#ifndef SPL_NO_DSPI
-#define CONFIG_FSL_DSPI
#ifdef CONFIG_FSL_DSPI
-#define CONFIG_DM_SPI_FLASH
#define CONFIG_SPI_FLASH_STMICRO /* cs0 */
#define CONFIG_SPI_FLASH_SST /* cs1 */
#define CONFIG_SPI_FLASH_EON /* cs2 */
--
2.11.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v3 2/3] spi: Move DM_SPI_FLASH and SPI_FLASH_DATAFLASH to Kconfig (for ls1021aXXX)
2019-09-04 22:16 [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI* Lukasz Majewski
2019-09-04 22:16 ` [U-Boot] [PATCH v3 1/3] spi: Move DM_SPI_FLASH to Kconfig (for NXP's ls1043a) Lukasz Majewski
@ 2019-09-04 22:16 ` Lukasz Majewski
2019-09-04 22:16 ` [U-Boot] [PATCH v3 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI* Lukasz Majewski
2019-09-05 18:09 ` [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI* Tom Rini
3 siblings, 0 replies; 11+ messages in thread
From: Lukasz Majewski @ 2019-09-04 22:16 UTC (permalink / raw)
To: u-boot
This patch moves the CONFIG_DM_SPI_FLASH and CONFIG_SPI_FLASH_DATAFLASH
to be defined in Kconfig, not in board specific header file
(include/configs/<board>.h).
Before this change the CONFIG_DM_SPI_FLASH was not set in .config (so it
was not possible to use CONFIG_IS_ENABLED(DM_SPI_FLASH) in SPI DM/DTS
converted drivers), but it was set in u-boot.cfg file.
Signed-off-by: Lukasz Majewski <lukma@denx.de>
---
Changes in v3: None
Changes in v2: None
arch/arm/Kconfig | 6 ++++--
include/configs/ls1021aiot.h | 6 ------
include/configs/ls1021aqds.h | 8 --------
include/configs/ls1021atwr.h | 5 -----
4 files changed, 4 insertions(+), 21 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index b13173d7a0..490f2abcf1 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1353,6 +1353,8 @@ config TARGET_LS1021AQDS
select SUPPORT_SPL
select SYS_FSL_DDR
select FSL_DDR_INTERACTIVE
+ select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
+ select SPI_FLASH_DATAFLASH if FSL_DSPI || FSL_QSPI
imply SCSI
config TARGET_LS1021ATWR
@@ -1366,6 +1368,7 @@ config TARGET_LS1021ATWR
select CPU_V7_HAS_VIRT
select LS1_DEEP_SLEEP
select SUPPORT_SPL
+ select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
imply SCSI
config TARGET_LS1021ATSN
@@ -1390,6 +1393,7 @@ config TARGET_LS1021AIOT
select CPU_V7_HAS_NONSEC
select CPU_V7_HAS_VIRT
select SUPPORT_SPL
+ select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
imply SCSI
help
Support for Freescale LS1021AIOT platform.
@@ -1825,5 +1829,3 @@ config SPL_LDSCRIPT
default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
-
-
diff --git a/include/configs/ls1021aiot.h b/include/configs/ls1021aiot.h
index ee570bc1a9..0ab1fb17a6 100644
--- a/include/configs/ls1021aiot.h
+++ b/include/configs/ls1021aiot.h
@@ -139,12 +139,6 @@
#define CONFIG_SPI_FLASH_SPANSION
#endif
-/* DM SPI */
-#if defined(CONFIG_FSL_DSPI) || defined(CONFIG_FSL_QSPI)
-#define CONFIG_CMD_SF
-#define CONFIG_DM_SPI_FLASH
-#endif
-
/*
* eTSEC
*/
diff --git a/include/configs/ls1021aqds.h b/include/configs/ls1021aqds.h
index 66771e279b..e2529dfb9c 100644
--- a/include/configs/ls1021aqds.h
+++ b/include/configs/ls1021aqds.h
@@ -363,14 +363,6 @@ unsigned long get_board_ddr_clk(void);
#define QSPI0_AMBA_BASE 0x40000000
#define FSL_QSPI_FLASH_SIZE (1 << 24)
#define FSL_QSPI_FLASH_NUM 2
-
-/* DSPI */
-
-/* DM SPI */
-#if defined(CONFIG_FSL_DSPI) || defined(CONFIG_FSL_QSPI)
-#define CONFIG_DM_SPI_FLASH
-#define CONFIG_SPI_FLASH_DATAFLASH
-#endif
#endif
/*
diff --git a/include/configs/ls1021atwr.h b/include/configs/ls1021atwr.h
index 31abee81ed..397afb668b 100644
--- a/include/configs/ls1021atwr.h
+++ b/include/configs/ls1021atwr.h
@@ -238,11 +238,6 @@
/* DSPI */
#endif
-/* DM SPI */
-#if defined(CONFIG_FSL_DSPI) || defined(CONFIG_FSL_QSPI)
-#define CONFIG_DM_SPI_FLASH
-#endif
-
/*
* Video
*/
--
2.11.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v3 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*
2019-09-04 22:16 [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI* Lukasz Majewski
2019-09-04 22:16 ` [U-Boot] [PATCH v3 1/3] spi: Move DM_SPI_FLASH to Kconfig (for NXP's ls1043a) Lukasz Majewski
2019-09-04 22:16 ` [U-Boot] [PATCH v3 2/3] spi: Move DM_SPI_FLASH and SPI_FLASH_DATAFLASH to Kconfig (for ls1021aXXX) Lukasz Majewski
@ 2019-09-04 22:16 ` Lukasz Majewski
2019-09-05 18:09 ` [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI* Tom Rini
3 siblings, 0 replies; 11+ messages in thread
From: Lukasz Majewski @ 2019-09-04 22:16 UTC (permalink / raw)
To: u-boot
This change allows more fine tuning of driver model based SPI support in
SPL and TPL. It is now possible to explicitly enable/disable the DM_SPI
support in SPL and TPL via Kconfig option.
Before this change it was necessary to use:
/* SPI Flash Configs */
#if defined(CONFIG_SPL_BUILD)
#undef CONFIG_DM_SPI
#undef CONFIG_DM_SPI_FLASH
#undef CONFIG_SPI_FLASH_MTD
#endif
in the ./include/configs/<board>.h, which is error prone and shall be
avoided when we strive to switch to Kconfig.
The goal of this patch:
Provide distinction for DM_SPI support in both U-Boot proper and SPL (TPL).
Valid use case is when U-Boot proper wants to use DM_SPI, but SPL must
still support non DM driver.
Another use case is the conversion of non DM/DTS SPI driver to support
DM/DTS. When such driver needs to work in both SPL and U-Boot proper, the
distinction is needed in Kconfig (also if SPL version of the driver
supports OF_PLATDATA).
In the end of the day one would have to support following use cases (in
single driver file - e.g. mxs_spi.c):
- U-Boot proper driver supporting DT/DTS
- U-Boot proper driver without DT/DTS support (deprecated)
- SPL driver without DT/DTS support
- SPL (and TPL) driver with DT/DTS (when the SoC has enough resources to
run full blown DT/DTS)
- SPL driver with DT/DTS and SPL_OF_PLATDATA (when one have constrained
environment with no fitImage and OF_LIBFDT support).
Some boards do require SPI support (with DM) in SPL (TPL) and some only
have DM_SPI{_FLASH} defined to allow compiling SPL.
This patch converts #ifdef CONFIG_DM_SPI* to #if CONFIG_IS_ENABLED(DM_SPI)
and provides corresponding defines in Kconfig.
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Tested-by: Adam Ford <aford173@gmail.com> #da850-evm
---
Changes in v3:
- Fix da850evm_nand and da850evm by enabling SPL_DM_SPI support in
Kconfig
- Drop patch from the series
[U-Boot,v2,1/4] kconfig: doc: Update comment regarding CONFIG_IS_ENABLED(FOO) for TPL
as not being related to this particular change
Changes in v2:
- Resend patches with some not yet in mainline code removed as
suggested by Adam Ford
===================================
BIG FAT NOTE (REQUEST FOR TESTING):
===================================
The adjustments were done only to make the buildman / travis-CI build
clean.
Board maintainers are kindly asked to check if there are no failures on
boards booting (or unintentional increase of binary size).
Note:
=====
Some boards require adjustments in ./configs/<board>_defconfig (like Siemens).
Other boards require modification in arch/arm/Kconfig (like MVEBU)
Yet another ones - like ones from Samsung - doesn't use SPL at all.
There are also boards - like i.MX{25678} - which (till now) doesn't use
SPI drivers supporting DM in their SPL.
Applied on top of -master branch:
SHA1: 448f11f7503995746a7b71e5e3b3a831c4651be9
---
arch/arm/Kconfig | 14 ++++++++++++++
board/l+g/vinco/vinco.c | 4 ++--
cmd/sf.c | 4 ++--
cmd/spi.c | 6 +++---
common/spl/Kconfig | 28 ++++++++++++++++++++++++++++
configs/am57xx_evm_defconfig | 2 ++
configs/am57xx_hs_evm_defconfig | 2 ++
configs/am57xx_hs_evm_usb_defconfig | 2 ++
configs/axm_defconfig | 2 ++
configs/chromebook_link64_defconfig | 2 ++
configs/chromebook_samus_tpl_defconfig | 4 ++++
configs/dra7xx_evm_defconfig | 2 ++
configs/dra7xx_hs_evm_defconfig | 2 ++
configs/dra7xx_hs_evm_usb_defconfig | 2 ++
configs/j721e_evm_a72_defconfig | 2 ++
configs/j721e_evm_r5_defconfig | 2 ++
configs/ls1021aiot_qspi_defconfig | 2 ++
configs/ls1021aiot_sdcard_defconfig | 2 ++
configs/ls1021aqds_qspi_defconfig | 1 +
configs/ls1021aqds_sdcard_qspi_defconfig | 1 +
configs/ls1021atwr_qspi_defconfig | 1 +
configs/sama5d2_xplained_spiflash_defconfig | 2 ++
configs/sama5d3xek_spiflash_defconfig | 6 ++++--
configs/sama5d4_xplained_spiflash_defconfig | 2 ++
configs/sama5d4ek_spiflash_defconfig | 2 ++
configs/stm32mp15_basic_defconfig | 2 ++
configs/taurus_defconfig | 2 ++
drivers/mtd/spi/Makefile | 4 ++--
drivers/mtd/spi/sf_probe.c | 8 ++++----
drivers/net/fm/fm.c | 4 ++--
drivers/spi/Makefile | 2 +-
drivers/spi/atmel_spi.c | 4 ++--
drivers/spi/davinci_spi.c | 6 +++---
drivers/spi/fsl_dspi.c | 5 +++--
drivers/spi/kirkwood_spi.c | 2 +-
drivers/spi/mxc_spi.c | 6 +++---
drivers/spi/omap3_spi.c | 4 ++--
drivers/spi/sh_qspi.c | 4 ++--
env/sf.c | 2 +-
include/spi.h | 8 ++++----
include/spi_flash.h | 2 +-
test/dm/spi.c | 2 +-
42 files changed, 126 insertions(+), 40 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 490f2abcf1..c55c4f25fe 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -493,6 +493,7 @@ config TARGET_GPLUGD
config ARCH_DAVINCI
bool "TI DaVinci"
select CPU_ARM926EJS
+ select SPL_DM_SPI if SPL
imply CMD_SAVES
help
Support for TI's DaVinci platform.
@@ -510,6 +511,8 @@ config ARCH_MVEBU
select DM_SERIAL
select DM_SPI
select DM_SPI_FLASH
+ select SPL_DM_SPI if SPL
+ select SPL_DM_SPI_FLASH if SPL
select OF_CONTROL
select OF_SEPARATE
select SPI
@@ -918,6 +921,8 @@ config ARCH_SOCFPGA
imply FAT_WRITE
imply SPL
imply SPL_DM
+ imply SPL_DM_SPI
+ imply SPL_DM_SPI_FLASH
imply SPL_LIBDISK_SUPPORT
imply SPL_MMC_SUPPORT
imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
@@ -1006,6 +1011,8 @@ config ARCH_ZYNQ
select SPL_BOARD_INIT if SPL
select SPL_CLK if SPL
select SPL_DM if SPL
+ select SPL_DM_SPI if SPL
+ select SPL_DM_SPI_FLASH if SPL
select SPL_OF_CONTROL if SPL
select SPL_SEPARATE_BSS if SPL
select SUPPORT_SPL
@@ -1042,6 +1049,8 @@ config ARCH_ZYNQMP
select OF_CONTROL
select SPL_BOARD_INIT if SPL
select SPL_CLK if SPL
+ select SPL_DM_SPI if SPI
+ select SPL_DM_SPI_FLASH if SPL_DM_SPI
select SPL_SEPARATE_BSS if SPL
select SUPPORT_SPL
imply BOARD_LATE_INIT
@@ -1441,6 +1450,7 @@ config TARGET_LS1046AQDS
select BOARD_EARLY_INIT_F
select BOARD_LATE_INIT
select DM_SPI_FLASH if DM_SPI
+ select SPL_DM_SPI
select SUPPORT_SPL
select FSL_DDR_BIST if !SPL
select FSL_DDR_INTERACTIVE if !SPL
@@ -1461,6 +1471,7 @@ config TARGET_LS1046ARDB
select BOARD_EARLY_INIT_F
select BOARD_LATE_INIT
select DM_SPI_FLASH if DM_SPI
+ select SPL_DM_SPI
select POWER_MC34VR500
select SUPPORT_SPL
select FSL_DDR_BIST
@@ -1481,6 +1492,7 @@ config TARGET_LS1046AFRWY
select BOARD_EARLY_INIT_F
select BOARD_LATE_INIT
select DM_SPI_FLASH if DM_SPI
+ select SPL_DM_SPI
imply SCSI
help
Support for Freescale LS1046AFRWY platform.
@@ -1593,6 +1605,8 @@ config ARCH_ROCKCHIP
select OF_CONTROL
select SPI
select SPL_DM if SPL
+ select SPL_DM_SPI if SPL
+ select SPL_DM_SPI_FLASH if SPL
select SPL_SYS_MALLOC_SIMPLE if SPL
select SYS_MALLOC_F
select SYS_THUMB_BUILD if !ARM64
diff --git a/board/l+g/vinco/vinco.c b/board/l+g/vinco/vinco.c
index 029ab12391..d7cb1bda5e 100644
--- a/board/l+g/vinco/vinco.c
+++ b/board/l+g/vinco/vinco.c
@@ -33,7 +33,7 @@
DECLARE_GLOBAL_DATA_PTR;
/* FIXME gpio code here need to handle through DM_GPIO */
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
int spi_cs_is_valid(unsigned int bus, unsigned int cs)
{
return bus == 0 && cs == 0;
@@ -166,7 +166,7 @@ int board_init(void)
/* adress of boot parameters */
gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
vinco_spi0_hw_init();
#endif
diff --git a/cmd/sf.c b/cmd/sf.c
index 6ccf98ae51..5487a05c3f 100644
--- a/cmd/sf.c
+++ b/cmd/sf.c
@@ -85,7 +85,7 @@ static int do_spi_flash_probe(int argc, char * const argv[])
unsigned int speed = CONFIG_SF_DEFAULT_SPEED;
unsigned int mode = CONFIG_SF_DEFAULT_MODE;
char *endp;
-#ifdef CONFIG_DM_SPI_FLASH
+#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
struct udevice *new, *bus_dev;
int ret;
#else
@@ -118,7 +118,7 @@ static int do_spi_flash_probe(int argc, char * const argv[])
return -1;
}
-#ifdef CONFIG_DM_SPI_FLASH
+#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
/* Remove the old device, otherwise probe will just be a nop */
ret = spi_find_bus_and_cs(bus, cs, &bus_dev, &new);
if (!ret) {
diff --git a/cmd/spi.c b/cmd/spi.c
index 75226fd368..f163cec23b 100644
--- a/cmd/spi.c
+++ b/cmd/spi.c
@@ -37,7 +37,7 @@ static int do_spi_xfer(int bus, int cs)
struct spi_slave *slave;
int ret = 0;
-#ifdef CONFIG_DM_SPI
+#if CONFIG_IS_ENABLED(DM_SPI)
char name[30], *str;
struct udevice *dev;
@@ -62,7 +62,7 @@ static int do_spi_xfer(int bus, int cs)
goto done;
ret = spi_xfer(slave, bitlen, dout, din,
SPI_XFER_BEGIN | SPI_XFER_END);
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
/* We don't get an error code in this case */
if (ret)
ret = -EIO;
@@ -78,7 +78,7 @@ static int do_spi_xfer(int bus, int cs)
}
done:
spi_release_bus(slave);
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
spi_free_slave(slave);
#endif
diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index f467eca2be..77c5a9f818 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -671,6 +671,19 @@ config SPL_UBI
Enable support for loading payloads from UBI. See
README.ubispl for more info.
+if SPL_DM
+config SPL_DM_SPI
+ bool "Support SPI DM drivers in SPL"
+ help
+ Enable support for SPI DM drivers in SPL.
+
+config SPL_DM_SPI_FLASH
+ bool "Support SPI DM FLASH drivers in SPL"
+ help
+ Enable support for SPI DM flash drivers in SPL.
+
+endif
+
if SPL_UBI
config SPL_UBI_LOAD_BY_VOLNAME
bool "Support loading volumes by name"
@@ -995,6 +1008,11 @@ config SPL_SPI_FLASH_SFDP_SUPPORT
SPI NOR flashes using Serial Flash Discoverable Parameters (SFDP)
tables as per JESD216 standard in SPL.
+config SPL_SPI_FLASH_MTD
+ bool "Support for SPI flash MTD drivers in SPL"
+ help
+ Enable support for SPI flash MTD drivers in SPL.
+
config SPL_SPI_LOAD
bool "Support loading from SPI flash"
help
@@ -1387,6 +1405,16 @@ config TPL_SPI_SUPPORT
Enable support for using SPI in TPL. See SPL_SPI_SUPPORT for
details.
+config TPL_DM_SPI
+ bool "Support SPI DM drivers in TPL"
+ help
+ Enable support for SPI DM drivers in TPL.
+
+config TPL_DM_SPI_FLASH
+ bool "Support SPI DM FLASH drivers in TPL"
+ help
+ Enable support for SPI DM flash drivers in TPL.
+
config TPL_YMODEM_SUPPORT
bool "Support loading using Ymodem"
depends on TPL_SERIAL_SUPPORT
diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig
index 248c302057..66d812e4fc 100644
--- a/configs/am57xx_evm_defconfig
+++ b/configs/am57xx_evm_defconfig
@@ -65,6 +65,7 @@ CONFIG_DM_MMC=y
CONFIG_SUPPORT_EMMC_BOOT=y
CONFIG_MMC_OMAP_HS=y
CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SF_DEFAULT_MODE=0
CONFIG_SF_DEFAULT_SPEED=76800000
@@ -84,6 +85,7 @@ CONFIG_DM_SCSI=y
CONFIG_DM_SERIAL=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
CONFIG_TI_QSPI=y
CONFIG_USB=y
CONFIG_DM_USB=y
diff --git a/configs/am57xx_hs_evm_defconfig b/configs/am57xx_hs_evm_defconfig
index 7b56df8db7..74ed44d3f4 100644
--- a/configs/am57xx_hs_evm_defconfig
+++ b/configs/am57xx_hs_evm_defconfig
@@ -63,6 +63,7 @@ CONFIG_DM_MMC=y
CONFIG_SUPPORT_EMMC_BOOT=y
CONFIG_MMC_OMAP_HS=y
CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SF_DEFAULT_MODE=0
CONFIG_SF_DEFAULT_SPEED=76800000
@@ -82,6 +83,7 @@ CONFIG_DM_SCSI=y
CONFIG_DM_SERIAL=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
CONFIG_TI_QSPI=y
CONFIG_USB=y
CONFIG_DM_USB=y
diff --git a/configs/am57xx_hs_evm_usb_defconfig b/configs/am57xx_hs_evm_usb_defconfig
index c8078e9f4e..ec798ef90d 100644
--- a/configs/am57xx_hs_evm_usb_defconfig
+++ b/configs/am57xx_hs_evm_usb_defconfig
@@ -69,6 +69,7 @@ CONFIG_DM_MMC=y
CONFIG_SUPPORT_EMMC_BOOT=y
CONFIG_MMC_OMAP_HS=y
CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SF_DEFAULT_MODE=0
CONFIG_SF_DEFAULT_SPEED=76800000
@@ -89,6 +90,7 @@ CONFIG_DM_REGULATOR_PALMAS=y
CONFIG_DM_SERIAL=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
CONFIG_TI_QSPI=y
CONFIG_USB=y
CONFIG_DM_USB=y
diff --git a/configs/axm_defconfig b/configs/axm_defconfig
index a1d374aeb5..b49d681bd6 100644
--- a/configs/axm_defconfig
+++ b/configs/axm_defconfig
@@ -60,6 +60,8 @@ CONFIG_CLK_AT91=y
CONFIG_NAND=y
# CONFIG_SYS_NAND_USE_FLASH_BBT is not set
CONFIG_NAND_ATMEL=y
+CONFIG_SPL_DM_SPI=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_STMICRO=y
diff --git a/configs/chromebook_link64_defconfig b/configs/chromebook_link64_defconfig
index 4bbd7a67dc..24042aef6a 100644
--- a/configs/chromebook_link64_defconfig
+++ b/configs/chromebook_link64_defconfig
@@ -27,6 +27,8 @@ CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_CPU_SUPPORT=y
CONFIG_SPL_ENV_SUPPORT=y
CONFIG_SPL_I2C_SUPPORT=y
+CONFIG_SPL_DM_SPI=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPL_NET_SUPPORT=y
CONFIG_SPL_PCI=y
CONFIG_SPL_PCH_SUPPORT=y
diff --git a/configs/chromebook_samus_tpl_defconfig b/configs/chromebook_samus_tpl_defconfig
index 973460082d..10ff4167c1 100644
--- a/configs/chromebook_samus_tpl_defconfig
+++ b/configs/chromebook_samus_tpl_defconfig
@@ -27,11 +27,15 @@ CONFIG_BLOBLIST_ADDR=0xff7c0000
CONFIG_HANDOFF=y
CONFIG_SPL_TEXT_BASE=0xffe70000
CONFIG_SPL_SEPARATE_BSS=y
+CONFIG_SPL_DM_SPI=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPL_NET_SUPPORT=y
CONFIG_SPL_PCI=y
CONFIG_SPL_PCH_SUPPORT=y
CONFIG_TPL_PCI=y
CONFIG_TPL_PCH_SUPPORT=y
+CONFIG_TPL_DM_SPI=y
+CONFIG_TPL_DM_SPI_FLASH=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_CPU=y
# CONFIG_CMD_FLASH is not set
diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig
index ad8868e512..1bf8f97192 100644
--- a/configs/dra7xx_evm_defconfig
+++ b/configs/dra7xx_evm_defconfig
@@ -75,6 +75,7 @@ CONFIG_MMC_OMAP_HS=y
CONFIG_NAND=y
CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SF_DEFAULT_MODE=0
CONFIG_SF_DEFAULT_SPEED=76800000
@@ -96,6 +97,7 @@ CONFIG_DM_SCSI=y
CONFIG_DM_SERIAL=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
CONFIG_TI_QSPI=y
CONFIG_TIMER=y
CONFIG_OMAP_TIMER=y
diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig
index 7a5c3e72d4..6d3d357411 100644
--- a/configs/dra7xx_hs_evm_defconfig
+++ b/configs/dra7xx_hs_evm_defconfig
@@ -78,6 +78,7 @@ CONFIG_MMC_OMAP_HS=y
CONFIG_NAND=y
CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SF_DEFAULT_MODE=0
CONFIG_SF_DEFAULT_SPEED=76800000
@@ -99,6 +100,7 @@ CONFIG_DM_SCSI=y
CONFIG_DM_SERIAL=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
CONFIG_TI_QSPI=y
CONFIG_TIMER=y
CONFIG_OMAP_TIMER=y
diff --git a/configs/dra7xx_hs_evm_usb_defconfig b/configs/dra7xx_hs_evm_usb_defconfig
index 040e6f7fdd..4b2dce6b15 100644
--- a/configs/dra7xx_hs_evm_usb_defconfig
+++ b/configs/dra7xx_hs_evm_usb_defconfig
@@ -78,6 +78,7 @@ CONFIG_MMC_HS200_SUPPORT=y
CONFIG_SPL_MMC_HS200_SUPPORT=y
CONFIG_MMC_OMAP_HS=y
CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SF_DEFAULT_MODE=0
CONFIG_SF_DEFAULT_SPEED=76800000
@@ -100,6 +101,7 @@ CONFIG_DM_SCSI=y
CONFIG_DM_SERIAL=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
CONFIG_TI_QSPI=y
CONFIG_TIMER=y
CONFIG_OMAP_TIMER=y
diff --git a/configs/j721e_evm_a72_defconfig b/configs/j721e_evm_a72_defconfig
index 6e355f5247..380bd0b814 100644
--- a/configs/j721e_evm_a72_defconfig
+++ b/configs/j721e_evm_a72_defconfig
@@ -63,6 +63,7 @@ CONFIG_DM_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_AM654=y
CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_STMICRO=y
CONFIG_PINCTRL=y
@@ -77,6 +78,7 @@ CONFIG_RESET_TI_SCI=y
CONFIG_DM_SERIAL=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
CONFIG_CADENCE_QSPI=y
CONFIG_SYSRESET=y
CONFIG_SPL_SYSRESET=y
diff --git a/configs/j721e_evm_r5_defconfig b/configs/j721e_evm_r5_defconfig
index b516f9d0e5..cdf10503e6 100644
--- a/configs/j721e_evm_r5_defconfig
+++ b/configs/j721e_evm_r5_defconfig
@@ -67,6 +67,7 @@ CONFIG_DM_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_AM654=y
CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_STMICRO=y
CONFIG_PINCTRL=y
@@ -83,6 +84,7 @@ CONFIG_RESET_TI_SCI=y
CONFIG_DM_SERIAL=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
CONFIG_CADENCE_QSPI=y
CONFIG_SYSRESET=y
CONFIG_SPL_SYSRESET=y
diff --git a/configs/ls1021aiot_qspi_defconfig b/configs/ls1021aiot_qspi_defconfig
index 5dcec24005..00a5f13dba 100644
--- a/configs/ls1021aiot_qspi_defconfig
+++ b/configs/ls1021aiot_qspi_defconfig
@@ -12,6 +12,7 @@ CONFIG_CMD_DHCP=y
CONFIG_CMD_PING=y
CONFIG_CMD_EXT2=y
CONFIG_CMD_FAT=y
+CONFIG_CMD_SF=y
CONFIG_OF_CONTROL=y
CONFIG_DEFAULT_DEVICE_TREE="ls1021a-iot-duart"
CONFIG_ENV_IS_IN_SPI_FLASH=y
@@ -35,6 +36,7 @@ CONFIG_DM_SCSI=y
CONFIG_SYS_NS16550=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
CONFIG_FSL_DSPI=y
CONFIG_FSL_QSPI=y
CONFIG_USB=y
diff --git a/configs/ls1021aiot_sdcard_defconfig b/configs/ls1021aiot_sdcard_defconfig
index 93eb83471c..3dc879fe70 100644
--- a/configs/ls1021aiot_sdcard_defconfig
+++ b/configs/ls1021aiot_sdcard_defconfig
@@ -17,6 +17,7 @@ CONFIG_CMD_DHCP=y
CONFIG_CMD_PING=y
CONFIG_CMD_EXT2=y
CONFIG_CMD_FAT=y
+CONFIG_CMD_SF=y
# CONFIG_SPL_EFI_PARTITION is not set
CONFIG_OF_CONTROL=y
CONFIG_DEFAULT_DEVICE_TREE="ls1021a-iot-duart"
@@ -41,6 +42,7 @@ CONFIG_DM_SCSI=y
CONFIG_SYS_NS16550=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
CONFIG_FSL_DSPI=y
CONFIG_FSL_QSPI=y
CONFIG_USB=y
diff --git a/configs/ls1021aqds_qspi_defconfig b/configs/ls1021aqds_qspi_defconfig
index db74cc5712..bb1d1afcb4 100644
--- a/configs/ls1021aqds_qspi_defconfig
+++ b/configs/ls1021aqds_qspi_defconfig
@@ -54,6 +54,7 @@ CONFIG_DM_SCSI=y
CONFIG_SYS_NS16550=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
CONFIG_FSL_DSPI=y
CONFIG_FSL_QSPI=y
CONFIG_USB=y
diff --git a/configs/ls1021aqds_sdcard_qspi_defconfig b/configs/ls1021aqds_sdcard_qspi_defconfig
index cc71c28259..285a7bcaa6 100644
--- a/configs/ls1021aqds_sdcard_qspi_defconfig
+++ b/configs/ls1021aqds_sdcard_qspi_defconfig
@@ -66,6 +66,7 @@ CONFIG_DM_SCSI=y
CONFIG_SYS_NS16550=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPIy=y
CONFIG_FSL_DSPI=y
CONFIG_FSL_QSPI=y
CONFIG_USB=y
diff --git a/configs/ls1021atwr_qspi_defconfig b/configs/ls1021atwr_qspi_defconfig
index 0e2525fd71..27ce459ffb 100644
--- a/configs/ls1021atwr_qspi_defconfig
+++ b/configs/ls1021atwr_qspi_defconfig
@@ -53,6 +53,7 @@ CONFIG_DM_SCSI=y
CONFIG_SYS_NS16550=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPI_DM_SPI=y
CONFIG_FSL_DSPI=y
CONFIG_FSL_QSPI=y
CONFIG_USB=y
diff --git a/configs/sama5d2_xplained_spiflash_defconfig b/configs/sama5d2_xplained_spiflash_defconfig
index 6958621cdf..0a448b57d4 100644
--- a/configs/sama5d2_xplained_spiflash_defconfig
+++ b/configs/sama5d2_xplained_spiflash_defconfig
@@ -65,6 +65,8 @@ CONFIG_I2C_EEPROM=y
CONFIG_DM_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ATMEL=y
+CONFIG_SPL_DM_SPI=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SF_DEFAULT_SPEED=30000000
diff --git a/configs/sama5d3xek_spiflash_defconfig b/configs/sama5d3xek_spiflash_defconfig
index b27a288b4a..bcbc4312dc 100644
--- a/configs/sama5d3xek_spiflash_defconfig
+++ b/configs/sama5d3xek_spiflash_defconfig
@@ -7,10 +7,11 @@ CONFIG_SPL_GPIO_SUPPORT=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_SYS_MALLOC_F_LEN=0x2000
-CONFIG_SPL_SERIAL_SUPPORT=y
-CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
CONFIG_ENV_SIZE=0x2000
+CONFIG_ENV_SECT_SIZE=0x1000
CONFIG_ENV_OFFSET=0x6000
+CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_SPL=y
CONFIG_DEBUG_UART_BOARD_INIT=y
@@ -28,6 +29,7 @@ CONFIG_USE_BOOTARGS=y
CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(bootstrap)ro,768k(uboot)ro,256K(env_redundant),256k(env),512k(dtb),6M(kernel)ro,-(rootfs) rootfstype=ubifs ubi.mtd=6 root=ubi0:rootfs"
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_SPL_TEXT_BASE=0x300000
+CONFIG_SPL_DM_SPI=y
CONFIG_SPL_SPI_LOAD=y
CONFIG_SYS_SPI_U_BOOT_OFFS=0x10000
CONFIG_HUSH_PARSER=y
diff --git a/configs/sama5d4_xplained_spiflash_defconfig b/configs/sama5d4_xplained_spiflash_defconfig
index a2e9595088..3a8b291721 100644
--- a/configs/sama5d4_xplained_spiflash_defconfig
+++ b/configs/sama5d4_xplained_spiflash_defconfig
@@ -66,6 +66,7 @@ CONFIG_NAND=y
# CONFIG_SYS_NAND_USE_FLASH_BBT is not set
CONFIG_NAND_ATMEL=y
CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SF_DEFAULT_SPEED=30000000
CONFIG_SPI_FLASH_ATMEL=y
@@ -80,6 +81,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
CONFIG_ATMEL_USART=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
CONFIG_TIMER=y
CONFIG_SPL_TIMER=y
CONFIG_ATMEL_PIT_TIMER=y
diff --git a/configs/sama5d4ek_spiflash_defconfig b/configs/sama5d4ek_spiflash_defconfig
index aa1a492997..dfc1100466 100644
--- a/configs/sama5d4ek_spiflash_defconfig
+++ b/configs/sama5d4ek_spiflash_defconfig
@@ -63,6 +63,7 @@ CONFIG_NAND=y
# CONFIG_SYS_NAND_USE_FLASH_BBT is not set
CONFIG_NAND_ATMEL=y
CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SF_DEFAULT_SPEED=30000000
CONFIG_SPI_FLASH_ATMEL=y
@@ -77,6 +78,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
CONFIG_ATMEL_USART=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
CONFIG_TIMER=y
CONFIG_SPL_TIMER=y
CONFIG_ATMEL_PIT_TIMER=y
diff --git a/configs/stm32mp15_basic_defconfig b/configs/stm32mp15_basic_defconfig
index 09785b5dc1..61758f4c55 100644
--- a/configs/stm32mp15_basic_defconfig
+++ b/configs/stm32mp15_basic_defconfig
@@ -83,6 +83,7 @@ CONFIG_MTD=y
CONFIG_NAND=y
CONFIG_NAND_STM32_FMC2=y
CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y
@@ -110,6 +111,7 @@ CONFIG_RTC_STM32=y
CONFIG_SERIAL_RX_BUFFER=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
CONFIG_STM32_QSPI=y
CONFIG_STM32_SPI=y
CONFIG_USB=y
diff --git a/configs/taurus_defconfig b/configs/taurus_defconfig
index 3676ecd419..a53f04f1c8 100644
--- a/configs/taurus_defconfig
+++ b/configs/taurus_defconfig
@@ -68,6 +68,8 @@ CONFIG_DFU_NAND=y
CONFIG_NAND=y
# CONFIG_SYS_NAND_USE_FLASH_BBT is not set
CONFIG_NAND_ATMEL=y
+CONFIG_SPL_DM_SPI=y
+CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_STMICRO=y
diff --git a/drivers/mtd/spi/Makefile b/drivers/mtd/spi/Makefile
index f99f6cb16e..b9566dcbb8 100644
--- a/drivers/mtd/spi/Makefile
+++ b/drivers/mtd/spi/Makefile
@@ -3,7 +3,7 @@
# (C) Copyright 2006
# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
-obj-$(CONFIG_DM_SPI_FLASH) += sf-uclass.o
+obj-$(CONFIG_$(SPL_TPL_)DM_SPI_FLASH) += sf-uclass.o
spi-nor-y := sf_probe.o spi-nor-ids.o
ifdef CONFIG_SPL_BUILD
@@ -19,5 +19,5 @@ endif
obj-$(CONFIG_SPI_FLASH) += spi-nor.o
obj-$(CONFIG_SPI_FLASH_DATAFLASH) += sf_dataflash.o sf.o
-obj-$(CONFIG_SPI_FLASH_MTD) += sf_mtd.o
+obj-$(CONFIG_$(SPL_TPL_)SPI_FLASH_MTD) += sf_mtd.o
obj-$(CONFIG_SPI_FLASH_SANDBOX) += sandbox.o
diff --git a/drivers/mtd/spi/sf_probe.c b/drivers/mtd/spi/sf_probe.c
index 73297e1a0a..5bc0c1d7f2 100644
--- a/drivers/mtd/spi/sf_probe.c
+++ b/drivers/mtd/spi/sf_probe.c
@@ -44,7 +44,7 @@ static int spi_flash_probe_slave(struct spi_flash *flash)
if (ret)
goto err_read_id;
-#ifdef CONFIG_SPI_FLASH_MTD
+#if CONFIG_IS_ENABLED(SPI_FLASH_MTD)
ret = spi_flash_mtd_register(flash);
#endif
@@ -53,7 +53,7 @@ err_read_id:
return ret;
}
-#ifndef CONFIG_DM_SPI_FLASH
+#if !CONFIG_IS_ENABLED(DM_SPI_FLASH)
struct spi_flash *spi_flash_probe(unsigned int busnum, unsigned int cs,
unsigned int max_hz, unsigned int spi_mode)
{
@@ -83,7 +83,7 @@ struct spi_flash *spi_flash_probe(unsigned int busnum, unsigned int cs,
void spi_flash_free(struct spi_flash *flash)
{
-#ifdef CONFIG_SPI_FLASH_MTD
+#if CONFIG_IS_ENABLED(SPI_FLASH_MTD)
spi_flash_mtd_unregister();
#endif
spi_free_slave(flash->spi);
@@ -152,7 +152,7 @@ static int spi_flash_std_probe(struct udevice *dev)
static int spi_flash_std_remove(struct udevice *dev)
{
-#ifdef CONFIG_SPI_FLASH_MTD
+#if CONFIG_IS_ENABLED(SPI_FLASH_MTD)
spi_flash_mtd_unregister();
#endif
return 0;
diff --git a/drivers/net/fm/fm.c b/drivers/net/fm/fm.c
index 4c9dce8dc5..1d0eb20cb9 100644
--- a/drivers/net/fm/fm.c
+++ b/drivers/net/fm/fm.c
@@ -377,7 +377,7 @@ int fm_init_common(int index, struct ccsr_fman *reg)
addr = malloc(CONFIG_SYS_QE_FMAN_FW_LENGTH);
int ret = 0;
-#ifdef CONFIG_DM_SPI_FLASH
+#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
struct udevice *new;
/* speed and mode will be read from DT */
@@ -464,7 +464,7 @@ int fm_init_common(int index, struct ccsr_fman *reg)
void *addr = malloc(CONFIG_SYS_QE_FMAN_FW_LENGTH);
int ret = 0;
-#ifdef CONFIG_DM_SPI_FLASH
+#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
struct udevice *new;
/* speed and mode will be read from DT */
diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
index ae4f2958f8..93d20672eb 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
@@ -4,7 +4,7 @@
# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
# There are many options which enable SPI, so make this library available
-ifdef CONFIG_DM_SPI
+ifdef CONFIG_$(SPL_TPL_)DM_SPI
obj-y += spi-uclass.o
obj-$(CONFIG_SANDBOX) += spi-emul-uclass.o
obj-$(CONFIG_SOFT_SPI) += soft_spi.o
diff --git a/drivers/spi/atmel_spi.c b/drivers/spi/atmel_spi.c
index cf4de9ee1a..80002e5167 100644
--- a/drivers/spi/atmel_spi.c
+++ b/drivers/spi/atmel_spi.c
@@ -14,7 +14,7 @@
#include <asm/arch/clk.h>
#include <asm/arch/hardware.h>
-#ifdef CONFIG_DM_SPI
+#if CONFIG_IS_ENABLED(DM_SPI)
#include <asm/arch/at91_spi.h>
#endif
#ifdef CONFIG_DM_GPIO
@@ -23,7 +23,7 @@
#include "atmel_spi.h"
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
static int spi_has_wdrbt(struct atmel_spi_slave *slave)
{
diff --git a/drivers/spi/davinci_spi.c b/drivers/spi/davinci_spi.c
index 4d2c106440..fe15126e74 100644
--- a/drivers/spi/davinci_spi.c
+++ b/drivers/spi/davinci_spi.c
@@ -52,7 +52,7 @@
/* SPIDEF */
#define SPIDEF_CSDEF0_MASK BIT(0)
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
#define SPI0_BUS 0
#define SPI0_BASE CONFIG_SYS_SPI_BASE
/*
@@ -119,7 +119,7 @@ struct davinci_spi_regs {
/* davinci spi slave */
struct davinci_spi_slave {
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
struct spi_slave slave;
#endif
struct davinci_spi_regs *regs;
@@ -343,7 +343,7 @@ out:
return 0;
}
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
static inline struct davinci_spi_slave *to_davinci_spi(struct spi_slave *slave)
{
diff --git a/drivers/spi/fsl_dspi.c b/drivers/spi/fsl_dspi.c
index a68a51945e..09a60bd05b 100644
--- a/drivers/spi/fsl_dspi.c
+++ b/drivers/spi/fsl_dspi.c
@@ -97,7 +97,7 @@ struct fsl_dspi_priv {
struct dspi *regs;
};
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
struct fsl_dspi {
struct spi_slave slave;
struct fsl_dspi_priv priv;
@@ -411,7 +411,8 @@ static int fsl_dspi_cfg_speed(struct fsl_dspi_priv *priv, uint speed)
return 0;
}
-#ifndef CONFIG_DM_SPI
+
+#if !CONFIG_IS_ENABLED(DM_SPI)
int spi_cs_is_valid(unsigned int bus, unsigned int cs)
{
if (((cs >= 0) && (cs < 8)) && ((bus >= 0) && (bus < 8)))
diff --git a/drivers/spi/kirkwood_spi.c b/drivers/spi/kirkwood_spi.c
index c725625146..afb25e6ee9 100644
--- a/drivers/spi/kirkwood_spi.c
+++ b/drivers/spi/kirkwood_spi.c
@@ -93,7 +93,7 @@ static int _spi_xfer(struct kwspi_registers *reg, unsigned int bitlen,
return 0;
}
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
static struct kwspi_registers *spireg =
(struct kwspi_registers *)MVEBU_SPI_BASE;
diff --git a/drivers/spi/mxc_spi.c b/drivers/spi/mxc_spi.c
index d94aaf9fdb..efcb214fae 100644
--- a/drivers/spi/mxc_spi.c
+++ b/drivers/spi/mxc_spi.c
@@ -63,7 +63,7 @@ static inline struct mxc_spi_slave *to_mxc_spi_slave(struct spi_slave *slave)
static void mxc_spi_cs_activate(struct mxc_spi_slave *mxcs)
{
-#if defined(CONFIG_DM_SPI)
+#if CONFIG_IS_ENABLED(DM_SPI)
struct udevice *dev = mxcs->dev;
struct dm_spi_slave_platdata *slave_plat = dev_get_parent_platdata(dev);
@@ -81,7 +81,7 @@ static void mxc_spi_cs_activate(struct mxc_spi_slave *mxcs)
static void mxc_spi_cs_deactivate(struct mxc_spi_slave *mxcs)
{
-#if defined(CONFIG_DM_SPI)
+#if CONFIG_IS_ENABLED(DM_SPI)
struct udevice *dev = mxcs->dev;
struct dm_spi_slave_platdata *slave_plat = dev_get_parent_platdata(dev);
@@ -411,7 +411,7 @@ static int mxc_spi_claim_bus_internal(struct mxc_spi_slave *mxcs, int cs)
return 0;
}
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
void *din, unsigned long flags)
{
diff --git a/drivers/spi/omap3_spi.c b/drivers/spi/omap3_spi.c
index ff4c700645..9508947c61 100644
--- a/drivers/spi/omap3_spi.c
+++ b/drivers/spi/omap3_spi.c
@@ -108,7 +108,7 @@ struct mcspi {
};
struct omap3_spi_priv {
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
struct spi_slave slave;
#endif
struct mcspi *regs;
@@ -454,7 +454,7 @@ static void _omap3_spi_claim_bus(struct omap3_spi_priv *priv)
writel(conf, &priv->regs->modulctrl);
}
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
static inline struct omap3_spi_priv *to_omap3_spi(struct spi_slave *slave)
{
diff --git a/drivers/spi/sh_qspi.c b/drivers/spi/sh_qspi.c
index 5ae203d8d4..37f83b0bab 100644
--- a/drivers/spi/sh_qspi.c
+++ b/drivers/spi/sh_qspi.c
@@ -67,7 +67,7 @@ struct sh_qspi_regs {
};
struct sh_qspi_slave {
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
struct spi_slave slave;
#endif
struct sh_qspi_regs *regs;
@@ -222,7 +222,7 @@ static int sh_qspi_xfer_common(struct sh_qspi_slave *ss, unsigned int bitlen,
return ret;
}
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
static inline struct sh_qspi_slave *to_sh_qspi(struct spi_slave *slave)
{
return container_of(slave, struct sh_qspi_slave, slave);
diff --git a/env/sf.c b/env/sf.c
index 590d0cedd8..59d8af2ec6 100644
--- a/env/sf.c
+++ b/env/sf.c
@@ -38,7 +38,7 @@ static struct spi_flash *env_flash;
static int setup_flash_device(void)
{
-#ifdef CONFIG_DM_SPI_FLASH
+#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
struct udevice *new;
int ret;
diff --git a/include/spi.h b/include/spi.h
index 378594163b..81e07b2da6 100644
--- a/include/spi.h
+++ b/include/spi.h
@@ -36,7 +36,7 @@
#define SPI_DEFAULT_WORDLEN 8
-#ifdef CONFIG_DM_SPI
+#if CONFIG_IS_ENABLED(DM_SPI)
/* TODO(sjg at chromium.org): Remove this and use max_hz from struct spi_slave */
struct dm_spi_bus {
uint max_hz;
@@ -95,7 +95,7 @@ struct dm_spi_slave_platdata {
* @flags: Indication of SPI flags.
*/
struct spi_slave {
-#ifdef CONFIG_DM_SPI
+#if CONFIG_IS_ENABLED(DM_SPI)
struct udevice *dev; /* struct spi_slave is dev->parentdata */
uint max_hz;
uint speed;
@@ -261,7 +261,7 @@ void spi_flash_copy_mmap(void *data, void *offset, size_t len);
*/
int spi_cs_is_valid(unsigned int bus, unsigned int cs);
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
/**
* Activate a SPI chipselect.
* This function is provided by the board code when using a driver
@@ -311,7 +311,7 @@ static inline int spi_w8r8(struct spi_slave *slave, unsigned char byte)
return ret < 0 ? ret : din[1];
}
-#ifdef CONFIG_DM_SPI
+#if CONFIG_IS_ENABLED(DM_SPI)
/**
* struct spi_cs_info - Information about a bus chip select
diff --git a/include/spi_flash.h b/include/spi_flash.h
index 55b4721813..d63465758f 100644
--- a/include/spi_flash.h
+++ b/include/spi_flash.h
@@ -52,7 +52,7 @@ struct dm_spi_flash_ops {
/* Access the serial operations for a device */
#define sf_get_ops(dev) ((struct dm_spi_flash_ops *)(dev)->driver->ops)
-#ifdef CONFIG_DM_SPI_FLASH
+#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
/**
* spi_flash_read_dm() - Read data from SPI flash
*
diff --git a/test/dm/spi.c b/test/dm/spi.c
index ffd789cd7f..e101a078fd 100644
--- a/test/dm/spi.c
+++ b/test/dm/spi.c
@@ -117,7 +117,7 @@ static int dm_test_spi_xfer(struct unit_test_state *uts)
* Since we are about to destroy all devices, we must tell sandbox
* to forget the emulation device
*/
-#ifdef CONFIG_DM_SPI_FLASH
+#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
sandbox_sf_unbind_emul(state_get_current(), busnum, cs);
#endif
--
2.11.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*
2019-09-04 22:16 [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI* Lukasz Majewski
` (2 preceding siblings ...)
2019-09-04 22:16 ` [U-Boot] [PATCH v3 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI* Lukasz Majewski
@ 2019-09-05 18:09 ` Tom Rini
2019-09-09 11:11 ` Schrempf Frieder
3 siblings, 1 reply; 11+ messages in thread
From: Tom Rini @ 2019-09-05 18:09 UTC (permalink / raw)
To: u-boot
On Thu, Sep 05, 2019 at 12:16:36AM +0200, Lukasz Majewski wrote:
> This patch series introduces new SPL and TPL specific Kconfig entries for
> DM_SPI* options. Such change allows using the spi driver in SPL/TPL or
> U-Boot proper.
>
> First two patches - related to ls10{42}* NXP soc fix some issues with
> defining the DM_SPI* defines in <board>.h file instead of Kconfig.
>
> This series doesn't introduce build breaks, but board maintainers are kindly
> asked to check if their boards still boots.
>
> Buildman setup for binary size regression checking:
>
> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043 --output-dir=../BUILD/ --force-build -CveE
> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043 --output-dir=../BUILD/ -Ssdel
So you did fix the ls1043 problems but ls1046 is still a problem.
There's also changes in (add 'B' to the buildman flags above for this
info):
x86: (for 26/26 boards) spl/u-boot-spl:all -31.6 spl/u-boot-spl:data -11.4 spl/u-boot-spl:rodata -6.3 spl/u-boot-spl:text -13.9
qemu-x86_64 : spl/u-boot-spl:all -821 spl/u-boot-spl:data -296 spl/u-boot-spl:rodata -164 spl/u-boot-spl:text -361
spl-u-boot-spl: add: 0/-10, grow: 0/0 bytes: 0/-657 (-657)
function old new delta
spi_flash_post_bind 3 - -3
dev_get_parent_priv 11 - -11
spi_post_probe 35 - -35
spi_child_post_bind 37 - -37
spi_child_pre_probe 46 - -46
_u_boot_list_2_driver_2_spi_generic_drv 68 - -68
_u_boot_list_2_uclass_2_spi_nor 76 - -76
_u_boot_list_2_uclass_2_spi_generic 76 - -76
_u_boot_list_2_uclass_2_spi 76 - -76
spi_slave_ofdata_to_platdata 229 - -229
arm: (for 688/688 boards) all -19.6 bss -4.5 rodata -2.2 spl/u-boot-spl:all -12.2 spl/u-boot-spl:bss -1.1 spl/u-boot-spl:data -1.9 spl/u-boot-spl:rodata -2.0 spl/u-boot-spl:text -7.2 text -12.9
uniphier_v7 : bss -8 rodata +8
opos6uldev : bss -8 rodata +8
uniphier_ld4_sld8: bss -8 rodata +8
da850evm : spl/u-boot-spl:all -614 spl/u-boot-spl:data -144 spl/u-boot-spl:rodata -150 spl/u-boot-spl:text -320
spl-u-boot-spl: add: 2/-15, grow: 2/0 bytes: 112/-574 (-462)
function old new delta
spi_flash_probe 38 82 +44
spi_setup_slave - 42 +42
spl_spi_load_image 124 144 +20
spi_free_slave - 6 +6
spi_flash_std_remove 4 - -4
spi_flash_post_bind 4 - -4
spi_flash_cmd_get_sw_write_prot 8 - -8
____aeabi_uidivmod_from_thumb 8 - -8
spi_flash_std_get_sw_write_prot 18 - -18
spi_flash_read_dm 20 - -20
__aeabi_uidivmod 24 - -24
__aeabi_idivmod 24 - -24
spi_flash_std_write 42 - -42
spi_flash_std_read 42 - -42
spi_flash_probe_bus_cs 56 - -56
_u_boot_list_2_driver_2_spi_flash_std 68 - -68
_u_boot_list_2_uclass_2_spi_nor 76 - -76
spi_flash_std_probe 88 - -88
spi_flash_std_erase 92 - -92
da850evm_nand : spl/u-boot-spl:all -614 spl/u-boot-spl:data -144 spl/u-boot-spl:rodata -150 spl/u-boot-spl:text -320
spl-u-boot-spl: add: 2/-15, grow: 2/0 bytes: 112/-574 (-462)
function old new delta
spi_flash_probe 38 82 +44
spi_setup_slave - 42 +42
spl_spi_load_image 124 144 +20
spi_free_slave - 6 +6
spi_flash_std_remove 4 - -4
spi_flash_post_bind 4 - -4
spi_flash_cmd_get_sw_write_prot 8 - -8
____aeabi_uidivmod_from_thumb 8 - -8
spi_flash_std_get_sw_write_prot 18 - -18
spi_flash_read_dm 20 - -20
__aeabi_uidivmod 24 - -24
__aeabi_idivmod 24 - -24
spi_flash_std_write 42 - -42
spi_flash_std_read 42 - -42
spi_flash_probe_bus_cs 56 - -56
_u_boot_list_2_driver_2_spi_flash_std 68 - -68
_u_boot_list_2_uclass_2_spi_nor 76 - -76
spi_flash_std_probe 88 - -88
spi_flash_std_erase 92 - -92
sama5d3xek_spiflash: spl/u-boot-spl:all -630 spl/u-boot-spl:data -144 spl/u-boot-spl:rodata -150 spl/u-boot-spl:text -336
spl-u-boot-spl: add: 2/-12, grow: 2/0 bytes: 196/-676 (-480)
function old new delta
spi_flash_probe 44 120 +76
spi_setup_slave - 60 +60
spl_spi_load_image 172 220 +48
spi_free_slave - 12 +12
spi_flash_std_remove 8 - -8
spi_flash_post_bind 8 - -8
spi_flash_cmd_get_sw_write_prot 12 - -12
spi_flash_std_get_sw_write_prot 16 - -16
spi_flash_read_dm 28 - -28
spi_flash_std_write 64 - -64
spi_flash_std_read 64 - -64
_u_boot_list_2_driver_2_spi_flash_std 68 - -68
spi_flash_probe_bus_cs 76 - -76
_u_boot_list_2_uclass_2_spi_nor 76 - -76
spi_flash_std_probe 116 - -116
spi_flash_std_erase 140 - -140
socfpga_cyclone5: all -722 bss -136 rodata -98 text -488
u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
function old new delta
sf_mtd_registered 1 - -1
spi_flash_mtd_sync 2 - -2
spi_flash_std_remove 10 4 -6
sf_mtd_name 8 - -8
spi_flash_std_probe 88 76 -12
spi_flash_mtd_write 38 - -38
spi_flash_mtd_read 38 - -38
spi_flash_mtd_unregister 52 - -52
spi_flash_mtd_erase 78 - -78
spi_flash_mtd_register 172 - -172
sf_mtd_info 240 - -240
socfpga_socrates: all -794 bss -208 rodata -98 text -488
u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
function old new delta
sf_mtd_registered 1 - -1
spi_flash_mtd_sync 2 - -2
spi_flash_std_remove 10 4 -6
sf_mtd_name 8 - -8
spi_flash_std_probe 88 76 -12
spi_flash_mtd_write 38 - -38
spi_flash_mtd_read 38 - -38
spi_flash_mtd_unregister 52 - -52
spi_flash_mtd_erase 78 - -78
spi_flash_mtd_register 172 - -172
sf_mtd_info 240 - -240
socfpga_sockit : all -794 bss -208 rodata -98 text -488
u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
function old new delta
sf_mtd_registered 1 - -1
spi_flash_mtd_sync 2 - -2
spi_flash_std_remove 10 4 -6
sf_mtd_name 8 - -8
spi_flash_std_probe 88 76 -12
spi_flash_mtd_write 38 - -38
spi_flash_mtd_read 38 - -38
spi_flash_mtd_unregister 52 - -52
spi_flash_mtd_erase 78 - -78
spi_flash_mtd_register 172 - -172
sf_mtd_info 240 - -240
socfpga_arria5 : all -794 bss -208 rodata -98 text -488
u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
function old new delta
sf_mtd_registered 1 - -1
spi_flash_mtd_sync 2 - -2
spi_flash_std_remove 10 4 -6
sf_mtd_name 8 - -8
spi_flash_std_probe 88 76 -12
spi_flash_mtd_write 38 - -38
spi_flash_mtd_read 38 - -38
spi_flash_mtd_unregister 52 - -52
spi_flash_mtd_erase 78 - -78
spi_flash_mtd_register 172 - -172
sf_mtd_info 240 - -240
socfpga_is1 : all -794 bss -208 rodata -98 text -488
u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
function old new delta
sf_mtd_registered 1 - -1
spi_flash_mtd_sync 2 - -2
spi_flash_std_remove 10 4 -6
sf_mtd_name 8 - -8
spi_flash_std_probe 88 76 -12
spi_flash_mtd_write 38 - -38
spi_flash_mtd_read 38 - -38
spi_flash_mtd_unregister 52 - -52
spi_flash_mtd_erase 78 - -78
spi_flash_mtd_register 172 - -172
sf_mtd_info 240 - -240
socfpga_vining_fpga: all -858 bss -272 rodata -98 text -488
u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
function old new delta
sf_mtd_registered 1 - -1
spi_flash_mtd_sync 2 - -2
spi_flash_std_remove 10 4 -6
sf_mtd_name 8 - -8
spi_flash_std_probe 88 76 -12
spi_flash_mtd_write 38 - -38
spi_flash_mtd_read 38 - -38
spi_flash_mtd_unregister 52 - -52
spi_flash_mtd_erase 78 - -78
spi_flash_mtd_register 172 - -172
sf_mtd_info 240 - -240
socfpga_sr1500 : all -858 bss -280 rodata -98 text -480
u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
function old new delta
sf_mtd_registered 1 - -1
spi_flash_mtd_sync 2 - -2
spi_flash_std_remove 10 4 -6
sf_mtd_name 8 - -8
spi_flash_std_probe 88 76 -12
spi_flash_mtd_write 38 - -38
spi_flash_mtd_read 38 - -38
spi_flash_mtd_unregister 52 - -52
spi_flash_mtd_erase 78 - -78
spi_flash_mtd_register 172 - -172
sf_mtd_info 240 - -240
cm_fx6 : all -1130 bss -296 rodata -146 text -688
u-boot: add: 0/-11, grow: 0/-2 bytes: 0/-829 (-829)
function old new delta
sf_mtd_registered 1 - -1
spi_flash_mtd_sync 2 - -2
spi_flash_free 26 22 -4
sf_mtd_name 8 - -8
spi_flash_probe 88 78 -10
idr_remove 20 - -20
spi_flash_mtd_write 44 - -44
spi_flash_mtd_read 44 - -44
spi_flash_mtd_unregister 52 - -52
del_mtd_device 68 - -68
spi_flash_mtd_erase 164 - -164
spi_flash_mtd_register 172 - -172
sf_mtd_info 240 - -240
aristainetos : all -1186 bss -264 rodata -98 text -824
u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-981 (-981)
function old new delta
sf_mtd_registered 1 - -1
spi_flash_mtd_sync 4 - -4
spi_flash_free 32 28 -4
sf_mtd_name 8 - -8
spi_flash_probe 136 120 -16
spi_flash_mtd_write 80 - -80
spi_flash_mtd_read 80 - -80
spi_flash_mtd_unregister 84 - -84
spi_flash_mtd_erase 220 - -220
sf_mtd_info 240 - -240
spi_flash_mtd_register 244 - -244
aristainetos2 : all -1186 bss -264 rodata -98 text -824
u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-981 (-981)
function old new delta
sf_mtd_registered 1 - -1
spi_flash_mtd_sync 4 - -4
spi_flash_free 32 28 -4
sf_mtd_name 8 - -8
spi_flash_probe 136 120 -16
spi_flash_mtd_write 80 - -80
spi_flash_mtd_read 80 - -80
spi_flash_mtd_unregister 84 - -84
spi_flash_mtd_erase 220 - -220
sf_mtd_info 240 - -240
spi_flash_mtd_register 244 - -244
aristainetos2b : all -1186 bss -264 rodata -98 text -824
u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-981 (-981)
function old new delta
sf_mtd_registered 1 - -1
spi_flash_mtd_sync 4 - -4
spi_flash_free 32 28 -4
sf_mtd_name 8 - -8
spi_flash_probe 136 120 -16
spi_flash_mtd_write 80 - -80
spi_flash_mtd_read 80 - -80
spi_flash_mtd_unregister 84 - -84
spi_flash_mtd_erase 220 - -220
sf_mtd_info 240 - -240
spi_flash_mtd_register 244 - -244
display5_factory: all -1561 bss -216 rodata -201 text -1144
u-boot: add: 0/-13, grow: 0/-2 bytes: 0/-1237 (-1237)
function old new delta
sf_mtd_registered 1 - -1
spi_flash_mtd_sync 2 - -2
spi_flash_free 26 22 -4
sf_mtd_name 8 - -8
spi_flash_probe 88 78 -10
idr_remove 20 - -20
spi_flash_mtd_write 44 - -44
spi_flash_mtd_read 44 - -44
spi_flash_mtd_unregister 52 - -52
del_mtd_device 68 - -68
mtd_unlock 80 - -80
spi_flash_mtd_erase 164 - -164
spi_flash_mtd_register 172 - -172
sf_mtd_info 240 - -240
add_mtd_device 328 - -328
display5 : all -1605 bss -248 rodata -201 text -1156
u-boot: add: 0/-13, grow: 0/-2 bytes: 0/-1237 (-1237)
function old new delta
sf_mtd_registered 1 - -1
spi_flash_mtd_sync 2 - -2
spi_flash_free 26 22 -4
sf_mtd_name 8 - -8
spi_flash_probe 88 78 -10
idr_remove 20 - -20
spi_flash_mtd_write 44 - -44
spi_flash_mtd_read 44 - -44
spi_flash_mtd_unregister 52 - -52
del_mtd_device 68 - -68
mtd_unlock 80 - -80
spi_flash_mtd_erase 164 - -164
spi_flash_mtd_register 172 - -172
sf_mtd_info 240 - -240
add_mtd_device 328 - -328
brppt1_spi : spl/u-boot-spl:all -2109 spl/u-boot-spl:bss -4 spl/u-boot-spl:data -436 spl/u-boot-spl:rodata -309 spl/u-boot-spl:text -1360
spl-u-boot-spl: add: 3/-41, grow: 5/-2 bytes: 1310/-3100 (-1790)
function old new delta
spi_xfer 6 800 +794
spi_claim_bus 6 248 +242
spi_setup_slave - 156 +156
spi_do_alloc_slave - 48 +48
spi_flash_probe 26 72 +46
spl_spi_load_image 124 140 +16
spi_release_bus 6 12 +6
spi_free_slave - 2 +2
spi_flash_std_remove 4 - -4
spi_flash_post_bind 4 - -4
omap4_pdata 4 - -4
omap2_pdata 4 - -4
dev_get_parent_priv 6 - -6
spi_flash_cmd_get_sw_write_prot 8 - -8
spi_flash_std_get_sw_write_prot 14 - -14
spi_flash_read_dm 14 - -14
dm_spi_release_bus 14 - -14
ofnode_read_bool 16 - -16
fdtdec_get_bool 20 - -20
omap3_spi_release_bus 22 - -22
spi_mem_adjust_op_size 92 68 -24
spi_child_post_bind 30 - -30
spi_post_probe 32 - -32
spi_flash_std_write 34 - -34
spi_flash_std_read 34 - -34
spi_child_pre_probe 34 - -34
dm_spi_xfer 34 - -34
spi_mem_supports_op 36 - -36
spi_flash_probe_bus_cs 48 - -48
spi_find_chip_select 50 - -50
omap3_spi_claim_bus 54 - -54
static.spi_check_buswidth_req 56 - -56
omap3_spi_set_wordlen 62 - -62
spi_mem_exec_op 284 220 -64
_u_boot_list_2_driver_2_spi_generic_drv 68 - -68
_u_boot_list_2_driver_2_spi_flash_std 68 - -68
_u_boot_list_2_driver_2_omap3_spi 68 - -68
spi_set_speed_mode 72 - -72
spi_flash_std_probe 76 - -76
omap3_spi_set_speed 76 - -76
_u_boot_list_2_uclass_2_spi_nor 76 - -76
_u_boot_list_2_uclass_2_spi_generic 76 - -76
_u_boot_list_2_uclass_2_spi 76 - -76
spi_flash_std_erase 84 - -84
spi_mem_default_supports_op 86 - -86
omap3_spi_set_mode 96 - -96
dm_spi_claim_bus 100 - -100
omap3_spi_probe 116 - -116
spi_slave_ofdata_to_platdata 212 - -212
spi_get_bus_and_cs 232 - -232
omap3_spi_xfer 796 - -796
brsmarc1 : spl/u-boot-spl:all -2113 spl/u-boot-spl:bss -4 spl/u-boot-spl:data -436 spl/u-boot-spl:rodata -309 spl/u-boot-spl:text -1364
spl-u-boot-spl: add: 3/-41, grow: 5/-2 bytes: 1310/-3100 (-1790)
function old new delta
spi_xfer 6 800 +794
spi_claim_bus 6 248 +242
spi_setup_slave - 156 +156
spi_do_alloc_slave - 48 +48
spi_flash_probe 26 72 +46
spl_spi_load_image 124 140 +16
spi_release_bus 6 12 +6
spi_free_slave - 2 +2
spi_flash_std_remove 4 - -4
spi_flash_post_bind 4 - -4
omap4_pdata 4 - -4
omap2_pdata 4 - -4
dev_get_parent_priv 6 - -6
spi_flash_cmd_get_sw_write_prot 8 - -8
spi_flash_std_get_sw_write_prot 14 - -14
spi_flash_read_dm 14 - -14
dm_spi_release_bus 14 - -14
ofnode_read_bool 16 - -16
fdtdec_get_bool 20 - -20
omap3_spi_release_bus 22 - -22
spi_mem_adjust_op_size 92 68 -24
spi_child_post_bind 30 - -30
spi_post_probe 32 - -32
spi_flash_std_write 34 - -34
spi_flash_std_read 34 - -34
spi_child_pre_probe 34 - -34
dm_spi_xfer 34 - -34
spi_mem_supports_op 36 - -36
spi_flash_probe_bus_cs 48 - -48
spi_find_chip_select 50 - -50
omap3_spi_claim_bus 54 - -54
static.spi_check_buswidth_req 56 - -56
omap3_spi_set_wordlen 62 - -62
spi_mem_exec_op 284 220 -64
_u_boot_list_2_driver_2_spi_generic_drv 68 - -68
_u_boot_list_2_driver_2_spi_flash_std 68 - -68
_u_boot_list_2_driver_2_omap3_spi 68 - -68
spi_set_speed_mode 72 - -72
spi_flash_std_probe 76 - -76
omap3_spi_set_speed 76 - -76
_u_boot_list_2_uclass_2_spi_nor 76 - -76
_u_boot_list_2_uclass_2_spi_generic 76 - -76
_u_boot_list_2_uclass_2_spi 76 - -76
spi_flash_std_erase 84 - -84
spi_mem_default_supports_op 86 - -86
omap3_spi_set_mode 96 - -96
dm_spi_claim_bus 100 - -100
omap3_spi_probe 116 - -116
spi_slave_ofdata_to_platdata 212 - -212
spi_get_bus_and_cs 232 - -232
omap3_spi_xfer 796 - -796
stm32mp15_basic: spl/u-boot-spl:all -2312 spl/u-boot-spl:bss -772 spl/u-boot-spl:rodata -292 spl/u-boot-spl:text -1248
spl-u-boot-spl: add: 0/-19, grow: 0/-2 bytes: 0/-2013 (-2013)
function old new delta
sf_mtd_registered 1 - -1
spi_flash_mtd_sync 2 - -2
spi_flash_std_remove 10 4 -6
spi_flash_erase_dm 8 - -8
sf_mtd_name 8 - -8
spi_flash_std_probe 88 76 -12
spi_flash_write_dm 14 - -14
idr_remove 20 - -20
spi_flash_mtd_write 38 - -38
spi_flash_mtd_read 38 - -38
spi_flash_mtd_unregister 52 - -52
spi_flash_mtd_erase 78 - -78
mtd_unlock 80 - -80
del_mtd_device 80 - -80
mtd_erase_callback 88 - -88
part_erase 96 - -96
del_mtd_partitions 136 - -136
spi_flash_mtd_register 172 - -172
sf_mtd_info 240 - -240
add_mtd_device 328 - -328
mtd_idr 516 - -516
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190905/56d05d8c/attachment.sig>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*
2019-09-05 18:09 ` [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI* Tom Rini
@ 2019-09-09 11:11 ` Schrempf Frieder
2019-09-09 12:00 ` Lukasz Majewski
0 siblings, 1 reply; 11+ messages in thread
From: Schrempf Frieder @ 2019-09-09 11:11 UTC (permalink / raw)
To: u-boot
Hi Lukasz,
On 05.09.19 20:09, Tom Rini wrote:
> On Thu, Sep 05, 2019 at 12:16:36AM +0200, Lukasz Majewski wrote:
>> This patch series introduces new SPL and TPL specific Kconfig entries for
>> DM_SPI* options. Such change allows using the spi driver in SPL/TPL or
>> U-Boot proper.
>>
>> First two patches - related to ls10{42}* NXP soc fix some issues with
>> defining the DM_SPI* defines in <board>.h file instead of Kconfig.
>>
>> This series doesn't introduce build breaks, but board maintainers are kindly
>> asked to check if their boards still boots.
>>
>> Buildman setup for binary size regression checking:
>>
>> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043 --output-dir=../BUILD/ --force-build -CveE
>> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043 --output-dir=../BUILD/ -Ssdel
>
> So you did fix the ls1043 problems but ls1046 is still a problem.
I was trying to clean up this config mess some weeks ago. I stumbled
over the same issues (size deltas below) when I tested with buildman and
finally gave up on it. This was my testing branch for reference: [1].
Thanks for your work and I hope you/we can get this sorted out somehow...
Regards,
Frieder
[1]: https://github.com/fschrempf/u-boot/commits/non_dm_spi_flash_in_spl
> There's also changes in (add 'B' to the buildman flags above for this
> info):
> x86: (for 26/26 boards) spl/u-boot-spl:all -31.6 spl/u-boot-spl:data -11.4 spl/u-boot-spl:rodata -6.3 spl/u-boot-spl:text -13.9
> qemu-x86_64 : spl/u-boot-spl:all -821 spl/u-boot-spl:data -296 spl/u-boot-spl:rodata -164 spl/u-boot-spl:text -361
> spl-u-boot-spl: add: 0/-10, grow: 0/0 bytes: 0/-657 (-657)
> function old new delta
> spi_flash_post_bind 3 - -3
> dev_get_parent_priv 11 - -11
> spi_post_probe 35 - -35
> spi_child_post_bind 37 - -37
> spi_child_pre_probe 46 - -46
> _u_boot_list_2_driver_2_spi_generic_drv 68 - -68
> _u_boot_list_2_uclass_2_spi_nor 76 - -76
> _u_boot_list_2_uclass_2_spi_generic 76 - -76
> _u_boot_list_2_uclass_2_spi 76 - -76
> spi_slave_ofdata_to_platdata 229 - -229
> arm: (for 688/688 boards) all -19.6 bss -4.5 rodata -2.2 spl/u-boot-spl:all -12.2 spl/u-boot-spl:bss -1.1 spl/u-boot-spl:data -1.9 spl/u-boot-spl:rodata -2.0 spl/u-boot-spl:text -7.2 text -12.9
> uniphier_v7 : bss -8 rodata +8
> opos6uldev : bss -8 rodata +8
> uniphier_ld4_sld8: bss -8 rodata +8
> da850evm : spl/u-boot-spl:all -614 spl/u-boot-spl:data -144 spl/u-boot-spl:rodata -150 spl/u-boot-spl:text -320
> spl-u-boot-spl: add: 2/-15, grow: 2/0 bytes: 112/-574 (-462)
> function old new delta
> spi_flash_probe 38 82 +44
> spi_setup_slave - 42 +42
> spl_spi_load_image 124 144 +20
> spi_free_slave - 6 +6
> spi_flash_std_remove 4 - -4
> spi_flash_post_bind 4 - -4
> spi_flash_cmd_get_sw_write_prot 8 - -8
> ____aeabi_uidivmod_from_thumb 8 - -8
> spi_flash_std_get_sw_write_prot 18 - -18
> spi_flash_read_dm 20 - -20
> __aeabi_uidivmod 24 - -24
> __aeabi_idivmod 24 - -24
> spi_flash_std_write 42 - -42
> spi_flash_std_read 42 - -42
> spi_flash_probe_bus_cs 56 - -56
> _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> _u_boot_list_2_uclass_2_spi_nor 76 - -76
> spi_flash_std_probe 88 - -88
> spi_flash_std_erase 92 - -92
> da850evm_nand : spl/u-boot-spl:all -614 spl/u-boot-spl:data -144 spl/u-boot-spl:rodata -150 spl/u-boot-spl:text -320
> spl-u-boot-spl: add: 2/-15, grow: 2/0 bytes: 112/-574 (-462)
> function old new delta
> spi_flash_probe 38 82 +44
> spi_setup_slave - 42 +42
> spl_spi_load_image 124 144 +20
> spi_free_slave - 6 +6
> spi_flash_std_remove 4 - -4
> spi_flash_post_bind 4 - -4
> spi_flash_cmd_get_sw_write_prot 8 - -8
> ____aeabi_uidivmod_from_thumb 8 - -8
> spi_flash_std_get_sw_write_prot 18 - -18
> spi_flash_read_dm 20 - -20
> __aeabi_uidivmod 24 - -24
> __aeabi_idivmod 24 - -24
> spi_flash_std_write 42 - -42
> spi_flash_std_read 42 - -42
> spi_flash_probe_bus_cs 56 - -56
> _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> _u_boot_list_2_uclass_2_spi_nor 76 - -76
> spi_flash_std_probe 88 - -88
> spi_flash_std_erase 92 - -92
> sama5d3xek_spiflash: spl/u-boot-spl:all -630 spl/u-boot-spl:data -144 spl/u-boot-spl:rodata -150 spl/u-boot-spl:text -336
> spl-u-boot-spl: add: 2/-12, grow: 2/0 bytes: 196/-676 (-480)
> function old new delta
> spi_flash_probe 44 120 +76
> spi_setup_slave - 60 +60
> spl_spi_load_image 172 220 +48
> spi_free_slave - 12 +12
> spi_flash_std_remove 8 - -8
> spi_flash_post_bind 8 - -8
> spi_flash_cmd_get_sw_write_prot 12 - -12
> spi_flash_std_get_sw_write_prot 16 - -16
> spi_flash_read_dm 28 - -28
> spi_flash_std_write 64 - -64
> spi_flash_std_read 64 - -64
> _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> spi_flash_probe_bus_cs 76 - -76
> _u_boot_list_2_uclass_2_spi_nor 76 - -76
> spi_flash_std_probe 116 - -116
> spi_flash_std_erase 140 - -140
> socfpga_cyclone5: all -722 bss -136 rodata -98 text -488
> u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
> function old new delta
> sf_mtd_registered 1 - -1
> spi_flash_mtd_sync 2 - -2
> spi_flash_std_remove 10 4 -6
> sf_mtd_name 8 - -8
> spi_flash_std_probe 88 76 -12
> spi_flash_mtd_write 38 - -38
> spi_flash_mtd_read 38 - -38
> spi_flash_mtd_unregister 52 - -52
> spi_flash_mtd_erase 78 - -78
> spi_flash_mtd_register 172 - -172
> sf_mtd_info 240 - -240
> socfpga_socrates: all -794 bss -208 rodata -98 text -488
> u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
> function old new delta
> sf_mtd_registered 1 - -1
> spi_flash_mtd_sync 2 - -2
> spi_flash_std_remove 10 4 -6
> sf_mtd_name 8 - -8
> spi_flash_std_probe 88 76 -12
> spi_flash_mtd_write 38 - -38
> spi_flash_mtd_read 38 - -38
> spi_flash_mtd_unregister 52 - -52
> spi_flash_mtd_erase 78 - -78
> spi_flash_mtd_register 172 - -172
> sf_mtd_info 240 - -240
> socfpga_sockit : all -794 bss -208 rodata -98 text -488
> u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
> function old new delta
> sf_mtd_registered 1 - -1
> spi_flash_mtd_sync 2 - -2
> spi_flash_std_remove 10 4 -6
> sf_mtd_name 8 - -8
> spi_flash_std_probe 88 76 -12
> spi_flash_mtd_write 38 - -38
> spi_flash_mtd_read 38 - -38
> spi_flash_mtd_unregister 52 - -52
> spi_flash_mtd_erase 78 - -78
> spi_flash_mtd_register 172 - -172
> sf_mtd_info 240 - -240
> socfpga_arria5 : all -794 bss -208 rodata -98 text -488
> u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
> function old new delta
> sf_mtd_registered 1 - -1
> spi_flash_mtd_sync 2 - -2
> spi_flash_std_remove 10 4 -6
> sf_mtd_name 8 - -8
> spi_flash_std_probe 88 76 -12
> spi_flash_mtd_write 38 - -38
> spi_flash_mtd_read 38 - -38
> spi_flash_mtd_unregister 52 - -52
> spi_flash_mtd_erase 78 - -78
> spi_flash_mtd_register 172 - -172
> sf_mtd_info 240 - -240
> socfpga_is1 : all -794 bss -208 rodata -98 text -488
> u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
> function old new delta
> sf_mtd_registered 1 - -1
> spi_flash_mtd_sync 2 - -2
> spi_flash_std_remove 10 4 -6
> sf_mtd_name 8 - -8
> spi_flash_std_probe 88 76 -12
> spi_flash_mtd_write 38 - -38
> spi_flash_mtd_read 38 - -38
> spi_flash_mtd_unregister 52 - -52
> spi_flash_mtd_erase 78 - -78
> spi_flash_mtd_register 172 - -172
> sf_mtd_info 240 - -240
> socfpga_vining_fpga: all -858 bss -272 rodata -98 text -488
> u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
> function old new delta
> sf_mtd_registered 1 - -1
> spi_flash_mtd_sync 2 - -2
> spi_flash_std_remove 10 4 -6
> sf_mtd_name 8 - -8
> spi_flash_std_probe 88 76 -12
> spi_flash_mtd_write 38 - -38
> spi_flash_mtd_read 38 - -38
> spi_flash_mtd_unregister 52 - -52
> spi_flash_mtd_erase 78 - -78
> spi_flash_mtd_register 172 - -172
> sf_mtd_info 240 - -240
> socfpga_sr1500 : all -858 bss -280 rodata -98 text -480
> u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
> function old new delta
> sf_mtd_registered 1 - -1
> spi_flash_mtd_sync 2 - -2
> spi_flash_std_remove 10 4 -6
> sf_mtd_name 8 - -8
> spi_flash_std_probe 88 76 -12
> spi_flash_mtd_write 38 - -38
> spi_flash_mtd_read 38 - -38
> spi_flash_mtd_unregister 52 - -52
> spi_flash_mtd_erase 78 - -78
> spi_flash_mtd_register 172 - -172
> sf_mtd_info 240 - -240
> cm_fx6 : all -1130 bss -296 rodata -146 text -688
> u-boot: add: 0/-11, grow: 0/-2 bytes: 0/-829 (-829)
> function old new delta
> sf_mtd_registered 1 - -1
> spi_flash_mtd_sync 2 - -2
> spi_flash_free 26 22 -4
> sf_mtd_name 8 - -8
> spi_flash_probe 88 78 -10
> idr_remove 20 - -20
> spi_flash_mtd_write 44 - -44
> spi_flash_mtd_read 44 - -44
> spi_flash_mtd_unregister 52 - -52
> del_mtd_device 68 - -68
> spi_flash_mtd_erase 164 - -164
> spi_flash_mtd_register 172 - -172
> sf_mtd_info 240 - -240
> aristainetos : all -1186 bss -264 rodata -98 text -824
> u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-981 (-981)
> function old new delta
> sf_mtd_registered 1 - -1
> spi_flash_mtd_sync 4 - -4
> spi_flash_free 32 28 -4
> sf_mtd_name 8 - -8
> spi_flash_probe 136 120 -16
> spi_flash_mtd_write 80 - -80
> spi_flash_mtd_read 80 - -80
> spi_flash_mtd_unregister 84 - -84
> spi_flash_mtd_erase 220 - -220
> sf_mtd_info 240 - -240
> spi_flash_mtd_register 244 - -244
> aristainetos2 : all -1186 bss -264 rodata -98 text -824
> u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-981 (-981)
> function old new delta
> sf_mtd_registered 1 - -1
> spi_flash_mtd_sync 4 - -4
> spi_flash_free 32 28 -4
> sf_mtd_name 8 - -8
> spi_flash_probe 136 120 -16
> spi_flash_mtd_write 80 - -80
> spi_flash_mtd_read 80 - -80
> spi_flash_mtd_unregister 84 - -84
> spi_flash_mtd_erase 220 - -220
> sf_mtd_info 240 - -240
> spi_flash_mtd_register 244 - -244
> aristainetos2b : all -1186 bss -264 rodata -98 text -824
> u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-981 (-981)
> function old new delta
> sf_mtd_registered 1 - -1
> spi_flash_mtd_sync 4 - -4
> spi_flash_free 32 28 -4
> sf_mtd_name 8 - -8
> spi_flash_probe 136 120 -16
> spi_flash_mtd_write 80 - -80
> spi_flash_mtd_read 80 - -80
> spi_flash_mtd_unregister 84 - -84
> spi_flash_mtd_erase 220 - -220
> sf_mtd_info 240 - -240
> spi_flash_mtd_register 244 - -244
> display5_factory: all -1561 bss -216 rodata -201 text -1144
> u-boot: add: 0/-13, grow: 0/-2 bytes: 0/-1237 (-1237)
> function old new delta
> sf_mtd_registered 1 - -1
> spi_flash_mtd_sync 2 - -2
> spi_flash_free 26 22 -4
> sf_mtd_name 8 - -8
> spi_flash_probe 88 78 -10
> idr_remove 20 - -20
> spi_flash_mtd_write 44 - -44
> spi_flash_mtd_read 44 - -44
> spi_flash_mtd_unregister 52 - -52
> del_mtd_device 68 - -68
> mtd_unlock 80 - -80
> spi_flash_mtd_erase 164 - -164
> spi_flash_mtd_register 172 - -172
> sf_mtd_info 240 - -240
> add_mtd_device 328 - -328
> display5 : all -1605 bss -248 rodata -201 text -1156
> u-boot: add: 0/-13, grow: 0/-2 bytes: 0/-1237 (-1237)
> function old new delta
> sf_mtd_registered 1 - -1
> spi_flash_mtd_sync 2 - -2
> spi_flash_free 26 22 -4
> sf_mtd_name 8 - -8
> spi_flash_probe 88 78 -10
> idr_remove 20 - -20
> spi_flash_mtd_write 44 - -44
> spi_flash_mtd_read 44 - -44
> spi_flash_mtd_unregister 52 - -52
> del_mtd_device 68 - -68
> mtd_unlock 80 - -80
> spi_flash_mtd_erase 164 - -164
> spi_flash_mtd_register 172 - -172
> sf_mtd_info 240 - -240
> add_mtd_device 328 - -328
> brppt1_spi : spl/u-boot-spl:all -2109 spl/u-boot-spl:bss -4 spl/u-boot-spl:data -436 spl/u-boot-spl:rodata -309 spl/u-boot-spl:text -1360
> spl-u-boot-spl: add: 3/-41, grow: 5/-2 bytes: 1310/-3100 (-1790)
> function old new delta
> spi_xfer 6 800 +794
> spi_claim_bus 6 248 +242
> spi_setup_slave - 156 +156
> spi_do_alloc_slave - 48 +48
> spi_flash_probe 26 72 +46
> spl_spi_load_image 124 140 +16
> spi_release_bus 6 12 +6
> spi_free_slave - 2 +2
> spi_flash_std_remove 4 - -4
> spi_flash_post_bind 4 - -4
> omap4_pdata 4 - -4
> omap2_pdata 4 - -4
> dev_get_parent_priv 6 - -6
> spi_flash_cmd_get_sw_write_prot 8 - -8
> spi_flash_std_get_sw_write_prot 14 - -14
> spi_flash_read_dm 14 - -14
> dm_spi_release_bus 14 - -14
> ofnode_read_bool 16 - -16
> fdtdec_get_bool 20 - -20
> omap3_spi_release_bus 22 - -22
> spi_mem_adjust_op_size 92 68 -24
> spi_child_post_bind 30 - -30
> spi_post_probe 32 - -32
> spi_flash_std_write 34 - -34
> spi_flash_std_read 34 - -34
> spi_child_pre_probe 34 - -34
> dm_spi_xfer 34 - -34
> spi_mem_supports_op 36 - -36
> spi_flash_probe_bus_cs 48 - -48
> spi_find_chip_select 50 - -50
> omap3_spi_claim_bus 54 - -54
> static.spi_check_buswidth_req 56 - -56
> omap3_spi_set_wordlen 62 - -62
> spi_mem_exec_op 284 220 -64
> _u_boot_list_2_driver_2_spi_generic_drv 68 - -68
> _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> _u_boot_list_2_driver_2_omap3_spi 68 - -68
> spi_set_speed_mode 72 - -72
> spi_flash_std_probe 76 - -76
> omap3_spi_set_speed 76 - -76
> _u_boot_list_2_uclass_2_spi_nor 76 - -76
> _u_boot_list_2_uclass_2_spi_generic 76 - -76
> _u_boot_list_2_uclass_2_spi 76 - -76
> spi_flash_std_erase 84 - -84
> spi_mem_default_supports_op 86 - -86
> omap3_spi_set_mode 96 - -96
> dm_spi_claim_bus 100 - -100
> omap3_spi_probe 116 - -116
> spi_slave_ofdata_to_platdata 212 - -212
> spi_get_bus_and_cs 232 - -232
> omap3_spi_xfer 796 - -796
> brsmarc1 : spl/u-boot-spl:all -2113 spl/u-boot-spl:bss -4 spl/u-boot-spl:data -436 spl/u-boot-spl:rodata -309 spl/u-boot-spl:text -1364
> spl-u-boot-spl: add: 3/-41, grow: 5/-2 bytes: 1310/-3100 (-1790)
> function old new delta
> spi_xfer 6 800 +794
> spi_claim_bus 6 248 +242
> spi_setup_slave - 156 +156
> spi_do_alloc_slave - 48 +48
> spi_flash_probe 26 72 +46
> spl_spi_load_image 124 140 +16
> spi_release_bus 6 12 +6
> spi_free_slave - 2 +2
> spi_flash_std_remove 4 - -4
> spi_flash_post_bind 4 - -4
> omap4_pdata 4 - -4
> omap2_pdata 4 - -4
> dev_get_parent_priv 6 - -6
> spi_flash_cmd_get_sw_write_prot 8 - -8
> spi_flash_std_get_sw_write_prot 14 - -14
> spi_flash_read_dm 14 - -14
> dm_spi_release_bus 14 - -14
> ofnode_read_bool 16 - -16
> fdtdec_get_bool 20 - -20
> omap3_spi_release_bus 22 - -22
> spi_mem_adjust_op_size 92 68 -24
> spi_child_post_bind 30 - -30
> spi_post_probe 32 - -32
> spi_flash_std_write 34 - -34
> spi_flash_std_read 34 - -34
> spi_child_pre_probe 34 - -34
> dm_spi_xfer 34 - -34
> spi_mem_supports_op 36 - -36
> spi_flash_probe_bus_cs 48 - -48
> spi_find_chip_select 50 - -50
> omap3_spi_claim_bus 54 - -54
> static.spi_check_buswidth_req 56 - -56
> omap3_spi_set_wordlen 62 - -62
> spi_mem_exec_op 284 220 -64
> _u_boot_list_2_driver_2_spi_generic_drv 68 - -68
> _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> _u_boot_list_2_driver_2_omap3_spi 68 - -68
> spi_set_speed_mode 72 - -72
> spi_flash_std_probe 76 - -76
> omap3_spi_set_speed 76 - -76
> _u_boot_list_2_uclass_2_spi_nor 76 - -76
> _u_boot_list_2_uclass_2_spi_generic 76 - -76
> _u_boot_list_2_uclass_2_spi 76 - -76
> spi_flash_std_erase 84 - -84
> spi_mem_default_supports_op 86 - -86
> omap3_spi_set_mode 96 - -96
> dm_spi_claim_bus 100 - -100
> omap3_spi_probe 116 - -116
> spi_slave_ofdata_to_platdata 212 - -212
> spi_get_bus_and_cs 232 - -232
> omap3_spi_xfer 796 - -796
> stm32mp15_basic: spl/u-boot-spl:all -2312 spl/u-boot-spl:bss -772 spl/u-boot-spl:rodata -292 spl/u-boot-spl:text -1248
> spl-u-boot-spl: add: 0/-19, grow: 0/-2 bytes: 0/-2013 (-2013)
> function old new delta
> sf_mtd_registered 1 - -1
> spi_flash_mtd_sync 2 - -2
> spi_flash_std_remove 10 4 -6
> spi_flash_erase_dm 8 - -8
> sf_mtd_name 8 - -8
> spi_flash_std_probe 88 76 -12
> spi_flash_write_dm 14 - -14
> idr_remove 20 - -20
> spi_flash_mtd_write 38 - -38
> spi_flash_mtd_read 38 - -38
> spi_flash_mtd_unregister 52 - -52
> spi_flash_mtd_erase 78 - -78
> mtd_unlock 80 - -80
> del_mtd_device 80 - -80
> mtd_erase_callback 88 - -88
> part_erase 96 - -96
> del_mtd_partitions 136 - -136
> spi_flash_mtd_register 172 - -172
> sf_mtd_info 240 - -240
> add_mtd_device 328 - -328
> mtd_idr 516 - -516
>
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*
2019-09-09 11:11 ` Schrempf Frieder
@ 2019-09-09 12:00 ` Lukasz Majewski
2019-09-10 10:22 ` Lukasz Majewski
0 siblings, 1 reply; 11+ messages in thread
From: Lukasz Majewski @ 2019-09-09 12:00 UTC (permalink / raw)
To: u-boot
On Mon, 9 Sep 2019 11:11:50 +0000
Schrempf Frieder <frieder.schrempf@kontron.de> wrote:
> Hi Lukasz,
>
> On 05.09.19 20:09, Tom Rini wrote:
> > On Thu, Sep 05, 2019 at 12:16:36AM +0200, Lukasz Majewski wrote:
> >> This patch series introduces new SPL and TPL specific Kconfig
> >> entries for DM_SPI* options. Such change allows using the spi
> >> driver in SPL/TPL or U-Boot proper.
> >>
> >> First two patches - related to ls10{42}* NXP soc fix some issues
> >> with defining the DM_SPI* defines in <board>.h file instead of
> >> Kconfig.
> >>
> >> This series doesn't introduce build breaks, but board maintainers
> >> are kindly asked to check if their boards still boots.
> >>
> >> Buildman setup for binary size regression checking:
> >>
> >> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
> >> --output-dir=../BUILD/ --force-build -CveE
> >> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
> >> --output-dir=../BUILD/ -Ssdel
> >
> > So you did fix the ls1043 problems but ls1046 is still a problem.
>
> I was trying to clean up this config mess some weeks ago. I stumbled
> over the same issues (size deltas below) when I tested with buildman
> and finally gave up on it. This was my testing branch for reference:
> [1].
>
> Thanks for your work and I hope you/we can get this sorted out
> somehow...
For now I've only posted the patch to introduce SPL_DM_SPI in Kconig:
https://patchwork.ozlabs.org/patch/1159655/
>
> Regards,
> Frieder
>
> [1]:
> https://github.com/fschrempf/u-boot/commits/non_dm_spi_flash_in_spl
>
> > There's also changes in (add 'B' to the buildman flags above for
> > this info):
> > x86: (for 26/26 boards) spl/u-boot-spl:all -31.6
> > spl/u-boot-spl:data -11.4 spl/u-boot-spl:rodata -6.3
> > spl/u-boot-spl:text -13.9 qemu-x86_64 : spl/u-boot-spl:all -821
> > spl/u-boot-spl:data -296 spl/u-boot-spl:rodata -164
> > spl/u-boot-spl:text -361 spl-u-boot-spl: add: 0/-10, grow: 0/0
> > bytes: 0/-657 (-657) function old
> > new delta spi_flash_post_bind 3
> > - -3 dev_get_parent_priv 11 -
> > -11 spi_post_probe 35 -
> > -35 spi_child_post_bind 37 - -37
> > spi_child_pre_probe 46 - -46
> > _u_boot_list_2_driver_2_spi_generic_drv 68 - -68
> > _u_boot_list_2_uclass_2_spi_nor 76 - -76
> > _u_boot_list_2_uclass_2_spi_generic 76 - -76
> > _u_boot_list_2_uclass_2_spi 76 - -76
> > spi_slave_ofdata_to_platdata 229 - -229 arm:
> > (for 688/688 boards) all -19.6 bss -4.5 rodata -2.2
> > spl/u-boot-spl:all -12.2 spl/u-boot-spl:bss -1.1
> > spl/u-boot-spl:data -1.9 spl/u-boot-spl:rodata -2.0
> > spl/u-boot-spl:text -7.2 text -12.9 uniphier_v7 : bss -8 rodata
> > +8 opos6uldev : bss -8 rodata +8 uniphier_ld4_sld8: bss -8
> > rodata +8 da850evm : spl/u-boot-spl:all -614
> > spl/u-boot-spl:data -144 spl/u-boot-spl:rodata -150
> > spl/u-boot-spl:text -320 spl-u-boot-spl: add: 2/-15, grow: 2/0
> > bytes: 112/-574 (-462) function
> > old new delta spi_flash_probe 38
> > 82 +44 spi_setup_slave -
> > 42 +42 spl_spi_load_image 124 144
> > +20 spi_free_slave - 6
> > +6 spi_flash_std_remove 4 - -4
> > spi_flash_post_bind 4 - -4
> > spi_flash_cmd_get_sw_write_prot 8 - -8
> > ____aeabi_uidivmod_from_thumb 8 - -8
> > spi_flash_std_get_sw_write_prot 18 - -18
> > spi_flash_read_dm 20 - -20
> > __aeabi_uidivmod 24 - -24
> > __aeabi_idivmod 24 - -24
> > spi_flash_std_write 42 - -42
> > spi_flash_std_read 42 - -42
> > spi_flash_probe_bus_cs 56 - -56
> > _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> > _u_boot_list_2_uclass_2_spi_nor 76 - -76
> > spi_flash_std_probe 88 - -88
> > spi_flash_std_erase 92 - -92
> > da850evm_nand : spl/u-boot-spl:all -614 spl/u-boot-spl:data -144
> > spl/u-boot-spl:rodata -150 spl/u-boot-spl:text -320 spl-u-boot-spl:
> > add: 2/-15, grow: 2/0 bytes: 112/-574 (-462) function
> > old new delta spi_flash_probe
> > 38 82 +44 spi_setup_slave
> > - 42 +42 spl_spi_load_image
> > 124 144 +20 spi_free_slave
> > - 6 +6 spi_flash_std_remove 4
> > - -4 spi_flash_post_bind 4
> > - -4 spi_flash_cmd_get_sw_write_prot 8 -
> > -8 ____aeabi_uidivmod_from_thumb 8 - -8
> > spi_flash_std_get_sw_write_prot 18 - -18
> > spi_flash_read_dm 20 - -20
> > __aeabi_uidivmod 24 - -24
> > __aeabi_idivmod 24 - -24
> > spi_flash_std_write 42 - -42
> > spi_flash_std_read 42 - -42
> > spi_flash_probe_bus_cs 56 - -56
> > _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> > _u_boot_list_2_uclass_2_spi_nor 76 - -76
> > spi_flash_std_probe 88 - -88
> > spi_flash_std_erase 92 - -92
> > sama5d3xek_spiflash: spl/u-boot-spl:all -630 spl/u-boot-spl:data
> > -144 spl/u-boot-spl:rodata -150 spl/u-boot-spl:text -336
> > spl-u-boot-spl: add: 2/-12, grow: 2/0 bytes: 196/-676 (-480)
> > function old new delta
> > spi_flash_probe 44 120 +76
> > spi_setup_slave - 60 +60
> > spl_spi_load_image 172 220 +48
> > spi_free_slave - 12 +12
> > spi_flash_std_remove 8 - -8
> > spi_flash_post_bind 8 - -8
> > spi_flash_cmd_get_sw_write_prot 12 - -12
> > spi_flash_std_get_sw_write_prot 16 - -16
> > spi_flash_read_dm 28 - -28
> > spi_flash_std_write 64 - -64
> > spi_flash_std_read 64 - -64
> > _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> > spi_flash_probe_bus_cs 76 - -76
> > _u_boot_list_2_uclass_2_spi_nor 76 - -76
> > spi_flash_std_probe 116 - -116
> > spi_flash_std_erase 140 - -140
> > socfpga_cyclone5: all -722 bss -136 rodata -98 text -488 u-boot:
> > add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647) function
> > old new delta sf_mtd_registered
> > 1 - -1 spi_flash_mtd_sync
> > 2 - -2 spi_flash_std_remove
> > 10 4 -6 sf_mtd_name
> > 8 - -8 spi_flash_std_probe 88
> > 76 -12 spi_flash_mtd_write 38 -
> > -38 spi_flash_mtd_read 38 -
> > -38 spi_flash_mtd_unregister 52 - -52
> > spi_flash_mtd_erase 78 - -78
> > spi_flash_mtd_register 172 - -172
> > sf_mtd_info 240 - -240
> > socfpga_socrates: all -794 bss -208 rodata -98 text -488 u-boot:
> > add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647) function
> > old new delta sf_mtd_registered
> > 1 - -1 spi_flash_mtd_sync
> > 2 - -2 spi_flash_std_remove
> > 10 4 -6 sf_mtd_name
> > 8 - -8 spi_flash_std_probe 88
> > 76 -12 spi_flash_mtd_write 38 -
> > -38 spi_flash_mtd_read 38 -
> > -38 spi_flash_mtd_unregister 52 - -52
> > spi_flash_mtd_erase 78 - -78
> > spi_flash_mtd_register 172 - -172
> > sf_mtd_info 240 - -240
> > socfpga_sockit : all -794 bss -208 rodata -98 text -488 u-boot:
> > add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647) function
> > old new delta sf_mtd_registered
> > 1 - -1 spi_flash_mtd_sync
> > 2 - -2 spi_flash_std_remove
> > 10 4 -6 sf_mtd_name
> > 8 - -8 spi_flash_std_probe 88
> > 76 -12 spi_flash_mtd_write 38 -
> > -38 spi_flash_mtd_read 38 -
> > -38 spi_flash_mtd_unregister 52 - -52
> > spi_flash_mtd_erase 78 - -78
> > spi_flash_mtd_register 172 - -172
> > sf_mtd_info 240 - -240
> > socfpga_arria5 : all -794 bss -208 rodata -98 text -488 u-boot:
> > add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647) function
> > old new delta sf_mtd_registered
> > 1 - -1 spi_flash_mtd_sync
> > 2 - -2 spi_flash_std_remove
> > 10 4 -6 sf_mtd_name
> > 8 - -8 spi_flash_std_probe 88
> > 76 -12 spi_flash_mtd_write 38 -
> > -38 spi_flash_mtd_read 38 -
> > -38 spi_flash_mtd_unregister 52 - -52
> > spi_flash_mtd_erase 78 - -78
> > spi_flash_mtd_register 172 - -172
> > sf_mtd_info 240 - -240
> > socfpga_is1 : all -794 bss -208 rodata -98 text -488 u-boot:
> > add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647) function
> > old new delta sf_mtd_registered
> > 1 - -1 spi_flash_mtd_sync
> > 2 - -2 spi_flash_std_remove
> > 10 4 -6 sf_mtd_name
> > 8 - -8 spi_flash_std_probe 88
> > 76 -12 spi_flash_mtd_write 38 -
> > -38 spi_flash_mtd_read 38 -
> > -38 spi_flash_mtd_unregister 52 - -52
> > spi_flash_mtd_erase 78
> > - -78 spi_flash_mtd_register 172 -
> > -172 sf_mtd_info 240 -
> > -240 socfpga_vining_fpga: all -858 bss -272 rodata -98 text -488
> > u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
> > function old
> > new delta sf_mtd_registered 1 -
> > -1 spi_flash_mtd_sync 2 -
> > -2 spi_flash_std_remove 10 4 -6
> > sf_mtd_name 8
> > - -8 spi_flash_std_probe 88 76
> > -12 spi_flash_mtd_write 38 -
> > -38 spi_flash_mtd_read 38 - -38
> > spi_flash_mtd_unregister 52
> > - -52 spi_flash_mtd_erase 78 -
> > -78 spi_flash_mtd_register 172 -
> > -172 sf_mtd_info 240 - -240
> > socfpga_sr1500 : all -858 bss -280 rodata -98 text -480
> > u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
> > function old
> > new delta sf_mtd_registered 1 -
> > -1 spi_flash_mtd_sync 2 -
> > -2 spi_flash_std_remove 10 4 -6
> > sf_mtd_name 8
> > - -8 spi_flash_std_probe 88 76
> > -12 spi_flash_mtd_write 38 -
> > -38 spi_flash_mtd_read 38 - -38
> > spi_flash_mtd_unregister 52
> > - -52 spi_flash_mtd_erase 78 -
> > -78 spi_flash_mtd_register 172 -
> > -172 sf_mtd_info 240 - -240
> > cm_fx6 : all -1130 bss -296 rodata -146 text
> > -688 u-boot: add: 0/-11, grow: 0/-2 bytes: 0/-829 (-829)
> > function old
> > new delta sf_mtd_registered 1 -
> > -1 spi_flash_mtd_sync 2 -
> > -2 spi_flash_free 26 22 -4
> > sf_mtd_name 8
> > - -8 spi_flash_probe 88 78
> > -10 idr_remove 20 -
> > -20 spi_flash_mtd_write 44 - -44
> > spi_flash_mtd_read 44
> > - -44 spi_flash_mtd_unregister 52 -
> > -52 del_mtd_device 68 -
> > -68 spi_flash_mtd_erase 164 - -164
> > spi_flash_mtd_register 172
> > - -172 sf_mtd_info 240 -
> > -240 aristainetos : all -1186 bss -264 rodata -98 text -824
> > u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-981 (-981)
> > function old
> > new delta sf_mtd_registered 1 -
> > -1 spi_flash_mtd_sync 4 -
> > -4 spi_flash_free 32 28 -4
> > sf_mtd_name 8
> > - -8 spi_flash_probe 136 120
> > -16 spi_flash_mtd_write 80 -
> > -80 spi_flash_mtd_read 80 - -80
> > spi_flash_mtd_unregister 84
> > - -84 spi_flash_mtd_erase 220 -
> > -220 sf_mtd_info 240 -
> > -240 spi_flash_mtd_register 244 - -244
> > aristainetos2 : all -1186 bss -264 rodata -98 text
> > -824 u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-981 (-981)
> > function old
> > new delta sf_mtd_registered 1 -
> > -1 spi_flash_mtd_sync 4 -
> > -4 spi_flash_free 32 28 -4
> > sf_mtd_name 8
> > - -8 spi_flash_probe 136 120
> > -16 spi_flash_mtd_write 80 -
> > -80 spi_flash_mtd_read 80 - -80
> > spi_flash_mtd_unregister 84
> > - -84 spi_flash_mtd_erase 220 -
> > -220 sf_mtd_info 240 -
> > -240 spi_flash_mtd_register 244 - -244
> > aristainetos2b : all -1186 bss -264 rodata -98 text
> > -824 u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-981 (-981)
> > function old
> > new delta sf_mtd_registered 1 -
> > -1 spi_flash_mtd_sync 4 -
> > -4 spi_flash_free 32 28 -4
> > sf_mtd_name 8
> > - -8 spi_flash_probe 136 120
> > -16 spi_flash_mtd_write 80 -
> > -80 spi_flash_mtd_read 80 - -80
> > spi_flash_mtd_unregister 84
> > - -84 spi_flash_mtd_erase 220 -
> > -220 sf_mtd_info 240 -
> > -240 spi_flash_mtd_register 244 - -244
> > display5_factory: all -1561 bss -216 rodata -201 text
> > -1144 u-boot: add: 0/-13, grow: 0/-2 bytes: 0/-1237 (-1237)
> > function old
> > new delta sf_mtd_registered 1 -
> > -1 spi_flash_mtd_sync 2 -
> > -2 spi_flash_free 26 22 -4
> > sf_mtd_name 8
> > - -8 spi_flash_probe 88 78
> > -10 idr_remove 20 -
> > -20 spi_flash_mtd_write 44 - -44
> > spi_flash_mtd_read 44
> > - -44 spi_flash_mtd_unregister 52 -
> > -52 del_mtd_device 68 -
> > -68 mtd_unlock 80 - -80
> > spi_flash_mtd_erase 164
> > - -164 spi_flash_mtd_register 172 -
> > -172 sf_mtd_info 240 -
> > -240 add_mtd_device 328 - -328
> > display5 : all -1605 bss -248 rodata -201 text
> > -1156 u-boot: add: 0/-13, grow: 0/-2 bytes: 0/-1237 (-1237)
> > function old
> > new delta sf_mtd_registered 1 -
> > -1 spi_flash_mtd_sync 2 -
> > -2 spi_flash_free 26 22 -4
> > sf_mtd_name 8
> > - -8 spi_flash_probe 88 78
> > -10 idr_remove 20 -
> > -20 spi_flash_mtd_write 44 - -44
> > spi_flash_mtd_read 44
> > - -44 spi_flash_mtd_unregister 52 -
> > -52 del_mtd_device 68 -
> > -68 mtd_unlock 80 - -80
> > spi_flash_mtd_erase 164
> > - -164 spi_flash_mtd_register 172 -
> > -172 sf_mtd_info 240 -
> > -240 add_mtd_device 328 - -328
> > brppt1_spi : spl/u-boot-spl:all -2109
> > spl/u-boot-spl:bss -4 spl/u-boot-spl:data -436
> > spl/u-boot-spl:rodata -309 spl/u-boot-spl:text -1360
> > spl-u-boot-spl: add: 3/-41, grow: 5/-2 bytes: 1310/-3100 (-1790)
> > function old new delta
> > spi_xfer 6 800 +794
> > spi_claim_bus 6 248 +242
> > spi_setup_slave - 156 +156
> > spi_do_alloc_slave - 48 +48
> > spi_flash_probe 26 72 +46
> > spl_spi_load_image 124 140 +16
> > spi_release_bus 6 12 +6
> > spi_free_slave - 2 +2
> > spi_flash_std_remove 4 - -4
> > spi_flash_post_bind 4 - -4
> > omap4_pdata 4 - -4
> > omap2_pdata 4 - -4
> > dev_get_parent_priv 6 - -6
> > spi_flash_cmd_get_sw_write_prot 8 - -8
> > spi_flash_std_get_sw_write_prot 14 - -14
> > spi_flash_read_dm 14 - -14
> > dm_spi_release_bus 14 - -14
> > ofnode_read_bool 16 - -16
> > fdtdec_get_bool 20 - -20
> > omap3_spi_release_bus 22 - -22
> > spi_mem_adjust_op_size 92 68 -24
> > spi_child_post_bind 30 - -30
> > spi_post_probe 32 - -32
> > spi_flash_std_write 34 - -34
> > spi_flash_std_read 34 - -34
> > spi_child_pre_probe 34 - -34
> > dm_spi_xfer 34 - -34
> > spi_mem_supports_op 36 - -36
> > spi_flash_probe_bus_cs 48 - -48
> > spi_find_chip_select 50 - -50
> > omap3_spi_claim_bus 54 - -54
> > static.spi_check_buswidth_req 56 - -56
> > omap3_spi_set_wordlen 62 - -62
> > spi_mem_exec_op 284 220 -64
> > _u_boot_list_2_driver_2_spi_generic_drv 68 - -68
> > _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> > _u_boot_list_2_driver_2_omap3_spi 68 - -68
> > spi_set_speed_mode 72 - -72
> > spi_flash_std_probe 76 - -76
> > omap3_spi_set_speed 76 - -76
> > _u_boot_list_2_uclass_2_spi_nor 76 - -76
> > _u_boot_list_2_uclass_2_spi_generic 76 - -76
> > _u_boot_list_2_uclass_2_spi 76 - -76
> > spi_flash_std_erase 84 - -84
> > spi_mem_default_supports_op 86 - -86
> > omap3_spi_set_mode 96 - -96
> > dm_spi_claim_bus 100 - -100
> > omap3_spi_probe 116 - -116
> > spi_slave_ofdata_to_platdata 212 - -212
> > spi_get_bus_and_cs 232 - -232
> > omap3_spi_xfer 796 - -796
> > brsmarc1 : spl/u-boot-spl:all -2113 spl/u-boot-spl:bss -4
> > spl/u-boot-spl:data -436 spl/u-boot-spl:rodata -309
> > spl/u-boot-spl:text -1364 spl-u-boot-spl: add: 3/-41, grow: 5/-2
> > bytes: 1310/-3100 (-1790) function
> > old new delta spi_xfer 6
> > 800 +794 spi_claim_bus 6
> > 248 +242 spi_setup_slave - 156
> > +156 spi_do_alloc_slave - 48
> > +48 spi_flash_probe 26 72 +46
> > spl_spi_load_image 124 140 +16
> > spi_release_bus 6 12 +6
> > spi_free_slave - 2 +2
> > spi_flash_std_remove 4 - -4
> > spi_flash_post_bind 4 - -4
> > omap4_pdata 4 - -4
> > omap2_pdata 4 - -4
> > dev_get_parent_priv 6 - -6
> > spi_flash_cmd_get_sw_write_prot 8 - -8
> > spi_flash_std_get_sw_write_prot 14 - -14
> > spi_flash_read_dm 14 - -14
> > dm_spi_release_bus 14 - -14
> > ofnode_read_bool 16 - -16
> > fdtdec_get_bool 20 - -20
> > omap3_spi_release_bus 22 - -22
> > spi_mem_adjust_op_size 92 68 -24
> > spi_child_post_bind 30 - -30
> > spi_post_probe 32 - -32
> > spi_flash_std_write 34 - -34
> > spi_flash_std_read 34 - -34
> > spi_child_pre_probe 34 - -34
> > dm_spi_xfer 34 - -34
> > spi_mem_supports_op 36 - -36
> > spi_flash_probe_bus_cs 48 - -48
> > spi_find_chip_select 50 - -50
> > omap3_spi_claim_bus 54 - -54
> > static.spi_check_buswidth_req 56 - -56
> > omap3_spi_set_wordlen 62 - -62
> > spi_mem_exec_op 284 220 -64
> > _u_boot_list_2_driver_2_spi_generic_drv 68 - -68
> > _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> > _u_boot_list_2_driver_2_omap3_spi 68 - -68
> > spi_set_speed_mode 72 - -72
> > spi_flash_std_probe 76 - -76
> > omap3_spi_set_speed 76 - -76
> > _u_boot_list_2_uclass_2_spi_nor 76 - -76
> > _u_boot_list_2_uclass_2_spi_generic 76 - -76
> > _u_boot_list_2_uclass_2_spi 76 - -76
> > spi_flash_std_erase 84 - -84
> > spi_mem_default_supports_op 86 - -86
> > omap3_spi_set_mode 96 - -96
> > dm_spi_claim_bus 100 - -100
> > omap3_spi_probe 116 - -116
> > spi_slave_ofdata_to_platdata 212 - -212
> > spi_get_bus_and_cs 232 - -232
> > omap3_spi_xfer 796 - -796
> > stm32mp15_basic: spl/u-boot-spl:all -2312 spl/u-boot-spl:bss -772
> > spl/u-boot-spl:rodata -292 spl/u-boot-spl:text -1248
> > spl-u-boot-spl: add: 0/-19, grow: 0/-2 bytes: 0/-2013 (-2013)
> > function old new delta
> > sf_mtd_registered 1 - -1
> > spi_flash_mtd_sync 2 - -2
> > spi_flash_std_remove 10 4 -6
> > spi_flash_erase_dm 8 - -8
> > sf_mtd_name 8 - -8
> > spi_flash_std_probe 88 76 -12
> > spi_flash_write_dm 14 - -14
> > idr_remove 20 - -20
> > spi_flash_mtd_write 38 - -38
> > spi_flash_mtd_read 38 - -38
> > spi_flash_mtd_unregister 52 - -52
> > spi_flash_mtd_erase 78 - -78
> > mtd_unlock 80 - -80
> > del_mtd_device 80 - -80
> > mtd_erase_callback 88 - -88
> > part_erase 96 - -96
> > del_mtd_partitions 136 - -136
> > spi_flash_mtd_register 172 - -172
> > sf_mtd_info 240 - -240
> > add_mtd_device 328 - -328
> > mtd_idr 516 - -516
> >
> >
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > https://lists.denx.de/listinfo/u-boot
> >
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190909/70c6acb7/attachment.sig>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*
2019-09-09 12:00 ` Lukasz Majewski
@ 2019-09-10 10:22 ` Lukasz Majewski
2019-09-12 8:22 ` Schrempf Frieder
0 siblings, 1 reply; 11+ messages in thread
From: Lukasz Majewski @ 2019-09-10 10:22 UTC (permalink / raw)
To: u-boot
Hi Frieder,
> On Mon, 9 Sep 2019 11:11:50 +0000
> Schrempf Frieder <frieder.schrempf@kontron.de> wrote:
>
> > Hi Lukasz,
> >
> > On 05.09.19 20:09, Tom Rini wrote:
> > > On Thu, Sep 05, 2019 at 12:16:36AM +0200, Lukasz Majewski wrote:
> > >
> > >> This patch series introduces new SPL and TPL specific Kconfig
> > >> entries for DM_SPI* options. Such change allows using the spi
> > >> driver in SPL/TPL or U-Boot proper.
> > >>
> > >> First two patches - related to ls10{42}* NXP soc fix some issues
> > >> with defining the DM_SPI* defines in <board>.h file instead of
> > >> Kconfig.
> > >>
> > >> This series doesn't introduce build breaks, but board maintainers
> > >> are kindly asked to check if their boards still boots.
> > >>
> > >> Buildman setup for binary size regression checking:
> > >>
> > >> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
> > >> --output-dir=../BUILD/ --force-build -CveE
> > >> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
> > >> --output-dir=../BUILD/ -Ssdel
> > >
> > > So you did fix the ls1043 problems but ls1046 is still a problem.
> > >
> >
> > I was trying to clean up this config mess some weeks ago. I
> > stumbled over the same issues (size deltas below) when I tested
> > with buildman and finally gave up on it. This was my testing branch
> > for reference: [1].
> >
> > Thanks for your work and I hope you/we can get this sorted out
> > somehow...
>
> For now I've only posted the patch to introduce SPL_DM_SPI in Kconig:
> https://patchwork.ozlabs.org/patch/1159655/
However, I've looked on your patchset and IMHO this work could be
divided (as doing it at once is not feasible).
For example the CONFIG_SPI_FLASH_MTD could be converted to
(SPL_TPL_)SPI_FLASH_MTD and then one could use
#if CONFIG_IS_ENABLED(SPI_FLASH_MTD) in drivers/mtd/spi/sf_probe.c (as
it is only used there).
Then we could avoid situations where code is added as you remove it
here [1]:
https://github.com/fschrempf/u-boot/commit/b6489fb5928c2b41d7e4cb39933f078659b4f10e#diff-9d3e174d033b8b9c9d380a22a81600aaL136
What I'm afraid though, is that split of SPI_FLASH_MTD will require
adding unwillingly SPL_(TPL_)SPI_FLASH_MTD to all boards which already
define it (and only drop ones, which use in <config>.h file pattern as
[1]).
Frieder, would you be able to work on this topic any time soon?
>
> >
> > Regards,
> > Frieder
> >
> > [1]:
> > https://github.com/fschrempf/u-boot/commits/non_dm_spi_flash_in_spl
> >
> > > There's also changes in (add 'B' to the buildman flags above for
> > > this info):
> > > x86: (for 26/26 boards) spl/u-boot-spl:all -31.6
> > > spl/u-boot-spl:data -11.4 spl/u-boot-spl:rodata -6.3
> > > spl/u-boot-spl:text -13.9 qemu-x86_64 : spl/u-boot-spl:all -821
> > > spl/u-boot-spl:data -296 spl/u-boot-spl:rodata -164
> > > spl/u-boot-spl:text -361 spl-u-boot-spl: add: 0/-10, grow: 0/0
> > > bytes: 0/-657 (-657) function
> > > old new delta spi_flash_post_bind 3
> > > - -3 dev_get_parent_priv 11 -
> > > -11 spi_post_probe 35 -
> > > -35 spi_child_post_bind 37 - -37
> > > spi_child_pre_probe 46 - -46
> > > _u_boot_list_2_driver_2_spi_generic_drv 68 - -68
> > > _u_boot_list_2_uclass_2_spi_nor 76 - -76
> > > _u_boot_list_2_uclass_2_spi_generic 76 - -76
> > > _u_boot_list_2_uclass_2_spi 76 - -76
> > > spi_slave_ofdata_to_platdata 229 - -229
> > > arm: (for 688/688 boards) all -19.6 bss -4.5 rodata -2.2
> > > spl/u-boot-spl:all -12.2 spl/u-boot-spl:bss -1.1
> > > spl/u-boot-spl:data -1.9 spl/u-boot-spl:rodata -2.0
> > > spl/u-boot-spl:text -7.2 text -12.9 uniphier_v7 : bss -8 rodata
> > > +8 opos6uldev : bss -8 rodata +8 uniphier_ld4_sld8: bss -8
> > > rodata +8 da850evm : spl/u-boot-spl:all -614
> > > spl/u-boot-spl:data -144 spl/u-boot-spl:rodata -150
> > > spl/u-boot-spl:text -320 spl-u-boot-spl: add: 2/-15, grow: 2/0
> > > bytes: 112/-574 (-462) function
> > > old new delta spi_flash_probe 38
> > > 82 +44 spi_setup_slave -
> > > 42 +42 spl_spi_load_image 124 144
> > > +20 spi_free_slave - 6
> > > +6 spi_flash_std_remove 4 - -4
> > > spi_flash_post_bind 4 - -4
> > > spi_flash_cmd_get_sw_write_prot 8 - -8
> > > ____aeabi_uidivmod_from_thumb 8 - -8
> > > spi_flash_std_get_sw_write_prot 18 - -18
> > > spi_flash_read_dm 20 - -20
> > > __aeabi_uidivmod 24 - -24
> > > __aeabi_idivmod 24 - -24
> > > spi_flash_std_write 42 - -42
> > > spi_flash_std_read 42 - -42
> > > spi_flash_probe_bus_cs 56 - -56
> > > _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> > > _u_boot_list_2_uclass_2_spi_nor 76 - -76
> > > spi_flash_std_probe 88 - -88
> > > spi_flash_std_erase 92 - -92
> > > da850evm_nand : spl/u-boot-spl:all -614 spl/u-boot-spl:data -144
> > > spl/u-boot-spl:rodata -150 spl/u-boot-spl:text -320
> > > spl-u-boot-spl: add: 2/-15, grow: 2/0 bytes: 112/-574 (-462)
> > > function old new delta spi_flash_probe
> > > 38 82 +44 spi_setup_slave
> > > - 42 +42 spl_spi_load_image
> > > 124 144 +20 spi_free_slave
> > > - 6 +6 spi_flash_std_remove 4
> > > - -4 spi_flash_post_bind 4
> > > - -4 spi_flash_cmd_get_sw_write_prot 8 -
> > > -8 ____aeabi_uidivmod_from_thumb 8 -
> > > -8 spi_flash_std_get_sw_write_prot 18 - -18
> > > spi_flash_read_dm 20 - -20
> > > __aeabi_uidivmod 24 - -24
> > > __aeabi_idivmod 24 - -24
> > > spi_flash_std_write 42 - -42
> > > spi_flash_std_read 42 - -42
> > > spi_flash_probe_bus_cs 56 - -56
> > > _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> > > _u_boot_list_2_uclass_2_spi_nor 76 - -76
> > > spi_flash_std_probe 88 - -88
> > > spi_flash_std_erase 92 - -92
> > > sama5d3xek_spiflash: spl/u-boot-spl:all -630 spl/u-boot-spl:data
> > > -144 spl/u-boot-spl:rodata -150 spl/u-boot-spl:text -336
> > > spl-u-boot-spl: add: 2/-12, grow: 2/0 bytes: 196/-676 (-480)
> > > function old new delta
> > > spi_flash_probe 44 120 +76
> > > spi_setup_slave - 60 +60
> > > spl_spi_load_image 172 220 +48
> > > spi_free_slave - 12 +12
> > > spi_flash_std_remove 8 - -8
> > > spi_flash_post_bind 8 - -8
> > > spi_flash_cmd_get_sw_write_prot 12 - -12
> > > spi_flash_std_get_sw_write_prot 16 - -16
> > > spi_flash_read_dm 28 - -28
> > > spi_flash_std_write 64 - -64
> > > spi_flash_std_read 64 - -64
> > > _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> > > spi_flash_probe_bus_cs 76 - -76
> > > _u_boot_list_2_uclass_2_spi_nor 76 - -76
> > > spi_flash_std_probe 116 - -116
> > > spi_flash_std_erase 140 - -140
> > > socfpga_cyclone5: all -722 bss -136 rodata -98 text -488 u-boot:
> > > add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647) function
> > > old new delta sf_mtd_registered
> > > 1 - -1 spi_flash_mtd_sync
> > > 2 - -2 spi_flash_std_remove
> > > 10 4 -6 sf_mtd_name
> > > 8 - -8 spi_flash_std_probe 88
> > > 76 -12 spi_flash_mtd_write 38
> > > - -38 spi_flash_mtd_read 38 -
> > > -38 spi_flash_mtd_unregister 52 - -52
> > > spi_flash_mtd_erase 78 - -78
> > > spi_flash_mtd_register 172 - -172
> > > sf_mtd_info 240 - -240
> > > socfpga_socrates: all -794 bss -208 rodata -98 text -488 u-boot:
> > > add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647) function
> > > old new delta sf_mtd_registered
> > > 1 - -1 spi_flash_mtd_sync
> > > 2 - -2 spi_flash_std_remove
> > > 10 4 -6 sf_mtd_name
> > > 8 - -8 spi_flash_std_probe 88
> > > 76 -12 spi_flash_mtd_write 38
> > > - -38 spi_flash_mtd_read 38 -
> > > -38 spi_flash_mtd_unregister 52 - -52
> > > spi_flash_mtd_erase 78 - -78
> > > spi_flash_mtd_register 172 - -172
> > > sf_mtd_info 240 - -240
> > > socfpga_sockit : all -794 bss -208 rodata -98 text -488 u-boot:
> > > add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647) function
> > > old new delta sf_mtd_registered
> > > 1 - -1 spi_flash_mtd_sync
> > > 2 - -2 spi_flash_std_remove
> > > 10 4 -6 sf_mtd_name
> > > 8 - -8 spi_flash_std_probe 88
> > > 76 -12 spi_flash_mtd_write 38
> > > - -38 spi_flash_mtd_read 38 -
> > > -38 spi_flash_mtd_unregister 52 - -52
> > > spi_flash_mtd_erase 78 - -78
> > > spi_flash_mtd_register 172 - -172
> > > sf_mtd_info 240 - -240
> > > socfpga_arria5 : all -794 bss -208 rodata -98 text -488 u-boot:
> > > add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647) function
> > > old new delta sf_mtd_registered
> > > 1 - -1 spi_flash_mtd_sync
> > > 2 - -2 spi_flash_std_remove
> > > 10 4 -6 sf_mtd_name
> > > 8 - -8 spi_flash_std_probe 88
> > > 76 -12 spi_flash_mtd_write 38
> > > - -38 spi_flash_mtd_read 38 -
> > > -38 spi_flash_mtd_unregister 52 - -52
> > > spi_flash_mtd_erase 78 - -78
> > > spi_flash_mtd_register 172 - -172
> > > sf_mtd_info 240 - -240
> > > socfpga_is1 : all -794 bss -208 rodata -98 text -488 u-boot:
> > > add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647) function
> > > old new delta sf_mtd_registered
> > > 1 - -1 spi_flash_mtd_sync
> > > 2 - -2 spi_flash_std_remove
> > > 10 4 -6 sf_mtd_name
> > > 8 - -8 spi_flash_std_probe 88
> > > 76 -12 spi_flash_mtd_write 38
> > > - -38 spi_flash_mtd_read 38 -
> > > -38 spi_flash_mtd_unregister 52 - -52
> > > spi_flash_mtd_erase 78
> > > - -78 spi_flash_mtd_register 172
> > > - -172 sf_mtd_info 240 -
> > > -240 socfpga_vining_fpga: all -858 bss -272 rodata -98 text -488
> > > u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
> > > function old
> > > new delta sf_mtd_registered 1
> > > - -1 spi_flash_mtd_sync 2 -
> > > -2 spi_flash_std_remove 10 4 -6
> > > sf_mtd_name 8
> > > - -8 spi_flash_std_probe 88
> > > 76 -12 spi_flash_mtd_write 38 -
> > > -38 spi_flash_mtd_read 38 - -38
> > > spi_flash_mtd_unregister 52
> > > - -52 spi_flash_mtd_erase 78
> > > - -78 spi_flash_mtd_register 172 -
> > > -172 sf_mtd_info 240 -
> > > -240 socfpga_sr1500 : all -858 bss -280 rodata -98 text -480
> > > u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-647 (-647)
> > > function old
> > > new delta sf_mtd_registered 1
> > > - -1 spi_flash_mtd_sync 2 -
> > > -2 spi_flash_std_remove 10 4 -6
> > > sf_mtd_name 8
> > > - -8 spi_flash_std_probe 88
> > > 76 -12 spi_flash_mtd_write 38 -
> > > -38 spi_flash_mtd_read 38 - -38
> > > spi_flash_mtd_unregister 52
> > > - -52 spi_flash_mtd_erase 78
> > > - -78 spi_flash_mtd_register 172 -
> > > -172 sf_mtd_info 240 -
> > > -240 cm_fx6 : all -1130 bss -296 rodata -146 text
> > > -688 u-boot: add: 0/-11, grow: 0/-2 bytes: 0/-829 (-829)
> > > function old
> > > new delta sf_mtd_registered 1
> > > - -1 spi_flash_mtd_sync 2 -
> > > -2 spi_flash_free 26 22 -4
> > > sf_mtd_name 8
> > > - -8 spi_flash_probe 88
> > > 78 -10 idr_remove 20 -
> > > -20 spi_flash_mtd_write 44 - -44
> > > spi_flash_mtd_read 44
> > > - -44 spi_flash_mtd_unregister 52
> > > - -52 del_mtd_device 68 -
> > > -68 spi_flash_mtd_erase 164 - -164
> > > spi_flash_mtd_register 172
> > > - -172 sf_mtd_info 240
> > > - -240 aristainetos : all -1186 bss -264 rodata -98 text -824
> > > u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-981 (-981)
> > > function old
> > > new delta sf_mtd_registered 1
> > > - -1 spi_flash_mtd_sync 4 -
> > > -4 spi_flash_free 32 28 -4
> > > sf_mtd_name 8
> > > - -8 spi_flash_probe 136
> > > 120 -16 spi_flash_mtd_write 80 -
> > > -80 spi_flash_mtd_read 80 - -80
> > > spi_flash_mtd_unregister 84
> > > - -84 spi_flash_mtd_erase 220
> > > - -220 sf_mtd_info 240 -
> > > -240 spi_flash_mtd_register 244 -
> > > -244 aristainetos2 : all -1186 bss -264 rodata -98 text
> > > -824 u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-981 (-981)
> > > function old
> > > new delta sf_mtd_registered 1
> > > - -1 spi_flash_mtd_sync 4 -
> > > -4 spi_flash_free 32 28 -4
> > > sf_mtd_name 8
> > > - -8 spi_flash_probe 136
> > > 120 -16 spi_flash_mtd_write 80 -
> > > -80 spi_flash_mtd_read 80 - -80
> > > spi_flash_mtd_unregister 84
> > > - -84 spi_flash_mtd_erase 220
> > > - -220 sf_mtd_info 240 -
> > > -240 spi_flash_mtd_register 244 -
> > > -244 aristainetos2b : all -1186 bss -264 rodata -98 text
> > > -824 u-boot: add: 0/-9, grow: 0/-2 bytes: 0/-981 (-981)
> > > function old
> > > new delta sf_mtd_registered 1
> > > - -1 spi_flash_mtd_sync 4 -
> > > -4 spi_flash_free 32 28 -4
> > > sf_mtd_name 8
> > > - -8 spi_flash_probe 136
> > > 120 -16 spi_flash_mtd_write 80 -
> > > -80 spi_flash_mtd_read 80 - -80
> > > spi_flash_mtd_unregister 84
> > > - -84 spi_flash_mtd_erase 220
> > > - -220 sf_mtd_info 240 -
> > > -240 spi_flash_mtd_register 244 -
> > > -244 display5_factory: all -1561 bss -216 rodata -201 text
> > > -1144 u-boot: add: 0/-13, grow: 0/-2 bytes: 0/-1237 (-1237)
> > > function old
> > > new delta sf_mtd_registered 1
> > > - -1 spi_flash_mtd_sync 2 -
> > > -2 spi_flash_free 26 22 -4
> > > sf_mtd_name 8
> > > - -8 spi_flash_probe 88
> > > 78 -10 idr_remove 20 -
> > > -20 spi_flash_mtd_write 44 - -44
> > > spi_flash_mtd_read 44
> > > - -44 spi_flash_mtd_unregister 52
> > > - -52 del_mtd_device 68 -
> > > -68 mtd_unlock 80 - -80
> > > spi_flash_mtd_erase 164
> > > - -164 spi_flash_mtd_register 172
> > > - -172 sf_mtd_info 240 -
> > > -240 add_mtd_device 328 -
> > > -328 display5 : all -1605 bss -248 rodata -201 text
> > > -1156 u-boot: add: 0/-13, grow: 0/-2 bytes: 0/-1237 (-1237)
> > > function old
> > > new delta sf_mtd_registered 1
> > > - -1 spi_flash_mtd_sync 2 -
> > > -2 spi_flash_free 26 22 -4
> > > sf_mtd_name 8
> > > - -8 spi_flash_probe 88
> > > 78 -10 idr_remove 20 -
> > > -20 spi_flash_mtd_write 44 - -44
> > > spi_flash_mtd_read 44
> > > - -44 spi_flash_mtd_unregister 52
> > > - -52 del_mtd_device 68 -
> > > -68 mtd_unlock 80 - -80
> > > spi_flash_mtd_erase 164
> > > - -164 spi_flash_mtd_register 172
> > > - -172 sf_mtd_info 240 -
> > > -240 add_mtd_device 328 -
> > > -328 brppt1_spi : spl/u-boot-spl:all -2109
> > > spl/u-boot-spl:bss -4 spl/u-boot-spl:data -436
> > > spl/u-boot-spl:rodata -309 spl/u-boot-spl:text -1360
> > > spl-u-boot-spl: add: 3/-41, grow: 5/-2 bytes: 1310/-3100 (-1790)
> > > function old new delta
> > > spi_xfer 6 800 +794
> > > spi_claim_bus 6 248 +242
> > > spi_setup_slave - 156 +156
> > > spi_do_alloc_slave - 48 +48
> > > spi_flash_probe 26 72 +46
> > > spl_spi_load_image 124 140 +16
> > > spi_release_bus 6 12 +6
> > > spi_free_slave - 2 +2
> > > spi_flash_std_remove 4 - -4
> > > spi_flash_post_bind 4 - -4
> > > omap4_pdata 4 - -4
> > > omap2_pdata 4 - -4
> > > dev_get_parent_priv 6 - -6
> > > spi_flash_cmd_get_sw_write_prot 8 - -8
> > > spi_flash_std_get_sw_write_prot 14 - -14
> > > spi_flash_read_dm 14 - -14
> > > dm_spi_release_bus 14 - -14
> > > ofnode_read_bool 16 - -16
> > > fdtdec_get_bool 20 - -20
> > > omap3_spi_release_bus 22 - -22
> > > spi_mem_adjust_op_size 92 68 -24
> > > spi_child_post_bind 30 - -30
> > > spi_post_probe 32 - -32
> > > spi_flash_std_write 34 - -34
> > > spi_flash_std_read 34 - -34
> > > spi_child_pre_probe 34 - -34
> > > dm_spi_xfer 34 - -34
> > > spi_mem_supports_op 36 - -36
> > > spi_flash_probe_bus_cs 48 - -48
> > > spi_find_chip_select 50 - -50
> > > omap3_spi_claim_bus 54 - -54
> > > static.spi_check_buswidth_req 56 - -56
> > > omap3_spi_set_wordlen 62 - -62
> > > spi_mem_exec_op 284 220 -64
> > > _u_boot_list_2_driver_2_spi_generic_drv 68 - -68
> > > _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> > > _u_boot_list_2_driver_2_omap3_spi 68 - -68
> > > spi_set_speed_mode 72 - -72
> > > spi_flash_std_probe 76 - -76
> > > omap3_spi_set_speed 76 - -76
> > > _u_boot_list_2_uclass_2_spi_nor 76 - -76
> > > _u_boot_list_2_uclass_2_spi_generic 76 - -76
> > > _u_boot_list_2_uclass_2_spi 76 - -76
> > > spi_flash_std_erase 84 - -84
> > > spi_mem_default_supports_op 86 - -86
> > > omap3_spi_set_mode 96 - -96
> > > dm_spi_claim_bus 100 - -100
> > > omap3_spi_probe 116 - -116
> > > spi_slave_ofdata_to_platdata 212 - -212
> > > spi_get_bus_and_cs 232 - -232
> > > omap3_spi_xfer 796 - -796
> > > brsmarc1 : spl/u-boot-spl:all -2113 spl/u-boot-spl:bss -4
> > > spl/u-boot-spl:data -436 spl/u-boot-spl:rodata -309
> > > spl/u-boot-spl:text -1364 spl-u-boot-spl: add: 3/-41, grow: 5/-2
> > > bytes: 1310/-3100 (-1790) function
> > > old new delta spi_xfer
> > > 6 800 +794 spi_claim_bus 6
> > > 248 +242 spi_setup_slave - 156
> > > +156 spi_do_alloc_slave - 48
> > > +48 spi_flash_probe 26 72 +46
> > > spl_spi_load_image 124 140 +16
> > > spi_release_bus 6 12 +6
> > > spi_free_slave - 2 +2
> > > spi_flash_std_remove 4 - -4
> > > spi_flash_post_bind 4 - -4
> > > omap4_pdata 4 - -4
> > > omap2_pdata 4 - -4
> > > dev_get_parent_priv 6 - -6
> > > spi_flash_cmd_get_sw_write_prot 8 - -8
> > > spi_flash_std_get_sw_write_prot 14 - -14
> > > spi_flash_read_dm 14 - -14
> > > dm_spi_release_bus 14 - -14
> > > ofnode_read_bool 16 - -16
> > > fdtdec_get_bool 20 - -20
> > > omap3_spi_release_bus 22 - -22
> > > spi_mem_adjust_op_size 92 68 -24
> > > spi_child_post_bind 30 - -30
> > > spi_post_probe 32 - -32
> > > spi_flash_std_write 34 - -34
> > > spi_flash_std_read 34 - -34
> > > spi_child_pre_probe 34 - -34
> > > dm_spi_xfer 34 - -34
> > > spi_mem_supports_op 36 - -36
> > > spi_flash_probe_bus_cs 48 - -48
> > > spi_find_chip_select 50 - -50
> > > omap3_spi_claim_bus 54 - -54
> > > static.spi_check_buswidth_req 56 - -56
> > > omap3_spi_set_wordlen 62 - -62
> > > spi_mem_exec_op 284 220 -64
> > > _u_boot_list_2_driver_2_spi_generic_drv 68 - -68
> > > _u_boot_list_2_driver_2_spi_flash_std 68 - -68
> > > _u_boot_list_2_driver_2_omap3_spi 68 - -68
> > > spi_set_speed_mode 72 - -72
> > > spi_flash_std_probe 76 - -76
> > > omap3_spi_set_speed 76 - -76
> > > _u_boot_list_2_uclass_2_spi_nor 76 - -76
> > > _u_boot_list_2_uclass_2_spi_generic 76 - -76
> > > _u_boot_list_2_uclass_2_spi 76 - -76
> > > spi_flash_std_erase 84 - -84
> > > spi_mem_default_supports_op 86 - -86
> > > omap3_spi_set_mode 96 - -96
> > > dm_spi_claim_bus 100 - -100
> > > omap3_spi_probe 116 - -116
> > > spi_slave_ofdata_to_platdata 212 - -212
> > > spi_get_bus_and_cs 232 - -232
> > > omap3_spi_xfer 796 - -796
> > > stm32mp15_basic: spl/u-boot-spl:all -2312 spl/u-boot-spl:bss -772
> > > spl/u-boot-spl:rodata -292 spl/u-boot-spl:text -1248
> > > spl-u-boot-spl: add: 0/-19, grow: 0/-2 bytes: 0/-2013 (-2013)
> > > function old new delta
> > > sf_mtd_registered 1 - -1
> > > spi_flash_mtd_sync 2 - -2
> > > spi_flash_std_remove 10 4 -6
> > > spi_flash_erase_dm 8 - -8
> > > sf_mtd_name 8 - -8
> > > spi_flash_std_probe 88 76 -12
> > > spi_flash_write_dm 14 - -14
> > > idr_remove 20 - -20
> > > spi_flash_mtd_write 38 - -38
> > > spi_flash_mtd_read 38 - -38
> > > spi_flash_mtd_unregister 52 - -52
> > > spi_flash_mtd_erase 78 - -78
> > > mtd_unlock 80 - -80
> > > del_mtd_device 80 - -80
> > > mtd_erase_callback 88 - -88
> > > part_erase 96 - -96
> > > del_mtd_partitions 136 - -136
> > > spi_flash_mtd_register 172 - -172
> > > sf_mtd_info 240 - -240
> > > add_mtd_device 328 - -328
> > > mtd_idr 516 - -516
> > >
> > >
> > > _______________________________________________
> > > U-Boot mailing list
> > > U-Boot at lists.denx.de
> > > https://lists.denx.de/listinfo/u-boot
> > >
>
>
>
> Best regards,
>
> Lukasz Majewski
>
> --
>
> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email:
> lukma at denx.de
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190910/a6250a88/attachment.sig>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*
2019-09-10 10:22 ` Lukasz Majewski
@ 2019-09-12 8:22 ` Schrempf Frieder
2019-09-12 9:03 ` Lukasz Majewski
0 siblings, 1 reply; 11+ messages in thread
From: Schrempf Frieder @ 2019-09-12 8:22 UTC (permalink / raw)
To: u-boot
Hi Lukasz,
On 10.09.19 12:22, Lukasz Majewski wrote:
> Hi Frieder,
>
>> On Mon, 9 Sep 2019 11:11:50 +0000
>> Schrempf Frieder <frieder.schrempf@kontron.de> wrote:
>>
>>> Hi Lukasz,
>>>
>>> On 05.09.19 20:09, Tom Rini wrote:
>>>> On Thu, Sep 05, 2019 at 12:16:36AM +0200, Lukasz Majewski wrote:
>>>>
>>>>> This patch series introduces new SPL and TPL specific Kconfig
>>>>> entries for DM_SPI* options. Such change allows using the spi
>>>>> driver in SPL/TPL or U-Boot proper.
>>>>>
>>>>> First two patches - related to ls10{42}* NXP soc fix some issues
>>>>> with defining the DM_SPI* defines in <board>.h file instead of
>>>>> Kconfig.
>>>>>
>>>>> This series doesn't introduce build breaks, but board maintainers
>>>>> are kindly asked to check if their boards still boots.
>>>>>
>>>>> Buildman setup for binary size regression checking:
>>>>>
>>>>> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
>>>>> --output-dir=../BUILD/ --force-build -CveE
>>>>> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
>>>>> --output-dir=../BUILD/ -Ssdel
>>>>
>>>> So you did fix the ls1043 problems but ls1046 is still a problem.
>>>>
>>>
>>> I was trying to clean up this config mess some weeks ago. I
>>> stumbled over the same issues (size deltas below) when I tested
>>> with buildman and finally gave up on it. This was my testing branch
>>> for reference: [1].
>>>
>>> Thanks for your work and I hope you/we can get this sorted out
>>> somehow...
>>
>> For now I've only posted the patch to introduce SPL_DM_SPI in Kconig:
>> https://patchwork.ozlabs.org/patch/1159655/
>
> However, I've looked on your patchset and IMHO this work could be
> divided (as doing it at once is not feasible).
>
> For example the CONFIG_SPI_FLASH_MTD could be converted to
> (SPL_TPL_)SPI_FLASH_MTD and then one could use
>
> #if CONFIG_IS_ENABLED(SPI_FLASH_MTD) in drivers/mtd/spi/sf_probe.c (as
> it is only used there).
>
> Then we could avoid situations where code is added as you remove it
> here [1]:
> https://github.com/fschrempf/u-boot/commit/b6489fb5928c2b41d7e4cb39933f078659b4f10e#diff-9d3e174d033b8b9c9d380a22a81600aaL136
>
> What I'm afraid though, is that split of SPI_FLASH_MTD will require
> adding unwillingly SPL_(TPL_)SPI_FLASH_MTD to all boards which already
> define it (and only drop ones, which use in <config>.h file pattern as
> [1]).
Yes, this looks like what I've tried to do separately in this branch [1].
The problem with some socfpga boards is, that they enable
CONFIG_SPI_FLASH_MTD in socfpga_common.h, without enabling
CONFIG_SPI_FLASH, which is probably wrong. So I tried to correct this,
but looking at it again, this should be done separately.
So if I remove the added "CONFIG_SPI_FLASH=y" from my patches and
rebase, this should be ok.
For this set I have still one question: Should I split the patches as
currently done in [1]? This would mean after the first patch some boards
miss SPI_FLASH_MTD code and the subsequent board config patches correct
it afterwards. Or should I merge all the changes to a single patch, to
not break the boards in between.
Unfortunately I can't do it the other way round and apply the board
config changes first, as this breaks the build.
> Frieder, would you be able to work on this topic any time soon?
I can try to find some time this weekend and try to get [1] ready. But I
probably won't be able to spend serious amounts of time anytime soon on
the remaining tasks.
Thanks,
Frieder
[1]: https://github.com/fschrempf/u-boot/commits/spi_flash_mtd_cleanup
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*
2019-09-12 8:22 ` Schrempf Frieder
@ 2019-09-12 9:03 ` Lukasz Majewski
2019-09-12 9:16 ` Schrempf Frieder
0 siblings, 1 reply; 11+ messages in thread
From: Lukasz Majewski @ 2019-09-12 9:03 UTC (permalink / raw)
To: u-boot
Hi Frieder,
> Hi Lukasz,
>
> On 10.09.19 12:22, Lukasz Majewski wrote:
> > Hi Frieder,
> >
> >> On Mon, 9 Sep 2019 11:11:50 +0000
> >> Schrempf Frieder <frieder.schrempf@kontron.de> wrote:
> >>
> >>> Hi Lukasz,
> >>>
> >>> On 05.09.19 20:09, Tom Rini wrote:
> >>>> On Thu, Sep 05, 2019 at 12:16:36AM +0200, Lukasz Majewski wrote:
> >>>>
> >>>>> This patch series introduces new SPL and TPL specific Kconfig
> >>>>> entries for DM_SPI* options. Such change allows using the spi
> >>>>> driver in SPL/TPL or U-Boot proper.
> >>>>>
> >>>>> First two patches - related to ls10{42}* NXP soc fix some issues
> >>>>> with defining the DM_SPI* defines in <board>.h file instead of
> >>>>> Kconfig.
> >>>>>
> >>>>> This series doesn't introduce build breaks, but board
> >>>>> maintainers are kindly asked to check if their boards still
> >>>>> boots.
> >>>>>
> >>>>> Buildman setup for binary size regression checking:
> >>>>>
> >>>>> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
> >>>>> --output-dir=../BUILD/ --force-build -CveE
> >>>>> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
> >>>>> --output-dir=../BUILD/ -Ssdel
> >>>>
> >>>> So you did fix the ls1043 problems but ls1046 is still a problem.
> >>>>
> >>>
> >>> I was trying to clean up this config mess some weeks ago. I
> >>> stumbled over the same issues (size deltas below) when I tested
> >>> with buildman and finally gave up on it. This was my testing
> >>> branch for reference: [1].
> >>>
> >>> Thanks for your work and I hope you/we can get this sorted out
> >>> somehow...
> >>
> >> For now I've only posted the patch to introduce SPL_DM_SPI in
> >> Kconig: https://patchwork.ozlabs.org/patch/1159655/
> >
> > However, I've looked on your patchset and IMHO this work could be
> > divided (as doing it at once is not feasible).
> >
> > For example the CONFIG_SPI_FLASH_MTD could be converted to
> > (SPL_TPL_)SPI_FLASH_MTD and then one could use
> >
> > #if CONFIG_IS_ENABLED(SPI_FLASH_MTD) in drivers/mtd/spi/sf_probe.c
> > (as it is only used there).
> >
> > Then we could avoid situations where code is added as you remove it
> > here [1]:
> > https://github.com/fschrempf/u-boot/commit/b6489fb5928c2b41d7e4cb39933f078659b4f10e#diff-9d3e174d033b8b9c9d380a22a81600aaL136
> >
> > What I'm afraid though, is that split of SPI_FLASH_MTD will require
> > adding unwillingly SPL_(TPL_)SPI_FLASH_MTD to all boards which
> > already define it (and only drop ones, which use in <config>.h file
> > pattern as [1]).
>
> Yes, this looks like what I've tried to do separately in this branch
> [1].
>
> The problem with some socfpga boards is, that they enable
> CONFIG_SPI_FLASH_MTD in socfpga_common.h, without enabling
> CONFIG_SPI_FLASH, which is probably wrong.
It looks to me like the code in:
https://github.com/fschrempf/u-boot/commit/059d67efa34da92aaf738758e596f436203c84c2#diff-9d3e174d033b8b9c9d380a22a81600aaL136
is to prevent ALL socfpgas from compiling in FLASH MTD support to SPL,
as it causes build breaks (as I do have such situation in one of my
boards - it uses tiny SPI in SPL to read data from SPI-NOR, without the
need to enable MTD there) .
In other words those boards only use FLASH MTD driver in U-Boot proper.
(and probably there shall not be any deltas in buildman build binaries
[*])
> So I tried to correct
> this, but looking at it again, this should be done separately.
>
> So if I remove the added "CONFIG_SPI_FLASH=y" from my patches and
> rebase, this should be ok.
I think yes. I guess that ALL socfpgas shall have added
CONFIG_SPI_FLASH_MTD=y to their _defconfigs
It may also happen that boards, which define CONFIG_SPI_FLASH_MTD would
require both CONFIG_SPI_FLASH_MTD and CONFIG_SPL_SPI_FLASH_MTD defined
(if they don't use socfpga style <config>.h code) to have the same
binaries build.
>
> For this set I have still one question: Should I split the patches as
> currently done in [1]? This would mean after the first patch some
> boards miss SPI_FLASH_MTD code and the subsequent board config
> patches correct it afterwards. Or should I merge all the changes to a
> single patch, to not break the boards in between.
I would opt for preparing one single patch with conversion (to avoid
build breaks). This would also allow easy buildman testing [*] to see
if there is any difference in sizes of binaries (elf sections to be
precise).
I would also add the patch to define CONFIG_SPL_SPI_FLASH_MTD in
Kconfig to show that such option is available for use after the
conversion (IMHO it shall be added before the conversion patch).
> Unfortunately I can't do it the other way round and apply the board
> config changes first, as this breaks the build.
The volume of changes is rather small - so single patch would be
optimal here.
>
> > Frieder, would you be able to work on this topic any time soon?
>
> I can try to find some time this weekend and try to get [1] ready.
Great, thanks :-)
> But I probably won't be able to spend serious amounts of time anytime
> soon on the remaining tasks.
I think that we shall do it step by step. As we both learned from the
experience - doing it at once is not feasible.
My comments to the patch set [1]:
1.
https://github.com/fschrempf/u-boot/commit/059d67efa34da92aaf738758e596f436203c84c2#diff-94a725bbe2cb8781105dab5153da9209R44
Is the CONFIG_SPI_FLASH = y necessary?
[*] - Buildman setup for testing (shared with me by Tom):
Set date:
export SOURCE_DATE_EPOCH=`date +%s`
Build the code:
./tools/buildman/buildman.py -b HEAD --count=1 socfpga dh_imx6 <other>
--output-dir=../BUILD/ --force-build -CveE
Check build results (including binary deltas):
./tools/buildman/buildman.py -b HEAD --count=1 socfpga dh_imx6 <other>
--output-dir=../BUILD/ -SsdelB
And you shall see the build results (with binary deltas).
>
> Thanks,
> Frieder
>
> [1]: https://github.com/fschrempf/u-boot/commits/spi_flash_mtd_cleanup
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190912/239828a5/attachment.sig>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*
2019-09-12 9:03 ` Lukasz Majewski
@ 2019-09-12 9:16 ` Schrempf Frieder
0 siblings, 0 replies; 11+ messages in thread
From: Schrempf Frieder @ 2019-09-12 9:16 UTC (permalink / raw)
To: u-boot
On 12.09.19 11:03, Lukasz Majewski wrote:
> Hi Frieder,
>
>> Hi Lukasz,
>>
>> On 10.09.19 12:22, Lukasz Majewski wrote:
>>> Hi Frieder,
>>>
>>>> On Mon, 9 Sep 2019 11:11:50 +0000
>>>> Schrempf Frieder <frieder.schrempf@kontron.de> wrote:
>>>>
>>>>> Hi Lukasz,
>>>>>
>>>>> On 05.09.19 20:09, Tom Rini wrote:
>>>>>> On Thu, Sep 05, 2019 at 12:16:36AM +0200, Lukasz Majewski wrote:
>>>>>>
>>>>>>> This patch series introduces new SPL and TPL specific Kconfig
>>>>>>> entries for DM_SPI* options. Such change allows using the spi
>>>>>>> driver in SPL/TPL or U-Boot proper.
>>>>>>>
>>>>>>> First two patches - related to ls10{42}* NXP soc fix some issues
>>>>>>> with defining the DM_SPI* defines in <board>.h file instead of
>>>>>>> Kconfig.
>>>>>>>
>>>>>>> This series doesn't introduce build breaks, but board
>>>>>>> maintainers are kindly asked to check if their boards still
>>>>>>> boots.
>>>>>>>
>>>>>>> Buildman setup for binary size regression checking:
>>>>>>>
>>>>>>> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
>>>>>>> --output-dir=../BUILD/ --force-build -CveE
>>>>>>> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
>>>>>>> --output-dir=../BUILD/ -Ssdel
>>>>>>
>>>>>> So you did fix the ls1043 problems but ls1046 is still a problem.
>>>>>>
>>>>>
>>>>> I was trying to clean up this config mess some weeks ago. I
>>>>> stumbled over the same issues (size deltas below) when I tested
>>>>> with buildman and finally gave up on it. This was my testing
>>>>> branch for reference: [1].
>>>>>
>>>>> Thanks for your work and I hope you/we can get this sorted out
>>>>> somehow...
>>>>
>>>> For now I've only posted the patch to introduce SPL_DM_SPI in
>>>> Kconig: https://patchwork.ozlabs.org/patch/1159655/
>>>
>>> However, I've looked on your patchset and IMHO this work could be
>>> divided (as doing it at once is not feasible).
>>>
>>> For example the CONFIG_SPI_FLASH_MTD could be converted to
>>> (SPL_TPL_)SPI_FLASH_MTD and then one could use
>>>
>>> #if CONFIG_IS_ENABLED(SPI_FLASH_MTD) in drivers/mtd/spi/sf_probe.c
>>> (as it is only used there).
>>>
>>> Then we could avoid situations where code is added as you remove it
>>> here [1]:
>>> https://github.com/fschrempf/u-boot/commit/b6489fb5928c2b41d7e4cb39933f078659b4f10e#diff-9d3e174d033b8b9c9d380a22a81600aaL136
>>>
>>> What I'm afraid though, is that split of SPI_FLASH_MTD will require
>>> adding unwillingly SPL_(TPL_)SPI_FLASH_MTD to all boards which
>>> already define it (and only drop ones, which use in <config>.h file
>>> pattern as [1]).
>>
>> Yes, this looks like what I've tried to do separately in this branch
>> [1].
>>
>> The problem with some socfpga boards is, that they enable
>> CONFIG_SPI_FLASH_MTD in socfpga_common.h, without enabling
>> CONFIG_SPI_FLASH, which is probably wrong.
>
> It looks to me like the code in:
> https://github.com/fschrempf/u-boot/commit/059d67efa34da92aaf738758e596f436203c84c2#diff-9d3e174d033b8b9c9d380a22a81600aaL136
>
> is to prevent ALL socfpgas from compiling in FLASH MTD support to SPL,
> as it causes build breaks (as I do have such situation in one of my
> boards - it uses tiny SPI in SPL to read data from SPI-NOR, without the
> need to enable MTD there) .
>
> In other words those boards only use FLASH MTD driver in U-Boot proper.
> (and probably there shall not be any deltas in buildman build binaries
> [*])
Right.
>
>> So I tried to correct
>> this, but looking at it again, this should be done separately.
>>
>> So if I remove the added "CONFIG_SPI_FLASH=y" from my patches and
>> rebase, this should be ok.
>
> I think yes. I guess that ALL socfpgas shall have added
> CONFIG_SPI_FLASH_MTD=y to their _defconfigs
Right.
>
>
> It may also happen that boards, which define CONFIG_SPI_FLASH_MTD would
> require both CONFIG_SPI_FLASH_MTD and CONFIG_SPL_SPI_FLASH_MTD defined
> (if they don't use socfpga style <config>.h code) to have the same
> binaries build.
Last time I looked such boards didn't exist, but I'll check again.
>
>>
>> For this set I have still one question: Should I split the patches as
>> currently done in [1]? This would mean after the first patch some
>> boards miss SPI_FLASH_MTD code and the subsequent board config
>> patches correct it afterwards. Or should I merge all the changes to a
>> single patch, to not break the boards in between.
>
> I would opt for preparing one single patch with conversion (to avoid
> build breaks). This would also allow easy buildman testing [*] to see
> if there is any difference in sizes of binaries (elf sections to be
> precise).
>
> I would also add the patch to define CONFIG_SPL_SPI_FLASH_MTD in
> Kconfig to show that such option is available for use after the
> conversion (IMHO it shall be added before the conversion patch).
Ok. Last time I worked on this, there was no board using SPI_FLASH_MTD
in SPL. But this might not be true anymore. Anyway, I'll add the option.
>
>> Unfortunately I can't do it the other way round and apply the board
>> config changes first, as this breaks the build.
>
> The volume of changes is rather small - so single patch would be
> optimal here.
Ok.
>
>>
>>> Frieder, would you be able to work on this topic any time soon?
>>
>> I can try to find some time this weekend and try to get [1] ready.
>
> Great, thanks :-)
>
>> But I probably won't be able to spend serious amounts of time anytime
>> soon on the remaining tasks.
>
> I think that we shall do it step by step. As we both learned from the
> experience - doing it at once is not feasible.
Definitely!
>
> My comments to the patch set [1]:
>
> 1.
> https://github.com/fschrempf/u-boot/commit/059d67efa34da92aaf738758e596f436203c84c2#diff-94a725bbe2cb8781105dab5153da9209R44
>
> Is the CONFIG_SPI_FLASH = y necessary?
For the boards to work properly, it probably is necessary, but it builds
fine without, so as said above I will leave this fix for someone who
knows about socfpga.
>
>
>
> [*] - Buildman setup for testing (shared with me by Tom):
>
> Set date:
> export SOURCE_DATE_EPOCH=`date +%s`
>
> Build the code:
>
> ./tools/buildman/buildman.py -b HEAD --count=1 socfpga dh_imx6 <other>
> --output-dir=../BUILD/ --force-build -CveE
>
> Check build results (including binary deltas):
>
> ./tools/buildman/buildman.py -b HEAD --count=1 socfpga dh_imx6 <other>
> --output-dir=../BUILD/ -SsdelB
>
>
> And you shall see the build results (with binary deltas).
Thanks, I already use such buildman setup to test the binary deltas.
>
>>
>> Thanks,
>> Frieder
>>
>> [1]: https://github.com/fschrempf/u-boot/commits/spi_flash_mtd_cleanup
>
>
> Best regards,
>
> Lukasz Majewski
>
> --
>
> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
>
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-09-12 9:16 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-04 22:16 [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI* Lukasz Majewski
2019-09-04 22:16 ` [U-Boot] [PATCH v3 1/3] spi: Move DM_SPI_FLASH to Kconfig (for NXP's ls1043a) Lukasz Majewski
2019-09-04 22:16 ` [U-Boot] [PATCH v3 2/3] spi: Move DM_SPI_FLASH and SPI_FLASH_DATAFLASH to Kconfig (for ls1021aXXX) Lukasz Majewski
2019-09-04 22:16 ` [U-Boot] [PATCH v3 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI* Lukasz Majewski
2019-09-05 18:09 ` [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI* Tom Rini
2019-09-09 11:11 ` Schrempf Frieder
2019-09-09 12:00 ` Lukasz Majewski
2019-09-10 10:22 ` Lukasz Majewski
2019-09-12 8:22 ` Schrempf Frieder
2019-09-12 9:03 ` Lukasz Majewski
2019-09-12 9:16 ` Schrempf Frieder
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox