Files
android_kernel_samsung_sm87…/bindings/arm/msm/smmu-proxy.yaml
songrui 857715f7ba dt-bindings: Add SMMU proxy bindings
Add the bindings for the SMMU proxy driver.

Change-Id: I8686cdeb5a3066834c8f6b154190cf4956809852
Signed-off-by: songrui <quic_songrui@quicinc.com>
2023-11-14 10:41:41 +08:00

55 lines
1.5 KiB
YAML

# 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>;
};