[PATCH v3 0/3] Add qcom hvc/shmem transport

From: Nikunj Kela
Date: Fri Aug 11 2023 - 13:57:51 EST


This change introduce a new transport channel for Qualcomm virtual
platforms. The transport is mechanically similar to ARM_SCMI_TRANSPORT_SMC.
The difference between the two transports is that a parameter is passed 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.

---
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 (3):
dt-bindings: arm: convert nested if-else construct to allOf
dt-bindings: arm: Add qcom specific hvc transport for SCMI
firmware: arm_scmi: Add qcom hvc/shmem transport

.../bindings/firmware/arm,scmi.yaml | 67 ++---
drivers/firmware/arm_scmi/Kconfig | 13 +
drivers/firmware/arm_scmi/Makefile | 2 +
drivers/firmware/arm_scmi/common.h | 3 +
drivers/firmware/arm_scmi/driver.c | 4 +
drivers/firmware/arm_scmi/qcom_hvc.c | 232 ++++++++++++++++++
6 files changed, 293 insertions(+), 28 deletions(-)
create mode 100644 drivers/firmware/arm_scmi/qcom_hvc.c

--
2.17.1