|
| 1 | +Hisilicon Mailbox Driver |
| 2 | +======================== |
| 3 | + |
| 4 | +The Hisilicon mailbox supports up to 32 channels. Each channel |
| 5 | +is unidirectional with a maximum message size of 8 words. I/O is |
| 6 | +performed using register access (there is no DMA) and the cell |
| 7 | +raises an interrupt when messages are received. |
| 8 | + |
| 9 | +Mailbox Device Node: |
| 10 | +==================== |
| 11 | + |
| 12 | +Required properties: |
| 13 | +-------------------- |
| 14 | +- compatible: Shall be "hisilicon,hi6220-mbox" |
| 15 | +- reg: Contains the mailbox register address range (base |
| 16 | + address and length); the first item is for IPC |
| 17 | + registers, the second item is shared buffer for |
| 18 | + slots. |
| 19 | +- #mbox-cells Common mailbox binding property to identify the number |
| 20 | + of cells required for the mailbox specifier. Should be 1. |
| 21 | +- interrupts: Contains the interrupt information for the mailbox |
| 22 | + device. The format is dependent on which interrupt |
| 23 | + controller the SoCs use. |
| 24 | + |
| 25 | +Example: |
| 26 | +-------- |
| 27 | + |
| 28 | + mailbox: mailbox@F7510000 { |
| 29 | + #mbox-cells = <1>; |
| 30 | + compatible = "hisilicon,hi6220-mbox"; |
| 31 | + reg = <0x0 0xF7510000 0x0 0x1000>, /* IPC_S */ |
| 32 | + <0x0 0x06DFF800 0x0 0x0800>; /* Mailbox */ |
| 33 | + interrupt-parent = <&gic>; |
| 34 | + interrupts = <0 94 4>; |
| 35 | + }; |
| 36 | + |
| 37 | + |
| 38 | +Mailbox client |
| 39 | +=============== |
| 40 | + |
| 41 | +"mboxes" and the optional "mbox-names" (please see |
| 42 | +Documentation/devicetree/bindings/mailbox/mailbox.txt for details). Each value |
| 43 | +of the mboxes property should contain a phandle to the mailbox controller |
| 44 | +device node and second argument is the channel index. It must be 0 (hardware |
| 45 | +support only one channel). The equivalent "mbox-names" property value can be |
| 46 | +used to give a name to the communication channel to be used by the client user. |
| 47 | + |
| 48 | +Example: |
| 49 | +-------- |
| 50 | + |
| 51 | + stub_clock: stub_clock { |
| 52 | + compatible = "hisilicon,hi6220-stub-clk"; |
| 53 | + hisilicon,hi6220-clk-sram = <&sram>; |
| 54 | + #clock-cells = <1>; |
| 55 | + mbox-names = "mbox-tx"; |
| 56 | + mboxes = <&mailbox 1>; |
| 57 | + }; |
0 commit comments