This change augments smc transport to include support for Qualcomm virtual
platforms by passing a parameter(capability-id) in the hypervisor call to
identify which doorbell to assert. This parameter is dynamically generated
at runtime on the device and insuitable to pass via the devicetree.
The function ID and parameter are stored by firmware in the shmem region.
This has been tested on ARM64 virtual Qualcomm platform.
---
v4 -> port the changes into smc.c
v3 -> fix the compilation error reported by the test bot,
add support for polling based instances
v2 -> use allOf construct in dtb schema,
remove wrappers from mutexes,
use architecture independent channel layout
v1 -> original patches
Nikunj Kela (4):
firmware: arm_scmi: Add polling support for completion in smc
dt-bindings: arm: convert nested if-else construct to allOf
dt-bindings: arm: Add new compatible for smc/hvc transport for SCMI
firmware: arm_scmi: Add qcom hvc/shmem transport support
.../bindings/firmware/arm,scmi.yaml | 67 +++++++++++--------
drivers/firmware/arm_scmi/Kconfig | 14 ++++
drivers/firmware/arm_scmi/driver.c | 1 +
drivers/firmware/arm_scmi/smc.c | 62 +++++++++++++++--
4 files changed, 110 insertions(+), 34 deletions(-)