mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
e785db9277
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: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> Reviewed-by: Simon 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>
37 lines
1.3 KiB
Text
37 lines
1.3 KiB
Text
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
config ARM_FFA_TRANSPORT
|
|
bool "Enable Arm Firmware Framework for Armv8-A driver"
|
|
depends on DM && ARM64
|
|
select ARM_SMCCC
|
|
select ARM_SMCCC_FEATURES
|
|
imply CMD_ARMFFA
|
|
select LIB_UUID
|
|
select DEVRES
|
|
help
|
|
The Firmware Framework for Arm A-profile processors (FF-A)
|
|
describes interfaces (ABIs) that standardize communication
|
|
between the Secure World and Normal World leveraging TrustZone
|
|
technology.
|
|
|
|
The FF-A support in U-Boot is based on FF-A specification v1.0 and uses SMC32
|
|
calling convention.
|
|
|
|
FF-A specification:
|
|
|
|
https://developer.arm.com/documentation/den0077/a/?lang=en
|
|
|
|
In U-Boot FF-A design, FF-A is considered as a discoverable bus.
|
|
FF-A bus is discovered using ARM_SMCCC_FEATURES mechanism performed
|
|
by the PSCI driver.
|
|
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).
|
|
The FF-A support on U-Boot takes care of all the interactions between Normal
|
|
world and Secure World.
|
|
|
|
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 about the FF-A support, please refer to doc/arch/arm64.ffa.rst
|
|
|