Message ID | 1443083354-37369-1-git-send-email-dongsheng.wang@freescale.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Sep 24, 2015 at 04:29:13PM +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> > --- > *v3* > - Add "fsl,#rcpm-wakeup-cells" for rcpm node. The number of cells > correspond rcpm-wakeup property. > - Modify rcpm-wakeup property description. > > *v2* > - Remove P4080 example. > - Modify rcpm-wakeup property description. > > diff --git a/Documentation/devicetree/bindings/soc/fsl/rcpm.txt b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt > new file mode 100644 > index 0000000..52110ec > --- /dev/null > +++ b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt > @@ -0,0 +1,63 @@ > +* 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. > + - fsl,#rcpm-wakeup-cells : The number of cells in rcpm-wakeup property. > + - 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>; > + fsl,#rcpm-wakeup-cells = <2>; > + }; > + > +* 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 cells, the number of Shouldn't this vendor specific property be prefixed with 'fsl,' as well? > + cells defined in "fsl,#rcpm-wakeup-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 third cell is for IPPDEXPCR1, and so on. I guess that IPPDEXPCR0 and IPPDEXPCR1 need some documentation too, or a pointer to hardware documents containing more detailed info about them. Shawn > + > +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"; > + }; > -- > 2.1.0.27.g96db324 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On Thu, 2015-09-24 at 16:29 +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 cells, the number of > + cells defined in "fsl,#rcpm-wakeup-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 third cell is for IPPDEXPCR1, and so on. The phandle should not be included in the cell count. -Scott
Hi Shawn, Thanks for your review. > > 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> > > --- > > *v3* > > - Add "fsl,#rcpm-wakeup-cells" for rcpm node. The number of cells > > correspond rcpm-wakeup property. > > - Modify rcpm-wakeup property description. > > > > *v2* > > - Remove P4080 example. > > - Modify rcpm-wakeup property description. > > > > diff --git a/Documentation/devicetree/bindings/soc/fsl/rcpm.txt > > b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt > > new file mode 100644 > > index 0000000..52110ec > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt > > @@ -0,0 +1,63 @@ > > +* 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. > > + - fsl,#rcpm-wakeup-cells : The number of cells in rcpm-wakeup property. > > + - 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>; > > + fsl,#rcpm-wakeup-cells = <2>; > > + }; > > + > > +* 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 cells, the > > + number of > > Shouldn't this vendor specific property be prefixed with 'fsl,' as well? > Okay. > > + cells defined in "fsl,#rcpm-wakeup-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 third cell is for IPPDEXPCR1, and so on. > > I guess that IPPDEXPCR0 and IPPDEXPCR1 need some documentation too, or a pointer > to hardware documents containing more detailed info about them. > Following the "rcpm-wakeup" documents put a "Note" to describe IPPDEXPCRx registers? Regards, -Dongsheng
> > +* 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 cells, the number of > > + cells defined in "fsl,#rcpm-wakeup-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 third cell is for IPPDEXPCR1, and so on. > > The phandle should not be included in the cell count. > Yes, the first cell "&rcpm" should be in the cell count, right? Regards, -Dongsheng
On Thu, 2015-09-24 at 21:38 -0500, Wang Dongsheng-B40534 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 cells, the > > > number of > > > + cells defined in "fsl,#rcpm-wakeup-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 third cell is for IPPDEXPCR1, and so on. > > > > The phandle should not be included in the cell count. > > > > Yes, the first cell "&rcpm" should be in the cell count, right? No. None of the other #foo-cells work that way. -Scott
> On Thu, 2015-09-24 at 21:38 -0500, Wang Dongsheng-B40534 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 cells, the > > > > number of > > > > + cells defined in "fsl,#rcpm-wakeup-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 third cell is for IPPDEXPCR1, and so on. > > > > > > The phandle should not be included in the cell count. > > > > > > > Yes, the first cell "&rcpm" should be in the cell count, right? > > No. None of the other #foo-cells work that way. > Sorry a type wrong. I means the first cell "&rcpm" should *NOT* be in the cell count. Regards, -Dongsheng
> +++ b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt > @@ -0,0 +1,63 @@ > +* 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. s/RCPM block/the RCPM block/ > + - fsl,#rcpm-wakeup-cells : The number of cells in rcpm-wakeup property. s/rcpm-wakeup-property/the rcpm-wakeup-property/ > + - compatible : Sould contain a chip-specific RCPM block compatible string s/Sould/Should "Should" means it is recommended, but does not mean "must". Is it really optional? > + 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" 2 or 3 examples is enough. > + 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 Not sure this binding is the place to maintain a table of chassis versions to SoCs. Thanks, Stuart
On Thu, 2015-10-01 at 12:05 -0500, Yoder Stuart-B08248 wrote: > > +++ b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt > > @@ -0,0 +1,63 @@ > > +* 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. > > s/RCPM block/the RCPM block/ > > > + - fsl,#rcpm-wakeup-cells : The number of cells in rcpm-wakeup property. > > s/rcpm-wakeup-property/the rcpm-wakeup-property/ > > > + - compatible : Sould contain a chip-specific RCPM block compatible > > string > > s/Sould/Should > > "Should" means it is recommended, but does not mean "must". Is it really > optional? > > > + 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" > > 2 or 3 examples is enough. > > > + 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 > > Not sure this binding is the place to maintain a table of chassis > versions to SoCs. This is something I've been encouraging, given that the block versions are not publicly documented. It lets people find a manual that describes the advertised programming interface. -Scott
> > +++ b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt > > @@ -0,0 +1,63 @@ > > +* 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. > > s/RCPM block/the RCPM block/ > > > + - fsl,#rcpm-wakeup-cells : The number of cells in rcpm-wakeup property. > > s/rcpm-wakeup-property/the rcpm-wakeup-property/ > > > + - compatible : Sould contain a chip-specific RCPM block compatible > > + string > > s/Sould/Should > > "Should" means it is recommended, but does not mean "must". Is it really > optional? > Thanks for your patient explain, change to "must". Regards, -Dongsheng > > + 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" > > 2 or 3 examples is enough. > > > + 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 > > Not sure this binding is the place to maintain a table of chassis versions to > SoCs. > > Thanks, > Stuart
diff --git a/Documentation/devicetree/bindings/soc/fsl/rcpm.txt b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt new file mode 100644 index 0000000..52110ec --- /dev/null +++ b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt @@ -0,0 +1,63 @@ +* 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. + - fsl,#rcpm-wakeup-cells : The number of cells in rcpm-wakeup property. + - 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>; + fsl,#rcpm-wakeup-cells = <2>; + }; + +* 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 cells, the number of + cells defined in "fsl,#rcpm-wakeup-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 third cell is for IPPDEXPCR1, and so on. + +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"; + };