Hi Nikhil, On Fri, 17 Mar 2023 at 02:13, Nikhil M Jain <n-ja...@ti.com> wrote: > > Hi Simon, > > On 16/03/23 10:10, Nikhil M Jain wrote: > > Hi Simon, > > > > On 15/03/23 19:38, Simon Glass wrote: > >> Hi Nikhil, > >> > >> On Wed, 15 Mar 2023 at 00:07, Nikhil M Jain <n-ja...@ti.com> wrote: > >>> > >>> Hi Simon, > >>> > >>> On 15/03/23 03:38, Simon Glass wrote: > >>>> Hi Nikhil, > >>>> > >>>> On Mon, 13 Mar 2023 at 04:15, Nikhil M Jain <n-ja...@ti.com> wrote: > >>>>> > >>>>> To enable splash screen at SPL stage move video driver and splash > >>>>> screen > >>>>> framework at SPL, which will bring up image on display very quickly > >>>>> and > >>>>> thus have early display support in SPL. > >>>>> > >>>>> Nikhil M Jain (9): > >>>>> drivers: video: Kconfig: Necessary configs for video at SPL > >>>>> drivers: video: tidss: Kconfig: Configs to enable TIDSS at SPL > >>>>> cmd: Kconfig: Add necessary configs for splash screen at SPL > >>>>> drivers: video: Makefile: Compile video driver files at SPL > >>>>> drivers: video: tidss: Makefile: Add condition to compile TIDSS > >>>>> at SPL > >>>>> cmd: Makefile: Add rules to build bmp.c and read.c at SPL > >>>>> common: splash: Enable splash_display at SPL stage > >>>>> drivers: video: video-uclass: Disable u-boot logo at SPL > >>>>> board: ti: am62x: evm: OSPI support for splash screen > >>>>> > >>>>> board/ti/am62x/evm.c | 6 ++++++ > >>>>> cmd/Kconfig | 17 +++++++++++++++++ > >>>>> cmd/Makefile | 2 ++ > >>>>> common/splash.c | 2 +- > >>>>> drivers/video/Kconfig | 32 ++++++++++++++++++++++++++++---- > >>>>> drivers/video/Makefile | 6 ++++++ > >>>>> drivers/video/tidss/Kconfig | 6 ++++++ > >>>>> drivers/video/tidss/Makefile | 1 + > >>>>> drivers/video/video-uclass.c | 2 +- > >>>>> include/splash.h | 2 +- > >>>>> 10 files changed, 69 insertions(+), 7 deletions(-) > >>>> > >>>> I'm not necessarily arguing against this, but what is the need for > >>>> this? How many milliseconds earlier does the image appear with this > >>>> patch? What is the bottleneck? We should be able to get to U-Boot > >>>> proper very quickly. > >>>> > >>> There is a significant difference in time, by adding support in SPL > >>> splash screen comes up by approx 650ms and at u-boot proper it comes at > >>> 2.6s, measured from first print in console as seen on AM62x. Also we > >>> plan to skip u-boot proper and load kernel directly. > >> > >> Yes that really is terrible. It should be under a second for U-Boot > >> proper! > >> > >> Have you tried using bootstage to report the numbers? > >> > > No I haven't used the bootstage, I will use it to get the numbers. > > > Boot stage logs > link: https://gist.github.com/NikMJain/beb60fe42b1e89829cdd5b8713284330 > > > >> Have you tried using tracing to figure out what is wrong? Is it just > >> slow storage? > >> > > U-boot proper comes up in one sec but the splash display is called > > through stdio_add_devices which is late in the board_init_r sequence > > defined in board_r.c. > > >> Regards, > >> Simon > > > > Thanks > > On AM62x we have multi-stage boot first R5 SPL comes up then A53 SPL and > u-boot proper, due to which splash screen at u-boot proper takes over 2 > sec. On AM62x we have an aggressive requirement for an early splash > screen. Hence we are moving splash screen support to SPL., which will > bring splash screen time to approx 600 ms. > > We also want to support falcon boot mode from A53 SPL, we have customers > who don't want u-boot proper in production boot flow and still require > splash screen, the only way to support it is to add splash screen at SPL. > > u-boot logs with splash screen timings, measurement through > timer_get_boot_us at u-boot proper and SPL. > link: https://gist.github.com/NikMJain/3be0b6c92092678b6aec8e5fdbc46a98
I think it would be worth looking at what is taking so long. Could you add bootstage in there (which supports SPL as well) and produce a final report? Is BL31 taking a while?You can use bootstage_start()/bootstage_accum() to collect time on MMC loading, etc. even if you don't want to enable CONFIG_TRACE. This is an important area that will affect a lot of boards. If it takes 2 seconds to get into U-Boot, everyone is going to want to avoid it. Regards, Simon