
On Tue, Apr 12, 2022 at 12:43:15PM +0100, Abdellatif El Khlifi wrote:
On Thu, Apr 07, 2022 at 08:58:11AM -0400, Tom Rini wrote:
On Thu, Apr 07, 2022 at 01:54:24PM +0100, Abdellatif El Khlifi wrote:
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/driv...))
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/driv...
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)
OK, but you can still push it upstream as it's not required to have an in tree user.
During the review of Corstone-1000 patchset, Rui Silva had a discussion with the Linux device tree maintainer (Rob Herring). Rob is not in favour of an FFA node in the kernel device tree. This is why we are including the FFA node in u-boot device tree (u-boot.dtsi files).
I'm a bit confused now, can you please link to the kernel thread? Or Rob, can you chime in here please?