* [PATCH v4 2/6] spmi: add generic SPMI controller binding documentation
[not found] <cover.1389738151.git.joshc@codeaurora.org>
@ 2014-01-14 18:41 ` Josh Cartwright
[not found] ` <cover.1389738151.git.joshc-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
1 sibling, 0 replies; 4+ messages in thread
From: Josh Cartwright @ 2014-01-14 18:41 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Pawel Moll, Mark Rutland,
Stephen Warren, Ian Campbell, Kumar Gala
Cc: linux-kernel, linux-arm-kernel, linux-arm-msm, devicetree,
Sagar Dharia, Gilad Avidov, Michael Bohan
Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
---
Documentation/devicetree/bindings/spmi/spmi.txt | 41 +++++++++++++++++++++++++
1 file changed, 41 insertions(+)
create mode 100644 Documentation/devicetree/bindings/spmi/spmi.txt
diff --git a/Documentation/devicetree/bindings/spmi/spmi.txt b/Documentation/devicetree/bindings/spmi/spmi.txt
new file mode 100644
index 0000000..462a42f
--- /dev/null
+++ b/Documentation/devicetree/bindings/spmi/spmi.txt
@@ -0,0 +1,41 @@
+System Power Management Interface (SPMI) Controller
+
+This document defines a generic set of bindings for use by SPMI controllers. A
+controller is modelled in device tree as a node with zero or more child nodes,
+each representing a unique slave on the bus.
+
+Required properties:
+- #address-cells : must be set to 2
+- #size-cells : must be set to 0
+
+Child nodes:
+
+An SPMI controller node can contain zero or more child nodes representing slave
+devices on the bus. Child 'reg' properties are specified as an address, type
+pair. The address must be in the range 0-15 (4 bits). The type must be one of
+SPMI_USID (0) or SPMI_GSID (1) for Unique Slave ID or Group Slave ID respectively.
+These are the identifiers "statically assigned by the system integrator", as
+per the SPMI spec.
+
+Each child node must have one and only one 'reg' entry of type SPMI_USID.
+
+#include <dt-bindings/spmi/spmi.h>
+
+ spmi@.. {
+ compatible = "...";
+ reg = <...>;
+
+ #address-cells = <2>;
+ #size-cells <0>;
+
+ child@0 {
+ compatible = "...";
+ reg = <0 SPMI_USID>;
+ };
+
+ child@7 {
+ compatible = "...";
+ reg = <7 SPMI_USID
+ 3 SPMI_GSID>;
+ };
+ };
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v4 5/6] spmi: document the PMIC arbiter SPMI bindings
[not found] ` <cover.1389738151.git.joshc-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
@ 2014-01-14 18:41 ` Josh Cartwright
2014-01-15 0:13 ` Courtney Cavin
0 siblings, 1 reply; 4+ messages in thread
From: Josh Cartwright @ 2014-01-14 18:41 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Pawel Moll, Mark Rutland,
Stephen Warren, Ian Campbell, Kumar Gala
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-arm-msm-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, Sagar Dharia, Gilad Avidov,
Michael Bohan
Signed-off-by: Josh Cartwright <joshc-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
---
.../bindings/spmi/qcom,spmi-pmic-arb.txt | 46 ++++++++++++++++++++++
1 file changed, 46 insertions(+)
create mode 100644 Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
diff --git a/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt b/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
new file mode 100644
index 0000000..9e50cb3
--- /dev/null
+++ b/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
@@ -0,0 +1,46 @@
+Qualcomm SPMI Controller (PMIC Arbiter)
+
+The SPMI PMIC Arbiter is found on the Snapdragon 800 Series. It is an SPMI
+controller with wrapping arbitration logic to allow for multiple on-chip
+devices to control a single SPMI master.
+
+The PMIC Arbiter can also act as an interrupt controller, providing interrupts
+to slave devices.
+
+See spmi.txt for the generic SPMI controller binding requirements for child
+nodes.
+
+Required properties:
+- compatible : should be "qcom,spmi-pmic-arb".
+- reg-names : should be "core", "intr", "cnfg"
+- reg : register specifiers, must contain 3 entries, in the follow order:
+ core registers, interrupt controller registers, configuration registers
+- #address-cells : must be set to 2
+- #size-cells : must be set to 0
+- qcom,ee : indicates the active Execution Environment identifier (0-5)
+- qcom,channel : which of the PMIC Arb provided channels to use for accesses (0-5)
+- interrupt-controller : indicates the PMIC arbiter is an interrupt controller
+- #interrupt-cells = <4>: interrupts are specified as a 4-tuple:
+ cell 1: slave ID for the requested interrupt (0-15)
+ cell 2: peripheral ID for requested interrupt (0-255)
+ cell 3: the requested peripheral interrupt (0-7)
+ cell 4: interrupt flags indicating level-sense information, as defined in
+ dt-bindings/interrupt-controller/irq.h
+
+Example:
+
+ spmi {
+ compatible = "qcom,spmi-pmic-arb";
+ reg-names = "core", "intr", "cnfg";
+ reg = <0xfc4cf000 0x1000>,
+ <0Xfc4cb000 0x1000>,
+ <0Xfc4ca000 0x1000>;
+ qcom,ee = <0>;
+ qcom,channel = <0>;
+
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ interrupt-controller;
+ #interrupt-cells = <4>;
+ };
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v4 5/6] spmi: document the PMIC arbiter SPMI bindings
2014-01-14 18:41 ` [PATCH v4 5/6] spmi: document the PMIC arbiter SPMI bindings Josh Cartwright
@ 2014-01-15 0:13 ` Courtney Cavin
2014-01-15 16:38 ` Josh Cartwright
0 siblings, 1 reply; 4+ messages in thread
From: Courtney Cavin @ 2014-01-15 0:13 UTC (permalink / raw)
To: Josh Cartwright
Cc: Greg Kroah-Hartman, Rob Herring, Pawel Moll, Mark Rutland,
Stephen Warren, Ian Campbell, Kumar Gala,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
Sagar Dharia, Gilad Avidov, Michael Bohan
On Tue, Jan 14, 2014 at 07:41:39PM +0100, Josh Cartwright wrote:
> Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
> ---
> .../bindings/spmi/qcom,spmi-pmic-arb.txt | 46 ++++++++++++++++++++++
> 1 file changed, 46 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
>
> diff --git a/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt b/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
> new file mode 100644
> index 0000000..9e50cb3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
> @@ -0,0 +1,46 @@
> +Qualcomm SPMI Controller (PMIC Arbiter)
> +
> +The SPMI PMIC Arbiter is found on the Snapdragon 800 Series. It is an SPMI
> +controller with wrapping arbitration logic to allow for multiple on-chip
> +devices to control a single SPMI master.
> +
> +The PMIC Arbiter can also act as an interrupt controller, providing interrupts
> +to slave devices.
> +
> +See spmi.txt for the generic SPMI controller binding requirements for child
> +nodes.
> +
> +Required properties:
> +- compatible : should be "qcom,spmi-pmic-arb".
> +- reg-names : should be "core", "intr", "cnfg"
> +- reg : register specifiers, must contain 3 entries, in the follow order:
> + core registers, interrupt controller registers, configuration registers
As far as I can tell, patch 3/6 doesn't require these to be in any
order, as it uses 'reg-names' to fetch the values. Perhaps the
following:
reg-names : must contain:
"core" - core registers
"intr" - interrupt controller registers
"cnfg" - configuration registers
reg : A list of address + size pairs for the regs listed in reg-names
> +- #address-cells : must be set to 2
> +- #size-cells : must be set to 0
> +- qcom,ee : indicates the active Execution Environment identifier (0-5)
> +- qcom,channel : which of the PMIC Arb provided channels to use for accesses (0-5)
These two are new.... Is it expected that they should be required?
> +- interrupt-controller : indicates the PMIC arbiter is an interrupt controller
Although it's probably fairly understood that this is a boolean, it
wouldn't hurt to mention that here. It might also be worth referencing
devicetree/binding/interrupt-controller/interrupts.txt in your opening
blurb.
> +- #interrupt-cells = <4>: interrupts are specified as a 4-tuple:
Nitpick: This '= <X>' differs from the above 'must be set to X' format.
> + cell 1: slave ID for the requested interrupt (0-15)
> + cell 2: peripheral ID for requested interrupt (0-255)
> + cell 3: the requested peripheral interrupt (0-7)
> + cell 4: interrupt flags indicating level-sense information, as defined in
> + dt-bindings/interrupt-controller/irq.h
[...]
-Courtney
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v4 5/6] spmi: document the PMIC arbiter SPMI bindings
2014-01-15 0:13 ` Courtney Cavin
@ 2014-01-15 16:38 ` Josh Cartwright
0 siblings, 0 replies; 4+ messages in thread
From: Josh Cartwright @ 2014-01-15 16:38 UTC (permalink / raw)
To: Courtney Cavin
Cc: Greg Kroah-Hartman, Rob Herring, Pawel Moll, Mark Rutland,
Stephen Warren, Ian Campbell, Kumar Gala,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
Sagar Dharia, Gilad Avidov, Michael Bohan
On Tue, Jan 14, 2014 at 04:13:45PM -0800, Courtney Cavin wrote:
> On Tue, Jan 14, 2014 at 07:41:39PM +0100, Josh Cartwright wrote:
> > Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
> > ---
> > .../bindings/spmi/qcom,spmi-pmic-arb.txt | 46 ++++++++++++++++++++++
> > 1 file changed, 46 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
> >
> > diff --git a/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt b/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
> > new file mode 100644
> > index 0000000..9e50cb3
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
> > @@ -0,0 +1,46 @@
> > +Qualcomm SPMI Controller (PMIC Arbiter)
> > +
> > +The SPMI PMIC Arbiter is found on the Snapdragon 800 Series. It is an SPMI
> > +controller with wrapping arbitration logic to allow for multiple on-chip
> > +devices to control a single SPMI master.
> > +
> > +The PMIC Arbiter can also act as an interrupt controller, providing interrupts
> > +to slave devices.
> > +
> > +See spmi.txt for the generic SPMI controller binding requirements for child
> > +nodes.
> > +
> > +Required properties:
> > +- compatible : should be "qcom,spmi-pmic-arb".
> > +- reg-names : should be "core", "intr", "cnfg"
> > +- reg : register specifiers, must contain 3 entries, in the follow order:
> > + core registers, interrupt controller registers, configuration registers
>
> As far as I can tell, patch 3/6 doesn't require these to be in any
> order, as it uses 'reg-names' to fetch the values. Perhaps the
> following:
>
> reg-names : must contain:
> "core" - core registers
> "intr" - interrupt controller registers
> "cnfg" - configuration registers
> reg : A list of address + size pairs for the regs listed in reg-names
Yes, I think this reasonable. Thanks.
> > +- #address-cells : must be set to 2
> > +- #size-cells : must be set to 0
> > +- qcom,ee : indicates the active Execution Environment identifier (0-5)
> > +- qcom,channel : which of the PMIC Arb provided channels to use for accesses (0-5)
>
> These two are new.... Is it expected that they should be required?
The 'qcom,channel' property is unconditionally required. Previous
iterations of the patchset assumed the desired channel was 0, however,
this assumption does not hold for other on-SoC masters.
The 'qcom,ee' property is required for the same reason, however it's
only technically required if the PMIC Arb's interrupt functionality is
to be used. Right now the driver enforces this property's existence,
however technically this could be dropped to "optional". But, I imagine
nearly everyone using the SPMI PMIC arb will also want interrupts.
> > +- interrupt-controller : indicates the PMIC arbiter is an interrupt controller
>
> Although it's probably fairly understood that this is a boolean, it
> wouldn't hurt to mention that here. It might also be worth referencing
> devicetree/binding/interrupt-controller/interrupts.txt in your opening
> blurb.
Okay.
> > +- #interrupt-cells = <4>: interrupts are specified as a 4-tuple:
>
> Nitpick: This '= <X>' differs from the above 'must be set to X' format.
Indeed. Thanks.
> > + cell 1: slave ID for the requested interrupt (0-15)
> > + cell 2: peripheral ID for requested interrupt (0-255)
> > + cell 3: the requested peripheral interrupt (0-7)
> > + cell 4: interrupt flags indicating level-sense information, as defined in
> > + dt-bindings/interrupt-controller/irq.h
> [...]
>
> -Courtney
Thanks for the comments!
Josh
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-01-15 16:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <cover.1389738151.git.joshc@codeaurora.org>
2014-01-14 18:41 ` [PATCH v4 2/6] spmi: add generic SPMI controller binding documentation Josh Cartwright
[not found] ` <cover.1389738151.git.joshc-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2014-01-14 18:41 ` [PATCH v4 5/6] spmi: document the PMIC arbiter SPMI bindings Josh Cartwright
2014-01-15 0:13 ` Courtney Cavin
2014-01-15 16:38 ` Josh Cartwright
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).