# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/arm/msm/smmu-proxy.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: SMMU Proxy Driver maintainers: - Chris Goldsworthy description: |+ The SMMU proxy driver allows DMA-BUFs on HLOS to be lent to the TVM and mapped into an S1 context bank of the client's choosing on the TVM. The IOVA of the mapped DMA-BUF is sent back to HLOS, which the client then passes to their hardware as they did before. The driver is split between HLOS and the TVM. Communication between the two sides is facilitated by a message queue, such that the TVM has a single message handling thread. The proxy driver directly manages the context banks of the client devices, as there is no client code to manage the mappings of the devices on the TVM. properties: compatible: items: - enum: - smmu-proxy-sender - smmu-proxy-receiver - smmu-proxy-cb iommus: maxItems: 1 description: iommus tag in form of <&apps_smmu [SID] [MASK]>, such that [SID] will be for one of the relevant client context banks. required: - compatible additionalProperties: false examples: - | smmu-proxy { compatible = "smmu-proxy-sender"; }; - | smmu-proxy { compatible = "smmu-proxy-receiver"; }; smmu-proxy-camera-cb { compatible = "smmu-proxy-cb"; iommus = <&apps_smmu 0x1000 0x0>; };