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