From: Peng Fan <peng.fan@xxxxxxx> V3: Add back arm,scmi-smc compatible string Change smc-id to arm,smc-id Directly use arm_smccc_1_1_invoke Add prot_id in scmi_chan_info for per protocol shmem usage. V2: patch 1/2: only add smc-id property patch 2/2: Parse smc/hvc from psci node Use prot_id as 2nd arg when issue smc/hvc Differentiate tranports using mboxes or smc-id property https://lore.kernel.org/patchwork/cover/1193435/ This is to add smc/hvc transports support, based on Viresh's v6. SCMI firmware could be implemented in EL3, S-EL1, NS-EL2 or other A core exception level. Then smc/hvc could be used. And for vendor specific firmware, a wrapper layer could added in EL3, S-EL1, NS-EL2 and etc to translate SCMI calls to vendor specific firmware calls. A new compatible string arm,scmi-smc is added. arm,scmi is still for mailbox transports. All protocol share same smc/hvc id, the protocol id will be take as 2nd arg when issue smc/hvc. Each protocol could use its own shmem or share the same shmem Per smc/hvc, only Tx supported. Peng Fan (2): dt-bindings: arm: arm,scmi: add smc/hvc transport firmware: arm_scmi: add smc/hvc transport Documentation/devicetree/bindings/arm/arm,scmi.txt | 3 +- drivers/firmware/arm_scmi/Makefile | 2 +- drivers/firmware/arm_scmi/common.h | 3 + drivers/firmware/arm_scmi/driver.c | 2 + drivers/firmware/arm_scmi/smc.c | 146 +++++++++++++++++++++ 5 files changed, 154 insertions(+), 2 deletions(-) create mode 100644 drivers/firmware/arm_scmi/smc.c -- 2.16.4