Commit 93fb0c8d authored by Nishanth Menon's avatar Nishanth Menon Committed by Jassi Brar
Browse files

dt-bindings: mailbox: ti,secure-proxy: Convert to json schema



Convert the ti,secure-proxy to yaml for better checks and documentation.
Differences being mostly in the examples:
- Dropped the example usage of mailbox client, it is better done in
  tisci node definition.
- Switched reg usage for address-cells and size-cells 1 - aligned with
  schema checks as well.
- included header in example for a buildable example.

While at this, lets make sure to support upto 100 rx threads even though
typically upto 1 threads is practically in use.

NOTE: The following checkpatch warning is generated since we do include the header
in the example, but this is a false positive warning.
  WARNING: DT binding docs and includes should be a separate patch. See:
  Documentation/devicetree/bindings/submitting-patches.rst

Signed-off-by: default avatarNishanth Menon <nm@ti.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarJassi Brar <jaswinder.singh@linaro.org>
parent a683246a
Loading
Loading
Loading
Loading
+0 −50
Original line number Original line Diff line number Diff line
Texas Instruments' Secure Proxy
========================================

The Texas Instruments' secure proxy is a mailbox controller that has
configurable queues selectable at SoC(System on Chip) integration. The
Message manager is broken up into different address regions that are
called "threads" or "proxies" - each instance is unidirectional and is
instantiated at SoC integration level by system controller to indicate
receive or transmit path.

Message Manager Device Node:
===========================
Required properties:
--------------------
- compatible:		Shall be "ti,am654-secure-proxy"
- reg-names 		target_data - Map the proxy data region
			rt - Map the realtime status region
			scfg - Map the configuration region
- reg:			Contains the register map per reg-names.
- #mbox-cells		Shall be 1 and shall refer to the transfer path
			called thread.
- interrupt-names:	Contains interrupt names matching the rx transfer path
			for a given SoC. Receive interrupts shall be of the
			format: "rx_<PID>".
- interrupts:		Contains the interrupt information corresponding to
			interrupt-names property.

Example(AM654):
------------

	secure_proxy: mailbox@32c00000 {
		compatible = "ti,am654-secure-proxy";
		#mbox-cells = <1>;
		reg-names = "target_data", "rt", "scfg";
		reg = <0x0 0x32c00000 0x0 0x100000>,
		      <0x0 0x32400000 0x0 0x100000>,
		      <0x0 0x32800000 0x0 0x100000>;
		interrupt-names = "rx_011";
		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
	};

	dmsc: dmsc {
		[...]
		mbox-names = "rx", "tx";
		# RX Thread ID is 11
		# TX Thread ID is 13
		mboxes= <&secure_proxy 11>,
			<&secure_proxy 13>;
		[...]
	};
+79 −0
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mailbox/ti,secure-proxy.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments' Secure Proxy

maintainers:
  - Nishanth Menon <nm@ti.com>

description: |
  The Texas Instruments' secure proxy is a mailbox controller that has
  configurable queues selectable at SoC(System on Chip) integration. The
  Message manager is broken up into different address regions that are
  called "threads" or "proxies" - each instance is unidirectional and is
  instantiated at SoC integration level by system controller to indicate
  receive or transmit path.

properties:
  $nodename:
    pattern: "^mailbox@[0-9a-f]+$"

  compatible:
    const: ti,am654-secure-proxy

  "#mbox-cells":
    const: 1
    description:
      Contains the secure proxy thread ID used for the specific transfer path.

  reg-names:
    items:
      - const: target_data
      - const: rt
      - const: scfg

  reg:
    minItems: 3

  interrupt-names:
    minItems: 1
    maxItems: 100
    items:
      pattern: "^rx_[0-9]{3}$"
    description:
      Contains the interrupt name information for the Rx interrupt path for
      secure proxy thread in the form 'rx_<PID>'.

  interrupts:
    minItems: 1
    maxItems: 100
    description:
      Contains the interrupt information for the Rx interrupt path for secure
      proxy.

required:
  - compatible
  - reg-names
  - reg
  - interrupt-names
  - interrupts
  - "#mbox-cells"

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    secure_proxy: mailbox@32c00000 {
          compatible = "ti,am654-secure-proxy";
          #mbox-cells = <1>;
          reg-names = "target_data", "rt", "scfg";
          reg = <0x32c00000 0x100000>,
                <0x32400000 0x100000>,
                <0x32800000 0x100000>;
          interrupt-names = "rx_011";
          interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
    };