1*2eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*2eb4d8dcSEmmanuel Vadot%YAML 1.2 3*2eb4d8dcSEmmanuel Vadot--- 4*2eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/mailbox/ti,secure-proxy.yaml# 5*2eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*2eb4d8dcSEmmanuel Vadot 7*2eb4d8dcSEmmanuel Vadottitle: Texas Instruments' Secure Proxy 8*2eb4d8dcSEmmanuel Vadot 9*2eb4d8dcSEmmanuel Vadotmaintainers: 10*2eb4d8dcSEmmanuel Vadot - Nishanth Menon <nm@ti.com> 11*2eb4d8dcSEmmanuel Vadot 12*2eb4d8dcSEmmanuel Vadotdescription: | 13*2eb4d8dcSEmmanuel Vadot The Texas Instruments' secure proxy is a mailbox controller that has 14*2eb4d8dcSEmmanuel Vadot configurable queues selectable at SoC(System on Chip) integration. The 15*2eb4d8dcSEmmanuel Vadot Message manager is broken up into different address regions that are 16*2eb4d8dcSEmmanuel Vadot called "threads" or "proxies" - each instance is unidirectional and is 17*2eb4d8dcSEmmanuel Vadot instantiated at SoC integration level by system controller to indicate 18*2eb4d8dcSEmmanuel Vadot receive or transmit path. 19*2eb4d8dcSEmmanuel Vadot 20*2eb4d8dcSEmmanuel Vadotproperties: 21*2eb4d8dcSEmmanuel Vadot $nodename: 22*2eb4d8dcSEmmanuel Vadot pattern: "^mailbox@[0-9a-f]+$" 23*2eb4d8dcSEmmanuel Vadot 24*2eb4d8dcSEmmanuel Vadot compatible: 25*2eb4d8dcSEmmanuel Vadot const: ti,am654-secure-proxy 26*2eb4d8dcSEmmanuel Vadot 27*2eb4d8dcSEmmanuel Vadot "#mbox-cells": 28*2eb4d8dcSEmmanuel Vadot const: 1 29*2eb4d8dcSEmmanuel Vadot description: 30*2eb4d8dcSEmmanuel Vadot Contains the secure proxy thread ID used for the specific transfer path. 31*2eb4d8dcSEmmanuel Vadot 32*2eb4d8dcSEmmanuel Vadot reg-names: 33*2eb4d8dcSEmmanuel Vadot items: 34*2eb4d8dcSEmmanuel Vadot - const: target_data 35*2eb4d8dcSEmmanuel Vadot - const: rt 36*2eb4d8dcSEmmanuel Vadot - const: scfg 37*2eb4d8dcSEmmanuel Vadot 38*2eb4d8dcSEmmanuel Vadot reg: 39*2eb4d8dcSEmmanuel Vadot minItems: 3 40*2eb4d8dcSEmmanuel Vadot 41*2eb4d8dcSEmmanuel Vadot interrupt-names: 42*2eb4d8dcSEmmanuel Vadot minItems: 1 43*2eb4d8dcSEmmanuel Vadot maxItems: 100 44*2eb4d8dcSEmmanuel Vadot items: 45*2eb4d8dcSEmmanuel Vadot pattern: "^rx_[0-9]{3}$" 46*2eb4d8dcSEmmanuel Vadot description: 47*2eb4d8dcSEmmanuel Vadot Contains the interrupt name information for the Rx interrupt path for 48*2eb4d8dcSEmmanuel Vadot secure proxy thread in the form 'rx_<PID>'. 49*2eb4d8dcSEmmanuel Vadot 50*2eb4d8dcSEmmanuel Vadot interrupts: 51*2eb4d8dcSEmmanuel Vadot minItems: 1 52*2eb4d8dcSEmmanuel Vadot maxItems: 100 53*2eb4d8dcSEmmanuel Vadot description: 54*2eb4d8dcSEmmanuel Vadot Contains the interrupt information for the Rx interrupt path for secure 55*2eb4d8dcSEmmanuel Vadot proxy. 56*2eb4d8dcSEmmanuel Vadot 57*2eb4d8dcSEmmanuel Vadotrequired: 58*2eb4d8dcSEmmanuel Vadot - compatible 59*2eb4d8dcSEmmanuel Vadot - reg-names 60*2eb4d8dcSEmmanuel Vadot - reg 61*2eb4d8dcSEmmanuel Vadot - interrupt-names 62*2eb4d8dcSEmmanuel Vadot - interrupts 63*2eb4d8dcSEmmanuel Vadot - "#mbox-cells" 64*2eb4d8dcSEmmanuel Vadot 65*2eb4d8dcSEmmanuel VadotadditionalProperties: false 66*2eb4d8dcSEmmanuel Vadot 67*2eb4d8dcSEmmanuel Vadotexamples: 68*2eb4d8dcSEmmanuel Vadot - | 69*2eb4d8dcSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 70*2eb4d8dcSEmmanuel Vadot secure_proxy: mailbox@32c00000 { 71*2eb4d8dcSEmmanuel Vadot compatible = "ti,am654-secure-proxy"; 72*2eb4d8dcSEmmanuel Vadot #mbox-cells = <1>; 73*2eb4d8dcSEmmanuel Vadot reg-names = "target_data", "rt", "scfg"; 74*2eb4d8dcSEmmanuel Vadot reg = <0x32c00000 0x100000>, 75*2eb4d8dcSEmmanuel Vadot <0x32400000 0x100000>, 76*2eb4d8dcSEmmanuel Vadot <0x32800000 0x100000>; 77*2eb4d8dcSEmmanuel Vadot interrupt-names = "rx_011"; 78*2eb4d8dcSEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 79*2eb4d8dcSEmmanuel Vadot }; 80