Skip to content
Snippets Groups Projects
  1. Aug 08, 2023
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce Arm FF-A support · 39d383bd
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      Add Arm FF-A support implementing Arm Firmware Framework for Armv8-A v1.0
      
      The Firmware Framework for Arm A-profile processors (FF-A v1.0) [1]
      describes interfaces (ABIs) that standardize communication
      between the Secure World and Normal World leveraging TrustZone
      technology.
      
      This driver uses 64-bit registers as per SMCCCv1.2 spec and comes
      on top of the SMCCC layer. The driver provides the FF-A ABIs needed for
      querying the FF-A framework from the secure world.
      
      The driver uses SMC32 calling convention which means using the first
      32-bit data of the Xn registers.
      
      All supported ABIs come with their 32-bit version except FFA_RXTX_MAP
      which has 64-bit version supported.
      
      Both 32-bit and 64-bit direct messaging are supported which allows both
      32-bit and 64-bit clients to use the FF-A bus.
      
      FF-A is a discoverable bus and similar to architecture features.
      FF-A bus is discovered using ARM_SMCCC_FEATURES mechanism performed
      by the PSCI driver.
      
      Clients are able to probe then use the FF-A bus by calling the DM class
      searching APIs (e.g: uclass_first_device).
      
      The Secure World is considered as one entity to communicate with
      using the FF-A bus. FF-A communication is handled by one device and
      one instance (the bus). This FF-A driver takes care of all the
      interactions between Normal world and Secure World.
      
      The driver exports its operations to be used by upper layers.
      
      Exported operations:
      
      - ffa_partition_info_get
      - ffa_sync_send_receive
      - ffa_rxtx_unmap
      
      Generic FF-A methods are implemented in the Uclass (arm-ffa-uclass.c).
      Arm specific methods are implemented in the Arm driver (arm-ffa.c).
      
      For more details please refer to the driver documentation [2].
      
      [1]: https://developer.arm.com/documentation/den0077/latest/
      
      
      [2]: doc/arch/arm64.ffa.rst
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Reviewed-by: default avatarIlias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
      39d383bd
    • Abdellatif El Khlifi's avatar
      lib: uuid: introduce testcase for uuid_str_to_le_bin · b83dc8df
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      provide a test case
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      b83dc8df
  2. Aug 07, 2023
  3. Jul 25, 2023
  4. Jul 24, 2023
    • Tom Rini's avatar
      Revert "Merge branch '2023-07-24-introduce-FF-A-suppport'" · 94e7cb18
      Tom Rini authored
      
      This reverts commit d927d1a8, reversing
      changes made to c07ad952.
      
      These changes do not pass CI currently.
      
      Signed-off-by: default avatarTom Rini <trini@konsulko.com>
      94e7cb18
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce armffa command Sandbox test · 20e2b994
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      Add Sandbox test for the armffa command
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      20e2b994
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce sandbox test cases for UCLASS_FFA · dd40919b
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      Add functional test cases for the FF-A support
      
      These tests rely on the FF-A sandbox emulator and FF-A
      sandbox driver which help in inspecting the FF-A communication.
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
      dd40919b
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce sandbox FF-A support · 32dd07ff
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      Emulate Secure World's FF-A ABIs and allow testing U-Boot FF-A support
      
      Features of the sandbox FF-A support:
      
      - Introduce an FF-A emulator
      - Introduce an FF-A device driver for FF-A comms with emulated Secure World
      - Provides test methods allowing to read the status of the inspected ABIs
      
      The sandbox FF-A emulator supports only 64-bit direct messaging.
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
      32dd07ff
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce armffa command · e785db92
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      Provide armffa command showcasing the use of the U-Boot FF-A support
      
      armffa is a command showcasing how to invoke FF-A operations.
      This provides a guidance to the client developers on how to
      call the FF-A bus interfaces. The command also allows to gather secure
      partitions information and ping these  partitions. The command is also
      helpful in testing the communication with secure partitions.
      
      For more details please refer to the command documentation [1].
      
      [1]: doc/usage/cmd/armffa.rst
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
      e785db92
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce Arm FF-A support · c09bfc66
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      Add Arm FF-A support implementing Arm Firmware Framework for Armv8-A v1.0
      
      The Firmware Framework for Arm A-profile processors (FF-A v1.0) [1]
      describes interfaces (ABIs) that standardize communication
      between the Secure World and Normal World leveraging TrustZone
      technology.
      
      This driver uses 64-bit registers as per SMCCCv1.2 spec and comes
      on top of the SMCCC layer. The driver provides the FF-A ABIs needed for
      querying the FF-A framework from the secure world.
      
      The driver uses SMC32 calling convention which means using the first
      32-bit data of the Xn registers.
      
      All supported ABIs come with their 32-bit version except FFA_RXTX_MAP
      which has 64-bit version supported.
      
      Both 32-bit and 64-bit direct messaging are supported which allows both
      32-bit and 64-bit clients to use the FF-A bus.
      
      FF-A is a discoverable bus and similar to architecture features.
      FF-A bus is discovered using ARM_SMCCC_FEATURES mechanism performed
      by the PSCI driver.
      
      Clients are able to probe then use the FF-A bus by calling the DM class
      searching APIs (e.g: uclass_first_device).
      
      The Secure World is considered as one entity to communicate with
      using the FF-A bus. FF-A communication is handled by one device and
      one instance (the bus). This FF-A driver takes care of all the
      interactions between Normal world and Secure World.
      
      The driver exports its operations to be used by upper layers.
      
      Exported operations:
      
      - ffa_partition_info_get
      - ffa_sync_send_receive
      - ffa_rxtx_unmap
      
      Generic FF-A methods are implemented in the Uclass (arm-ffa-uclass.c).
      Arm specific methods are implemented in the Arm driver (arm-ffa.c).
      
      For more details please refer to the driver documentation [2].
      
      [1]: https://developer.arm.com/documentation/den0077/latest/
      
      
      [2]: doc/arch/arm64.ffa.rst
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
      c09bfc66
    • Abdellatif El Khlifi's avatar
      lib: uuid: introduce testcase for uuid_str_to_le_bin · 9052d178
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      provide a test case
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      9052d178
  5. Jul 12, 2023
  6. Jul 07, 2023
  7. Jun 12, 2023
  8. May 30, 2023
  9. May 05, 2023
  10. May 04, 2023
  11. May 03, 2023
  12. May 02, 2023
  13. Apr 28, 2023
  14. Apr 27, 2023
    • Abdellatif El Khlifi's avatar
      sandbox64: add a test case for UCLASS_NVMXIP · 56722faf
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      provide a test for NVM XIP devices
      
      The test case allows to make sure of the following:
      
      - The NVM XIP QSPI devices are probed
      - The DT entries are read correctly
      - the data read from the flash by the NVMXIP block driver is correct
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      56722faf
    • Abdellatif El Khlifi's avatar
      drivers/mtd/nvmxip: introduce QSPI XIP driver · 9e115ace
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      add nvmxip_qspi driver under UCLASS_NVMXIP
      
      The device associated with this driver is the parent of the blk#<id> device
      nvmxip_qspi can be reused by other platforms. If the platform
      has custom settings to apply before using the flash, then the platform
      can provide its own parent driver belonging to UCLASS_NVMXIP and reuse
      nvmxip-blk driver. The custom driver can be implemented like nvmxip_qspi in
      addition to the platform custom settings.
      
      Platforms can use multiple NVM XIP devices at the same time by defining a
      DT node for each one of them.
      
      For more details please refer to doc/develop/driver-model/nvmxip_qspi.rst
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      9e115ace
    • Abdellatif El Khlifi's avatar
      drivers/mtd/nvmxip: introduce NVM XIP block storage emulation · f37af276
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      add block storage emulation for NVM XIP flash devices
      
      Some paltforms such as Corstone-1000 need to see NVM XIP raw flash
      as a block storage device with read only capability.
      
      Here NVM flash devices are devices with addressable
      memory (e.g: QSPI NOR flash).
      
      The implementation is generic and can be used by different platforms.
      
      Two drivers are provided as follows.
      
        nvmxip-blk :
      
          a generic block driver allowing to read from the XIP flash
      
        nvmxip Uclass driver :
      
              When a device is described in the DT and associated with
              UCLASS_NVMXIP, the Uclass creates a block device and binds it with
      	 the nvmxip-blk.
      
      Platforms can use multiple NVM XIP devices at the same time by defining a
      DT node for each one of them.
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      f37af276
  15. Apr 16, 2023
  16. Apr 05, 2023
  17. Mar 30, 2023
  18. Mar 14, 2023
  19. Mar 06, 2023
Loading