Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1446272 > unrolled thread
| Started by | Joseph Lo <josephl@nvidia.com> |
|---|---|
| First post | 2016-07-19 11:20 +0200 |
| Last post | 2016-07-20 03:40 +0200 |
| Articles | 6 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH V3 01/10] Documentation: dt-bindings: mailbox: tegra: Add binding for HSP mailbox Joseph Lo <josephl@nvidia.com> - 2016-07-19 11:20 +0200
Re: [PATCH V3 01/10] Documentation: dt-bindings: mailbox: tegra: Add binding for HSP mailbox Stephen Warren <swarren@wwwdotorg.org> - 2016-07-19 18:40 +0200
Re: [PATCH V3 3/10] Documentation: dt-bindings: firmware: tegra: add bindings of the BPMP Stephen Warren <swarren@wwwdotorg.org> - 2016-07-19 18:40 +0200
Re: [PATCH V3 01/10] Documentation: dt-bindings: mailbox: tegra: Add binding for HSP mailbox Rob Herring <robh@kernel.org> - 2016-07-20 03:20 +0200
Re: [PATCH V3 3/10] Documentation: dt-bindings: firmware: tegra: add bindings of the BPMP Rob Herring <robh@kernel.org> - 2016-07-20 03:30 +0200
Re: [PATCH V3 3/10] Documentation: dt-bindings: firmware: tegra: add bindings of the BPMP Joseph Lo <josephl@nvidia.com> - 2016-07-20 03:40 +0200
| From | Joseph Lo <josephl@nvidia.com> |
|---|---|
| Date | 2016-07-19 11:20 +0200 |
| Subject | [PATCH V3 01/10] Documentation: dt-bindings: mailbox: tegra: Add binding for HSP mailbox |
| Message-ID | <rWzm2-2aY-13@gated-at.bofh.it> |
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 <josephl@nvidia.com>
---
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.
+
+- <dt-bindings/mailbox/tegra186-hsp.h>.
+
+Example:
+
+hsp_top0: hsp@3c00000 {
+ compatible = "nvidia,tegra186-hsp";
+ reg = <0x0 0x03c00000 0x0 0xa0000>;
+ interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
+ 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
+
+#define HSP_DB_MASTER_CCPLEX 17
+#define HSP_DB_MASTER_BPMP 19
+
+#endif /* _DT_BINDINGS_MAILBOX_TEGRA186_HSP_H */
--
2.9.2
[toc] | [next] | [standalone]
| From | Stephen Warren <swarren@wwwdotorg.org> |
|---|---|
| Date | 2016-07-19 18:40 +0200 |
| Subject | Re: [PATCH V3 01/10] Documentation: dt-bindings: mailbox: tegra: Add binding for HSP mailbox |
| Message-ID | <rWGdP-6lR-5@gated-at.bofh.it> |
| In reply to | #1446272 |
On 07/19/2016 03:17 AM, 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. Acked-by: Stephen Warren <swarren@nvidia.com> A couple of nits below that you might want to fix up when posting the final version of the series; your call. > diff --git a/include/dt-bindings/mailbox/tegra186-hsp.h b/include/dt-bindings/mailbox/tegra186-hsp.h > + */ > + > + > +#ifndef _DT_BINDINGS_MAILBOX_TEGRA186_HSP_H Nit: There are 2 blank lines there. > +#endif /* _DT_BINDINGS_MAILBOX_TEGRA186_HSP_H */ Nit: Personally I hate "filename" comments on the #endif, since it's just one more place to update if the file moves or is copied.
[toc] | [prev] | [next] | [standalone]
| From | Stephen Warren <swarren@wwwdotorg.org> |
|---|---|
| Date | 2016-07-19 18:40 +0200 |
| Subject | Re: [PATCH V3 3/10] Documentation: dt-bindings: firmware: tegra: add bindings of the BPMP |
| Message-ID | <rWGdQ-6lR-19@gated-at.bofh.it> |
| In reply to | #1446272 |
On 07/19/2016 03:17 AM, Joseph Lo wrote: > The BPMP is a specific processor in Tegra chip, which is designed for > booting process handling and offloading the power management, clock > management, and reset control tasks from the CPU. The binding document > defines the resources that would be used by the BPMP firmware driver, > which can create the interprocessor communication (IPC) between the CPU > and BPMP. Acked-by: Stephen Warren <swarren@nvidia.com>
[toc] | [prev] | [next] | [standalone]
| From | Rob Herring <robh@kernel.org> |
|---|---|
| Date | 2016-07-20 03:20 +0200 |
| Subject | Re: [PATCH V3 01/10] Documentation: dt-bindings: mailbox: tegra: Add binding for HSP mailbox |
| Message-ID | <rWOl4-35V-11@gated-at.bofh.it> |
| In reply to | #1446272 |
On Tue, Jul 19, 2016 at 05:17:22PM +0800, 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 <josephl@nvidia.com> > --- > 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 Acked-by: Rob Herring <robh@kernel.org>
[toc] | [prev] | [next] | [standalone]
| From | Rob Herring <robh@kernel.org> |
|---|---|
| Date | 2016-07-20 03:30 +0200 |
| Subject | Re: [PATCH V3 3/10] Documentation: dt-bindings: firmware: tegra: add bindings of the BPMP |
| Message-ID | <rWOuK-38Z-1@gated-at.bofh.it> |
| In reply to | #1446272 |
On Tue, Jul 19, 2016 at 05:17:23PM +0800, Joseph Lo wrote: > The BPMP is a specific processor in Tegra chip, which is designed for > booting process handling and offloading the power management, clock > management, and reset control tasks from the CPU. The binding document > defines the resources that would be used by the BPMP firmware driver, > which can create the interprocessor communication (IPC) between the CPU > and BPMP. > > Signed-off-by: Joseph Lo <josephl@nvidia.com> > --- > Changes in V3: > - s/mmio-ram/mmio-sram/ > - revise the file path of the reference binding documents and header files > for more generic viem in different SW projects > Changes in V2: > - update the message that the BPMP is clock and reset control provider > - add tegra186-clock.h and tegra186-reset.h header files > - revise the description of the required properties > --- > .../bindings/firmware/nvidia,tegra186-bpmp.txt | 77 ++ > include/dt-bindings/clock/tegra186-clock.h | 940 +++++++++++++++++++++ > include/dt-bindings/reset/tegra186-reset.h | 217 +++++ > 3 files changed, 1234 insertions(+) > create mode 100644 Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt > create mode 100644 include/dt-bindings/clock/tegra186-clock.h > create mode 100644 include/dt-bindings/reset/tegra186-reset.h Acked-by: Rob Herring <robh@kernel.org>
[toc] | [prev] | [next] | [standalone]
| From | Joseph Lo <josephl@nvidia.com> |
|---|---|
| Date | 2016-07-20 03:40 +0200 |
| Subject | Re: [PATCH V3 3/10] Documentation: dt-bindings: firmware: tegra: add bindings of the BPMP |
| Message-ID | <rWOEq-3d3-9@gated-at.bofh.it> |
| In reply to | #1446869 |
On 07/20/2016 09:22 AM, Rob Herring wrote: > On Tue, Jul 19, 2016 at 05:17:23PM +0800, Joseph Lo wrote: >> The BPMP is a specific processor in Tegra chip, which is designed for >> booting process handling and offloading the power management, clock >> management, and reset control tasks from the CPU. The binding document >> defines the resources that would be used by the BPMP firmware driver, >> which can create the interprocessor communication (IPC) between the CPU >> and BPMP. >> >> Signed-off-by: Joseph Lo <josephl@nvidia.com> >> --- >> Changes in V3: >> - s/mmio-ram/mmio-sram/ >> - revise the file path of the reference binding documents and header files >> for more generic viem in different SW projects >> Changes in V2: >> - update the message that the BPMP is clock and reset control provider >> - add tegra186-clock.h and tegra186-reset.h header files >> - revise the description of the required properties >> --- >> .../bindings/firmware/nvidia,tegra186-bpmp.txt | 77 ++ >> include/dt-bindings/clock/tegra186-clock.h | 940 +++++++++++++++++++++ >> include/dt-bindings/reset/tegra186-reset.h | 217 +++++ >> 3 files changed, 1234 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt >> create mode 100644 include/dt-bindings/clock/tegra186-clock.h >> create mode 100644 include/dt-bindings/reset/tegra186-reset.h > > Acked-by: Rob Herring <robh@kernel.org> > Rob, Stephen, Thanks for your review. -Joseph
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web