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

Nikunj Kela
2023-07-24T16:44:49Z

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.

---
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 | 1 +
drivers/firmware/arm_scmi/common.h | 3 +
drivers/firmware/arm_scmi/driver.c | 4 +
drivers/firmware/arm_scmi/qcom_hvc.c | 224 ++++++++++++++++++
6 files changed, 284 insertions(+), 28 deletions(-)
create mode 100644 drivers/firmware/arm_scmi/qcom_hvc.c

--
2.17.1