All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
To: Jassi Brar <jassisinghbrar@gmail.com>, Rob Herring <robh+dt@kernel.org>
Cc: <linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>,
	Nishanth Menon <nm@ti.com>, Tero Kristo <t-kristo@ti.com>,
	Suman Anna <s-anna@ti.com>
Subject: [RFC PATCH 5/8] dt-bindings: mailbox: ti,message-manager: Add support for secure proxy threads
Date: Tue, 5 Jun 2018 01:16:26 -0500	[thread overview]
Message-ID: <20180605061629.4759-6-nm@ti.com> (raw)
In-Reply-To: <20180605061629.4759-1-nm@ti.com>

Secure Proxy is another communication scheme in Texas Instrument's
devices intended to provide an unique communication path from various
processors in the System on Chip(SoC) to a central System Controller.

Secure proxy is, in effect, an evolution of current generation Message
Manager hardware block found in K2G devices. However the following
changes have taken place:

Secure Proxy instance exposes "threads" or "proxies" which is
primary representation of "a" communication channel. Each thread is
preconfigured by System controller configuration based on SoC usage
requirements. Secure proxy by itself represents a single "queue" of
communication but allows the proxies to be independently operated.

Each Secure proxy thread can uniquely have their own error and threshold
interrupts allowing for more fine control of IRQ handling.

Provide an hardware description of the same for device tree
representation.

See AM65x Technical Reference Manual (SPRUID7, April 2018)
for further details: http://www.ti.com/lit/pdf/spruid7

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 .../bindings/mailbox/ti,message-manager.txt        | 58 +++++++++++++++++++---
 1 file changed, 50 insertions(+), 8 deletions(-)

diff --git a/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt b/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt
index ebf0e3710cee..de796e90cac6 100644
--- a/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt
+++ b/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt
@@ -7,22 +7,40 @@ manager is broken up into queues in different address regions that are called
 "proxies" - each instance is unidirectional and is instantiated at SoC
 integration level to indicate receive or transmit path.
 
+This can also be used to describe Texas Instrument's Secure Proxy
+controller that allows for individually configurable "threads" or
+"proxies" which allow for independent communication scheme.
+
 Message Manager Device Node:
 ===========================
 Required properties:
 --------------------
-- compatible:		Shall be: "ti,k2g-message-manager"
-- reg-names 		queue_proxy_region - Map the queue proxy region.
-			queue_state_debug_region - Map the queue state debug
-			region.
+- compatible:		Shall be one of: "ti,k2g-message-manager",
+			"ti,am654-secure-proxy"
+- reg-names 		for ti,k2g-message-manager, the following shall exist:
+				queue_proxy_region - Map the queue proxy region.
+				queue_state_debug_region - Map the queue state
+					debug region.
+			for ti,am654-secure-proxy, the following shall exist:
+				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 2. Contains the queue ID and proxy ID in that
-		        order referring to the transfer path.
+- #mbox-cells		for ti,k2g-message-manager, Shall be 2. Contains the
+			queue ID and proxy ID in the following order referring
+			to the transfer path:
+				queue_proxy_region - Map the queue proxy region.
+				queue_state_debug_region - Map the queue state
+					debug region.
+			for ti,am654-secure-proxy, 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_<QID>".
-			For ti,k2g-message-manager, this shall contain:
+			format:
+			For ti,k2g-message-manager, this shall be: "rx_<QID>"
+			and shall contain:
 				"rx_005", "rx_057"
+			for ti,am654-secure-proxy, this shall be: "rx_<PID>".
 - interrupts:		Contains the interrupt information corresponding to
 			interrupt-names property.
 
@@ -48,3 +66,27 @@ Example(K2G):
 			<&msgmgr 0 0>;
 		[...]
 	};
+
+Example(AM654):
+------------
+
+	secure_proxy: secure_proxy@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>;
+		[...]
+	};
-- 
2.15.1

WARNING: multiple messages have this Message-ID (diff)
From: Nishanth Menon <nm@ti.com>
To: Jassi Brar <jassisinghbrar@gmail.com>, Rob Herring <robh+dt@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	Nishanth Menon <nm@ti.com>, Tero Kristo <t-kristo@ti.com>,
	Suman Anna <s-anna@ti.com>
Subject: [RFC PATCH 5/8] dt-bindings: mailbox: ti,message-manager: Add support for secure proxy threads
Date: Tue, 5 Jun 2018 01:16:26 -0500	[thread overview]
Message-ID: <20180605061629.4759-6-nm@ti.com> (raw)
In-Reply-To: <20180605061629.4759-1-nm@ti.com>

Secure Proxy is another communication scheme in Texas Instrument's
devices intended to provide an unique communication path from various
processors in the System on Chip(SoC) to a central System Controller.

Secure proxy is, in effect, an evolution of current generation Message
Manager hardware block found in K2G devices. However the following
changes have taken place:

Secure Proxy instance exposes "threads" or "proxies" which is
primary representation of "a" communication channel. Each thread is
preconfigured by System controller configuration based on SoC usage
requirements. Secure proxy by itself represents a single "queue" of
communication but allows the proxies to be independently operated.

Each Secure proxy thread can uniquely have their own error and threshold
interrupts allowing for more fine control of IRQ handling.

Provide an hardware description of the same for device tree
representation.

See AM65x Technical Reference Manual (SPRUID7, April 2018)
for further details: http://www.ti.com/lit/pdf/spruid7

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 .../bindings/mailbox/ti,message-manager.txt        | 58 +++++++++++++++++++---
 1 file changed, 50 insertions(+), 8 deletions(-)

diff --git a/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt b/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt
index ebf0e3710cee..de796e90cac6 100644
--- a/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt
+++ b/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt
@@ -7,22 +7,40 @@ manager is broken up into queues in different address regions that are called
 "proxies" - each instance is unidirectional and is instantiated at SoC
 integration level to indicate receive or transmit path.
 
+This can also be used to describe Texas Instrument's Secure Proxy
+controller that allows for individually configurable "threads" or
+"proxies" which allow for independent communication scheme.
+
 Message Manager Device Node:
 ===========================
 Required properties:
 --------------------
-- compatible:		Shall be: "ti,k2g-message-manager"
-- reg-names 		queue_proxy_region - Map the queue proxy region.
-			queue_state_debug_region - Map the queue state debug
-			region.
+- compatible:		Shall be one of: "ti,k2g-message-manager",
+			"ti,am654-secure-proxy"
+- reg-names 		for ti,k2g-message-manager, the following shall exist:
+				queue_proxy_region - Map the queue proxy region.
+				queue_state_debug_region - Map the queue state
+					debug region.
+			for ti,am654-secure-proxy, the following shall exist:
+				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 2. Contains the queue ID and proxy ID in that
-		        order referring to the transfer path.
+- #mbox-cells		for ti,k2g-message-manager, Shall be 2. Contains the
+			queue ID and proxy ID in the following order referring
+			to the transfer path:
+				queue_proxy_region - Map the queue proxy region.
+				queue_state_debug_region - Map the queue state
+					debug region.
+			for ti,am654-secure-proxy, 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_<QID>".
-			For ti,k2g-message-manager, this shall contain:
+			format:
+			For ti,k2g-message-manager, this shall be: "rx_<QID>"
+			and shall contain:
 				"rx_005", "rx_057"
+			for ti,am654-secure-proxy, this shall be: "rx_<PID>".
 - interrupts:		Contains the interrupt information corresponding to
 			interrupt-names property.
 
@@ -48,3 +66,27 @@ Example(K2G):
 			<&msgmgr 0 0>;
 		[...]
 	};
+
+Example(AM654):
+------------
+
+	secure_proxy: secure_proxy@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>;
+		[...]
+	};
-- 
2.15.1

WARNING: multiple messages have this Message-ID (diff)
From: nm@ti.com (Nishanth Menon)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 5/8] dt-bindings: mailbox: ti, message-manager: Add support for secure proxy threads
Date: Tue, 5 Jun 2018 01:16:26 -0500	[thread overview]
Message-ID: <20180605061629.4759-6-nm@ti.com> (raw)
In-Reply-To: <20180605061629.4759-1-nm@ti.com>

Secure Proxy is another communication scheme in Texas Instrument's
devices intended to provide an unique communication path from various
processors in the System on Chip(SoC) to a central System Controller.

Secure proxy is, in effect, an evolution of current generation Message
Manager hardware block found in K2G devices. However the following
changes have taken place:

Secure Proxy instance exposes "threads" or "proxies" which is
primary representation of "a" communication channel. Each thread is
preconfigured by System controller configuration based on SoC usage
requirements. Secure proxy by itself represents a single "queue" of
communication but allows the proxies to be independently operated.

Each Secure proxy thread can uniquely have their own error and threshold
interrupts allowing for more fine control of IRQ handling.

Provide an hardware description of the same for device tree
representation.

See AM65x Technical Reference Manual (SPRUID7, April 2018)
for further details: http://www.ti.com/lit/pdf/spruid7

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 .../bindings/mailbox/ti,message-manager.txt        | 58 +++++++++++++++++++---
 1 file changed, 50 insertions(+), 8 deletions(-)

diff --git a/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt b/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt
index ebf0e3710cee..de796e90cac6 100644
--- a/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt
+++ b/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt
@@ -7,22 +7,40 @@ manager is broken up into queues in different address regions that are called
 "proxies" - each instance is unidirectional and is instantiated at SoC
 integration level to indicate receive or transmit path.
 
+This can also be used to describe Texas Instrument's Secure Proxy
+controller that allows for individually configurable "threads" or
+"proxies" which allow for independent communication scheme.
+
 Message Manager Device Node:
 ===========================
 Required properties:
 --------------------
-- compatible:		Shall be: "ti,k2g-message-manager"
-- reg-names 		queue_proxy_region - Map the queue proxy region.
-			queue_state_debug_region - Map the queue state debug
-			region.
+- compatible:		Shall be one of: "ti,k2g-message-manager",
+			"ti,am654-secure-proxy"
+- reg-names 		for ti,k2g-message-manager, the following shall exist:
+				queue_proxy_region - Map the queue proxy region.
+				queue_state_debug_region - Map the queue state
+					debug region.
+			for ti,am654-secure-proxy, the following shall exist:
+				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 2. Contains the queue ID and proxy ID in that
-		        order referring to the transfer path.
+- #mbox-cells		for ti,k2g-message-manager, Shall be 2. Contains the
+			queue ID and proxy ID in the following order referring
+			to the transfer path:
+				queue_proxy_region - Map the queue proxy region.
+				queue_state_debug_region - Map the queue state
+					debug region.
+			for ti,am654-secure-proxy, 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_<QID>".
-			For ti,k2g-message-manager, this shall contain:
+			format:
+			For ti,k2g-message-manager, this shall be: "rx_<QID>"
+			and shall contain:
 				"rx_005", "rx_057"
+			for ti,am654-secure-proxy, this shall be: "rx_<PID>".
 - interrupts:		Contains the interrupt information corresponding to
 			interrupt-names property.
 
@@ -48,3 +66,27 @@ Example(K2G):
 			<&msgmgr 0 0>;
 		[...]
 	};
+
+Example(AM654):
+------------
+
+	secure_proxy: secure_proxy at 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>;
+		[...]
+	};
-- 
2.15.1

  parent reply	other threads:[~2018-06-05  6:17 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-05  6:16 [RFC PATCH 0/8] mailbox: ti-msgmgr: Add support for AM654 Secure Proxy Nishanth Menon
2018-06-05  6:16 ` Nishanth Menon
2018-06-05  6:16 ` Nishanth Menon
2018-06-05  6:16 ` [RFC PATCH 1/8] mailbox: ti-msgmgr: Get rid of unused structure members Nishanth Menon
2018-06-05  6:16   ` Nishanth Menon
2018-06-05  6:16   ` Nishanth Menon
2018-06-05  6:16 ` [RFC PATCH 2/8] mailbox: ti-msgmgr: Allocate Rx channel resources only on request Nishanth Menon
2018-06-05  6:16   ` Nishanth Menon
2018-06-05  6:16   ` Nishanth Menon
2018-06-05  6:16 ` [RFC PATCH 3/8] mailbox: ti-msgmgr: Change message count mask to be descriptor based Nishanth Menon
2018-06-05  6:16   ` Nishanth Menon
2018-06-05  6:16   ` Nishanth Menon
2018-06-05  6:16 ` [RFC PATCH 4/8] mailbox: ti-msgmgr: Move the memory region name to descriptor Nishanth Menon
2018-06-05  6:16   ` Nishanth Menon
2018-06-05  6:16   ` Nishanth Menon
2018-06-05  6:16 ` Nishanth Menon [this message]
2018-06-05  6:16   ` [RFC PATCH 5/8] dt-bindings: mailbox: ti, message-manager: Add support for secure proxy threads Nishanth Menon
2018-06-05  6:16   ` [RFC PATCH 5/8] dt-bindings: mailbox: ti,message-manager: " Nishanth Menon
2018-06-12 21:11   ` Rob Herring
2018-06-12 21:11     ` Rob Herring
2018-06-12 22:04     ` Nishanth Menon
2018-06-12 22:04       ` Nishanth Menon
2018-06-12 22:04       ` Nishanth Menon
2018-06-05  6:16 ` [RFC PATCH 6/8] mailbox: ti-msgmgr: Add support for Secure Proxy Nishanth Menon
2018-06-05  6:16   ` Nishanth Menon
2018-06-05  6:16   ` Nishanth Menon
2018-06-05  6:16 ` [RFC PATCH 7/8] drivers: mailbox: Make ti-msgmr driver depend on ARCH_K3 Nishanth Menon
2018-06-05  6:16   ` Nishanth Menon
2018-06-05  6:16   ` Nishanth Menon
2018-06-05  6:16 ` [RFC PATCH 8/8] arm64: dts: ti: k3-am6: Add Secure Proxy instance Nishanth Menon
2018-06-05  6:16   ` Nishanth Menon
2018-06-05  6:16   ` Nishanth Menon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180605061629.4759-6-nm@ti.com \
    --to=nm@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jassisinghbrar@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=s-anna@ti.com \
    --cc=t-kristo@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.