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(-) -- 2.17.1