[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