Hisilicon Mailbox Driver
========================

The Hisilicon 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>;
	};
