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