diff mbox

[v2,1/2] fsl: Add binding for RCPM

Message ID 1442307339-15225-1-git-send-email-dongsheng.wang@freescale.com
State Superseded, archived
Headers show

Commit Message

Dongsheng Wang Sept. 15, 2015, 8:55 a.m. UTC
From: Wang Dongsheng <dongsheng.wang@freescale.com>

RCPM is the Run Control and Power Management module performs all
device-level tasks associated with device run control and power
management.

Add this for freescale powerpc platform and layerscape platform.

Signed-off-by: Chenhui Zhao <chenhui.zhao@freescale.com>
Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com>
Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com>
---
*v2*
- Remove P4080 example.
- Modify rcpm-wakeup property description.

Comments

Scott Wood Sept. 15, 2015, 11:56 p.m. UTC | #1
On Tue, 2015-09-15 at 16:55 +0800, Dongsheng Wang wrote:
> +* Freescale RCPM Wakeup Source Device Tree Bindings
> +-------------------------------------------
> +Required rcpm-wakeup property should be added to a device node if the 
> device
> +can be used as a wakeup source.
> +
> +  - rcpm-wakeup: The value of the property consists of 3 cells. The first 
> cell
> +     is a pointer to the rcpm node, the second cell is the bit mask that
> +     should be set in IPPDEXPCR0, and the last cell is for IPPDEXPCR1.
> +     Note: If the platform has no IPPDEXPCR1 register, put a zero here.

What if a future platform has more than two of these registers?

-Scott

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Scott Wood Sept. 16, 2015, 2:19 a.m. UTC | #2
On Tue, 2015-09-15 at 21:15 -0500, Wang Dongsheng-B40534 wrote:
> Hi Scott,
> 
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Wednesday, September 16, 2015 7:57 AM
> > To: Wang Dongsheng-B40534
> > Cc: devicetree@vger.kernel.org; linuxppc-dev@lists.ozlabs.org;
> > robh+dt@kernel.org; linux-arm-kernel@lists.infradead.org; Wang Huan-
> > B18965; Jin
> > Zhengxiong-R64188; Zhao Chenhui-B35336; Tang Yuantian-B29983
> > Subject: Re: [PATCH v2 1/2] fsl: Add binding for RCPM
> > 
> > On Tue, 2015-09-15 at 16:55 +0800, Dongsheng Wang wrote:
> > > +* Freescale RCPM Wakeup Source Device Tree Bindings
> > > +-------------------------------------------
> > > +Required rcpm-wakeup property should be added to a device node if the
> > > device
> > > +can be used as a wakeup source.
> > > +
> > > +  - rcpm-wakeup: The value of the property consists of 3 cells. The 
> > > first
> > > cell
> > > +     is a pointer to the rcpm node, the second cell is the bit mask 
> > > that
> > > +     should be set in IPPDEXPCR0, and the last cell is for IPPDEXPCR1.
> > > +     Note: If the platform has no IPPDEXPCR1 register, put a zero here.
> > 
> > What if a future platform has more than two of these registers?
> 
> Those registers are only used for wakeup device, we have a lot of available 
> bit
> for feature. For example, In LS1021a platform only 7bits has used in the 
> registers,
> and 57bits is reserved.

Still, it'd be better to for the rcpm node to advertise the number of cells 
it expects.

-Scott

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Scott Wood Sept. 16, 2015, 2:31 a.m. UTC | #3
On Tue, 2015-09-15 at 21:30 -0500, Wang Dongsheng-B40534 wrote:
> Hi Scott,
> 
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Wednesday, September 16, 2015 10:19 AM
> > To: Wang Dongsheng-B40534
> > Cc: devicetree@vger.kernel.org; linuxppc-dev@lists.ozlabs.org;
> > robh+dt@kernel.org; linux-arm-kernel@lists.infradead.org; Wang Huan-
> > B18965; Jin
> > Zhengxiong-R64188; Zhao Chenhui-B35336; Tang Yuantian-B29983
> > Subject: Re: [PATCH v2 1/2] fsl: Add binding for RCPM
> > 
> > On Tue, 2015-09-15 at 21:15 -0500, Wang Dongsheng-B40534 wrote:
> > > Hi Scott,
> > > 
> > > > -----Original Message-----
> > > > From: Wood Scott-B07421
> > > > Sent: Wednesday, September 16, 2015 7:57 AM
> > > > To: Wang Dongsheng-B40534
> > > > Cc: devicetree@vger.kernel.org; linuxppc-dev@lists.ozlabs.org;
> > > > robh+dt@kernel.org; linux-arm-kernel@lists.infradead.org; Wang Huan-
> > > > B18965; Jin
> > > > Zhengxiong-R64188; Zhao Chenhui-B35336; Tang Yuantian-B29983
> > > > Subject: Re: [PATCH v2 1/2] fsl: Add binding for RCPM
> > > > 
> > > > On Tue, 2015-09-15 at 16:55 +0800, Dongsheng Wang wrote:
> > > > > +* Freescale RCPM Wakeup Source Device Tree Bindings
> > > > > +-------------------------------------------
> > > > > +Required rcpm-wakeup property should be added to a device node if
> > > > > +the
> > > > > device
> > > > > +can be used as a wakeup source.
> > > > > +
> > > > > +  - rcpm-wakeup: The value of the property consists of 3 cells.
> > > > > + The
> > > > > first
> > > > > cell
> > > > > +     is a pointer to the rcpm node, the second cell is the bit
> > > > > + mask
> > > > > that
> > > > > +     should be set in IPPDEXPCR0, and the last cell is for 
> > > > > IPPDEXPCR1.
> > > > > +     Note: If the platform has no IPPDEXPCR1 register, put a zero 
> > > > > here.
> > > > 
> > > > What if a future platform has more than two of these registers?
> > > 
> > > Those registers are only used for wakeup device, we have a lot of
> > > available bit for feature. For example, In LS1021a platform only 7bits
> > > has used in the registers, and 57bits is reserved.
> > 
> > Still, it'd be better to for the rcpm node to advertise the number of 
> > cells it
> > expects.
> 
> For the foreseeable future it should be enough to use, even if not enough 
> to use in
> the future at that time we can update the binding.

That's the whole point.  Device tree is stable ABI.  Updating it later to not 
be fixed to two cells would be a lot harder than getting it right from the 
beginning.  Putting the number of cells in the phandle target is a standard 
device tree idiom.

-Scott

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Scott Wood Sept. 16, 2015, 2:37 a.m. UTC | #4
On Tue, 2015-09-15 at 21:35 -0500, Tang Yuantian-B29983 wrote:
> 
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Wednesday, September 16, 2015 10:32 AM
> > To: Wang Dongsheng-B40534 <Dongsheng.Wang@freescale.com>
> > Cc: devicetree@vger.kernel.org; linuxppc-dev@lists.ozlabs.org;
> > robh+dt@kernel.org; linux-arm-kernel@lists.infradead.org; Wang Huan-
> > B18965 <alison.wang@freescale.com>; Jin Zhengxiong-R64188
> > <Jason.Jin@freescale.com>; Zhao Chenhui-B35336
> > <chenhui.zhao@freescale.com>; Tang Yuantian-B29983
> > <Yuantian.Tang@freescale.com>
> > Subject: Re: [PATCH v2 1/2] fsl: Add binding for RCPM
> > 
> > On Tue, 2015-09-15 at 21:30 -0500, Wang Dongsheng-B40534 wrote:
> > > Hi Scott,
> > > 
> > > > -----Original Message-----
> > > > From: Wood Scott-B07421
> > > > Sent: Wednesday, September 16, 2015 10:19 AM
> > > > To: Wang Dongsheng-B40534
> > > > Cc: devicetree@vger.kernel.org; linuxppc-dev@lists.ozlabs.org;
> > > > robh+dt@kernel.org; linux-arm-kernel@lists.infradead.org; Wang Huan-
> > > > B18965; Jin
> > > > Zhengxiong-R64188; Zhao Chenhui-B35336; Tang Yuantian-B29983
> > > > Subject: Re: [PATCH v2 1/2] fsl: Add binding for RCPM
> > > > 
> > > > On Tue, 2015-09-15 at 21:15 -0500, Wang Dongsheng-B40534 wrote:
> > > > > Hi Scott,
> > > > > 
> > > > > > -----Original Message-----
> > > > > > From: Wood Scott-B07421
> > > > > > Sent: Wednesday, September 16, 2015 7:57 AM
> > > > > > To: Wang Dongsheng-B40534
> > > > > > Cc: devicetree@vger.kernel.org; linuxppc-dev@lists.ozlabs.org;
> > > > > > robh+dt@kernel.org; linux-arm-kernel@lists.infradead.org; Wang
> > > > > > robh+Huan-
> > > > > > B18965; Jin
> > > > > > Zhengxiong-R64188; Zhao Chenhui-B35336; Tang Yuantian-B29983
> > > > > > Subject: Re: [PATCH v2 1/2] fsl: Add binding for RCPM
> > > > > > 
> > > > > > On Tue, 2015-09-15 at 16:55 +0800, Dongsheng Wang wrote:
> > > > > > > +* Freescale RCPM Wakeup Source Device Tree Bindings
> > > > > > > +-------------------------------------------
> > > > > > > +Required rcpm-wakeup property should be added to a device
> > > > > > > +node if the
> > > > > > > device
> > > > > > > +can be used as a wakeup source.
> > > > > > > +
> > > > > > > +  - rcpm-wakeup: The value of the property consists of 3 cells.
> > > > > > > + The
> > > > > > > first
> > > > > > > cell
> > > > > > > +     is a pointer to the rcpm node, the second cell is the
> > > > > > > + bit mask
> > > > > > > that
> > > > > > > +     should be set in IPPDEXPCR0, and the last cell is for
> > > > > > > IPPDEXPCR1.
> > > > > > > +     Note: If the platform has no IPPDEXPCR1 register, put a
> > > > > > > + zero
> > > > > > > here.
> > > > > > 
> > > > > > What if a future platform has more than two of these registers?
> > > > > 
> > > > > Those registers are only used for wakeup device, we have a lot of
> > > > > available bit for feature. For example, In LS1021a platform only
> > > > > 7bits has used in the registers, and 57bits is reserved.
> > > > 
> > > > Still, it'd be better to for the rcpm node to advertise the number
> > > > of cells it expects.
> > > 
> > > For the foreseeable future it should be enough to use, even if not
> > > enough to use in the future at that time we can update the binding.
> > 
> > That's the whole point.  Device tree is stable ABI.  Updating it later to 
> > not be
> > fixed to two cells would be a lot harder than getting it right from the
> > beginning.  Putting the number of cells in the phandle target is a 
> > standard
> > device tree idiom.
> > 
> I agree with you. But what's the point a SOC has more than 64 wakeup source?

I don't know.  Hardware people do strange things sometimes.  They might not 
want to reuse bits they once used for something on some other chip, or they 
might have some encoding scheme in mind that results in the bits not being 
packed as tightly as possible, or there may be some big array of similar 
devices...

What's the point of skipping this part of the phandle-plus-arguments idiom?

-Scott

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Scott Wood Sept. 16, 2015, 4:13 a.m. UTC | #5
On Tue, 2015-09-15 at 22:18 -0500, Wang Dongsheng-B40534 wrote:
> Hi Scott,
> 
> > -----Original Message-----
> > From: Wang Dongsheng-B40534
> > Sent: Wednesday, September 16, 2015 10:44 AM
> > To: Wood Scott-B07421; Tang Yuantian-B29983
> > Cc: devicetree@vger.kernel.org; linuxppc-dev@lists.ozlabs.org;
> > robh+dt@kernel.org; linux-arm-kernel@lists.infradead.org; Wang Huan-
> > B18965; Jin
> > Zhengxiong-R64188; Zhao Chenhui-B35336
> > Subject: RE: [PATCH v2 1/2] fsl: Add binding for RCPM
> > 
> > 
> > 
> > > -----Original Message-----
> > > From: Wood Scott-B07421
> > > Sent: Wednesday, September 16, 2015 10:38 AM
> > > To: Tang Yuantian-B29983
> > > Cc: Wang Dongsheng-B40534; devicetree@vger.kernel.org; linuxppc-
> > > dev@lists.ozlabs.org; robh+dt@kernel.org;
> > > linux-arm-kernel@lists.infradead.org;
> > > Wang Huan-B18965; Jin Zhengxiong-R64188; Zhao Chenhui-B35336
> > > Subject: Re: [PATCH v2 1/2] fsl: Add binding for RCPM
> > > 
> > > On Tue, 2015-09-15 at 21:35 -0500, Tang Yuantian-B29983 wrote:
> > > > 
> > > > > -----Original Message-----
> > > > > From: Wood Scott-B07421
> > > > > Sent: Wednesday, September 16, 2015 10:32 AM
> > > > > To: Wang Dongsheng-B40534 <Dongsheng.Wang@freescale.com>
> > > > > Cc: devicetree@vger.kernel.org; linuxppc-dev@lists.ozlabs.org;
> > > > > robh+dt@kernel.org; linux-arm-kernel@lists.infradead.org; Wang
> > > > > robh+Huan-
> > > > > B18965 <alison.wang@freescale.com>; Jin Zhengxiong-R64188
> > > > > <Jason.Jin@freescale.com>; Zhao Chenhui-B35336
> > > > > <chenhui.zhao@freescale.com>; Tang Yuantian-B29983
> > > > > <Yuantian.Tang@freescale.com>
> > > > > Subject: Re: [PATCH v2 1/2] fsl: Add binding for RCPM
> > > > > 
> > > > > On Tue, 2015-09-15 at 21:30 -0500, Wang Dongsheng-B40534 wrote:
> > > > > > Hi Scott,
> > > > > > 
> > > > > > > -----Original Message-----
> > > > > > > From: Wood Scott-B07421
> > > > > > > Sent: Wednesday, September 16, 2015 10:19 AM
> > > > > > > To: Wang Dongsheng-B40534
> > > > > > > Cc: devicetree@vger.kernel.org; linuxppc-dev@lists.ozlabs.org;
> > > > > > > robh+dt@kernel.org; linux-arm-kernel@lists.infradead.org; Wang
> > > > > > > robh+Huan-
> > > > > > > B18965; Jin
> > > > > > > Zhengxiong-R64188; Zhao Chenhui-B35336; Tang Yuantian-B29983
> > > > > > > Subject: Re: [PATCH v2 1/2] fsl: Add binding for RCPM
> > > > > > > 
> > > > > > > On Tue, 2015-09-15 at 21:15 -0500, Wang Dongsheng-B40534 wrote:
> > > > > > > > Hi Scott,
> > > > > > > > 
> > > > > > > > > -----Original Message-----
> > > > > > > > > From: Wood Scott-B07421
> > > > > > > > > Sent: Wednesday, September 16, 2015 7:57 AM
> > > > > > > > > To: Wang Dongsheng-B40534
> > > > > > > > > Cc: devicetree@vger.kernel.org;
> > > > > > > > > linuxppc-dev@lists.ozlabs.org;
> > > > > > > > > robh+dt@kernel.org; linux-arm-kernel@lists.infradead.org;
> > > > > > > > > robh+Wang
> > > > > > > > > robh+Huan-
> > > > > > > > > B18965; Jin
> > > > > > > > > Zhengxiong-R64188; Zhao Chenhui-B35336; Tang
> > > > > > > > > Yuantian-B29983
> > > > > > > > > Subject: Re: [PATCH v2 1/2] fsl: Add binding for RCPM
> > > > > > > > > 
> > > > > > > > > On Tue, 2015-09-15 at 16:55 +0800, Dongsheng Wang wrote:
> > > > > > > > > > +* Freescale RCPM Wakeup Source Device Tree Bindings
> > > > > > > > > > +-------------------------------------------
> > > > > > > > > > +Required rcpm-wakeup property should be added to a
> > > > > > > > > > +device node if the
> > > > > > > > > > device
> > > > > > > > > > +can be used as a wakeup source.
> > > > > > > > > > +
> > > > > > > > > > +  - rcpm-wakeup: The value of the property consists of 3 
> > > > > > > > > > cells.
> > > > > > > > > > + The
> > > > > > > > > > first
> > > > > > > > > > cell
> > > > > > > > > > +     is a pointer to the rcpm node, the second cell is
> > > > > > > > > > + the bit mask
> > > > > > > > > > that
> > > > > > > > > > +     should be set in IPPDEXPCR0, and the last cell is
> > > > > > > > > > + for
> > > > > > > > > > IPPDEXPCR1.
> > > > > > > > > > +     Note: If the platform has no IPPDEXPCR1 register,
> > > > > > > > > > + put a zero
> > > > > > > > > > here.
> > > > > > > > > 
> > > > > > > > > What if a future platform has more than two of these 
> > > > > > > > > registers?
> > > > > > > > 
> > > > > > > > Those registers are only used for wakeup device, we have a
> > > > > > > > lot of available bit for feature. For example, In LS1021a
> > > > > > > > platform only 7bits has used in the registers, and 57bits is
> > reserved.
> > > > > > > 
> > > > > > > Still, it'd be better to for the rcpm node to advertise the
> > > > > > > number of cells it expects.
> > > > > > 
> > > > > > For the foreseeable future it should be enough to use, even if
> > > > > > not enough to use in the future at that time we can update the 
> > > > > > binding.
> > > > > 
> > > > > That's the whole point.  Device tree is stable ABI.  Updating it
> > > > > later to not be fixed to two cells would be a lot harder than
> > > > > getting it right from the beginning.  Putting the number of cells
> > > > > in the phandle target is a standard device tree idiom.
> > > > > 
> > > > I agree with you. But what's the point a SOC has more than 64 wakeup 
> > > > source?
> > > 
> > > I don't know.  Hardware people do strange things sometimes.  They
> > > might not want to reuse bits they once used for something on some
> > > other chip, or they might have some encoding scheme in mind that
> > > results in the bits not being packed as tightly as possible, or there
> > > may be some big array of similar devices...
> > > 
> > > What's the point of skipping this part of the phandle-plus-arguments 
> > > idiom?
> > 
> > Fine, I will add a property in rcpm node to describe the number of 
> > register.
> > 
> 
> How about the following modify? If okay for you I will fix in next version.
> 
> Required properites:
>    - reg : Offset and length of the register set of RCPM block.
> +  - fsl,rcpm-wakeup-cell-num : The number of cell in rcpm-wakeup property.
> 
>         rcpm:  global-utilities@e2000{
>                 compatible = "fsl,t4240-rcpm", "fsl,qoriq-rcpm-2.0";
>                 reg = <0xe2000 0x1000>;
> +               fsl,rcpm-wakeup-cell-num = <2>;
>         };

OK, though "fsl,#rcpm-wakeup-cells" would be more idiomatic.

Also s/number of cell/number of cells/

-Scott

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/soc/fsl/rcpm.txt b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
new file mode 100644
index 0000000..ea24d76
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
@@ -0,0 +1,60 @@ 
+* Run Control and Power Management
+-------------------------------------------
+The RCPM performs all device-level tasks associated with device run control
+and power management.
+
+Required properites:
+  - reg : Offset and length of the register set of RCPM block.
+  - compatible : Sould contain a chip-specific RCPM block compatible string
+	and (if applicable) may contain a chassis-version RCPM compatible string.
+	Chip-specific strings are of the form "fsl,<chip>-rcpm", such as:
+	* "fsl,p2041-rcpm"
+	* "fsl,p3041-rcpm"
+	* "fsl,p4080-rcpm"
+	* "fsl,p5020-rcpm"
+	* "fsl,p5040-rcpm"
+	* "fsl,t4240-rcpm"
+	* "fsl,b4420-rcpm"
+	* "fsl,b4860-rcpm"
+
+	Chassis-version strings are of the form "fsl,qoriq-rcpm-<version>",
+	such as:
+	* "fsl,qoriq-rcpm-1.0": for chassis 1.0 rcpm
+	* "fsl,qoriq-rcpm-2.0": for chassis 2.0 rcpm
+	* "fsl,qoriq-rcpm-2.1": for chassis 2.1 rcpm
+
+All references to "1.0" and "2.0" refer to the QorIQ chassis version to
+which the chip complies.
+Chassis Version		Example Chips
+---------------		-------------------------------
+1.0				p4080, p5020, p5040, p2041, p3041
+2.0				t4240, b4860, b4420
+2.1				t1040, ls1021
+
+Example:
+The RCPM node for T4240:
+	rcpm: global-utilities@e2000 {
+		compatible = "fsl,t4240-rcpm", "fsl,qoriq-rcpm-2.0";
+		reg = <0xe2000 0x1000>;
+	};
+
+* Freescale RCPM Wakeup Source Device Tree Bindings
+-------------------------------------------
+Required rcpm-wakeup property should be added to a device node if the device
+can be used as a wakeup source.
+
+  - rcpm-wakeup: The value of the property consists of 3 cells. The first cell
+	is a pointer to the rcpm node, the second cell is the bit mask that
+	should be set in IPPDEXPCR0, and the last cell is for IPPDEXPCR1.
+	Note: If the platform has no IPPDEXPCR1 register, put a zero here.
+
+Example:
+	lpuart0: serial@2950000 {
+		compatible = "fsl,ls1021a-lpuart";
+		reg = <0x0 0x2950000 0x0 0x1000>;
+		interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&sysclk>;
+		clock-names = "ipg";
+		rcpm-wakeup = <&rcpm 0x0 0x40000000>;
+		status = "disabled";
+	};