* Generic Mailbox Controller and client driver bindings

Generic binding to provide a way for Mailbox controller drivers to
assign appropriate mailbox channel to client drivers.

* Mailbox Controller

Required property:
- #mbox-cells: Must be at least 1. Number of cells in a mailbox
		specifier.

Example:
	mailbox: mailbox {
		...
		#mbox-cells = <1>;
	};


* Mailbox Client

Required property:
- mboxes: List of phandle and mailbox channel specifiers.

Optional property:
- mbox-names: List of identifier strings for each mailbox channel.
- shmem : List of phandle pointing to the shared memory(SHM) area between the
	  users of these mailboxes for IPC, one for each mailbox. This shared
	  memory can be part of any memory reserved for the purpose of this
	  communication between the mailbox client and the remote.


Example:
	pwr_cntrl: power {
		...
		mbox-names = "pwr-ctrl", "rpc";
		mboxes = <&mailbox 0 &mailbox 1>;
	};

Example with shared memory(shmem):

	sram: sram@50000000 {
		compatible = "mmio-sram";
		reg = <0x50000000 0x10000>;

		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0 0x50000000 0x10000>;

		cl_shmem: shmem@0 {
			compatible = "client-shmem";
			reg = <0x0 0x200>;
		};
	};

	client@2e000000 {
		...
		mboxes = <&mailbox 0>;
		shmem = <&cl_shmem>;
		..
	};
