1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- Broadcom FlexRM Ring Manager
- ============================
- 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.
- Required properties:
- --------------------
- - compatible: Should be "brcm,iproc-flexrm-mbox"
- - reg: Specifies base physical address and size of the FlexRM
- ring registers
- - msi-parent: Phandles (and potential Device IDs) to MSI controllers
- The FlexRM engine will send MSIs (instead of wired
- interrupts) to CPU. There is one MSI for each FlexRM ring.
- Refer devicetree/bindings/interrupt-controller/msi.txt
- - #mbox-cells: Specifies the number of cells needed to encode a mailbox
- channel. This should be 3.
- 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 3nd 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 atleast one completion message is available.
- Optional properties:
- --------------------
- - dma-coherent: Present if DMA operations made by the FlexRM engine (such
- as DMA descriptor access, access to buffers pointed by DMA
- descriptors and read/write pointer updates to DDR) are
- cache coherent with the CPU.
- Example:
- --------
- crypto_mbox: mbox@67000000 {
- compatible = "brcm,iproc-flexrm-mbox";
- reg = <0x67000000 0x200000>;
- msi-parent = <&gic_its 0x7f00>;
- #mbox-cells = <3>;
- };
- crypto@672c0000 {
- compatible = "brcm,spu2-v2-crypto";
- reg = <0x672c0000 0x1000>;
- mboxes = <&crypto_mbox 0 0x1 0xffff>,
- <&crypto_mbox 1 0x1 0xffff>,
- <&crypto_mbox 16 0x1 0xffff>,
- <&crypto_mbox 17 0x1 0xffff>,
- <&crypto_mbox 30 0x1 0xffff>,
- <&crypto_mbox 31 0x1 0xffff>;
- };
|