summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/mailbox/hisilicon,hi6220-mailbox.txt
blob: 3dfb0b0ecd33409e5f6ff802ad025867a5e45b55 (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
52
53
54
55
56
57
Hisilicon Hi6220 Mailbox Driver
===============================

Hisilicon Hi6220 mailbox supports up to 32 channels. Each channel
is unidirectional with a maximum message size of 8 words. I/O is
performed using register access (there is no DMA) and the cell
raises an interrupt when messages are received.

Mailbox Device Node:
====================

Required properties:
--------------------
- compatible:		Shall be "hisilicon,hi6220-mbox"
- reg:			Contains the mailbox register address range (base
			address and length); the first item is for IPC
			registers, the second item is shared buffer for
			slots.
- #mbox-cells		Common mailbox binding property to identify the number
			of cells required for the mailbox specifier. Should be 1.
- interrupts:		Contains the interrupt information for the mailbox
			device. The format is dependent on which interrupt
			controller the SoCs use.

Example:
--------

	mailbox: mailbox@F7510000 {
		#mbox-cells = <1>;
		compatible = "hisilicon,hi6220-mbox";
		reg = <0x0 0xF7510000 0x0 0x1000>, /* IPC_S */
		      <0x0 0x06DFF800 0x0 0x0800>; /* Mailbox */
		interrupt-parent = <&gic>;
		interrupts = <0 94 4>;
	};


Mailbox client
===============

"mboxes" and the optional "mbox-names" (please see
Documentation/devicetree/bindings/mailbox/mailbox.txt for details). Each value
of the mboxes property should contain a phandle to the mailbox controller
device node and second argument is the channel index. It must be 0 (hardware
support only one channel). The equivalent "mbox-names" property value can be
used to give a name to the communication channel to be used by the client user.

Example:
--------

	stub_clock: stub_clock {
		compatible = "hisilicon,hi6220-stub-clk";
		hisilicon,hi6220-clk-sram = <&sram>;
		#clock-cells = <1>;
		mbox-names = "mbox-tx";
		mboxes = <&mailbox 1>;
	};