Merge "dt-bindings: Add SMMU proxy bindings"

This commit is contained in:
qctecmdr
2023-11-16 13:28:38 -08:00
committed by Gerrit - the friendly Code Review server

View File

@@ -0,0 +1,54 @@
# 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 <cgoldswo@quicinc.com>
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>;
};