diff --git a/bindings/soc/qcom/qcom,gh-large-dmabuf-test.yaml b/bindings/soc/qcom/qcom,gh-large-dmabuf-test.yaml new file mode 100644 index 00000000..c3f7bdf5 --- /dev/null +++ b/bindings/soc/qcom/qcom,gh-large-dmabuf-test.yaml @@ -0,0 +1,45 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/qcom/qcom,gh-large-dmabuf-test.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: QTI Gunyah Hypervisor Large DMA-BUF Test Driver + +maintainers: + - Georgi Djakov + +description: | + The Gunyah Hypervisor Test Driver is used to validate gunyah hypervisor + functionality. It includes test nodes for transferring large dma-bufs + between VMs. + +properties: + compatible: + const: qcom,gh-large-dmabuf-test + + gunyah-label: + $ref: '/schemas/types.yaml#/definitions/uint32' + description: The test driver will request interrupts with this label + from the gunyah doorbell driver. + + qcom,primary: + type: boolean + description: Specify if this device is on the primary virtual machine. + +required: + - compatible + +additionalProperties: false + +examples: + - | + Master: qcom,test-large-dmabuf { + compatible = "qcom,gh-large-dmabuf-test"; + gunyah-label = <4>; + qcom,primary; + }; + Client: qcom,test-large-dmabuf { + compatible = "qcom,gh-large-dmabuf-test"; + gunyah-label = <4>; + }; diff --git a/qcom/sun-oemvm.dtsi b/qcom/sun-oemvm.dtsi index 1e14534e..1750a749 100644 --- a/qcom/sun-oemvm.dtsi +++ b/qcom/sun-oemvm.dtsi @@ -188,6 +188,15 @@ peer-default; }; + test-large-dmabuf-oemvm { + vdevice-type = "message-queue-pair"; + generate = "/hypervisor/test-large-dmabuf-oemvm-pair"; + message-size = <0xf0>; + queue-depth = <0x8>; + qcom,label = <0xe>; + peer-default; + }; + msgqsock-msgq-pair { vdevice-type = "message-queue-pair"; generate = "/hypervisor/msgqsock-msgq-pair"; @@ -291,6 +300,11 @@ affinity = <0>; }; + qcom,test-large-dmabuf-oemvm { + compatible = "qcom,gh-large-dmabuf-test"; + gunyah-label = <0xe>; + }; + qcom,gh-qtimer@1680b000 { compatible = "qcom,gh-qtmr"; reg = <0x1680b000 0x1000>; diff --git a/qcom/sun-vm.dtsi b/qcom/sun-vm.dtsi index d4b3ebc1..03b0aa0a 100644 --- a/qcom/sun-vm.dtsi +++ b/qcom/sun-vm.dtsi @@ -247,6 +247,15 @@ peer-default; }; + test-large-dmabuf-tuivm { + vdevice-type = "message-queue-pair"; + generate = "/hypervisor/test-large-dmabuf-tuivm-pair"; + message-size = <0xf0>; + queue-depth = <0x8>; + qcom,label = <0xd>; + peer-default; + }; + mem-buf-message-queue-pair { vdevice-type = "message-queue-pair"; generate = "/hypervisor/membuf-msgq-pair"; @@ -676,6 +685,11 @@ affinity = <0>; }; + qcom,test-large-dmabuf-tuivm { + compatible = "qcom,gh-large-dmabuf-test"; + gunyah-label = <0xd>; + }; + qcom,gh-qtimer@1680b000 { compatible = "qcom,gh-qtmr"; reg = <0x1680b000 0x1000>; diff --git a/qcom/sun.dtsi b/qcom/sun.dtsi index 8551ae5b..73bc4e24 100644 --- a/qcom/sun.dtsi +++ b/qcom/sun.dtsi @@ -3061,6 +3061,18 @@ qcom,primary; }; + qcom,test-large-dmabuf-tuivm { + compatible = "qcom,gh-large-dmabuf-test"; + gunyah-label = <0xd>; + qcom,primary; + }; + + qcom,test-large-dmabuf-oemvm { + compatible = "qcom,gh-large-dmabuf-test"; + gunyah-label = <0xe>; + qcom,primary; + }; + qcom,gh-qtimer@1680b000 { compatible = "qcom,gh-qtmr"; reg = <0x1680b000 0x1000>;