From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jon Hunter Subject: Re: [PATCH V3 01/10] Documentation: dt-bindings: mailbox: tegra: Add binding for HSP mailbox Date: Tue, 26 Jul 2016 10:41:48 +0100 Message-ID: References: <20160719091723.30919-1-josephl@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20160719091723.30919-1-josephl@nvidia.com> Sender: linux-kernel-owner@vger.kernel.org To: Joseph Lo , Stephen Warren , Thierry Reding , Alexandre Courbot Cc: linux-tegra@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Rob Herring , Mark Rutland , Peter De Schrijver , Matthew Longnecker , devicetree@vger.kernel.org, Jassi Brar , linux-kernel@vger.kernel.org, Catalin Marinas , Will Deacon , Sivaram Nair List-Id: linux-tegra@vger.kernel.org On 19/07/16 10:17, Joseph Lo wrote: > Add DT binding for the Hardware Synchronization Primitives (HSP). The > HSP is designed for the processors to share resources and communicate > together. It provides a set of hardware synchronization primitives for > interprocessor communication. So the interprocessor communication (IPC) > protocols can use hardware synchronization primitive, when operating > between two processors not in an SMP relationship. > > Signed-off-by: Joseph Lo > --- > Sorry. Please allow me just update the binding patches of this series. > Want to make sure the binding is acceptable first. > Thanks. > > Changes in V3: > - use two cells for mboxes property > Changes in V2: > - revise the compatible string, interrupt-names, interrupts, and #mbox-cells > properties > - remove "nvidia,hsp-function" property > - fix the header file name > - the binding supports the concept of multiple HSP sub-modules on one HSP HW > block now. > --- > .../bindings/mailbox/nvidia,tegra186-hsp.txt | 52 ++++++++++++++++++++++ > include/dt-bindings/mailbox/tegra186-hsp.h | 20 +++++++++ > 2 files changed, 72 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mailbox/nvidia,tegra186-hsp.txt > create mode 100644 include/dt-bindings/mailbox/tegra186-hsp.h > > diff --git a/Documentation/devicetree/bindings/mailbox/nvidia,tegra186-hsp.txt b/Documentation/devicetree/bindings/mailbox/nvidia,tegra186-hsp.txt > new file mode 100644 > index 000000000000..a9152380642d > --- /dev/null > +++ b/Documentation/devicetree/bindings/mailbox/nvidia,tegra186-hsp.txt > @@ -0,0 +1,52 @@ > +NVIDIA Tegra Hardware Synchronization Primitives (HSP) > + > +The HSP modules are used for the processors to share resources and communicate > +together. It provides a set of hardware synchronization primitives for > +interprocessor communication. So the interprocessor communication (IPC) > +protocols can use hardware synchronization primitives, when operating between > +two processors not in an SMP relationship. > + > +The features that HSP supported are shared mailboxes, shared semaphores, > +arbitrated semaphores and doorbells. > + > +Required properties: > +- name : Should be hsp > +- compatible > + Array of strings. > + one of: > + - "nvidia,tegra186-hsp" > +- reg : Offset and length of the register set for the device. > +- interrupt-names > + Array of strings. > + Contains a list of names for the interrupts described by the interrupt > + property. May contain the following entries, in any order: > + - "doorbell" > + Users of this binding MUST look up entries in the interrupt property > + by name, using this interrupt-names property to do so. > +- interrupts > + Array of interrupt specifiers. > + Must contain one entry per entry in the interrupt-names property, > + in a matching order. > +- #mbox-cells : Should be 2. > + > +The mbox specifier of the "mboxes" property in the client node should > +contain two data. The first one should be the HSP type and the second > +one should be the ID that the client is going to use. Those information > +can be found in the following file. > + > +- . > + > +Example: > + > +hsp_top0: hsp@3c00000 { > + compatible = "nvidia,tegra186-hsp"; > + reg = <0x0 0x03c00000 0x0 0xa0000>; > + interrupts = ; > + interrupt-names = "doorbell"; > + #mbox-cells = <2>; > +}; > + > +client { > + ... > + mboxes = <&hsp_top0 HSP_MBOX_TYPE_DB HSP_DB_MASTER_XXX>; > +}; > diff --git a/include/dt-bindings/mailbox/tegra186-hsp.h b/include/dt-bindings/mailbox/tegra186-hsp.h > new file mode 100644 > index 000000000000..d1c1432707cd > --- /dev/null > +++ b/include/dt-bindings/mailbox/tegra186-hsp.h > @@ -0,0 +1,20 @@ > +/* > + * This header provides constants for binding nvidia,tegra186-hsp. > + * > + * The number with HSP_DB_MASTER prefix indicates the bit that is > + * associated with a master ID in the doorbell registers. > + */ > + > + > +#ifndef _DT_BINDINGS_MAILBOX_TEGRA186_HSP_H > +#define _DT_BINDINGS_MAILBOX_TEGRA186_HSP_H > + > +#define HSP_MBOX_TYPE_DB 0x0 > +#define HSP_MBOX_TYPE_SM 0x1 > +#define HSP_MBOX_TYPE_SS 0x2 > +#define HSP_MBOX_TYPE_AS 0x3 Nit ... may be we should add a comment that describes what the above are? > + > +#define HSP_DB_MASTER_CCPLEX 17 > +#define HSP_DB_MASTER_BPMP 19 Nit ... I would be tempted to move the comment in the header to above these defines, as I missed it on my first pass of this. Otherwise ... Acked-by: Jon Hunter Cheers Jon -- nvpublic From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755174AbcGZJmE (ORCPT ); Tue, 26 Jul 2016 05:42:04 -0400 Received: from hqemgate16.nvidia.com ([216.228.121.65]:8127 "EHLO hqemgate16.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753306AbcGZJmB (ORCPT ); Tue, 26 Jul 2016 05:42:01 -0400 X-PGP-Universal: processed; by hqnvupgp08.nvidia.com on Tue, 26 Jul 2016 02:39:21 -0700 Subject: Re: [PATCH V3 01/10] Documentation: dt-bindings: mailbox: tegra: Add binding for HSP mailbox To: Joseph Lo , Stephen Warren , Thierry Reding , Alexandre Courbot References: <20160719091723.30919-1-josephl@nvidia.com> CC: , , "Rob Herring" , Mark Rutland , "Peter De Schrijver" , Matthew Longnecker , , Jassi Brar , , Catalin Marinas , Will Deacon , Sivaram Nair From: Jon Hunter Message-ID: Date: Tue, 26 Jul 2016 10:41:48 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <20160719091723.30919-1-josephl@nvidia.com> X-Originating-IP: [10.26.11.53] X-ClientProxiedBy: UKMAIL102.nvidia.com (10.26.138.15) To UKMAIL101.nvidia.com (10.26.138.13) Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 19/07/16 10:17, Joseph Lo wrote: > Add DT binding for the Hardware Synchronization Primitives (HSP). The > HSP is designed for the processors to share resources and communicate > together. It provides a set of hardware synchronization primitives for > interprocessor communication. So the interprocessor communication (IPC) > protocols can use hardware synchronization primitive, when operating > between two processors not in an SMP relationship. > > Signed-off-by: Joseph Lo > --- > Sorry. Please allow me just update the binding patches of this series. > Want to make sure the binding is acceptable first. > Thanks. > > Changes in V3: > - use two cells for mboxes property > Changes in V2: > - revise the compatible string, interrupt-names, interrupts, and #mbox-cells > properties > - remove "nvidia,hsp-function" property > - fix the header file name > - the binding supports the concept of multiple HSP sub-modules on one HSP HW > block now. > --- > .../bindings/mailbox/nvidia,tegra186-hsp.txt | 52 ++++++++++++++++++++++ > include/dt-bindings/mailbox/tegra186-hsp.h | 20 +++++++++ > 2 files changed, 72 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mailbox/nvidia,tegra186-hsp.txt > create mode 100644 include/dt-bindings/mailbox/tegra186-hsp.h > > diff --git a/Documentation/devicetree/bindings/mailbox/nvidia,tegra186-hsp.txt b/Documentation/devicetree/bindings/mailbox/nvidia,tegra186-hsp.txt > new file mode 100644 > index 000000000000..a9152380642d > --- /dev/null > +++ b/Documentation/devicetree/bindings/mailbox/nvidia,tegra186-hsp.txt > @@ -0,0 +1,52 @@ > +NVIDIA Tegra Hardware Synchronization Primitives (HSP) > + > +The HSP modules are used for the processors to share resources and communicate > +together. It provides a set of hardware synchronization primitives for > +interprocessor communication. So the interprocessor communication (IPC) > +protocols can use hardware synchronization primitives, when operating between > +two processors not in an SMP relationship. > + > +The features that HSP supported are shared mailboxes, shared semaphores, > +arbitrated semaphores and doorbells. > + > +Required properties: > +- name : Should be hsp > +- compatible > + Array of strings. > + one of: > + - "nvidia,tegra186-hsp" > +- reg : Offset and length of the register set for the device. > +- interrupt-names > + Array of strings. > + Contains a list of names for the interrupts described by the interrupt > + property. May contain the following entries, in any order: > + - "doorbell" > + Users of this binding MUST look up entries in the interrupt property > + by name, using this interrupt-names property to do so. > +- interrupts > + Array of interrupt specifiers. > + Must contain one entry per entry in the interrupt-names property, > + in a matching order. > +- #mbox-cells : Should be 2. > + > +The mbox specifier of the "mboxes" property in the client node should > +contain two data. The first one should be the HSP type and the second > +one should be the ID that the client is going to use. Those information > +can be found in the following file. > + > +- . > + > +Example: > + > +hsp_top0: hsp@3c00000 { > + compatible = "nvidia,tegra186-hsp"; > + reg = <0x0 0x03c00000 0x0 0xa0000>; > + interrupts = ; > + interrupt-names = "doorbell"; > + #mbox-cells = <2>; > +}; > + > +client { > + ... > + mboxes = <&hsp_top0 HSP_MBOX_TYPE_DB HSP_DB_MASTER_XXX>; > +}; > diff --git a/include/dt-bindings/mailbox/tegra186-hsp.h b/include/dt-bindings/mailbox/tegra186-hsp.h > new file mode 100644 > index 000000000000..d1c1432707cd > --- /dev/null > +++ b/include/dt-bindings/mailbox/tegra186-hsp.h > @@ -0,0 +1,20 @@ > +/* > + * This header provides constants for binding nvidia,tegra186-hsp. > + * > + * The number with HSP_DB_MASTER prefix indicates the bit that is > + * associated with a master ID in the doorbell registers. > + */ > + > + > +#ifndef _DT_BINDINGS_MAILBOX_TEGRA186_HSP_H > +#define _DT_BINDINGS_MAILBOX_TEGRA186_HSP_H > + > +#define HSP_MBOX_TYPE_DB 0x0 > +#define HSP_MBOX_TYPE_SM 0x1 > +#define HSP_MBOX_TYPE_SS 0x2 > +#define HSP_MBOX_TYPE_AS 0x3 Nit ... may be we should add a comment that describes what the above are? > + > +#define HSP_DB_MASTER_CCPLEX 17 > +#define HSP_DB_MASTER_BPMP 19 Nit ... I would be tempted to move the comment in the header to above these defines, as I missed it on my first pass of this. Otherwise ... Acked-by: Jon Hunter Cheers Jon -- nvpublic From mboxrd@z Thu Jan 1 00:00:00 1970 From: jonathanh@nvidia.com (Jon Hunter) Date: Tue, 26 Jul 2016 10:41:48 +0100 Subject: [PATCH V3 01/10] Documentation: dt-bindings: mailbox: tegra: Add binding for HSP mailbox In-Reply-To: <20160719091723.30919-1-josephl@nvidia.com> References: <20160719091723.30919-1-josephl@nvidia.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 19/07/16 10:17, Joseph Lo wrote: > Add DT binding for the Hardware Synchronization Primitives (HSP). The > HSP is designed for the processors to share resources and communicate > together. It provides a set of hardware synchronization primitives for > interprocessor communication. So the interprocessor communication (IPC) > protocols can use hardware synchronization primitive, when operating > between two processors not in an SMP relationship. > > Signed-off-by: Joseph Lo > --- > Sorry. Please allow me just update the binding patches of this series. > Want to make sure the binding is acceptable first. > Thanks. > > Changes in V3: > - use two cells for mboxes property > Changes in V2: > - revise the compatible string, interrupt-names, interrupts, and #mbox-cells > properties > - remove "nvidia,hsp-function" property > - fix the header file name > - the binding supports the concept of multiple HSP sub-modules on one HSP HW > block now. > --- > .../bindings/mailbox/nvidia,tegra186-hsp.txt | 52 ++++++++++++++++++++++ > include/dt-bindings/mailbox/tegra186-hsp.h | 20 +++++++++ > 2 files changed, 72 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mailbox/nvidia,tegra186-hsp.txt > create mode 100644 include/dt-bindings/mailbox/tegra186-hsp.h > > diff --git a/Documentation/devicetree/bindings/mailbox/nvidia,tegra186-hsp.txt b/Documentation/devicetree/bindings/mailbox/nvidia,tegra186-hsp.txt > new file mode 100644 > index 000000000000..a9152380642d > --- /dev/null > +++ b/Documentation/devicetree/bindings/mailbox/nvidia,tegra186-hsp.txt > @@ -0,0 +1,52 @@ > +NVIDIA Tegra Hardware Synchronization Primitives (HSP) > + > +The HSP modules are used for the processors to share resources and communicate > +together. It provides a set of hardware synchronization primitives for > +interprocessor communication. So the interprocessor communication (IPC) > +protocols can use hardware synchronization primitives, when operating between > +two processors not in an SMP relationship. > + > +The features that HSP supported are shared mailboxes, shared semaphores, > +arbitrated semaphores and doorbells. > + > +Required properties: > +- name : Should be hsp > +- compatible > + Array of strings. > + one of: > + - "nvidia,tegra186-hsp" > +- reg : Offset and length of the register set for the device. > +- interrupt-names > + Array of strings. > + Contains a list of names for the interrupts described by the interrupt > + property. May contain the following entries, in any order: > + - "doorbell" > + Users of this binding MUST look up entries in the interrupt property > + by name, using this interrupt-names property to do so. > +- interrupts > + Array of interrupt specifiers. > + Must contain one entry per entry in the interrupt-names property, > + in a matching order. > +- #mbox-cells : Should be 2. > + > +The mbox specifier of the "mboxes" property in the client node should > +contain two data. The first one should be the HSP type and the second > +one should be the ID that the client is going to use. Those information > +can be found in the following file. > + > +- . > + > +Example: > + > +hsp_top0: hsp at 3c00000 { > + compatible = "nvidia,tegra186-hsp"; > + reg = <0x0 0x03c00000 0x0 0xa0000>; > + interrupts = ; > + interrupt-names = "doorbell"; > + #mbox-cells = <2>; > +}; > + > +client { > + ... > + mboxes = <&hsp_top0 HSP_MBOX_TYPE_DB HSP_DB_MASTER_XXX>; > +}; > diff --git a/include/dt-bindings/mailbox/tegra186-hsp.h b/include/dt-bindings/mailbox/tegra186-hsp.h > new file mode 100644 > index 000000000000..d1c1432707cd > --- /dev/null > +++ b/include/dt-bindings/mailbox/tegra186-hsp.h > @@ -0,0 +1,20 @@ > +/* > + * This header provides constants for binding nvidia,tegra186-hsp. > + * > + * The number with HSP_DB_MASTER prefix indicates the bit that is > + * associated with a master ID in the doorbell registers. > + */ > + > + > +#ifndef _DT_BINDINGS_MAILBOX_TEGRA186_HSP_H > +#define _DT_BINDINGS_MAILBOX_TEGRA186_HSP_H > + > +#define HSP_MBOX_TYPE_DB 0x0 > +#define HSP_MBOX_TYPE_SM 0x1 > +#define HSP_MBOX_TYPE_SS 0x2 > +#define HSP_MBOX_TYPE_AS 0x3 Nit ... may be we should add a comment that describes what the above are? > + > +#define HSP_DB_MASTER_CCPLEX 17 > +#define HSP_DB_MASTER_BPMP 19 Nit ... I would be tempted to move the comment in the header to above these defines, as I missed it on my first pass of this. Otherwise ... Acked-by: Jon Hunter Cheers Jon -- nvpublic