-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams…
…/working/fujitsu/integration Pull mailbox updates from Jassi Brar: - new driver for Broadcom FlexRM controller - constify data structures of callback functions in some drivers - a few bug fixes uncovered by multi-threaded use of mailbox channels in blocking mode * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration: mailbox: handle empty message in tx_tick mailbox: skip complete wait event if timer expired mailbox: always wait in mbox_send_message for blocking Tx mode mailbox: Remove depends on COMPILE_TEST for BCM_FLEXRM_MBOX mailbox: check ->last_tx_done for NULL in case of timer-based polling dt-bindings: Add DT bindings info for FlexRM ring manager mailbox: Add driver for Broadcom FlexRM ring manager dt-bindings: mailbox: Update doc with NSP PDC/mailbox support mailbox: bcm-pdc: Add Northstar Plus support to PDC driver mailbox: constify mbox_chan_ops structures
- Loading branch information
Showing
10 changed files
with
1,746 additions
and
32 deletions.
There are no files selected for viewing
59 changes: 59 additions & 0 deletions
59
Documentation/devicetree/bindings/mailbox/brcm,iproc-flexrm-mbox.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
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>; | ||
}; |
6 changes: 4 additions & 2 deletions
6
Documentation/devicetree/bindings/mailbox/brcm,iproc-pdc-mbox.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.