Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: mailbox: Convert brcm,iproc-flexrm-mbox to DT schema

Convert the Broadcom FlexRM Ring Manager binding to DT schema format.
It's a straightforward conversion.

Link: https://lore.kernel.org/r/20250812181415.66923-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>

+63 -59
-59
Documentation/devicetree/bindings/mailbox/brcm,iproc-flexrm-mbox.txt
··· 1 - Broadcom FlexRM Ring Manager 2 - ============================ 3 - The Broadcom FlexRM ring manager provides a set of rings which can be 4 - used to submit work to offload engines. An SoC may have multiple FlexRM 5 - hardware blocks. There is one device tree entry per FlexRM block. The 6 - FlexRM driver will create a mailbox-controller instance for given FlexRM 7 - hardware block where each mailbox channel is a separate FlexRM ring. 8 - 9 - Required properties: 10 - -------------------- 11 - - compatible: Should be "brcm,iproc-flexrm-mbox" 12 - - reg: Specifies base physical address and size of the FlexRM 13 - ring registers 14 - - msi-parent: Phandles (and potential Device IDs) to MSI controllers 15 - The FlexRM engine will send MSIs (instead of wired 16 - interrupts) to CPU. There is one MSI for each FlexRM ring. 17 - Refer devicetree/bindings/interrupt-controller/msi.txt 18 - - #mbox-cells: Specifies the number of cells needed to encode a mailbox 19 - channel. This should be 3. 20 - 21 - The 1st cell is the mailbox channel number. 22 - 23 - The 2nd cell contains MSI completion threshold. This is the 24 - number of completion messages for which FlexRM will inject 25 - one MSI interrupt to CPU. 26 - 27 - The 3rd cell contains MSI timer value representing time for 28 - which FlexRM will wait to accumulate N completion messages 29 - where N is the value specified by 2nd cell above. If FlexRM 30 - does not get required number of completion messages in time 31 - specified by this cell then it will inject one MSI interrupt 32 - to CPU provided at least one completion message is available. 33 - 34 - Optional properties: 35 - -------------------- 36 - - dma-coherent: Present if DMA operations made by the FlexRM engine (such 37 - as DMA descriptor access, access to buffers pointed by DMA 38 - descriptors and read/write pointer updates to DDR) are 39 - cache coherent with the CPU. 40 - 41 - Example: 42 - -------- 43 - crypto_mbox: mbox@67000000 { 44 - compatible = "brcm,iproc-flexrm-mbox"; 45 - reg = <0x67000000 0x200000>; 46 - msi-parent = <&gic_its 0x7f00>; 47 - #mbox-cells = <3>; 48 - }; 49 - 50 - crypto@672c0000 { 51 - compatible = "brcm,spu2-v2-crypto"; 52 - reg = <0x672c0000 0x1000>; 53 - mboxes = <&crypto_mbox 0 0x1 0xffff>, 54 - <&crypto_mbox 1 0x1 0xffff>, 55 - <&crypto_mbox 16 0x1 0xffff>, 56 - <&crypto_mbox 17 0x1 0xffff>, 57 - <&crypto_mbox 30 0x1 0xffff>, 58 - <&crypto_mbox 31 0x1 0xffff>; 59 - };
+63
Documentation/devicetree/bindings/mailbox/brcm,iproc-flexrm-mbox.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/mailbox/brcm,iproc-flexrm-mbox.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom FlexRM Ring Manager 8 + 9 + maintainers: 10 + - Ray Jui <rjui@broadcom.com> 11 + - Scott Branden <sbranden@broadcom.com> 12 + 13 + description: 14 + The Broadcom FlexRM ring manager provides a set of rings which can be used to 15 + submit work to offload engines. An SoC may have multiple FlexRM hardware 16 + blocks. There is one device tree entry per FlexRM block. The FlexRM driver 17 + will create a mailbox-controller instance for given FlexRM hardware block 18 + where each mailbox channel is a separate FlexRM ring. 19 + 20 + properties: 21 + compatible: 22 + const: brcm,iproc-flexrm-mbox 23 + 24 + reg: 25 + maxItems: 1 26 + 27 + msi-parent: 28 + maxItems: 1 29 + 30 + '#mbox-cells': 31 + description: > 32 + The 1st cell is the mailbox channel number. 33 + 34 + The 2nd cell contains MSI completion threshold. This is the number of 35 + completion messages for which FlexRM will inject one MSI interrupt to CPU. 36 + 37 + The 3rd cell contains MSI timer value representing time for which FlexRM 38 + will wait to accumulate N completion messages where N is the value 39 + specified by 2nd cell above. If FlexRM does not get required number of 40 + completion messages in time specified by this cell then it will inject one 41 + MSI interrupt to CPU provided at least one completion message is 42 + available. 43 + const: 3 44 + 45 + dma-coherent: true 46 + 47 + required: 48 + - compatible 49 + - reg 50 + - msi-parent 51 + - '#mbox-cells' 52 + 53 + additionalProperties: false 54 + 55 + examples: 56 + - | 57 + mailbox@67000000 { 58 + compatible = "brcm,iproc-flexrm-mbox"; 59 + reg = <0x67000000 0x200000>; 60 + msi-parent = <&gic_its 0x7f00>; 61 + #mbox-cells = <3>; 62 + dma-coherent; 63 + };