Texas Instruments' Secure Proxy
========================================

The Texas Instruments' secure proxy is a mailbox controller that has
configurable queues selectable at SoC(System on Chip) integration. The
Message manager is broken up into different address regions that are
called "threads" or "proxies" - each instance is unidirectional and is
instantiated at SoC integration level by system controller to indicate
receive or transmit path.

Message Manager Device Node:
===========================
Required properties:
--------------------
- compatible:		Shall be "ti,am654-secure-proxy"
- reg-names 		target_data - Map the proxy data region
			rt - Map the realtime status region
			scfg - Map the configuration region
- reg:			Contains the register map per reg-names.
- #mbox-cells		Shall be 1 and shall refer to the transfer path
			called thread.
- interrupt-names:	Contains interrupt names matching the rx transfer path
			for a given SoC. Receive interrupts shall be of the
			format: "rx_<PID>".
- interrupts:		Contains the interrupt information corresponding to
			interrupt-names property.

Example(AM654):
------------

	secure_proxy: mailbox@32c00000 {
		compatible = "ti,am654-secure-proxy";
		#mbox-cells = <1>;
		reg-names = "target_data", "rt", "scfg";
		reg = <0x0 0x32c00000 0x0 0x100000>,
		      <0x0 0x32400000 0x0 0x100000>,
		      <0x0 0x32800000 0x0 0x100000>;
		interrupt-names = "rx_011";
		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
	};

	dmsc: dmsc {
		[...]
		mbox-names = "rx", "tx";
		# RX Thread ID is 11
		# TX Thread ID is 13
		mboxes= <&secure_proxy 11>,
			<&secure_proxy 13>;
		[...]
	};
