[U-Boot] Pull request: u-boot-spi/master
Jagan Teki
jagan at amarulasolutions.com
Thu Oct 31 07:57:13 UTC 2019
Hi Schrempf,
On Thu, Oct 31, 2019 at 1:24 PM Schrempf Frieder
<frieder.schrempf at 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 at 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.
[1] https://gitlab.denx.de/u-boot/u-boot/commits/master
More information about the U-Boot
mailing list