[U-Boot] Pull request: u-boot-spi/master

Hi Tom,
Please pull this PR.
Summary: - SPL_SPI_FLASH_MTD (Frieder) - SPI NOR IDs' fixes, additions (Vignesh) - cs_info change (Bin) - Enable sunxi spi (Jagan)
Travis-CI: https://travis-ci.org/openedev/u-boot-amarula/builds/602483415
Thanks, Jagan.
The following changes since commit 17fd9915a4c639381804ed28274fa136ae3b0bee:
Merge branch '2019-10-24-UFS-support' (2019-10-24 09:51:48 -0400)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-spi master
for you to fetch changes up to 395ec7418695e5ce23f8b48c01a1dbffd2e52d3f:
spi-nor-ids: Add support for Adesto AT25SL321 (2019-10-25 00:48:32 +0530)
---------------------------------------------------------------- Bin Meng (2): dm: spi: Return 0 if driver does not implement ops->cs_info dm: spi: Change cs_info op to return -EINVAL for invalid cs num
Fabio Estevam (1): spi-nor-ids: Add support for Adesto AT25SL321
Frieder Schrempf (3): mtd: spi: Add a new option SPL_SPI_FLASH_MTD to Kconfig stm32mp1: configs: Add CONFIG_SPL_SPI_FLASH_MTD mtd: spi: Clean up usage of CONFIG_SPI_FLASH_MTD
Jagan Teki (8): mtd: spi: Kconfig: Update CONFIG_SPI_FLASH mtd: spi-nor: ids: Add is25wp256 chip spi: Kconfig: Add help text cmd: sf: Mark it default if DM_SPI_FLASH enabled mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH spi: Kconfig: Enable SPI_SUNXI for SUNXI arm: sunxi: Enable SPI/SPI-FLASH support for A64 configs: sopine-baseboard: Enable SPI-FLASH
Ley Foon Tan (1): spi: designware_spi: Disable and free clock when remove driver
Vignesh Raghavendra (5): mtd: spi-nor-core: Use dev_err for reporting erase/write failures mtd: spi-nor-core: Replace MTD_SPI_NOR_USE_4K_SECTORS with SPI_FLASH_USE_4K_SECTORS spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256* spi-nor: spi-nor-ids: Add entries for mt25q variants spi-nor: spi-nor-ids: Add USE_FSR flag for mt25q* and n25q* entry
arch/arm/dts/sun50i-a64-sopine-baseboard-u-boot.dtsi | 12 ++++++++++++ arch/arm/mach-sunxi/Kconfig | 3 +++ cmd/Kconfig | 1 + configs/aristainetos2_defconfig | 1 + configs/aristainetos2b_defconfig | 1 + configs/aristainetos_defconfig | 1 + configs/cm_fx6_defconfig | 1 + configs/socfpga_arria5_defconfig | 1 + configs/socfpga_cyclone5_defconfig | 1 + configs/socfpga_dbm_soc1_defconfig | 1 + configs/socfpga_de0_nano_soc_defconfig | 1 + configs/socfpga_de10_nano_defconfig | 1 + configs/socfpga_is1_defconfig | 1 + configs/socfpga_mcvevk_defconfig | 1 + configs/socfpga_sockit_defconfig | 1 + configs/socfpga_socrates_defconfig | 1 + configs/socfpga_sr1500_defconfig | 1 + configs/socfpga_vining_fpga_defconfig | 1 + configs/sopine_baseboard_defconfig | 1 + configs/stm32mp15_basic_defconfig | 1 + doc/driver-model/spi-howto.rst | 8 ++++---- drivers/mtd/spi/Kconfig | 14 +++++++++++--- drivers/mtd/spi/Makefile | 2 +- drivers/mtd/spi/sf_internal.h | 2 +- drivers/mtd/spi/sf_probe.c | 6 +++--- drivers/mtd/spi/spi-nor-core.c | 8 ++++---- drivers/mtd/spi/spi-nor-ids.c | 19 +++++++++++++------ drivers/spi/Kconfig | 18 ++++++++++++++++++ drivers/spi/ath79_spi.c | 2 +- drivers/spi/bcm63xx_hsspi.c | 2 +- drivers/spi/bcm63xx_spi.c | 2 +- drivers/spi/designware_spi.c | 16 +++++++++++++++- drivers/spi/sandbox_spi.c | 2 +- drivers/spi/spi-uclass.c | 7 +++---- drivers/spi/tegra20_sflash.c | 2 +- include/configs/aristainetos-common.h | 1 - include/configs/cm_fx6.h | 7 ------- include/configs/da850evm.h | 7 +------ include/configs/dh_imx6.h | 1 - include/configs/display5.h | 1 - include/configs/gw_ventana.h | 10 +--------- include/configs/rcar-gen2-common.h | 4 +--- include/configs/socfpga_common.h | 4 ---- include/spi.h | 2 +- 44 files changed, 115 insertions(+), 65 deletions(-) create mode 100644 arch/arm/dts/sun50i-a64-sopine-baseboard-u-boot.dtsi

On Fri, Oct 25, 2019 at 02:08:12PM +0530, Jagan Teki wrote:
Hi Tom,
Please pull this PR.
Summary:
- SPL_SPI_FLASH_MTD (Frieder)
- SPI NOR IDs' fixes, additions (Vignesh)
- cs_info change (Bin)
- Enable sunxi spi (Jagan)
Travis-CI: https://travis-ci.org/openedev/u-boot-amarula/builds/602483415
Thanks, Jagan.
The following changes since commit 17fd9915a4c639381804ed28274fa136ae3b0bee:
Merge branch '2019-10-24-UFS-support' (2019-10-24 09:51:48 -0400)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-spi master
for you to fetch changes up to 395ec7418695e5ce23f8b48c01a1dbffd2e52d3f:
spi-nor-ids: Add support for Adesto AT25SL321 (2019-10-25 00:48:32 +0530)
So, looking over the build output, I see the expected size increase in sunxi due to new support. But I also see a lot of size increases in rockchip and layerscape platforms (and possibly more, I stopped after spotting two different SoCs), for example: evb-px5 : all +12139 data +176 rodata +2275 spl/u-boot-spl:all +3529 spl/u-boot-spl:data +120 spl/u-boot-spl:rodata +309 spl/u-boot-spl:text +3100 text +9688 u-boot: add: 49/0, grow: 0/0 bytes: 9512/0 (9512) function old new delta spi_nor_scan - 2032 +2032 do_spi_flash - 2008 +2008 spi_get_bus_and_cs - 436 +436 spi_mem_exec_op - 420 +420 static.spi_nor_wait_till_ready_with_timeout - 300 +300 spi_nor_write - 300 +300 mtd_arg_off_size - 276 +276 spi_nor_erase - 232 +232 device_unbind - 232 +232 spi_nor_read_data - 220 +220 spi_nor_write_data - 212 +212 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_nor_read - 152 +152 spi_flash_probe_bus_cs - 152 +152 spi_set_speed_mode - 148 +148 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 mtd_arg_off - 124 +124 device_chld_unbind - 120 +120 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 spi_nor_write_reg - 104 +104 spi_find_bus_and_cs - 104 +104 spi_nor_read_reg - 100 +100 spi_find_chip_select - 96 +96 static.spi_check_buswidth_req - 88 +88 str2off - 80 +80 bytes_per_second - 76 +76 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 _u_boot_list_2_cmd_2_sf - 56 +56 dm_spi_xfer - 48 +48 read_sr - 44 +44 device_find_next_child - 40 +40 spi_flash_cmd_get_sw_write_prot - 36 +36 dm_spi_release_bus - 28 +28 write_enable - 20 +20 write_disable - 20 +20 spi_flash_std_get_sw_write_prot - 20 +20 spi_flash_write_dm - 16 +16 spi_flash_read_dm - 16 +16 spi_flash_erase_dm - 16 +16 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_flash_std_remove - 8 +8 spi_claim_bus - 8 +8 flash - 8 +8 spl-u-boot-spl: add: 25/0, grow: 0/0 bytes: 3220/0 (3220) function old new delta spi_nor_scan - 904 +904 spi_mem_exec_op - 420 +420 spi_nor_read - 304 +304 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_set_speed_mode - 148 +148 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 spi_nor_write_reg - 104 +104 static.spi_check_buswidth_req - 88 +88 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 dm_spi_xfer - 48 +48 dm_spi_release_bus - 28 +28 spi_flash_std_get_sw_write_prot - 20 +20 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_nor_write - 8 +8 spi_nor_erase - 8 +8 spi_flash_std_remove - 8 +8 spi_flash_cmd_get_sw_write_prot - 8 +8 spi_claim_bus - 8 +8 ls2088aqds_tfa : all +12906 data +120 rodata +2982 text +9804 u-boot: add: 44/0, grow: 0/0 bytes: 8460/0 (8460) function old new delta spi_nor_scan - 2168 +2168 sst26_lock_ctl - 604 +604 stm_unlock - 536 +536 stm_lock - 536 +536 sst_write - 504 +504 spi_mem_exec_op - 420 +420 spi_nor_write - 300 +300 spi_nor_wait_till_ready - 300 +300 spi_nor_erase - 232 +232 spi_nor_read_data - 220 +220 spi_nor_write_data - 212 +212 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_nor_read - 152 +152 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 stm_is_locked - 120 +120 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 static.write_sr_and_check - 112 +112 spi_nor_write_reg - 104 +104 spi_nor_read_reg - 100 +100 stm_is_unlocked_sr - 92 +92 stm_is_locked_sr - 92 +92 static.spi_check_buswidth_req - 88 +88 sst26_process_bpr - 88 +88 stm_get_locked_range - 80 +80 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 dm_spi_xfer - 48 +48 read_sr - 44 +44 sst26_is_locked - 36 +36 spi_flash_cmd_get_sw_write_prot - 36 +36 dm_spi_release_bus - 28 +28 write_enable - 20 +20 write_disable - 20 +20 spi_flash_std_get_sw_write_prot - 20 +20 sst26_unlock - 8 +8 sst26_lock - 8 +8 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_flash_std_remove - 8 +8 spi_claim_bus - 8 +8
So this strongly feels like something is being enabled by default when it shouldn't. You may want to use buildman with something like: $ git checkout -b current-spi-changes origin/master $ export SOURCE_DATE_EPOCH=`date +%s` $ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b current-spi-changes \ -SBCdevlk ls2088aqds_tfa $ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b current-spi-changes \ -SsBdevlk ls2088aqds_tfa
If nothing in the git log stands out to you as to which commit is causing this growth. Thanks!

Hi Tom,
On Fri, Oct 25, 2019 at 11:19 PM Tom Rini trini@konsulko.com wrote:
On Fri, Oct 25, 2019 at 02:08:12PM +0530, Jagan Teki wrote:
Hi Tom,
Please pull this PR.
Summary:
- SPL_SPI_FLASH_MTD (Frieder)
- SPI NOR IDs' fixes, additions (Vignesh)
- cs_info change (Bin)
- Enable sunxi spi (Jagan)
Travis-CI: https://travis-ci.org/openedev/u-boot-amarula/builds/602483415
Thanks, Jagan.
The following changes since commit 17fd9915a4c639381804ed28274fa136ae3b0bee:
Merge branch '2019-10-24-UFS-support' (2019-10-24 09:51:48 -0400)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-spi master
for you to fetch changes up to 395ec7418695e5ce23f8b48c01a1dbffd2e52d3f:
spi-nor-ids: Add support for Adesto AT25SL321 (2019-10-25 00:48:32 +0530)
So, looking over the build output, I see the expected size increase in sunxi due to new support. But I also see a lot of size increases in rockchip and layerscape platforms (and possibly more, I stopped after spotting two different SoCs), for example: evb-px5 : all +12139 data +176 rodata +2275 spl/u-boot-spl:all +3529 spl/u-boot-spl:data +120 spl/u-boot-spl:rodata +309 spl/u-boot-spl:text +3100 text +9688 u-boot: add: 49/0, grow: 0/0 bytes: 9512/0 (9512) function old new delta spi_nor_scan - 2032 +2032 do_spi_flash - 2008 +2008 spi_get_bus_and_cs - 436 +436 spi_mem_exec_op - 420 +420 static.spi_nor_wait_till_ready_with_timeout - 300 +300 spi_nor_write - 300 +300 mtd_arg_off_size - 276 +276 spi_nor_erase - 232 +232 device_unbind - 232 +232 spi_nor_read_data - 220 +220 spi_nor_write_data - 212 +212 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_nor_read - 152 +152 spi_flash_probe_bus_cs - 152 +152 spi_set_speed_mode - 148 +148 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 mtd_arg_off - 124 +124 device_chld_unbind - 120 +120 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 spi_nor_write_reg - 104 +104 spi_find_bus_and_cs - 104 +104 spi_nor_read_reg - 100 +100 spi_find_chip_select - 96 +96 static.spi_check_buswidth_req - 88 +88 str2off - 80 +80 bytes_per_second - 76 +76 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 _u_boot_list_2_cmd_2_sf - 56 +56 dm_spi_xfer - 48 +48 read_sr - 44 +44 device_find_next_child - 40 +40 spi_flash_cmd_get_sw_write_prot - 36 +36 dm_spi_release_bus - 28 +28 write_enable - 20 +20 write_disable - 20 +20 spi_flash_std_get_sw_write_prot - 20 +20 spi_flash_write_dm - 16 +16 spi_flash_read_dm - 16 +16 spi_flash_erase_dm - 16 +16 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_flash_std_remove - 8 +8 spi_claim_bus - 8 +8 flash - 8 +8 spl-u-boot-spl: add: 25/0, grow: 0/0 bytes: 3220/0 (3220) function old new delta spi_nor_scan - 904 +904 spi_mem_exec_op - 420 +420 spi_nor_read - 304 +304 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_set_speed_mode - 148 +148 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 spi_nor_write_reg - 104 +104 static.spi_check_buswidth_req - 88 +88 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 dm_spi_xfer - 48 +48 dm_spi_release_bus - 28 +28 spi_flash_std_get_sw_write_prot - 20 +20 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_nor_write - 8 +8 spi_nor_erase - 8 +8 spi_flash_std_remove - 8 +8 spi_flash_cmd_get_sw_write_prot - 8 +8 spi_claim_bus - 8 +8 ls2088aqds_tfa : all +12906 data +120 rodata +2982 text +9804 u-boot: add: 44/0, grow: 0/0 bytes: 8460/0 (8460) function old new delta spi_nor_scan - 2168 +2168 sst26_lock_ctl - 604 +604 stm_unlock - 536 +536 stm_lock - 536 +536 sst_write - 504 +504 spi_mem_exec_op - 420 +420 spi_nor_write - 300 +300 spi_nor_wait_till_ready - 300 +300 spi_nor_erase - 232 +232 spi_nor_read_data - 220 +220 spi_nor_write_data - 212 +212 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_nor_read - 152 +152 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 stm_is_locked - 120 +120 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 static.write_sr_and_check - 112 +112 spi_nor_write_reg - 104 +104 spi_nor_read_reg - 100 +100 stm_is_unlocked_sr - 92 +92 stm_is_locked_sr - 92 +92 static.spi_check_buswidth_req - 88 +88 sst26_process_bpr - 88 +88 stm_get_locked_range - 80 +80 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 dm_spi_xfer - 48 +48 read_sr - 44 +44 sst26_is_locked - 36 +36 spi_flash_cmd_get_sw_write_prot - 36 +36 dm_spi_release_bus - 28 +28 write_enable - 20 +20 write_disable - 20 +20 spi_flash_std_get_sw_write_prot - 20 +20 sst26_unlock - 8 +8 sst26_lock - 8 +8 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_flash_std_remove - 8 +8 spi_claim_bus - 8 +8
So this strongly feels like something is being enabled by default when it shouldn't. You may want to use buildman with something like: $ git checkout -b current-spi-changes origin/master $ export SOURCE_DATE_EPOCH=`date +%s` $ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b current-spi-changes \ -SBCdevlk ls2088aqds_tfa $ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b current-spi-changes \ -SsBdevlk ls2088aqds_tfa
If nothing in the git log stands out to you as to which commit is causing this growth. Thanks!
I did see for layerscape. but not with rockchip. layerscape did use cmd/sf.c and DM_SPI_FLASH don't know why those boards accessing jedec,spi-nor even though they enabled it on dts. so the patch 08: mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH
Enabling SPI_FLASH that indeed increasing the size on this platform, reset seems to be fine. If yes, will make the SPI_FLASH enablement not for layerscape. please check and let me know.
layerscape:
$ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b master -SsCdevlk ls2088aqds_tfa boards.cfg is up to date. Nothing to do. Summary of 21 commits for 1 boards (1 thread, 4 jobs per thread) 01: Merge branch '2019-10-24-UFS-support' aarch64: w+ ls2088aqds_tfa +(ls2088aqds_tfa) ===================== WARNING ====================== +(ls2088aqds_tfa) This board does not use CONFIG_DM_ETH (Driver Model +(ls2088aqds_tfa) for Ethernet drivers). Please update the board to use +(ls2088aqds_tfa) CONFIG_DM_ETH before the v2020.07 release. Failure to +(ls2088aqds_tfa) update by the deadline may result in board removal. +(ls2088aqds_tfa) See doc/driver-model/migration.rst for more info. +(ls2088aqds_tfa) ==================================================== 02: mtd: spi: Kconfig: Update CONFIG_SPI_FLASH 03: mtd: spi-nor: ids: Add is25wp256 chip 04: spi: Kconfig: Add help text 05: dm: spi: Return 0 if driver does not implement ops->cs_info 06: dm: spi: Change cs_info op to return -EINVAL for invalid cs num 07: cmd: sf: Mark it default if DM_SPI_FLASH enabled
aarch64: (for 1/1 boards) all +12554.0 data +120.0 rodata +2750.0 text +9684.0 ls2088aqds_tfa : all +12554 data +120 rodata +2750 text +9684 09: spi: Kconfig: Enable SPI_SUNXI for SUNXI 10: arm: sunxi: Enable SPI/SPI-FLASH support for A64 11: configs: sopine-baseboard: Enable SPI-FLASH 12: mtd: spi: Add a new option SPL_SPI_FLASH_MTD to Kconfig 13: stm32mp1: configs: Add CONFIG_SPL_SPI_FLASH_MTD 14: mtd: spi-nor-core: Use dev_err for reporting erase/write failures aarch64: (for 1/1 boards) all +145.0 rodata +93.0 text +52.0 ls2088aqds_tfa : all +145 rodata +93 text +52 15: mtd: spi-nor-core: Replace MTD_SPI_NOR_USE_4K_SECTORS with SPI_FLASH_USE_4K_SECTORS 16: spi: designware_spi: Disable and free clock when remove driver 17: spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256* 18: spi-nor: spi-nor-ids: Add entries for mt25q variants aarch64: (for 1/1 boards) all +201.0 rodata +129.0 text +72.0 ls2088aqds_tfa : all +201 rodata +129 text +72 19: spi-nor: spi-nor-ids: Add USE_FSR flag for mt25q* and n25q* entry 20: mtd: spi: Clean up usage of CONFIG_SPI_FLASH_MTD 21: spi-nor-ids: Add support for Adesto AT25SL321
rk3399:
$ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b master -SsCdevlk puma-rk3399 boards.cfg is up to date. Nothing to do. Summary of 21 commits for 1 boards (1 thread, 4 jobs per thread) 01: Merge branch '2019-10-24-UFS-support' aarch64: w+ puma-rk3399 +(puma-rk3399) WARNING: PMUM0 file rk3399m0.bin NOT found, resulting binary is non-functional +(puma-rk3399) Please read Building section in doc/README.rockchip 02: mtd: spi: Kconfig: Update CONFIG_SPI_FLASH 03: mtd: spi-nor: ids: Add is25wp256 chip 04: spi: Kconfig: Add help text 05: dm: spi: Return 0 if driver does not implement ops->cs_info 06: dm: spi: Change cs_info op to return -EINVAL for invalid cs num 07: cmd: sf: Mark it default if DM_SPI_FLASH enabled 08: mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH 09: spi: Kconfig: Enable SPI_SUNXI for SUNXI 10: arm: sunxi: Enable SPI/SPI-FLASH support for A64 11: configs: sopine-baseboard: Enable SPI-FLASH 12: mtd: spi: Add a new option SPL_SPI_FLASH_MTD to Kconfig 13: stm32mp1: configs: Add CONFIG_SPL_SPI_FLASH_MTD 14: mtd: spi-nor-core: Use dev_err for reporting erase/write failures aarch64: (for 1/1 boards) all +145.0 rodata +93.0 text +52.0 puma-rk3399 : all +145 rodata +93 text +52 15: mtd: spi-nor-core: Replace MTD_SPI_NOR_USE_4K_SECTORS with SPI_FLASH_USE_4K_SECTORS 16: spi: designware_spi: Disable and free clock when remove driver 17: spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256* 18: spi-nor: spi-nor-ids: Add entries for mt25q variants 19: spi-nor: spi-nor-ids: Add USE_FSR flag for mt25q* and n25q* entry 20: mtd: spi: Clean up usage of CONFIG_SPI_FLASH_MTD 21: spi-nor-ids: Add support for Adesto AT25SL321

On Sun, Oct 27, 2019 at 05:20:22PM +0530, Jagan Teki wrote:
Hi Tom,
On Fri, Oct 25, 2019 at 11:19 PM Tom Rini trini@konsulko.com wrote:
On Fri, Oct 25, 2019 at 02:08:12PM +0530, Jagan Teki wrote:
Hi Tom,
Please pull this PR.
Summary:
- SPL_SPI_FLASH_MTD (Frieder)
- SPI NOR IDs' fixes, additions (Vignesh)
- cs_info change (Bin)
- Enable sunxi spi (Jagan)
Travis-CI: https://travis-ci.org/openedev/u-boot-amarula/builds/602483415
Thanks, Jagan.
The following changes since commit 17fd9915a4c639381804ed28274fa136ae3b0bee:
Merge branch '2019-10-24-UFS-support' (2019-10-24 09:51:48 -0400)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-spi master
for you to fetch changes up to 395ec7418695e5ce23f8b48c01a1dbffd2e52d3f:
spi-nor-ids: Add support for Adesto AT25SL321 (2019-10-25 00:48:32 +0530)
So, looking over the build output, I see the expected size increase in sunxi due to new support. But I also see a lot of size increases in rockchip and layerscape platforms (and possibly more, I stopped after spotting two different SoCs), for example: evb-px5 : all +12139 data +176 rodata +2275 spl/u-boot-spl:all +3529 spl/u-boot-spl:data +120 spl/u-boot-spl:rodata +309 spl/u-boot-spl:text +3100 text +9688 u-boot: add: 49/0, grow: 0/0 bytes: 9512/0 (9512) function old new delta spi_nor_scan - 2032 +2032 do_spi_flash - 2008 +2008 spi_get_bus_and_cs - 436 +436 spi_mem_exec_op - 420 +420 static.spi_nor_wait_till_ready_with_timeout - 300 +300 spi_nor_write - 300 +300 mtd_arg_off_size - 276 +276 spi_nor_erase - 232 +232 device_unbind - 232 +232 spi_nor_read_data - 220 +220 spi_nor_write_data - 212 +212 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_nor_read - 152 +152 spi_flash_probe_bus_cs - 152 +152 spi_set_speed_mode - 148 +148 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 mtd_arg_off - 124 +124 device_chld_unbind - 120 +120 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 spi_nor_write_reg - 104 +104 spi_find_bus_and_cs - 104 +104 spi_nor_read_reg - 100 +100 spi_find_chip_select - 96 +96 static.spi_check_buswidth_req - 88 +88 str2off - 80 +80 bytes_per_second - 76 +76 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 _u_boot_list_2_cmd_2_sf - 56 +56 dm_spi_xfer - 48 +48 read_sr - 44 +44 device_find_next_child - 40 +40 spi_flash_cmd_get_sw_write_prot - 36 +36 dm_spi_release_bus - 28 +28 write_enable - 20 +20 write_disable - 20 +20 spi_flash_std_get_sw_write_prot - 20 +20 spi_flash_write_dm - 16 +16 spi_flash_read_dm - 16 +16 spi_flash_erase_dm - 16 +16 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_flash_std_remove - 8 +8 spi_claim_bus - 8 +8 flash - 8 +8 spl-u-boot-spl: add: 25/0, grow: 0/0 bytes: 3220/0 (3220) function old new delta spi_nor_scan - 904 +904 spi_mem_exec_op - 420 +420 spi_nor_read - 304 +304 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_set_speed_mode - 148 +148 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 spi_nor_write_reg - 104 +104 static.spi_check_buswidth_req - 88 +88 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 dm_spi_xfer - 48 +48 dm_spi_release_bus - 28 +28 spi_flash_std_get_sw_write_prot - 20 +20 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_nor_write - 8 +8 spi_nor_erase - 8 +8 spi_flash_std_remove - 8 +8 spi_flash_cmd_get_sw_write_prot - 8 +8 spi_claim_bus - 8 +8 ls2088aqds_tfa : all +12906 data +120 rodata +2982 text +9804 u-boot: add: 44/0, grow: 0/0 bytes: 8460/0 (8460) function old new delta spi_nor_scan - 2168 +2168 sst26_lock_ctl - 604 +604 stm_unlock - 536 +536 stm_lock - 536 +536 sst_write - 504 +504 spi_mem_exec_op - 420 +420 spi_nor_write - 300 +300 spi_nor_wait_till_ready - 300 +300 spi_nor_erase - 232 +232 spi_nor_read_data - 220 +220 spi_nor_write_data - 212 +212 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_nor_read - 152 +152 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 stm_is_locked - 120 +120 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 static.write_sr_and_check - 112 +112 spi_nor_write_reg - 104 +104 spi_nor_read_reg - 100 +100 stm_is_unlocked_sr - 92 +92 stm_is_locked_sr - 92 +92 static.spi_check_buswidth_req - 88 +88 sst26_process_bpr - 88 +88 stm_get_locked_range - 80 +80 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 dm_spi_xfer - 48 +48 read_sr - 44 +44 sst26_is_locked - 36 +36 spi_flash_cmd_get_sw_write_prot - 36 +36 dm_spi_release_bus - 28 +28 write_enable - 20 +20 write_disable - 20 +20 spi_flash_std_get_sw_write_prot - 20 +20 sst26_unlock - 8 +8 sst26_lock - 8 +8 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_flash_std_remove - 8 +8 spi_claim_bus - 8 +8
So this strongly feels like something is being enabled by default when it shouldn't. You may want to use buildman with something like: $ git checkout -b current-spi-changes origin/master $ export SOURCE_DATE_EPOCH=`date +%s` $ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b current-spi-changes \ -SBCdevlk ls2088aqds_tfa $ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b current-spi-changes \ -SsBdevlk ls2088aqds_tfa
If nothing in the git log stands out to you as to which commit is causing this growth. Thanks!
I did see for layerscape. but not with rockchip. layerscape did use cmd/sf.c and DM_SPI_FLASH don't know why those boards accessing jedec,spi-nor even though they enabled it on dts. so the patch 08: mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH
Enabling SPI_FLASH that indeed increasing the size on this platform, reset seems to be fine. If yes, will make the SPI_FLASH enablement not for layerscape. please check and let me know.
layerscape:
$ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b master -SsCdevlk ls2088aqds_tfa boards.cfg is up to date. Nothing to do. Summary of 21 commits for 1 boards (1 thread, 4 jobs per thread) 01: Merge branch '2019-10-24-UFS-support' aarch64: w+ ls2088aqds_tfa +(ls2088aqds_tfa) ===================== WARNING ====================== +(ls2088aqds_tfa) This board does not use CONFIG_DM_ETH (Driver Model +(ls2088aqds_tfa) for Ethernet drivers). Please update the board to use +(ls2088aqds_tfa) CONFIG_DM_ETH before the v2020.07 release. Failure to +(ls2088aqds_tfa) update by the deadline may result in board removal. +(ls2088aqds_tfa) See doc/driver-model/migration.rst for more info. +(ls2088aqds_tfa) ==================================================== 02: mtd: spi: Kconfig: Update CONFIG_SPI_FLASH 03: mtd: spi-nor: ids: Add is25wp256 chip 04: spi: Kconfig: Add help text 05: dm: spi: Return 0 if driver does not implement ops->cs_info 06: dm: spi: Change cs_info op to return -EINVAL for invalid cs num 07: cmd: sf: Mark it default if DM_SPI_FLASH enabled
aarch64: (for 1/1 boards) all +12554.0 data +120.0 rodata +2750.0 text +9684.0 ls2088aqds_tfa : all +12554 data +120 rodata +2750 text +9684 09: spi: Kconfig: Enable SPI_SUNXI for SUNXI 10: arm: sunxi: Enable SPI/SPI-FLASH support for A64 11: configs: sopine-baseboard: Enable SPI-FLASH 12: mtd: spi: Add a new option SPL_SPI_FLASH_MTD to Kconfig 13: stm32mp1: configs: Add CONFIG_SPL_SPI_FLASH_MTD 14: mtd: spi-nor-core: Use dev_err for reporting erase/write failures aarch64: (for 1/1 boards) all +145.0 rodata +93.0 text +52.0 ls2088aqds_tfa : all +145 rodata +93 text +52 15: mtd: spi-nor-core: Replace MTD_SPI_NOR_USE_4K_SECTORS with SPI_FLASH_USE_4K_SECTORS 16: spi: designware_spi: Disable and free clock when remove driver 17: spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256* 18: spi-nor: spi-nor-ids: Add entries for mt25q variants aarch64: (for 1/1 boards) all +201.0 rodata +129.0 text +72.0 ls2088aqds_tfa : all +201 rodata +129 text +72 19: spi-nor: spi-nor-ids: Add USE_FSR flag for mt25q* and n25q* entry 20: mtd: spi: Clean up usage of CONFIG_SPI_FLASH_MTD 21: spi-nor-ids: Add support for Adesto AT25SL321
rk3399:
$ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b master -SsCdevlk puma-rk3399 boards.cfg is up to date. Nothing to do. Summary of 21 commits for 1 boards (1 thread, 4 jobs per thread) 01: Merge branch '2019-10-24-UFS-support' aarch64: w+ puma-rk3399 +(puma-rk3399) WARNING: PMUM0 file rk3399m0.bin NOT found, resulting binary is non-functional +(puma-rk3399) Please read Building section in doc/README.rockchip 02: mtd: spi: Kconfig: Update CONFIG_SPI_FLASH 03: mtd: spi-nor: ids: Add is25wp256 chip 04: spi: Kconfig: Add help text 05: dm: spi: Return 0 if driver does not implement ops->cs_info 06: dm: spi: Change cs_info op to return -EINVAL for invalid cs num 07: cmd: sf: Mark it default if DM_SPI_FLASH enabled 08: mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH 09: spi: Kconfig: Enable SPI_SUNXI for SUNXI 10: arm: sunxi: Enable SPI/SPI-FLASH support for A64 11: configs: sopine-baseboard: Enable SPI-FLASH 12: mtd: spi: Add a new option SPL_SPI_FLASH_MTD to Kconfig 13: stm32mp1: configs: Add CONFIG_SPL_SPI_FLASH_MTD 14: mtd: spi-nor-core: Use dev_err for reporting erase/write failures aarch64: (for 1/1 boards) all +145.0 rodata +93.0 text +52.0 puma-rk3399 : all +145 rodata +93 text +52 15: mtd: spi-nor-core: Replace MTD_SPI_NOR_USE_4K_SECTORS with SPI_FLASH_USE_4K_SECTORS 16: spi: designware_spi: Disable and free clock when remove driver 17: spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256* 18: spi-nor: spi-nor-ids: Add entries for mt25q variants 19: spi-nor: spi-nor-ids: Add USE_FSR flag for mt25q* and n25q* entry 20: mtd: spi: Clean up usage of CONFIG_SPI_FLASH_MTD 21: spi-nor-ids: Add support for Adesto AT25SL321
If you think everything is good now, please re-submit the PR and I'll give it a whirl. Thanks!

Hi Jagan,
On 28.10.19 01:46, Tom Rini wrote:
On Sun, Oct 27, 2019 at 05:20:22PM +0530, Jagan Teki wrote:
Hi Tom,
On Fri, Oct 25, 2019 at 11:19 PM Tom Rini trini@konsulko.com wrote:
On Fri, Oct 25, 2019 at 02:08:12PM +0530, Jagan Teki wrote:
Hi Tom,
Please pull this PR.
Summary:
- SPL_SPI_FLASH_MTD (Frieder)
- SPI NOR IDs' fixes, additions (Vignesh)
- cs_info change (Bin)
- Enable sunxi spi (Jagan)
Travis-CI: https://travis-ci.org/openedev/u-boot-amarula/builds/602483415
Thanks, Jagan.
The following changes since commit 17fd9915a4c639381804ed28274fa136ae3b0bee:
Merge branch '2019-10-24-UFS-support' (2019-10-24 09:51:48 -0400)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-spi master
for you to fetch changes up to 395ec7418695e5ce23f8b48c01a1dbffd2e52d3f:
spi-nor-ids: Add support for Adesto AT25SL321 (2019-10-25 00:48:32 +0530)
So, looking over the build output, I see the expected size increase in sunxi due to new support. But I also see a lot of size increases in rockchip and layerscape platforms (and possibly more, I stopped after spotting two different SoCs), for example: evb-px5 : all +12139 data +176 rodata +2275 spl/u-boot-spl:all +3529 spl/u-boot-spl:data +120 spl/u-boot-spl:rodata +309 spl/u-boot-spl:text +3100 text +9688 u-boot: add: 49/0, grow: 0/0 bytes: 9512/0 (9512) function old new delta spi_nor_scan - 2032 +2032 do_spi_flash - 2008 +2008 spi_get_bus_and_cs - 436 +436 spi_mem_exec_op - 420 +420 static.spi_nor_wait_till_ready_with_timeout - 300 +300 spi_nor_write - 300 +300 mtd_arg_off_size - 276 +276 spi_nor_erase - 232 +232 device_unbind - 232 +232 spi_nor_read_data - 220 +220 spi_nor_write_data - 212 +212 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_nor_read - 152 +152 spi_flash_probe_bus_cs - 152 +152 spi_set_speed_mode - 148 +148 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 mtd_arg_off - 124 +124 device_chld_unbind - 120 +120 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 spi_nor_write_reg - 104 +104 spi_find_bus_and_cs - 104 +104 spi_nor_read_reg - 100 +100 spi_find_chip_select - 96 +96 static.spi_check_buswidth_req - 88 +88 str2off - 80 +80 bytes_per_second - 76 +76 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 _u_boot_list_2_cmd_2_sf - 56 +56 dm_spi_xfer - 48 +48 read_sr - 44 +44 device_find_next_child - 40 +40 spi_flash_cmd_get_sw_write_prot - 36 +36 dm_spi_release_bus - 28 +28 write_enable - 20 +20 write_disable - 20 +20 spi_flash_std_get_sw_write_prot - 20 +20 spi_flash_write_dm - 16 +16 spi_flash_read_dm - 16 +16 spi_flash_erase_dm - 16 +16 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_flash_std_remove - 8 +8 spi_claim_bus - 8 +8 flash - 8 +8 spl-u-boot-spl: add: 25/0, grow: 0/0 bytes: 3220/0 (3220) function old new delta spi_nor_scan - 904 +904 spi_mem_exec_op - 420 +420 spi_nor_read - 304 +304 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_set_speed_mode - 148 +148 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 spi_nor_write_reg - 104 +104 static.spi_check_buswidth_req - 88 +88 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 dm_spi_xfer - 48 +48 dm_spi_release_bus - 28 +28 spi_flash_std_get_sw_write_prot - 20 +20 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_nor_write - 8 +8 spi_nor_erase - 8 +8 spi_flash_std_remove - 8 +8 spi_flash_cmd_get_sw_write_prot - 8 +8 spi_claim_bus - 8 +8 ls2088aqds_tfa : all +12906 data +120 rodata +2982 text +9804 u-boot: add: 44/0, grow: 0/0 bytes: 8460/0 (8460) function old new delta spi_nor_scan - 2168 +2168 sst26_lock_ctl - 604 +604 stm_unlock - 536 +536 stm_lock - 536 +536 sst_write - 504 +504 spi_mem_exec_op - 420 +420 spi_nor_write - 300 +300 spi_nor_wait_till_ready - 300 +300 spi_nor_erase - 232 +232 spi_nor_read_data - 220 +220 spi_nor_write_data - 212 +212 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_nor_read - 152 +152 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 stm_is_locked - 120 +120 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 static.write_sr_and_check - 112 +112 spi_nor_write_reg - 104 +104 spi_nor_read_reg - 100 +100 stm_is_unlocked_sr - 92 +92 stm_is_locked_sr - 92 +92 static.spi_check_buswidth_req - 88 +88 sst26_process_bpr - 88 +88 stm_get_locked_range - 80 +80 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 dm_spi_xfer - 48 +48 read_sr - 44 +44 sst26_is_locked - 36 +36 spi_flash_cmd_get_sw_write_prot - 36 +36 dm_spi_release_bus - 28 +28 write_enable - 20 +20 write_disable - 20 +20 spi_flash_std_get_sw_write_prot - 20 +20 sst26_unlock - 8 +8 sst26_lock - 8 +8 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_flash_std_remove - 8 +8 spi_claim_bus - 8 +8
So this strongly feels like something is being enabled by default when it shouldn't. You may want to use buildman with something like: $ git checkout -b current-spi-changes origin/master $ export SOURCE_DATE_EPOCH=`date +%s` $ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b current-spi-changes \ -SBCdevlk ls2088aqds_tfa $ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b current-spi-changes \ -SsBdevlk ls2088aqds_tfa
If nothing in the git log stands out to you as to which commit is causing this growth. Thanks!
I did see for layerscape. but not with rockchip. layerscape did use cmd/sf.c and DM_SPI_FLASH don't know why those boards accessing jedec,spi-nor even though they enabled it on dts. so the patch 08: mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH
Enabling SPI_FLASH that indeed increasing the size on this platform, reset seems to be fine. If yes, will make the SPI_FLASH enablement not for layerscape. please check and let me know.
layerscape:
$ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b master -SsCdevlk ls2088aqds_tfa boards.cfg is up to date. Nothing to do. Summary of 21 commits for 1 boards (1 thread, 4 jobs per thread) 01: Merge branch '2019-10-24-UFS-support' aarch64: w+ ls2088aqds_tfa +(ls2088aqds_tfa) ===================== WARNING ====================== +(ls2088aqds_tfa) This board does not use CONFIG_DM_ETH (Driver Model +(ls2088aqds_tfa) for Ethernet drivers). Please update the board to use +(ls2088aqds_tfa) CONFIG_DM_ETH before the v2020.07 release. Failure to +(ls2088aqds_tfa) update by the deadline may result in board removal. +(ls2088aqds_tfa) See doc/driver-model/migration.rst for more info. +(ls2088aqds_tfa) ==================================================== 02: mtd: spi: Kconfig: Update CONFIG_SPI_FLASH 03: mtd: spi-nor: ids: Add is25wp256 chip 04: spi: Kconfig: Add help text 05: dm: spi: Return 0 if driver does not implement ops->cs_info 06: dm: spi: Change cs_info op to return -EINVAL for invalid cs num 07: cmd: sf: Mark it default if DM_SPI_FLASH enabled
aarch64: (for 1/1 boards) all +12554.0 data +120.0 rodata +2750.0
text +9684.0 ls2088aqds_tfa : all +12554 data +120 rodata +2750 text +9684 09: spi: Kconfig: Enable SPI_SUNXI for SUNXI 10: arm: sunxi: Enable SPI/SPI-FLASH support for A64 11: configs: sopine-baseboard: Enable SPI-FLASH 12: mtd: spi: Add a new option SPL_SPI_FLASH_MTD to Kconfig 13: stm32mp1: configs: Add CONFIG_SPL_SPI_FLASH_MTD 14: mtd: spi-nor-core: Use dev_err for reporting erase/write failures aarch64: (for 1/1 boards) all +145.0 rodata +93.0 text +52.0 ls2088aqds_tfa : all +145 rodata +93 text +52 15: mtd: spi-nor-core: Replace MTD_SPI_NOR_USE_4K_SECTORS with SPI_FLASH_USE_4K_SECTORS 16: spi: designware_spi: Disable and free clock when remove driver 17: spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256* 18: spi-nor: spi-nor-ids: Add entries for mt25q variants aarch64: (for 1/1 boards) all +201.0 rodata +129.0 text +72.0 ls2088aqds_tfa : all +201 rodata +129 text +72 19: spi-nor: spi-nor-ids: Add USE_FSR flag for mt25q* and n25q* entry 20: mtd: spi: Clean up usage of CONFIG_SPI_FLASH_MTD 21: spi-nor-ids: Add support for Adesto AT25SL321
rk3399:
$ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b master -SsCdevlk puma-rk3399 boards.cfg is up to date. Nothing to do. Summary of 21 commits for 1 boards (1 thread, 4 jobs per thread) 01: Merge branch '2019-10-24-UFS-support' aarch64: w+ puma-rk3399 +(puma-rk3399) WARNING: PMUM0 file rk3399m0.bin NOT found, resulting binary is non-functional +(puma-rk3399) Please read Building section in doc/README.rockchip 02: mtd: spi: Kconfig: Update CONFIG_SPI_FLASH 03: mtd: spi-nor: ids: Add is25wp256 chip 04: spi: Kconfig: Add help text 05: dm: spi: Return 0 if driver does not implement ops->cs_info 06: dm: spi: Change cs_info op to return -EINVAL for invalid cs num 07: cmd: sf: Mark it default if DM_SPI_FLASH enabled 08: mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH 09: spi: Kconfig: Enable SPI_SUNXI for SUNXI 10: arm: sunxi: Enable SPI/SPI-FLASH support for A64 11: configs: sopine-baseboard: Enable SPI-FLASH 12: mtd: spi: Add a new option SPL_SPI_FLASH_MTD to Kconfig 13: stm32mp1: configs: Add CONFIG_SPL_SPI_FLASH_MTD 14: mtd: spi-nor-core: Use dev_err for reporting erase/write failures aarch64: (for 1/1 boards) all +145.0 rodata +93.0 text +52.0 puma-rk3399 : all +145 rodata +93 text +52 15: mtd: spi-nor-core: Replace MTD_SPI_NOR_USE_4K_SECTORS with SPI_FLASH_USE_4K_SECTORS 16: spi: designware_spi: Disable and free clock when remove driver 17: spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256* 18: spi-nor: spi-nor-ids: Add entries for mt25q variants 19: spi-nor: spi-nor-ids: Add USE_FSR flag for mt25q* and n25q* entry 20: mtd: spi: Clean up usage of CONFIG_SPI_FLASH_MTD 21: spi-nor-ids: Add support for Adesto AT25SL321
If you think everything is good now, please re-submit the PR and I'll give it a whirl. Thanks!
Can you please fix the issues in the PR and resubmit, so we have these patches in v2020.01 if it's not already too late?
Or otherwise please just drop the "mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH" or whatever causes these problems, so the other patches get merged.
Thanks, Frieder

Hi Schrempf,
On Thu, Oct 31, 2019 at 1:24 PM Schrempf Frieder frieder.schrempf@kontron.de wrote:
Hi Jagan,
On 28.10.19 01:46, Tom Rini wrote:
On Sun, Oct 27, 2019 at 05:20:22PM +0530, Jagan Teki wrote:
Hi Tom,
On Fri, Oct 25, 2019 at 11:19 PM Tom Rini trini@konsulko.com wrote:
On Fri, Oct 25, 2019 at 02:08:12PM +0530, Jagan Teki wrote:
Hi Tom,
Please pull this PR.
Summary:
- SPL_SPI_FLASH_MTD (Frieder)
- SPI NOR IDs' fixes, additions (Vignesh)
- cs_info change (Bin)
- Enable sunxi spi (Jagan)
Travis-CI: https://travis-ci.org/openedev/u-boot-amarula/builds/602483415
Thanks, Jagan.
The following changes since commit 17fd9915a4c639381804ed28274fa136ae3b0bee:
Merge branch '2019-10-24-UFS-support' (2019-10-24 09:51:48 -0400)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-spi master
for you to fetch changes up to 395ec7418695e5ce23f8b48c01a1dbffd2e52d3f:
spi-nor-ids: Add support for Adesto AT25SL321 (2019-10-25 00:48:32 +0530)
So, looking over the build output, I see the expected size increase in sunxi due to new support. But I also see a lot of size increases in rockchip and layerscape platforms (and possibly more, I stopped after spotting two different SoCs), for example: evb-px5 : all +12139 data +176 rodata +2275 spl/u-boot-spl:all +3529 spl/u-boot-spl:data +120 spl/u-boot-spl:rodata +309 spl/u-boot-spl:text +3100 text +9688 u-boot: add: 49/0, grow: 0/0 bytes: 9512/0 (9512) function old new delta spi_nor_scan - 2032 +2032 do_spi_flash - 2008 +2008 spi_get_bus_and_cs - 436 +436 spi_mem_exec_op - 420 +420 static.spi_nor_wait_till_ready_with_timeout - 300 +300 spi_nor_write - 300 +300 mtd_arg_off_size - 276 +276 spi_nor_erase - 232 +232 device_unbind - 232 +232 spi_nor_read_data - 220 +220 spi_nor_write_data - 212 +212 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_nor_read - 152 +152 spi_flash_probe_bus_cs - 152 +152 spi_set_speed_mode - 148 +148 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 mtd_arg_off - 124 +124 device_chld_unbind - 120 +120 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 spi_nor_write_reg - 104 +104 spi_find_bus_and_cs - 104 +104 spi_nor_read_reg - 100 +100 spi_find_chip_select - 96 +96 static.spi_check_buswidth_req - 88 +88 str2off - 80 +80 bytes_per_second - 76 +76 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 _u_boot_list_2_cmd_2_sf - 56 +56 dm_spi_xfer - 48 +48 read_sr - 44 +44 device_find_next_child - 40 +40 spi_flash_cmd_get_sw_write_prot - 36 +36 dm_spi_release_bus - 28 +28 write_enable - 20 +20 write_disable - 20 +20 spi_flash_std_get_sw_write_prot - 20 +20 spi_flash_write_dm - 16 +16 spi_flash_read_dm - 16 +16 spi_flash_erase_dm - 16 +16 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_flash_std_remove - 8 +8 spi_claim_bus - 8 +8 flash - 8 +8 spl-u-boot-spl: add: 25/0, grow: 0/0 bytes: 3220/0 (3220) function old new delta spi_nor_scan - 904 +904 spi_mem_exec_op - 420 +420 spi_nor_read - 304 +304 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_set_speed_mode - 148 +148 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 spi_nor_write_reg - 104 +104 static.spi_check_buswidth_req - 88 +88 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 dm_spi_xfer - 48 +48 dm_spi_release_bus - 28 +28 spi_flash_std_get_sw_write_prot - 20 +20 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_nor_write - 8 +8 spi_nor_erase - 8 +8 spi_flash_std_remove - 8 +8 spi_flash_cmd_get_sw_write_prot - 8 +8 spi_claim_bus - 8 +8 ls2088aqds_tfa : all +12906 data +120 rodata +2982 text +9804 u-boot: add: 44/0, grow: 0/0 bytes: 8460/0 (8460) function old new delta spi_nor_scan - 2168 +2168 sst26_lock_ctl - 604 +604 stm_unlock - 536 +536 stm_lock - 536 +536 sst_write - 504 +504 spi_mem_exec_op - 420 +420 spi_nor_write - 300 +300 spi_nor_wait_till_ready - 300 +300 spi_nor_erase - 232 +232 spi_nor_read_data - 220 +220 spi_nor_write_data - 212 +212 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_nor_read - 152 +152 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 stm_is_locked - 120 +120 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 static.write_sr_and_check - 112 +112 spi_nor_write_reg - 104 +104 spi_nor_read_reg - 100 +100 stm_is_unlocked_sr - 92 +92 stm_is_locked_sr - 92 +92 static.spi_check_buswidth_req - 88 +88 sst26_process_bpr - 88 +88 stm_get_locked_range - 80 +80 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 dm_spi_xfer - 48 +48 read_sr - 44 +44 sst26_is_locked - 36 +36 spi_flash_cmd_get_sw_write_prot - 36 +36 dm_spi_release_bus - 28 +28 write_enable - 20 +20 write_disable - 20 +20 spi_flash_std_get_sw_write_prot - 20 +20 sst26_unlock - 8 +8 sst26_lock - 8 +8 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_flash_std_remove - 8 +8 spi_claim_bus - 8 +8
So this strongly feels like something is being enabled by default when it shouldn't. You may want to use buildman with something like: $ git checkout -b current-spi-changes origin/master $ export SOURCE_DATE_EPOCH=`date +%s` $ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b current-spi-changes \ -SBCdevlk ls2088aqds_tfa $ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b current-spi-changes \ -SsBdevlk ls2088aqds_tfa
If nothing in the git log stands out to you as to which commit is causing this growth. Thanks!
I did see for layerscape. but not with rockchip. layerscape did use cmd/sf.c and DM_SPI_FLASH don't know why those boards accessing jedec,spi-nor even though they enabled it on dts. so the patch 08: mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH
Enabling SPI_FLASH that indeed increasing the size on this platform, reset seems to be fine. If yes, will make the SPI_FLASH enablement not for layerscape. please check and let me know.
layerscape:
$ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b master -SsCdevlk ls2088aqds_tfa boards.cfg is up to date. Nothing to do. Summary of 21 commits for 1 boards (1 thread, 4 jobs per thread) 01: Merge branch '2019-10-24-UFS-support' aarch64: w+ ls2088aqds_tfa +(ls2088aqds_tfa) ===================== WARNING ====================== +(ls2088aqds_tfa) This board does not use CONFIG_DM_ETH (Driver Model +(ls2088aqds_tfa) for Ethernet drivers). Please update the board to use +(ls2088aqds_tfa) CONFIG_DM_ETH before the v2020.07 release. Failure to +(ls2088aqds_tfa) update by the deadline may result in board removal. +(ls2088aqds_tfa) See doc/driver-model/migration.rst for more info. +(ls2088aqds_tfa) ==================================================== 02: mtd: spi: Kconfig: Update CONFIG_SPI_FLASH 03: mtd: spi-nor: ids: Add is25wp256 chip 04: spi: Kconfig: Add help text 05: dm: spi: Return 0 if driver does not implement ops->cs_info 06: dm: spi: Change cs_info op to return -EINVAL for invalid cs num 07: cmd: sf: Mark it default if DM_SPI_FLASH enabled
aarch64: (for 1/1 boards) all +12554.0 data +120.0 rodata +2750.0
text +9684.0 ls2088aqds_tfa : all +12554 data +120 rodata +2750 text +9684 09: spi: Kconfig: Enable SPI_SUNXI for SUNXI 10: arm: sunxi: Enable SPI/SPI-FLASH support for A64 11: configs: sopine-baseboard: Enable SPI-FLASH 12: mtd: spi: Add a new option SPL_SPI_FLASH_MTD to Kconfig 13: stm32mp1: configs: Add CONFIG_SPL_SPI_FLASH_MTD 14: mtd: spi-nor-core: Use dev_err for reporting erase/write failures aarch64: (for 1/1 boards) all +145.0 rodata +93.0 text +52.0 ls2088aqds_tfa : all +145 rodata +93 text +52 15: mtd: spi-nor-core: Replace MTD_SPI_NOR_USE_4K_SECTORS with SPI_FLASH_USE_4K_SECTORS 16: spi: designware_spi: Disable and free clock when remove driver 17: spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256* 18: spi-nor: spi-nor-ids: Add entries for mt25q variants aarch64: (for 1/1 boards) all +201.0 rodata +129.0 text +72.0 ls2088aqds_tfa : all +201 rodata +129 text +72 19: spi-nor: spi-nor-ids: Add USE_FSR flag for mt25q* and n25q* entry 20: mtd: spi: Clean up usage of CONFIG_SPI_FLASH_MTD 21: spi-nor-ids: Add support for Adesto AT25SL321
rk3399:
$ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b master -SsCdevlk puma-rk3399 boards.cfg is up to date. Nothing to do. Summary of 21 commits for 1 boards (1 thread, 4 jobs per thread) 01: Merge branch '2019-10-24-UFS-support' aarch64: w+ puma-rk3399 +(puma-rk3399) WARNING: PMUM0 file rk3399m0.bin NOT found, resulting binary is non-functional +(puma-rk3399) Please read Building section in doc/README.rockchip 02: mtd: spi: Kconfig: Update CONFIG_SPI_FLASH 03: mtd: spi-nor: ids: Add is25wp256 chip 04: spi: Kconfig: Add help text 05: dm: spi: Return 0 if driver does not implement ops->cs_info 06: dm: spi: Change cs_info op to return -EINVAL for invalid cs num 07: cmd: sf: Mark it default if DM_SPI_FLASH enabled 08: mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH 09: spi: Kconfig: Enable SPI_SUNXI for SUNXI 10: arm: sunxi: Enable SPI/SPI-FLASH support for A64 11: configs: sopine-baseboard: Enable SPI-FLASH 12: mtd: spi: Add a new option SPL_SPI_FLASH_MTD to Kconfig 13: stm32mp1: configs: Add CONFIG_SPL_SPI_FLASH_MTD 14: mtd: spi-nor-core: Use dev_err for reporting erase/write failures aarch64: (for 1/1 boards) all +145.0 rodata +93.0 text +52.0 puma-rk3399 : all +145 rodata +93 text +52 15: mtd: spi-nor-core: Replace MTD_SPI_NOR_USE_4K_SECTORS with SPI_FLASH_USE_4K_SECTORS 16: spi: designware_spi: Disable and free clock when remove driver 17: spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256* 18: spi-nor: spi-nor-ids: Add entries for mt25q variants 19: spi-nor: spi-nor-ids: Add USE_FSR flag for mt25q* and n25q* entry 20: mtd: spi: Clean up usage of CONFIG_SPI_FLASH_MTD 21: spi-nor-ids: Add support for Adesto AT25SL321
If you think everything is good now, please re-submit the PR and I'll give it a whirl. Thanks!
Can you please fix the issues in the PR and resubmit, so we have these patches in v2020.01 if it's not already too late?
Or otherwise please just drop the "mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH" or whatever causes these problems, so the other patches get merged.
Please have a look on -rc1 tag[1] PR merged already.

On 31.10.19 08:57, Jagan Teki wrote:
Hi Schrempf,
On Thu, Oct 31, 2019 at 1:24 PM Schrempf Frieder frieder.schrempf@kontron.de wrote:
Hi Jagan,
On 28.10.19 01:46, Tom Rini wrote:
On Sun, Oct 27, 2019 at 05:20:22PM +0530, Jagan Teki wrote:
Hi Tom,
On Fri, Oct 25, 2019 at 11:19 PM Tom Rini trini@konsulko.com wrote:
On Fri, Oct 25, 2019 at 02:08:12PM +0530, Jagan Teki wrote:
Hi Tom,
Please pull this PR.
Summary:
- SPL_SPI_FLASH_MTD (Frieder)
- SPI NOR IDs' fixes, additions (Vignesh)
- cs_info change (Bin)
- Enable sunxi spi (Jagan)
Travis-CI: https://travis-ci.org/openedev/u-boot-amarula/builds/602483415
Thanks, Jagan.
The following changes since commit 17fd9915a4c639381804ed28274fa136ae3b0bee:
Merge branch '2019-10-24-UFS-support' (2019-10-24 09:51:48 -0400)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-spi master
for you to fetch changes up to 395ec7418695e5ce23f8b48c01a1dbffd2e52d3f:
spi-nor-ids: Add support for Adesto AT25SL321 (2019-10-25 00:48:32 +0530)
So, looking over the build output, I see the expected size increase in sunxi due to new support. But I also see a lot of size increases in rockchip and layerscape platforms (and possibly more, I stopped after spotting two different SoCs), for example: evb-px5 : all +12139 data +176 rodata +2275 spl/u-boot-spl:all +3529 spl/u-boot-spl:data +120 spl/u-boot-spl:rodata +309 spl/u-boot-spl:text +3100 text +9688 u-boot: add: 49/0, grow: 0/0 bytes: 9512/0 (9512) function old new delta spi_nor_scan - 2032 +2032 do_spi_flash - 2008 +2008 spi_get_bus_and_cs - 436 +436 spi_mem_exec_op - 420 +420 static.spi_nor_wait_till_ready_with_timeout - 300 +300 spi_nor_write - 300 +300 mtd_arg_off_size - 276 +276 spi_nor_erase - 232 +232 device_unbind - 232 +232 spi_nor_read_data - 220 +220 spi_nor_write_data - 212 +212 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_nor_read - 152 +152 spi_flash_probe_bus_cs - 152 +152 spi_set_speed_mode - 148 +148 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 mtd_arg_off - 124 +124 device_chld_unbind - 120 +120 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 spi_nor_write_reg - 104 +104 spi_find_bus_and_cs - 104 +104 spi_nor_read_reg - 100 +100 spi_find_chip_select - 96 +96 static.spi_check_buswidth_req - 88 +88 str2off - 80 +80 bytes_per_second - 76 +76 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 _u_boot_list_2_cmd_2_sf - 56 +56 dm_spi_xfer - 48 +48 read_sr - 44 +44 device_find_next_child - 40 +40 spi_flash_cmd_get_sw_write_prot - 36 +36 dm_spi_release_bus - 28 +28 write_enable - 20 +20 write_disable - 20 +20 spi_flash_std_get_sw_write_prot - 20 +20 spi_flash_write_dm - 16 +16 spi_flash_read_dm - 16 +16 spi_flash_erase_dm - 16 +16 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_flash_std_remove - 8 +8 spi_claim_bus - 8 +8 flash - 8 +8 spl-u-boot-spl: add: 25/0, grow: 0/0 bytes: 3220/0 (3220) function old new delta spi_nor_scan - 904 +904 spi_mem_exec_op - 420 +420 spi_nor_read - 304 +304 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_set_speed_mode - 148 +148 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 spi_nor_write_reg - 104 +104 static.spi_check_buswidth_req - 88 +88 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 dm_spi_xfer - 48 +48 dm_spi_release_bus - 28 +28 spi_flash_std_get_sw_write_prot - 20 +20 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_nor_write - 8 +8 spi_nor_erase - 8 +8 spi_flash_std_remove - 8 +8 spi_flash_cmd_get_sw_write_prot - 8 +8 spi_claim_bus - 8 +8 ls2088aqds_tfa : all +12906 data +120 rodata +2982 text +9804 u-boot: add: 44/0, grow: 0/0 bytes: 8460/0 (8460) function old new delta spi_nor_scan - 2168 +2168 sst26_lock_ctl - 604 +604 stm_unlock - 536 +536 stm_lock - 536 +536 sst_write - 504 +504 spi_mem_exec_op - 420 +420 spi_nor_write - 300 +300 spi_nor_wait_till_ready - 300 +300 spi_nor_erase - 232 +232 spi_nor_read_data - 220 +220 spi_nor_write_data - 212 +212 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_nor_read - 152 +152 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 stm_is_locked - 120 +120 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 static.write_sr_and_check - 112 +112 spi_nor_write_reg - 104 +104 spi_nor_read_reg - 100 +100 stm_is_unlocked_sr - 92 +92 stm_is_locked_sr - 92 +92 static.spi_check_buswidth_req - 88 +88 sst26_process_bpr - 88 +88 stm_get_locked_range - 80 +80 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 dm_spi_xfer - 48 +48 read_sr - 44 +44 sst26_is_locked - 36 +36 spi_flash_cmd_get_sw_write_prot - 36 +36 dm_spi_release_bus - 28 +28 write_enable - 20 +20 write_disable - 20 +20 spi_flash_std_get_sw_write_prot - 20 +20 sst26_unlock - 8 +8 sst26_lock - 8 +8 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_flash_std_remove - 8 +8 spi_claim_bus - 8 +8
So this strongly feels like something is being enabled by default when it shouldn't. You may want to use buildman with something like: $ git checkout -b current-spi-changes origin/master $ export SOURCE_DATE_EPOCH=`date +%s` $ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b current-spi-changes \ -SBCdevlk ls2088aqds_tfa $ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b current-spi-changes \ -SsBdevlk ls2088aqds_tfa
If nothing in the git log stands out to you as to which commit is causing this growth. Thanks!
I did see for layerscape. but not with rockchip. layerscape did use cmd/sf.c and DM_SPI_FLASH don't know why those boards accessing jedec,spi-nor even though they enabled it on dts. so the patch 08: mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH
Enabling SPI_FLASH that indeed increasing the size on this platform, reset seems to be fine. If yes, will make the SPI_FLASH enablement not for layerscape. please check and let me know.
layerscape:
$ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b master -SsCdevlk ls2088aqds_tfa boards.cfg is up to date. Nothing to do. Summary of 21 commits for 1 boards (1 thread, 4 jobs per thread) 01: Merge branch '2019-10-24-UFS-support' aarch64: w+ ls2088aqds_tfa +(ls2088aqds_tfa) ===================== WARNING ====================== +(ls2088aqds_tfa) This board does not use CONFIG_DM_ETH (Driver Model +(ls2088aqds_tfa) for Ethernet drivers). Please update the board to use +(ls2088aqds_tfa) CONFIG_DM_ETH before the v2020.07 release. Failure to +(ls2088aqds_tfa) update by the deadline may result in board removal. +(ls2088aqds_tfa) See doc/driver-model/migration.rst for more info. +(ls2088aqds_tfa) ==================================================== 02: mtd: spi: Kconfig: Update CONFIG_SPI_FLASH 03: mtd: spi-nor: ids: Add is25wp256 chip 04: spi: Kconfig: Add help text 05: dm: spi: Return 0 if driver does not implement ops->cs_info 06: dm: spi: Change cs_info op to return -EINVAL for invalid cs num 07: cmd: sf: Mark it default if DM_SPI_FLASH enabled
aarch64: (for 1/1 boards) all +12554.0 data +120.0 rodata +2750.0
text +9684.0 ls2088aqds_tfa : all +12554 data +120 rodata +2750 text +9684 09: spi: Kconfig: Enable SPI_SUNXI for SUNXI 10: arm: sunxi: Enable SPI/SPI-FLASH support for A64 11: configs: sopine-baseboard: Enable SPI-FLASH 12: mtd: spi: Add a new option SPL_SPI_FLASH_MTD to Kconfig 13: stm32mp1: configs: Add CONFIG_SPL_SPI_FLASH_MTD 14: mtd: spi-nor-core: Use dev_err for reporting erase/write failures aarch64: (for 1/1 boards) all +145.0 rodata +93.0 text +52.0 ls2088aqds_tfa : all +145 rodata +93 text +52 15: mtd: spi-nor-core: Replace MTD_SPI_NOR_USE_4K_SECTORS with SPI_FLASH_USE_4K_SECTORS 16: spi: designware_spi: Disable and free clock when remove driver 17: spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256* 18: spi-nor: spi-nor-ids: Add entries for mt25q variants aarch64: (for 1/1 boards) all +201.0 rodata +129.0 text +72.0 ls2088aqds_tfa : all +201 rodata +129 text +72 19: spi-nor: spi-nor-ids: Add USE_FSR flag for mt25q* and n25q* entry 20: mtd: spi: Clean up usage of CONFIG_SPI_FLASH_MTD 21: spi-nor-ids: Add support for Adesto AT25SL321
rk3399:
$ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b master -SsCdevlk puma-rk3399 boards.cfg is up to date. Nothing to do. Summary of 21 commits for 1 boards (1 thread, 4 jobs per thread) 01: Merge branch '2019-10-24-UFS-support' aarch64: w+ puma-rk3399 +(puma-rk3399) WARNING: PMUM0 file rk3399m0.bin NOT found, resulting binary is non-functional +(puma-rk3399) Please read Building section in doc/README.rockchip 02: mtd: spi: Kconfig: Update CONFIG_SPI_FLASH 03: mtd: spi-nor: ids: Add is25wp256 chip 04: spi: Kconfig: Add help text 05: dm: spi: Return 0 if driver does not implement ops->cs_info 06: dm: spi: Change cs_info op to return -EINVAL for invalid cs num 07: cmd: sf: Mark it default if DM_SPI_FLASH enabled 08: mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH 09: spi: Kconfig: Enable SPI_SUNXI for SUNXI 10: arm: sunxi: Enable SPI/SPI-FLASH support for A64 11: configs: sopine-baseboard: Enable SPI-FLASH 12: mtd: spi: Add a new option SPL_SPI_FLASH_MTD to Kconfig 13: stm32mp1: configs: Add CONFIG_SPL_SPI_FLASH_MTD 14: mtd: spi-nor-core: Use dev_err for reporting erase/write failures aarch64: (for 1/1 boards) all +145.0 rodata +93.0 text +52.0 puma-rk3399 : all +145 rodata +93 text +52 15: mtd: spi-nor-core: Replace MTD_SPI_NOR_USE_4K_SECTORS with SPI_FLASH_USE_4K_SECTORS 16: spi: designware_spi: Disable and free clock when remove driver 17: spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256* 18: spi-nor: spi-nor-ids: Add entries for mt25q variants 19: spi-nor: spi-nor-ids: Add USE_FSR flag for mt25q* and n25q* entry 20: mtd: spi: Clean up usage of CONFIG_SPI_FLASH_MTD 21: spi-nor-ids: Add support for Adesto AT25SL321
If you think everything is good now, please re-submit the PR and I'll give it a whirl. Thanks!
Can you please fix the issues in the PR and resubmit, so we have these patches in v2020.01 if it's not already too late?
Or otherwise please just drop the "mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH" or whatever causes these problems, so the other patches get merged.
Please have a look on -rc1 tag[1] PR merged already.
Sorry for the noise! I missed the fact that the spi tree was merged. Thanks a lot for your work!

On Thu, Oct 31, 2019 at 1:31 PM Schrempf Frieder frieder.schrempf@kontron.de wrote:
On 31.10.19 08:57, Jagan Teki wrote:
Hi Schrempf,
On Thu, Oct 31, 2019 at 1:24 PM Schrempf Frieder frieder.schrempf@kontron.de wrote:
Hi Jagan,
On 28.10.19 01:46, Tom Rini wrote:
On Sun, Oct 27, 2019 at 05:20:22PM +0530, Jagan Teki wrote:
Hi Tom,
On Fri, Oct 25, 2019 at 11:19 PM Tom Rini trini@konsulko.com wrote:
On Fri, Oct 25, 2019 at 02:08:12PM +0530, Jagan Teki wrote:
> Hi Tom, > > Please pull this PR. > > Summary: > - SPL_SPI_FLASH_MTD (Frieder) > - SPI NOR IDs' fixes, additions (Vignesh) > - cs_info change (Bin) > - Enable sunxi spi (Jagan) > > Travis-CI: > https://travis-ci.org/openedev/u-boot-amarula/builds/602483415 > > Thanks, > Jagan. > > The following changes since commit 17fd9915a4c639381804ed28274fa136ae3b0bee: > > Merge branch '2019-10-24-UFS-support' (2019-10-24 09:51:48 -0400) > > are available in the Git repository at: > > https://gitlab.denx.de/u-boot/custodians/u-boot-spi master > > for you to fetch changes up to 395ec7418695e5ce23f8b48c01a1dbffd2e52d3f: > > spi-nor-ids: Add support for Adesto AT25SL321 (2019-10-25 00:48:32 +0530) >
So, looking over the build output, I see the expected size increase in sunxi due to new support. But I also see a lot of size increases in rockchip and layerscape platforms (and possibly more, I stopped after spotting two different SoCs), for example: evb-px5 : all +12139 data +176 rodata +2275 spl/u-boot-spl:all +3529 spl/u-boot-spl:data +120 spl/u-boot-spl:rodata +309 spl/u-boot-spl:text +3100 text +9688 u-boot: add: 49/0, grow: 0/0 bytes: 9512/0 (9512) function old new delta spi_nor_scan - 2032 +2032 do_spi_flash - 2008 +2008 spi_get_bus_and_cs - 436 +436 spi_mem_exec_op - 420 +420 static.spi_nor_wait_till_ready_with_timeout - 300 +300 spi_nor_write - 300 +300 mtd_arg_off_size - 276 +276 spi_nor_erase - 232 +232 device_unbind - 232 +232 spi_nor_read_data - 220 +220 spi_nor_write_data - 212 +212 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_nor_read - 152 +152 spi_flash_probe_bus_cs - 152 +152 spi_set_speed_mode - 148 +148 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 mtd_arg_off - 124 +124 device_chld_unbind - 120 +120 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 spi_nor_write_reg - 104 +104 spi_find_bus_and_cs - 104 +104 spi_nor_read_reg - 100 +100 spi_find_chip_select - 96 +96 static.spi_check_buswidth_req - 88 +88 str2off - 80 +80 bytes_per_second - 76 +76 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 _u_boot_list_2_cmd_2_sf - 56 +56 dm_spi_xfer - 48 +48 read_sr - 44 +44 device_find_next_child - 40 +40 spi_flash_cmd_get_sw_write_prot - 36 +36 dm_spi_release_bus - 28 +28 write_enable - 20 +20 write_disable - 20 +20 spi_flash_std_get_sw_write_prot - 20 +20 spi_flash_write_dm - 16 +16 spi_flash_read_dm - 16 +16 spi_flash_erase_dm - 16 +16 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_flash_std_remove - 8 +8 spi_claim_bus - 8 +8 flash - 8 +8 spl-u-boot-spl: add: 25/0, grow: 0/0 bytes: 3220/0 (3220) function old new delta spi_nor_scan - 904 +904 spi_mem_exec_op - 420 +420 spi_nor_read - 304 +304 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_set_speed_mode - 148 +148 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 spi_nor_write_reg - 104 +104 static.spi_check_buswidth_req - 88 +88 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 dm_spi_xfer - 48 +48 dm_spi_release_bus - 28 +28 spi_flash_std_get_sw_write_prot - 20 +20 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_nor_write - 8 +8 spi_nor_erase - 8 +8 spi_flash_std_remove - 8 +8 spi_flash_cmd_get_sw_write_prot - 8 +8 spi_claim_bus - 8 +8 ls2088aqds_tfa : all +12906 data +120 rodata +2982 text +9804 u-boot: add: 44/0, grow: 0/0 bytes: 8460/0 (8460) function old new delta spi_nor_scan - 2168 +2168 sst26_lock_ctl - 604 +604 stm_unlock - 536 +536 stm_lock - 536 +536 sst_write - 504 +504 spi_mem_exec_op - 420 +420 spi_nor_write - 300 +300 spi_nor_wait_till_ready - 300 +300 spi_nor_erase - 232 +232 spi_nor_read_data - 220 +220 spi_nor_write_data - 212 +212 dm_spi_claim_bus - 196 +196 spi_mem_adjust_op_size - 160 +160 spi_mem_default_supports_op - 156 +156 spi_nor_read - 152 +152 spi_flash_std_erase - 136 +136 spi_flash_std_probe - 132 +132 stm_is_locked - 120 +120 _u_boot_list_2_driver_2_spi_flash_std - 120 +120 static.write_sr_and_check - 112 +112 spi_nor_write_reg - 104 +104 spi_nor_read_reg - 100 +100 stm_is_unlocked_sr - 92 +92 stm_is_locked_sr - 92 +92 static.spi_check_buswidth_req - 88 +88 sst26_process_bpr - 88 +88 stm_get_locked_range - 80 +80 spi_flash_std_write - 72 +72 spi_flash_std_read - 72 +72 spi_mem_supports_op - 56 +56 dm_spi_xfer - 48 +48 read_sr - 44 +44 sst26_is_locked - 36 +36 spi_flash_cmd_get_sw_write_prot - 36 +36 dm_spi_release_bus - 28 +28 write_enable - 20 +20 write_disable - 20 +20 spi_flash_std_get_sw_write_prot - 20 +20 sst26_unlock - 8 +8 sst26_lock - 8 +8 spi_xfer - 8 +8 spi_release_bus - 8 +8 spi_flash_std_remove - 8 +8 spi_claim_bus - 8 +8
So this strongly feels like something is being enabled by default when it shouldn't. You may want to use buildman with something like: $ git checkout -b current-spi-changes origin/master $ export SOURCE_DATE_EPOCH=`date +%s` $ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b current-spi-changes \ -SBCdevlk ls2088aqds_tfa $ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b current-spi-changes \ -SsBdevlk ls2088aqds_tfa
If nothing in the git log stands out to you as to which commit is causing this growth. Thanks!
I did see for layerscape. but not with rockchip. layerscape did use cmd/sf.c and DM_SPI_FLASH don't know why those boards accessing jedec,spi-nor even though they enabled it on dts. so the patch 08: mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH
Enabling SPI_FLASH that indeed increasing the size on this platform, reset seems to be fine. If yes, will make the SPI_FLASH enablement not for layerscape. please check and let me know.
layerscape:
$ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b master -SsCdevlk ls2088aqds_tfa boards.cfg is up to date. Nothing to do. Summary of 21 commits for 1 boards (1 thread, 4 jobs per thread) 01: Merge branch '2019-10-24-UFS-support' aarch64: w+ ls2088aqds_tfa +(ls2088aqds_tfa) ===================== WARNING ====================== +(ls2088aqds_tfa) This board does not use CONFIG_DM_ETH (Driver Model +(ls2088aqds_tfa) for Ethernet drivers). Please update the board to use +(ls2088aqds_tfa) CONFIG_DM_ETH before the v2020.07 release. Failure to +(ls2088aqds_tfa) update by the deadline may result in board removal. +(ls2088aqds_tfa) See doc/driver-model/migration.rst for more info. +(ls2088aqds_tfa) ==================================================== 02: mtd: spi: Kconfig: Update CONFIG_SPI_FLASH 03: mtd: spi-nor: ids: Add is25wp256 chip 04: spi: Kconfig: Add help text 05: dm: spi: Return 0 if driver does not implement ops->cs_info 06: dm: spi: Change cs_info op to return -EINVAL for invalid cs num 07: cmd: sf: Mark it default if DM_SPI_FLASH enabled
aarch64: (for 1/1 boards) all +12554.0 data +120.0 rodata +2750.0
text +9684.0 ls2088aqds_tfa : all +12554 data +120 rodata +2750 text +9684 09: spi: Kconfig: Enable SPI_SUNXI for SUNXI 10: arm: sunxi: Enable SPI/SPI-FLASH support for A64 11: configs: sopine-baseboard: Enable SPI-FLASH 12: mtd: spi: Add a new option SPL_SPI_FLASH_MTD to Kconfig 13: stm32mp1: configs: Add CONFIG_SPL_SPI_FLASH_MTD 14: mtd: spi-nor-core: Use dev_err for reporting erase/write failures aarch64: (for 1/1 boards) all +145.0 rodata +93.0 text +52.0 ls2088aqds_tfa : all +145 rodata +93 text +52 15: mtd: spi-nor-core: Replace MTD_SPI_NOR_USE_4K_SECTORS with SPI_FLASH_USE_4K_SECTORS 16: spi: designware_spi: Disable and free clock when remove driver 17: spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256* 18: spi-nor: spi-nor-ids: Add entries for mt25q variants aarch64: (for 1/1 boards) all +201.0 rodata +129.0 text +72.0 ls2088aqds_tfa : all +201 rodata +129 text +72 19: spi-nor: spi-nor-ids: Add USE_FSR flag for mt25q* and n25q* entry 20: mtd: spi: Clean up usage of CONFIG_SPI_FLASH_MTD 21: spi-nor-ids: Add support for Adesto AT25SL321
rk3399:
$ ./tools/buildman/buildman -o /tmp/ls2088aqds_tfa -b master -SsCdevlk puma-rk3399 boards.cfg is up to date. Nothing to do. Summary of 21 commits for 1 boards (1 thread, 4 jobs per thread) 01: Merge branch '2019-10-24-UFS-support' aarch64: w+ puma-rk3399 +(puma-rk3399) WARNING: PMUM0 file rk3399m0.bin NOT found, resulting binary is non-functional +(puma-rk3399) Please read Building section in doc/README.rockchip 02: mtd: spi: Kconfig: Update CONFIG_SPI_FLASH 03: mtd: spi-nor: ids: Add is25wp256 chip 04: spi: Kconfig: Add help text 05: dm: spi: Return 0 if driver does not implement ops->cs_info 06: dm: spi: Change cs_info op to return -EINVAL for invalid cs num 07: cmd: sf: Mark it default if DM_SPI_FLASH enabled 08: mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH 09: spi: Kconfig: Enable SPI_SUNXI for SUNXI 10: arm: sunxi: Enable SPI/SPI-FLASH support for A64 11: configs: sopine-baseboard: Enable SPI-FLASH 12: mtd: spi: Add a new option SPL_SPI_FLASH_MTD to Kconfig 13: stm32mp1: configs: Add CONFIG_SPL_SPI_FLASH_MTD 14: mtd: spi-nor-core: Use dev_err for reporting erase/write failures aarch64: (for 1/1 boards) all +145.0 rodata +93.0 text +52.0 puma-rk3399 : all +145 rodata +93 text +52 15: mtd: spi-nor-core: Replace MTD_SPI_NOR_USE_4K_SECTORS with SPI_FLASH_USE_4K_SECTORS 16: spi: designware_spi: Disable and free clock when remove driver 17: spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256* 18: spi-nor: spi-nor-ids: Add entries for mt25q variants 19: spi-nor: spi-nor-ids: Add USE_FSR flag for mt25q* and n25q* entry 20: mtd: spi: Clean up usage of CONFIG_SPI_FLASH_MTD 21: spi-nor-ids: Add support for Adesto AT25SL321
If you think everything is good now, please re-submit the PR and I'll give it a whirl. Thanks!
Can you please fix the issues in the PR and resubmit, so we have these patches in v2020.01 if it's not already too late?
Or otherwise please just drop the "mtd: spi: Kconfig: Imply SPI_FLASH if DM_SPI_FLASH" or whatever causes these problems, so the other patches get merged.
Please have a look on -rc1 tag[1] PR merged already.
Sorry for the noise! I missed the fact that the spi tree was merged. Thanks a lot for your work!
No problem, thanks!
participants (3)
-
Jagan Teki
-
Schrempf Frieder
-
Tom Rini