Linux-6.18.2/Documentation/devicetree/bindings/mailbox/brcm,iproc-flexrm-mbox.yaml
2025-12-23 20:06:59 +08:00

64 lines
1.8 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mailbox/brcm,iproc-flexrm-mbox.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Broadcom FlexRM Ring Manager
maintainers:
- Ray Jui <rjui@broadcom.com>
- Scott Branden <sbranden@broadcom.com>
description:
The Broadcom FlexRM ring manager provides a set of rings which can be used to
submit work to offload engines. An SoC may have multiple FlexRM hardware
blocks. There is one device tree entry per FlexRM block. The FlexRM driver
will create a mailbox-controller instance for given FlexRM hardware block
where each mailbox channel is a separate FlexRM ring.
properties:
compatible:
const: brcm,iproc-flexrm-mbox
reg:
maxItems: 1
msi-parent:
maxItems: 1
'#mbox-cells':
description: >
The 1st cell is the mailbox channel number.
The 2nd cell contains MSI completion threshold. This is the number of
completion messages for which FlexRM will inject one MSI interrupt to CPU.
The 3rd cell contains MSI timer value representing time for which FlexRM
will wait to accumulate N completion messages where N is the value
specified by 2nd cell above. If FlexRM does not get required number of
completion messages in time specified by this cell then it will inject one
MSI interrupt to CPU provided at least one completion message is
available.
const: 3
dma-coherent: true
required:
- compatible
- reg
- msi-parent
- '#mbox-cells'
additionalProperties: false
examples:
- |
mailbox@67000000 {
compatible = "brcm,iproc-flexrm-mbox";
reg = <0x67000000 0x200000>;
msi-parent = <&gic_its 0x7f00>;
#mbox-cells = <3>;
dma-coherent;
};