
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!