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

Schrempf Frieder frieder.schrempf at kontron.de
Thu Oct 31 07:53:58 UTC 2019


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.

Thanks,
Frieder


More information about the U-Boot mailing list