From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jagan Teki Date: Thu, 31 Oct 2019 13:27:13 +0530 Subject: [U-Boot] Pull request: u-boot-spi/master In-Reply-To: <0e38fe4a-518d-dd03-c716-badb04810c0d@kontron.de> References: <20191025083812.28256-1-jagan@amarulasolutions.com> <20191025174858.GF11173@bill-the-cat> <20191028004650.GE11173@bill-the-cat> <0e38fe4a-518d-dd03-c716-badb04810c0d@kontron.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Schrempf, On Thu, Oct 31, 2019 at 1:24 PM Schrempf Frieder 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 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