From a88842b772c0a3531c652831b24cd9a2917f6e0a Mon Sep 17 00:00:00 2001 From: Pranav Mahesh Phansalkar Date: Sun, 1 Dec 2024 20:30:05 +0530 Subject: [PATCH 1/3] ARM: dts: msm: Add qrtr gunyah tuivm node on kera SoC Add qrtr gunyah tuivm node to enable communication between PVM and TUIVM. Change-Id: Ia81cca25f13d22f249350f5704264822c242123a Signed-off-by: Pranav Mahesh Phansalkar --- qcom/kera-vm.dtsi | 16 ++++++++++++++++ qcom/kera.dtsi | 7 +++++++ 2 files changed, 23 insertions(+) diff --git a/qcom/kera-vm.dtsi b/qcom/kera-vm.dtsi index c2b00d11..4425e054 100644 --- a/qcom/kera-vm.dtsi +++ b/qcom/kera-vm.dtsi @@ -214,6 +214,17 @@ allocate-base; }; + qrtr-shm { + vdevice-type = "shm-doorbell"; + generate = "/hypervisor/qrtr-shm"; + push-compatible = "qcom,qrtr-gunyah-gen"; + peer-default; + memory { + qcom,label = <0x3>; + allocate-base; + }; + }; + mem-buf-message-queue-pair { vdevice-type = "message-queue-pair"; generate = "/hypervisor/membuf-msgq-pair"; @@ -462,6 +473,11 @@ qcom,msgq-names = "trusted_vm"; }; + qrtr-gunyah { + compatible = "qcom,qrtr-gunyah"; + gunyah-label = <3>; + }; + virtio_mem_device { compatible = "qcom,virtio-mem"; depends-on-supply = <&mem_buf_msgq>; diff --git a/qcom/kera.dtsi b/qcom/kera.dtsi index f66e7bd1..3a97ec7d 100644 --- a/qcom/kera.dtsi +++ b/qcom/kera.dtsi @@ -1511,6 +1511,13 @@ peer-name = <4>; }; + qcom,qrtr-gunyah-tuivm { + compatible = "qcom,qrtr-gunyah"; + qcom,master; + gunyah-label = <3>; + peer-name = <2>; + }; + clocks { xo_board: xo_board { compatible = "fixed-clock"; From 19fbf066ae270e1c2e1bfb40ccf386786db8a01a Mon Sep 17 00:00:00 2001 From: Pranav Mahesh Phansalkar Date: Sun, 1 Dec 2024 21:39:17 +0530 Subject: [PATCH 2/3] ARM: dts: msm: Add nodes for qmsgq gunyah on kera Add device nodes on kera oemvm and vm to enable qmsgq socket communication over gunyah message queues. Change-Id: Iaeeb89c70d613844133f4bb8a122a63967981089 Signed-off-by: Pranav Mahesh Phansalkar --- qcom/kera-oemvm.dtsi | 14 ++++++++++++++ qcom/kera-vm.dtsi | 14 ++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/qcom/kera-oemvm.dtsi b/qcom/kera-oemvm.dtsi index e72a7363..b72e35f9 100644 --- a/qcom/kera-oemvm.dtsi +++ b/qcom/kera-oemvm.dtsi @@ -204,6 +204,15 @@ peer-default; }; + msgqsock-msgq-pair { + vdevice-type = "message-queue-pair"; + generate = "/hypervisor/msgqsock-msgq-pair"; + message-size = <0xf0>; + queue-depth = <0x8>; + peer = "vm-name:qcom,trustedvm"; + qcom,label = <0x3>; + }; + qrtr-shm { vdevice-type = "shm-doorbell"; generate = "/hypervisor/qrtr-shm"; @@ -312,6 +321,11 @@ compatible = "qcom,mem-object"; }; + qmsgq-gunyah { + compatible = "qcom,qmsgq-gh"; + msgq-label = <3>; + }; + qcom,qrtr { compatible = "qcom,qrtr"; qcom,node-id = <21>; diff --git a/qcom/kera-vm.dtsi b/qcom/kera-vm.dtsi index 4425e054..d15de5f6 100644 --- a/qcom/kera-vm.dtsi +++ b/qcom/kera-vm.dtsi @@ -225,6 +225,15 @@ }; }; + msgqsock-msgq { + vdevice-type = "message-queue-pair"; + generate = "/hypervisor/msgqsock-msgq-pair"; + message-size = <0xf0>; + queue-depth = <0x8>; + peer = "vm-name:qcom,oemvm"; + qcom,label = <0x3>; + }; + mem-buf-message-queue-pair { vdevice-type = "message-queue-pair"; generate = "/hypervisor/membuf-msgq-pair"; @@ -473,6 +482,11 @@ qcom,msgq-names = "trusted_vm"; }; + qmsgq-gunyah { + compatible = "qcom,qmsgq-gh"; + msgq-label = <3>; + }; + qrtr-gunyah { compatible = "qcom,qrtr-gunyah"; gunyah-label = <3>; From 58d15eeee5339dd8ce070275d411e7a440f8df0f Mon Sep 17 00:00:00 2001 From: Pranav Mahesh Phansalkar Date: Sun, 1 Dec 2024 22:11:38 +0530 Subject: [PATCH 3/3] ARM: dts: msm: Add ipcc_mproc_ns1 for kera TUIVM Add ipcc_mproc_n1 device tree node and entries to enable IPCC and mbox communication between TUIVM and CDSP SecurePD on kera TUIVM. Change-Id: Ib06f11a0a8e218af0cd94288531f9789de9630d9 Signed-off-by: Pranav Mahesh Phansalkar --- qcom/kera-vm.dtsi | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/qcom/kera-vm.dtsi b/qcom/kera-vm.dtsi index d15de5f6..452ce2e8 100644 --- a/qcom/kera-vm.dtsi +++ b/qcom/kera-vm.dtsi @@ -96,7 +96,8 @@ vm-attrs = "context-dump", "crash-restart"; iomemory-ranges = <0x0 0xa24000 0x0 0xa24000 0x0 0x4000 0x0 - 0x0 0x824000 0x0 0x824000 0x0 0x4000 0x0>; + 0x0 0x824000 0x0 0x824000 0x0 0x4000 0x0 + 0x0 0x407000 0x0 0x407000 0x0 0x1000 0x0>; /* For LEVM por usecases is QUP1_SE4 and QUP2_SE7. * QUP1_SE4: GPII5 : IRQ_316 @@ -405,6 +406,15 @@ method = "smc"; }; + ipcc_mproc_ns1: qcom,ipcc@407000 { + compatible = "qcom,ipcc"; + reg = <0x407000 0x1000>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <3>; + #mbox-cells = <2>; + }; + vgic: interrupt-controller@17100000 { compatible = "arm,gic-v3"; interrupt-controller;