xref: /freebsd/sys/contrib/device-tree/Bindings/mailbox/hisilicon,hi3660-mailbox.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotHisilicon Hi3660 Mailbox Controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotHisilicon Hi3660 mailbox controller supports up to 32 channels.  Messages
4*c66ec88fSEmmanuel Vadotare passed between processors, including application & communication
5*c66ec88fSEmmanuel Vadotprocessors, MCU, HIFI, etc.  Each channel is unidirectional and accessed
6*c66ec88fSEmmanuel Vadotby using MMIO registers; it supports maximum to 8 words message.
7*c66ec88fSEmmanuel Vadot
8*c66ec88fSEmmanuel VadotController
9*c66ec88fSEmmanuel Vadot----------
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel VadotRequired properties:
12*c66ec88fSEmmanuel Vadot- compatible:		: Shall be "hisilicon,hi3660-mbox"
13*c66ec88fSEmmanuel Vadot- reg:			: Offset and length of the device's register set
14*c66ec88fSEmmanuel Vadot- #mbox-cells:		: Must be 3
15*c66ec88fSEmmanuel Vadot			  <&phandle channel dst_irq ack_irq>
16*c66ec88fSEmmanuel Vadot			    phandle	: Label name of controller
17*c66ec88fSEmmanuel Vadot			    channel	: Channel number
18*c66ec88fSEmmanuel Vadot			    dst_irq	: Remote interrupt vector
19*c66ec88fSEmmanuel Vadot			    ack_irq	: Local interrupt vector
20*c66ec88fSEmmanuel Vadot
21*c66ec88fSEmmanuel Vadot- interrupts:		: Contains the two IRQ lines for mailbox.
22*c66ec88fSEmmanuel Vadot
23*c66ec88fSEmmanuel VadotExample:
24*c66ec88fSEmmanuel Vadot
25*c66ec88fSEmmanuel Vadotmailbox: mailbox@e896b000 {
26*c66ec88fSEmmanuel Vadot	compatible = "hisilicon,hi3660-mbox";
27*c66ec88fSEmmanuel Vadot	reg = <0x0 0xe896b000 0x0 0x1000>;
28*c66ec88fSEmmanuel Vadot	interrupts = <0x0 0xc0 0x4>,
29*c66ec88fSEmmanuel Vadot		     <0x0 0xc1 0x4>;
30*c66ec88fSEmmanuel Vadot	#mbox-cells = <3>;
31*c66ec88fSEmmanuel Vadot};
32*c66ec88fSEmmanuel Vadot
33*c66ec88fSEmmanuel VadotClient
34*c66ec88fSEmmanuel Vadot------
35*c66ec88fSEmmanuel Vadot
36*c66ec88fSEmmanuel VadotRequired properties:
37*c66ec88fSEmmanuel Vadot- compatible		: See the client docs
38*c66ec88fSEmmanuel Vadot- mboxes		: Standard property to specify a Mailbox (See ./mailbox.txt)
39*c66ec88fSEmmanuel Vadot			  Cells must match 'mbox-cells' (See Controller docs above)
40*c66ec88fSEmmanuel Vadot
41*c66ec88fSEmmanuel VadotOptional properties
42*c66ec88fSEmmanuel Vadot- mbox-names		: Name given to channels seen in the 'mboxes' property.
43*c66ec88fSEmmanuel Vadot
44*c66ec88fSEmmanuel VadotExample:
45*c66ec88fSEmmanuel Vadot
46*c66ec88fSEmmanuel Vadotstub_clock: stub_clock@e896b500 {
47*c66ec88fSEmmanuel Vadot	compatible = "hisilicon,hi3660-stub-clk";
48*c66ec88fSEmmanuel Vadot	reg = <0x0 0xe896b500 0x0 0x0100>;
49*c66ec88fSEmmanuel Vadot	#clock-cells = <1>;
50*c66ec88fSEmmanuel Vadot	mboxes = <&mailbox 13 3 0>;
51*c66ec88fSEmmanuel Vadot};
52