diff mbox

[1/2] fsl: Add binding for RCPM

Message ID 1441780967-30879-1-git-send-email-dongsheng.wang@freescale.com (mailing list archive)
State New, archived
Headers show

Commit Message

Dongsheng Wang Sept. 9, 2015, 6:42 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>

Comments

Scott Wood Sept. 9, 2015, 7:56 p.m. UTC | #1
On Wed, 2015-09-09 at 14:42 +0800, Dongsheng Wang wrote:
> 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>
> 
> diff --git a/Documentation/devicetree/bindings/soc/fsl/rcpm.txt 
> b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
> new file mode 100644
> index 0000000..284070c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
> @@ -0,0 +1,64 @@
> +* 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>;
> +     };
> +
> +The RCPM node for P4080:
> +     rcpm:  global-utilities@e2000{
> +             compatible = "fsl,qoriq-rcpm-1.0";
> +             reg = <0xe2000 0x1000>;
> +     };

I would avoid putting the p4080 example in the binding, as we don't want to 
make it look like it's OK to leave out the specific chip compatible.

> +* 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: should contain a pointer to the rcpm node and the
> +     corresponding bit of device in the register.

The corresponding bit in *what* register?

-Scott
Dongsheng Wang Sept. 10, 2015, 2:03 a.m. UTC | #2
Hi Scott,

Thanks for your review.

> -----Original Message-----
> From: Wood Scott-B07421
> Sent: Thursday, September 10, 2015 3:57 AM
> To: Wang Dongsheng-B40534
> Cc: devicetree@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; Jin Zhengxiong-
> R64188; Zhao Chenhui-B35336; Tang Yuantian-B29983; Wang Huan-B18965;
> robh+dt@kernel.org; linux-arm-kernel@lists.infradead.org
> Subject: Re: [PATCH 1/2] fsl: Add binding for RCPM
> 
> On Wed, 2015-09-09 at 14:42 +0800, Dongsheng Wang wrote:
> > 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>
> >
> > diff --git a/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
> > b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
> > new file mode 100644
> > index 0000000..284070c
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
> > @@ -0,0 +1,64 @@
> > +* 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>;
> > +     };
> > +
> > +The RCPM node for P4080:
> > +     rcpm:  global-utilities@e2000{
> > +             compatible = "fsl,qoriq-rcpm-1.0";
> > +             reg = <0xe2000 0x1000>;
> > +     };
> 
> I would avoid putting the p4080 example in the binding, as we don't want to
> make it look like it's OK to leave out the specific chip compatible.
> 

Fine, I will add the specific chip compatible in this example.
compatible = "fsl,p4080-rcpm", "fsl,qoriq-rcpm-1.0";

> > +* 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: should contain a pointer to the rcpm node and the
> > +     corresponding bit of device in the register.
> 
> The corresponding bit in *what* register?
> 

RCPM_IPPDEXPCRx register, I will add a explain to this.

Regards,
-Dongsheng
Scott Wood Sept. 10, 2015, 4:46 p.m. UTC | #3
On Wed, 2015-09-09 at 21:03 -0500, Wang Dongsheng-B40534 wrote:
> Hi Scott,
> 
> Thanks for your review.
> 
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Thursday, September 10, 2015 3:57 AM
> > To: Wang Dongsheng-B40534
> > Cc: devicetree@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; Jin 
> > Zhengxiong-
> > R64188; Zhao Chenhui-B35336; Tang Yuantian-B29983; Wang Huan-B18965;
> > robh+dt@kernel.org; linux-arm-kernel@lists.infradead.org
> > Subject: Re: [PATCH 1/2] fsl: Add binding for RCPM
> > 
> > On Wed, 2015-09-09 at 14:42 +0800, Dongsheng Wang wrote:
> > > 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>
> > > 
> > > diff --git a/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
> > > b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
> > > new file mode 100644
> > > index 0000000..284070c
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
> > > @@ -0,0 +1,64 @@
> > > +* 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>;
> > > +     };
> > > +
> > > +The RCPM node for P4080:
> > > +     rcpm:  global-utilities@e2000{
> > > +             compatible = "fsl,qoriq-rcpm-1.0";
> > > +             reg = <0xe2000 0x1000>;
> > > +     };
> > 
> > I would avoid putting the p4080 example in the binding, as we don't want 
> > to
> > make it look like it's OK to leave out the specific chip compatible.
> > 
> 
> Fine, I will add the specific chip compatible in this example.
> compatible = "fsl,p4080-rcpm", "fsl,qoriq-rcpm-1.0";

Just drop that example.

> > > +* 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: should contain a pointer to the rcpm node and the
> > > +     corresponding bit of device in the register.
> > 
> > The corresponding bit in *what* register?
> > 
> 
> RCPM_IPPDEXPCRx register, I will add a explain to this.

How do you encode which "x" it is?

-Scott
Dongsheng Wang Sept. 11, 2015, 3:19 a.m. UTC | #4
> -----Original Message-----
> From: Wood Scott-B07421
> Sent: Friday, September 11, 2015 12:47 AM
> To: Wang Dongsheng-B40534
> Cc: devicetree@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; Jin Zhengxiong-
> R64188; Zhao Chenhui-B35336; Tang Yuantian-B29983; Wang Huan-B18965;
> robh+dt@kernel.org; linux-arm-kernel@lists.infradead.org
> Subject: Re: [PATCH 1/2] fsl: Add binding for RCPM
> 
> On Wed, 2015-09-09 at 21:03 -0500, Wang Dongsheng-B40534 wrote:
> > Hi Scott,
> >
> > Thanks for your review.
> >
> > > -----Original Message-----
> > > From: Wood Scott-B07421
> > > Sent: Thursday, September 10, 2015 3:57 AM
> > > To: Wang Dongsheng-B40534
> > > Cc: devicetree@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; Jin
> > > Zhengxiong-
> > > R64188; Zhao Chenhui-B35336; Tang Yuantian-B29983; Wang Huan-B18965;
> > > robh+dt@kernel.org; linux-arm-kernel@lists.infradead.org
> > > Subject: Re: [PATCH 1/2] fsl: Add binding for RCPM
> > >
> > > On Wed, 2015-09-09 at 14:42 +0800, Dongsheng Wang wrote:
> > > > 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>
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
> > > > b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
> > > > new file mode 100644
> > > > index 0000000..284070c
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
> > > > @@ -0,0 +1,64 @@
> > > > +* 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>;
> > > > +     };
> > > > +
> > > > +The RCPM node for P4080:
> > > > +     rcpm:  global-utilities@e2000{
> > > > +             compatible = "fsl,qoriq-rcpm-1.0";
> > > > +             reg = <0xe2000 0x1000>;
> > > > +     };
> > >
> > > I would avoid putting the p4080 example in the binding, as we don't
> > > want to make it look like it's OK to leave out the specific chip
> > > compatible.
> > >
> >
> > Fine, I will add the specific chip compatible in this example.
> > compatible = "fsl,p4080-rcpm", "fsl,qoriq-rcpm-1.0";
> 
> Just drop that example.
> 

Thanks.

> > > > +* 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: should contain a pointer to the rcpm node and the
> > > > +     corresponding bit of device in the register.
> > >
> > > The corresponding bit in *what* register?
> > >
> >
> > RCPM_IPPDEXPCRx register, I will add a explain to this.
> 
> How do you encode which "x" it is?

Just means IPPDEXPCR0 IPPDEXPCR1.

"&rcpm IPPDEXPCR0 IPPDEXPCR1" will explain "what register" in this property.

Regards,
-Dongsheng
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..284070c
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
@@ -0,0 +1,64 @@ 
+* 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>;
+	};
+
+The RCPM node for P4080:
+	rcpm: global-utilities@e2000 {
+		compatible = "fsl,qoriq-rcpm-1.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: should contain a pointer to the rcpm node and the
+	corresponding bit of device in the register.
+
+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";
+	};