08 Jan, 2020

1 commit


11 Oct, 2019

5 commits


25 Jul, 2019

1 commit

  • The rproc uclass driver can either be built with SPL_REMOTEPROC
    or REMOTEPROC, but the function prototypes in remoteproc.h are
    defined only when CONFIG_REMOTEPROC is defined. This can cause
    build issues in SPL if CONFIG_REMOTEPROC is not selected.

    Fix this by replacing the existing precompiler macro usage with
    CONFIG_IS_ENABLED.

    Fixes: ddf56bc7e3ef ("drivers: Introduce a simplified remoteproc framework")
    Signed-off-by: Suman Anna
    Reviewed-by: Nishanth Menon
    Reviewed-by: Lokesh Vutla

    Suman Anna
     

22 Jul, 2019

3 commits

  • The current implementation supports only binary file load.
    Add helpers to support ELF32 format (sanity check, and load).
    Note that since an ELF32 image is built for the remote processor, the
    load function uses the device_to_virt ops to translate the addresses.
    Implement a basic translation for sandbox_testproc.

    Add related tests. Test result:
    => ut dm remoteproc_elf
    Test: dm_test_remoteproc_elf: remoteproc.c
    Test: dm_test_remoteproc_elf: remoteproc.c (flat tree)
    Failures: 0

    Signed-off-by: Loic Pallardy
    Signed-off-by: Fabien Dessenne
    Reviewed-by: Lokesh Vutla

    Fabien Dessenne
     
  • Introduce the device_to_virt function to allow translation between
    device address (remote processor view) and virtual address (main
    processor view).

    Signed-off-by: Loic Pallardy
    Signed-off-by: Fabien Dessenne
    Reviewed-by: Lokesh Vutla

    Fabien Dessenne
     
  • Add full function comment headers.
    Fix rproc_is_initialized() return value description.

    Signed-off-by: Fabien Dessenne
    Reviewed-by: Lokesh Vutla

    Fabien Dessenne
     

11 Sep, 2018

1 commit


07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

23 Oct, 2015

1 commit

  • Many System on Chip(SoC) solutions are complex with multiple processors
    on the same die dedicated to either general purpose of specialized
    functions. Many examples do exist in today's SoCs from various vendors.
    Typical examples are micro controllers such as an ARM M3/M0 doing a
    offload of specific function such as event integration or power
    management or controlling camera etc.

    Traditionally, the responsibility of loading up such a processor with a
    firmware and communication has been with a High Level Operating
    System(HLOS) such as Linux. However, there exists classes of products
    where Linux would need to expect services from such a processor or the
    delay of Linux and operating system being able to load up such a
    firmware is unacceptable.

    To address these needs, we need some minimal capability to load such a
    system and ensure it is started prior to an Operating System(Linux or
    any other) is started up.

    NOTE: This is NOT meant to be a solve-all solution, instead, it tries to
    address certain class of SoCs and products that need such a solution.

    A very simple model is introduced here as part of the initial support
    that supports microcontrollers with internal memory (no MMU, no
    execution from external memory, or specific image format needs). This
    basic framework can then (hopefully) be extensible to other complex SoC
    processor support as need be.

    Reviewed-by: Simon Glass
    Signed-off-by: Nishanth Menon
    Acked-by: Simon Glass

    Nishanth Menon