This new version of the patchset provides improvements to the FF-A driver design.
The FF-A driver is a discoverable bus and brings these new features: * support for the 64-bit x0-x17 registers in SMC arguments passing * align with the FF-A kernel driver interfaces * make the driver EFI independent This patchset will be followed by further updates (work in progress): * discover MM partitions at runtime * align with the FF-A kernel driver error handling * align Sandbox driver and tests with the new interfaces Changelog: =============== v3: * port x0-x17 registers support from linux kernel as defined by SMCCCv1.2 * align the interfaces of the u-boot FF-A driver with those in the linux FF-A driver * remove the FF-A helper layer * make the u-boot FF-A driver independent from EFI * provide an optional config that enables copying the driver data to EFI runtime section at ExitBootServices service * use 64-bit version of FFA_RXTX_MAP, FFA_MSG_SEND_DIRECT_{REQ, RESP} * update armffa command with the new driver interfaces v2 [2]: * make FF-A bus discoverable using device_{bind, probe} APIs * remove device tree support v1 [1]: * introduce FF-A bus driver with device tree support * introduce armffa command * introduce FF-A Sandbox driver * add FF-A Sandbox test cases * introduce FF-A MM communication Cheers, Abdellatif [1]: https://lore.kernel.org/all/20220329151659.16894-1-abdellatif.elkhl...@arm.com/ [2]: https://lore.kernel.org/all/20220415122803.16666-1-abdellatif.elkhl...@arm.com/ Cc: Tom Rini <tr...@konsulko.com> Cc: Ilias Apalodimas <ilias.apalodi...@linaro.org> Cc: Jens Wiklander <jens.wiklan...@linaro.org> Cc: Achin Gupta <achin.gu...@arm.com> Cc: Vishnu Banavath <vishnu.banav...@arm.com> Cc: Xueliang Zhong <xueliang.zh...@arm.com> Abdellatif El Khlifi (4): arm64: smccc: add Xn registers support used by SMC calls arm64: smccc: clear the Xn registers after SMC calls arm_ffa: introduce Arm FF-A low-level driver arm_ffa: introduce armffa command MAINTAINERS | 7 + arch/arm/cpu/armv8/smccc-call.S | 73 ++ arch/arm/lib/asm-offsets.c | 13 + cmd/Kconfig | 10 + cmd/Makefile | 2 + cmd/armffa.c | 246 ++++ common/board_r.c | 7 + drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/arm-ffa/Kconfig | 34 + drivers/arm-ffa/Makefile | 7 + drivers/arm-ffa/arm-ffa-uclass.c | 16 + drivers/arm-ffa/arm_ffa_prv.h | 219 ++++ drivers/arm-ffa/core.c | 1338 ++++++++++++++++++++ drivers/arm-ffa/efi_ffa_runtime_data_mgr.c | 94 ++ include/arm_ffa.h | 132 ++ include/dm/uclass-id.h | 1 + include/linux/arm-smccc.h | 43 + include/uuid.h | 8 + lib/efi_loader/efi_boottime.c | 17 + lib/uuid.c | 65 + 21 files changed, 2335 insertions(+) create mode 100644 cmd/armffa.c create mode 100644 drivers/arm-ffa/Kconfig create mode 100644 drivers/arm-ffa/Makefile create mode 100644 drivers/arm-ffa/arm-ffa-uclass.c create mode 100644 drivers/arm-ffa/arm_ffa_prv.h create mode 100644 drivers/arm-ffa/core.c create mode 100644 drivers/arm-ffa/efi_ffa_runtime_data_mgr.c create mode 100644 include/arm_ffa.h -- 2.17.1