Sudeep Holla
cc2195fe53
firmware: arm_ffa: Add support for MEM_* interfaces
...
Most of the MEM_* APIs share the same parameters, so they can be
generalised. Currently only MEM_SHARE is implemented and the user space
interface for that is not added yet.
Link: https://lore.kernel.org/r/20210521151033.181846-6-sudeep.holla@arm.com
Tested-by: Jens Wiklander <jens.wiklander@linaro.org >
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com >
2021-05-26 22:38:43 +01:00
Sudeep Holla
d0c0bce831
firmware: arm_ffa: Setup in-kernel users of FFA partitions
...
Parse the FFA nodes from the device-tree and register all the partitions
whose services will be used in the kernel.
In order to also enable in-kernel users of FFA interface, let us add
simple set of operations for such devices.
The in-kernel users are registered without the character device interface.
Link: https://lore.kernel.org/r/20210521151033.181846-5-sudeep.holla@arm.com
Tested-by: Jens Wiklander <jens.wiklander@linaro.org >
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org >
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com >
2021-05-26 22:38:43 +01:00
Sudeep Holla
714be77e97
firmware: arm_ffa: Add support for SMCCC as transport to FFA driver
...
There are requests to keep the transport separate in order to allow
other possible transports like virtio. So let us keep the SMCCC transport
specific routines abstracted.
It is kept simple for now. Once we add another transport, we can develop
better abstraction.
Link: https://lore.kernel.org/r/20210521151033.181846-4-sudeep.holla@arm.com
Tested-by: Jens Wiklander <jens.wiklander@linaro.org >
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org >
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com >
2021-05-26 22:36:46 +01:00
Sudeep Holla
3bbfe98710
firmware: arm_ffa: Add initial Arm FFA driver support
...
This just add a basic driver that sets up the transport(e.g. SMCCC),
checks the FFA version implemented, get the partition ID for self and
sets up the Tx/Rx buffers for communication.
Link: https://lore.kernel.org/r/20210521151033.181846-3-sudeep.holla@arm.com
Tested-by: Jens Wiklander <jens.wiklander@linaro.org >
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com >
2021-05-26 22:36:46 +01:00
Sudeep Holla
e781858488
firmware: arm_ffa: Add initial FFA bus support for device enumeration
...
The Arm FF for Armv8-A specification has concept of endpoints or
partitions. In the Normal world, a partition could be a VM when
the Virtualization extension is enabled or the kernel itself.
In order to handle multiple partitions, we can create a FFA device for
each such partition on a dedicated FFA bus. Similarly, different drivers
requiring FFA transport can be registered on the same bus. We can match
the device and drivers using UUID. This is mostly for the in-kernel
users with FFA drivers.
Link: https://lore.kernel.org/r/20210521151033.181846-2-sudeep.holla@arm.com
Tested-by: Jens Wiklander <jens.wiklander@linaro.org >
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com >
2021-05-26 22:36:46 +01:00