Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Core: Introduce stm32mp remoteproc PTA and driver #6470

Merged
merged 5 commits into from
Dec 15, 2023

Commits on Dec 15, 2023

  1. libutee: add new remoteproc PTA API

    The remoteproc PTA is charge of providing interface to authenticate
    firmware images and managing the remote processor live cycle.
    The remoteproc PTA supports platform specificity in the
    management of a remote processor:
    - firmware authentication based on a platform key,
    - load of the segments in remote processor memories,
    - start/stop of the remote processor,
    - remote processor addresses conversion.
    
    Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
    Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
    Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
    arnopo committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    c55906e View commit details
    Browse the repository at this point in the history
  2. drivers: Add stm32mp1 remoteproc driver

    This driver is responsible for configuring the registers and memories of
    the remote processor.
    - It stores information about memories assigned to the remote processor
      based on the device tree.
    - It ensures consistency between the registered memory and the addresses
    of the firmware segments to be loaded.
    - Additionally, it is responsible for starting and stopping the remote
    processor core.
    
    Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
    Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
    Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
    arnopo committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    6eb03c6 View commit details
    Browse the repository at this point in the history
  3. pta: stm32mp: add new remoteproc PTA

    Add remoteproc PTA for the stm32mp1 platform.
    The PTA relies on the stm32_remoteproc driver for the remoteproc
    management.
    It is charge of providing interface for authenticating firmware images
    and managing the remote processor live cycle.
    
    Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
    Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
    Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
    arnopo committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    25ba4d3 View commit details
    Browse the repository at this point in the history
  4. plat-stm32mp1: Add the remoteproc TA in early TA list

    On the stm32mp1 platform, it is possible to load firmware during the
    bootloader stage, for instance, by U-boot. To enable this feature,
    The remoteproc TA should be added to the list of early-TAs.
    
    Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
    Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
    Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
    arnopo committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    3eb766e View commit details
    Browse the repository at this point in the history
  5. dts: stm32: update m4_rproc to support the remoteproc OP-TEE framework

    Update device tree to support the load of the remoteproc firmware
    by OP-TEE.
    - declare m_ipc_shm memory region that can contain the remote processor
      resource table and trace buffer,
    - update reset to align declaration with the Linux devicetree
    
    To enable the load of the coprocessor firmware by OP-TEE, user have
    to update the m4_rproc node compatible property:
    -"st,stm32mp1-m4": the load is managed by Linux or U-boot,
    -"st,stm32mp1-m4-tee": the load is managed by OP-TEE.
    
    Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
    Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
    Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
    arnopo committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    a1ff7cd View commit details
    Browse the repository at this point in the history