162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/mailbox/ti,secure-proxy.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Texas Instruments' Secure Proxy
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Nishanth Menon <nm@ti.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  The Texas Instruments' secure proxy is a mailbox controller that has
1462306a36Sopenharmony_ci  configurable queues selectable at SoC(System on Chip) integration. The
1562306a36Sopenharmony_ci  Message manager is broken up into different address regions that are
1662306a36Sopenharmony_ci  called "threads" or "proxies" - each instance is unidirectional and is
1762306a36Sopenharmony_ci  instantiated at SoC integration level by system controller to indicate
1862306a36Sopenharmony_ci  receive or transmit path.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciproperties:
2162306a36Sopenharmony_ci  $nodename:
2262306a36Sopenharmony_ci    pattern: "^mailbox@[0-9a-f]+$"
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci  compatible:
2562306a36Sopenharmony_ci    const: ti,am654-secure-proxy
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  "#mbox-cells":
2862306a36Sopenharmony_ci    const: 1
2962306a36Sopenharmony_ci    description:
3062306a36Sopenharmony_ci      Contains the secure proxy thread ID used for the specific transfer path.
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci  reg-names:
3362306a36Sopenharmony_ci    items:
3462306a36Sopenharmony_ci      - const: target_data
3562306a36Sopenharmony_ci      - const: rt
3662306a36Sopenharmony_ci      - const: scfg
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci  reg:
3962306a36Sopenharmony_ci    minItems: 3
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci  interrupt-names:
4262306a36Sopenharmony_ci    minItems: 1
4362306a36Sopenharmony_ci    maxItems: 100
4462306a36Sopenharmony_ci    items:
4562306a36Sopenharmony_ci      pattern: "^rx_[0-9]{3}$"
4662306a36Sopenharmony_ci    description:
4762306a36Sopenharmony_ci      Contains the interrupt name information for the Rx interrupt path for
4862306a36Sopenharmony_ci      secure proxy thread in the form 'rx_<PID>'.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci  interrupts:
5162306a36Sopenharmony_ci    minItems: 1
5262306a36Sopenharmony_ci    maxItems: 100
5362306a36Sopenharmony_ci    description:
5462306a36Sopenharmony_ci      Contains the interrupt information for the Rx interrupt path for secure
5562306a36Sopenharmony_ci      proxy.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_cirequired:
5862306a36Sopenharmony_ci  - compatible
5962306a36Sopenharmony_ci  - reg-names
6062306a36Sopenharmony_ci  - reg
6162306a36Sopenharmony_ci  - interrupt-names
6262306a36Sopenharmony_ci  - interrupts
6362306a36Sopenharmony_ci  - "#mbox-cells"
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciadditionalProperties: false
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ciexamples:
6862306a36Sopenharmony_ci  - |
6962306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
7062306a36Sopenharmony_ci    secure_proxy: mailbox@32c00000 {
7162306a36Sopenharmony_ci          compatible = "ti,am654-secure-proxy";
7262306a36Sopenharmony_ci          #mbox-cells = <1>;
7362306a36Sopenharmony_ci          reg-names = "target_data", "rt", "scfg";
7462306a36Sopenharmony_ci          reg = <0x32c00000 0x100000>,
7562306a36Sopenharmony_ci                <0x32400000 0x100000>,
7662306a36Sopenharmony_ci                <0x32800000 0x100000>;
7762306a36Sopenharmony_ci          interrupt-names = "rx_011";
7862306a36Sopenharmony_ci          interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
7962306a36Sopenharmony_ci    };
80