xref: /freebsd/sys/contrib/device-tree/Bindings/mailbox/ti,secure-proxy.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotTexas Instruments' Secure Proxy
2*c66ec88fSEmmanuel Vadot========================================
3*c66ec88fSEmmanuel Vadot
4*c66ec88fSEmmanuel VadotThe Texas Instruments' secure proxy is a mailbox controller that has
5*c66ec88fSEmmanuel Vadotconfigurable queues selectable at SoC(System on Chip) integration. The
6*c66ec88fSEmmanuel VadotMessage manager is broken up into different address regions that are
7*c66ec88fSEmmanuel Vadotcalled "threads" or "proxies" - each instance is unidirectional and is
8*c66ec88fSEmmanuel Vadotinstantiated at SoC integration level by system controller to indicate
9*c66ec88fSEmmanuel Vadotreceive or transmit path.
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel VadotMessage Manager Device Node:
12*c66ec88fSEmmanuel Vadot===========================
13*c66ec88fSEmmanuel VadotRequired properties:
14*c66ec88fSEmmanuel Vadot--------------------
15*c66ec88fSEmmanuel Vadot- compatible:		Shall be "ti,am654-secure-proxy"
16*c66ec88fSEmmanuel Vadot- reg-names 		target_data - Map the proxy data region
17*c66ec88fSEmmanuel Vadot			rt - Map the realtime status region
18*c66ec88fSEmmanuel Vadot			scfg - Map the configuration region
19*c66ec88fSEmmanuel Vadot- reg:			Contains the register map per reg-names.
20*c66ec88fSEmmanuel Vadot- #mbox-cells		Shall be 1 and shall refer to the transfer path
21*c66ec88fSEmmanuel Vadot			called thread.
22*c66ec88fSEmmanuel Vadot- interrupt-names:	Contains interrupt names matching the rx transfer path
23*c66ec88fSEmmanuel Vadot			for a given SoC. Receive interrupts shall be of the
24*c66ec88fSEmmanuel Vadot			format: "rx_<PID>".
25*c66ec88fSEmmanuel Vadot- interrupts:		Contains the interrupt information corresponding to
26*c66ec88fSEmmanuel Vadot			interrupt-names property.
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel VadotExample(AM654):
29*c66ec88fSEmmanuel Vadot------------
30*c66ec88fSEmmanuel Vadot
31*c66ec88fSEmmanuel Vadot	secure_proxy: mailbox@32c00000 {
32*c66ec88fSEmmanuel Vadot		compatible = "ti,am654-secure-proxy";
33*c66ec88fSEmmanuel Vadot		#mbox-cells = <1>;
34*c66ec88fSEmmanuel Vadot		reg-names = "target_data", "rt", "scfg";
35*c66ec88fSEmmanuel Vadot		reg = <0x0 0x32c00000 0x0 0x100000>,
36*c66ec88fSEmmanuel Vadot		      <0x0 0x32400000 0x0 0x100000>,
37*c66ec88fSEmmanuel Vadot		      <0x0 0x32800000 0x0 0x100000>;
38*c66ec88fSEmmanuel Vadot		interrupt-names = "rx_011";
39*c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
40*c66ec88fSEmmanuel Vadot	};
41*c66ec88fSEmmanuel Vadot
42*c66ec88fSEmmanuel Vadot	dmsc: dmsc {
43*c66ec88fSEmmanuel Vadot		[...]
44*c66ec88fSEmmanuel Vadot		mbox-names = "rx", "tx";
45*c66ec88fSEmmanuel Vadot		# RX Thread ID is 11
46*c66ec88fSEmmanuel Vadot		# TX Thread ID is 13
47*c66ec88fSEmmanuel Vadot		mboxes= <&secure_proxy 11>,
48*c66ec88fSEmmanuel Vadot			<&secure_proxy 13>;
49*c66ec88fSEmmanuel Vadot		[...]
50*c66ec88fSEmmanuel Vadot	};
51