Re: [PATCH 0/6] introduce Arm FF-A support

Abdellatif El Khlifi
2022-04-07T12:57:40Z

On Wed, Apr 06, 2022 at 03:47:11PM -0400, Tom Rini wrote:
> On Tue, Mar 29, 2022 at 04:16:53PM +0100, abdellatif.elkhlifi@arm.com wrote:
> > From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
> >
> > This patchset adds support for Arm FF-A (Arm Firmware Framework for Armv8-A v1.0).
> >
> > FF-A support is generic by design and can be used by any Arm platform.
> >
> > The features added are as follows:
> >
> > 1/ FF-A device driver
> > 2/ armffa command
> > 3/ FF-A Sandbox driver
> > 4/ FF-A Sandbox test cases
> > 5/ FF-A MM communication
> >
> >
> > The suggested design sees FF-A as a data bus allowing data exchange with the firmware
> > running under TrustZone HW (such as Optee). The same approach was followed in the
> > FF-A driver in Linux kernel (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/firmware/arm_ffa/bus.c?h=v5.15#n211))
> >
> > u-boot boards using FF-A can provide a device tree node in a <board>-u-boot.dtsi file.
> > Since the node can not be hosted in Linux device tree, we suggest using u-boot device tree.
>
> Why can't the node be in the upstream tree? It should be, so that it
> can be shared between all users. Especially since there's in-Linux
> users?
>
> --
> Tom

Linux already has an FF-A bus driver and doesn't use a device tree node for FF-A.

The Linux driver registers FF-A as a bus:

int arm_ffa_bus_init(void)
{
return bus_register(&ffa_bus_type);
}

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/firmware/arm_ffa/bus.c?h=v5.15#n211

So, there is no user for the node in Linux. That's why we suggest hosting the node in the u-boot device tree (a u-boot.dtsi file)