All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 00/13] System Firmware Loader for TI K3 family SoCs
Date: Tue, 7 May 2019 22:00:03 +0200	[thread overview]
Message-ID: <d2656451-f979-f0bf-489a-f299db2b7da6@gmail.com> (raw)
In-Reply-To: <20190507172542.31359-1-dannenberg@ti.com>



On 07.05.19 19:25, Andreas Dannenberg wrote:
> TI K3 SoCs like the AM654x devices are fundamentally dependent on a
> firmware called SYSFW (System Firmware) being loaded into the dedicated
> DMSC (Device Management and Security Controller) processor to provide
> various services via TISCI (Texas Instruments System Control Interface)
> to manage device aspects such as core bringup, power, clocks, security,
> and so on across the entire SoC.
> 
> Currently public U-Boot does not boot on an actual AM654x EVM due to
> the missing loading and startup of SYSFW, with this being the only piece
> missing preventing a successful boot from SD/MMC-type media. This gap
> is addressed with this patch series.
> 
> Note that the loading and starting of SYSFW is done in the context of
> board_init_f() in SPL which poses some unique challenges due to the very
> constrained nature of this environment (minimal amount of SRAM, no DDR
> yet available).
> 
> In order to be as lean as possible on resource use an approach was chosen
> that extends the existing SPL loader framework to be usable beyond the
> usual "loading U-Boot" use case. While this patch series only makes
> changes to the MMC/SD card loader framework to support eMMC/MMC/SD FS-
> and sector/partition-based RAW boot at this time we have this solution
> in production today but extended to SPI/OSPI and Y-Modem without any
> issues.
> 
> While I also have a working solution based on the existing FS loader
> framework this has its own challenges, namely by its very nature only
> addressing a subset of our use cases (no eMMC/SD RAW boot support for
> example), being heavier on resource usage (needing to use ENV to pass
> parameters), and not addressing the need to probe the boot peripheral.
> This particular framework works well for use cases requiring to load
> firmware from FS-based media once DDR is up and U-Boot is in a more
> "initialized" state but it is not a one-fits all solution for very
> early use in SPL board_init_f() accross different boot modes.

And would it be an option to improve the loader (maybe dropping the "fs" 
from its name)? I think it's an "fs" loader because its idea has been 
copied from Linux. I think in U-Boot, it's more common to have things at 
a raw offset instead of a file system. Just thinking...

And the current state of that fs_loader is like it is because it fits 
its single user (socfpga stratix 10), I think.

Anyway, even if you do need yet another loader, would it make sense to 
create a common file instead of adding this in your arch/mach?

Regards,
Simon

> 
> 
> Andreas Dannenberg (10):
>    mmc: k3_arasan: Allow driver to probe without PDs specified
>    spl: Allow skipping clearing BSS during relocation
>    spl: Make image loader infrastructure more universal
>    arm: K3: Introduce System Firmware loader framework
>    armV7R: K3: am654: Allow using SPL BSS pre-relocation
>    armv7R: K3: am654: Use full malloc implementation in SPL
>    armV7R: K3: am654: Load SYSFW binary and config from boot media
>    configs: am65x_evm_r5: All sysfw to be loaded via MMC
>    configs: am65x_hs_evm_r5: All sysfw to be loaded via MMC
>    configs: am65x_hs_evm: Add Support for eMMC boot
> 
> Faiz Abbas (2):
>    configs: am65x_evm: Add Support for eMMC boot
>    am65x: README: Add eMMC layout and flash instructions
> 
> Lokesh Vutla (1):
>    armv7R: dts: k3: am654: Update mmc nodes for loading sysfw
> 
>   arch/arm/dts/k3-am654-r5-base-board.dts      |  18 ++
>   arch/arm/lib/crt0.S                          |   3 +
>   arch/arm/mach-k3/Kconfig                     |  40 +++
>   arch/arm/mach-k3/Makefile                    |   1 +
>   arch/arm/mach-k3/am6_init.c                  |  34 ++-
>   arch/arm/mach-k3/include/mach/sysfw-loader.h |  12 +
>   arch/arm/mach-k3/sysfw-loader.c              | 263 +++++++++++++++++++
>   board/ti/am65x/Kconfig                       |   1 +
>   board/ti/am65x/README                        |  52 ++++
>   common/spl/Kconfig                           |  13 +
>   common/spl/spl_fit.c                         |  14 +
>   common/spl/spl_mmc.c                         |  76 ++++--
>   configs/am65x_evm_a53_defconfig              |   2 +
>   configs/am65x_evm_r5_defconfig               |   7 +-
>   configs/am65x_hs_evm_a53_defconfig           |   2 +
>   configs/am65x_hs_evm_r5_defconfig            |   7 +-
>   drivers/mmc/k3_arsan_sdhci.c                 |  16 +-
>   include/configs/am65x_evm.h                  |  30 ++-
>   include/spl.h                                |  26 ++
>   19 files changed, 577 insertions(+), 40 deletions(-)
>   create mode 100644 arch/arm/mach-k3/include/mach/sysfw-loader.h
>   create mode 100644 arch/arm/mach-k3/sysfw-loader.c
> 

  parent reply	other threads:[~2019-05-07 20:00 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-07 17:25 [U-Boot] [PATCH 00/13] System Firmware Loader for TI K3 family SoCs Andreas Dannenberg
2019-05-07 17:25 ` [U-Boot] [PATCH 01/13] mmc: k3_arasan: Allow driver to probe without PDs specified Andreas Dannenberg
2019-05-15 15:17   ` Tom Rini
2019-05-07 17:25 ` [U-Boot] [PATCH 02/13] spl: Allow skipping clearing BSS during relocation Andreas Dannenberg
2019-05-15 15:17   ` Tom Rini
2019-05-07 17:25 ` [U-Boot] [PATCH 03/13] spl: Make image loader infrastructure more universal Andreas Dannenberg
2019-05-15 15:17   ` Tom Rini
2019-05-07 17:25 ` [U-Boot] [PATCH 04/13] arm: K3: Introduce System Firmware loader framework Andreas Dannenberg
2019-05-07 18:16   ` Simon Goldschmidt
2019-05-07 19:17     ` Andreas Dannenberg
2019-05-07 19:21       ` Simon Goldschmidt
2019-05-15 15:17   ` Tom Rini
2019-05-15 21:39     ` Andreas Dannenberg
2019-05-15 21:50       ` Tom Rini
2019-05-16 15:47         ` Andreas Dannenberg
2019-05-16 19:14           ` Andreas Dannenberg
2019-05-17 11:20             ` Tom Rini
2019-05-07 17:25 ` [U-Boot] [PATCH 05/13] armV7R: K3: am654: Allow using SPL BSS pre-relocation Andreas Dannenberg
2019-05-07 17:25 ` [U-Boot] [PATCH 06/13] armv7R: K3: am654: Use full malloc implementation in SPL Andreas Dannenberg
2019-05-07 17:25 ` [U-Boot] [PATCH 07/13] armV7R: K3: am654: Load SYSFW binary and config from boot media Andreas Dannenberg
2019-05-07 17:25 ` [U-Boot] [PATCH 08/13] armv7R: dts: k3: am654: Update mmc nodes for loading sysfw Andreas Dannenberg
2019-05-07 17:25 ` [U-Boot] [PATCH 09/13] configs: am65x_evm_r5: All sysfw to be loaded via MMC Andreas Dannenberg
2019-05-07 17:25 ` [U-Boot] [PATCH 10/13] configs: am65x_hs_evm_r5: " Andreas Dannenberg
2019-05-18 16:08   ` Simon Glass
2019-05-07 17:25 ` [U-Boot] [PATCH 11/13] configs: am65x_evm: Add Support for eMMC boot Andreas Dannenberg
2019-05-07 17:25 ` [U-Boot] [PATCH 12/13] configs: am65x_hs_evm: " Andreas Dannenberg
2019-05-07 17:25 ` [U-Boot] [PATCH 13/13] am65x: README: Add eMMC layout and flash instructions Andreas Dannenberg
2019-05-07 20:00 ` Simon Goldschmidt [this message]
2019-05-08  4:31   ` [U-Boot] [PATCH 00/13] System Firmware Loader for TI K3 family SoCs Chee, Tien Fong
2019-05-08 18:43     ` dannenberg at ti.com
2019-05-13 13:37       ` Chee, Tien Fong
2019-05-15 21:24         ` dannenberg at ti.com
2019-05-08 18:04   ` Andreas Dannenberg
2019-05-08 18:57     ` Simon Goldschmidt
2019-05-15 15:16 ` Tom Rini
2019-05-15 20:31   ` Andreas Dannenberg
2019-05-16 20:32   ` Andreas Dannenberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d2656451-f979-f0bf-489a-f299db2b7da6@gmail.com \
    --to=simon.k.r.goldschmidt@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.