summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/mailbox/hisilicon,hi3660-mailbox.txt
blob: 3e5b4537407d173c7fc7e95453ba7714f24d897c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Hisilicon Hi3660 Mailbox Controller

Hisilicon Hi3660 mailbox controller supports up to 32 channels.  Messages
are passed between processors, including application & communication
processors, MCU, HIFI, etc.  Each channel is unidirectional and accessed
by using MMIO registers; it supports maximum to 8 words message.

Controller
----------

Required properties:
- compatible:		: Shall be "hisilicon,hi3660-mbox"
- reg:			: Offset and length of the device's register set
- #mbox-cells:		: Must be 3
			  <&phandle channel dst_irq ack_irq>
			    phandle	: Label name of controller
			    channel	: Channel number
			    dst_irq	: Remote interrupt vector
			    ack_irq	: Local interrupt vector

- interrupts:		: Contains the two IRQ lines for mailbox.

Example:

mailbox: mailbox@e896b000 {
	compatible = "hisilicon,hi3660-mbox";
	reg = <0x0 0xe896b000 0x0 0x1000>;
	interrupts = <0x0 0xc0 0x4>,
		     <0x0 0xc1 0x4>;
	#mbox-cells = <3>;
};

Client
------

Required properties:
- compatible		: See the client docs
- mboxes		: Standard property to specify a Mailbox (See ./mailbox.txt)
			  Cells must match 'mbox-cells' (See Controller docs above)

Optional properties
- mbox-names		: Name given to channels seen in the 'mboxes' property.

Example:

stub_clock: stub_clock@e896b500 {
	compatible = "hisilicon,hi3660-stub-clk";
	reg = <0x0 0xe896b500 0x0 0x0100>;
	#clock-cells = <1>;
	mboxes = <&mailbox 13 3 0>;
};