xref: /freebsd/sys/contrib/device-tree/Bindings/mailbox/ti,secure-proxy.yaml (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
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