xref: /openbmc/linux/Documentation/devicetree/bindings/soc/fsl/rcpm.txt (revision c95baf12f5077419db01313ab61c2aac007d40cd)
1d64716caSWang Dongsheng* Run Control and Power Management
2d64716caSWang Dongsheng-------------------------------------------
3d64716caSWang DongshengThe RCPM performs all device-level tasks associated with device run control
4d64716caSWang Dongshengand power management.
5d64716caSWang Dongsheng
6d64716caSWang DongshengRequired properites:
7d64716caSWang Dongsheng  - reg : Offset and length of the register set of the RCPM block.
8*21832537SRan Wang  - #fsl,rcpm-wakeup-cells : The number of IPPDEXPCR register cells in the
9d64716caSWang Dongsheng	fsl,rcpm-wakeup property.
10d64716caSWang Dongsheng  - compatible : Must contain a chip-specific RCPM block compatible string
11d64716caSWang Dongsheng	and (if applicable) may contain a chassis-version RCPM compatible
12d64716caSWang Dongsheng	string. Chip-specific strings are of the form "fsl,<chip>-rcpm",
13d64716caSWang Dongsheng	such as:
14d64716caSWang Dongsheng	* "fsl,p2041-rcpm"
15d64716caSWang Dongsheng	* "fsl,p5020-rcpm"
16d64716caSWang Dongsheng	* "fsl,t4240-rcpm"
17d64716caSWang Dongsheng
18d64716caSWang Dongsheng	Chassis-version strings are of the form "fsl,qoriq-rcpm-<version>",
19d64716caSWang Dongsheng	such as:
20d64716caSWang Dongsheng	* "fsl,qoriq-rcpm-1.0": for chassis 1.0 rcpm
21d64716caSWang Dongsheng	* "fsl,qoriq-rcpm-2.0": for chassis 2.0 rcpm
22d64716caSWang Dongsheng	* "fsl,qoriq-rcpm-2.1": for chassis 2.1 rcpm
23*21832537SRan Wang	* "fsl,qoriq-rcpm-2.1+": for chassis 2.1+ rcpm
24d64716caSWang Dongsheng
25d64716caSWang DongshengAll references to "1.0" and "2.0" refer to the QorIQ chassis version to
26d64716caSWang Dongshengwhich the chip complies.
27d64716caSWang DongshengChassis Version		Example Chips
28d64716caSWang Dongsheng---------------		-------------------------------
29d64716caSWang Dongsheng1.0				p4080, p5020, p5040, p2041, p3041
30d64716caSWang Dongsheng2.0				t4240, b4860, b4420
31*21832537SRan Wang2.1				t1040,
32*21832537SRan Wang2.1+				ls1021a, ls1012a, ls1043a, ls1046a
33*21832537SRan Wang
34*21832537SRan WangOptional properties:
35*21832537SRan Wang - little-endian : RCPM register block is Little Endian. Without it RCPM
36*21832537SRan Wang   will be Big Endian (default case).
37d64716caSWang Dongsheng
38d64716caSWang DongshengExample:
39d64716caSWang DongshengThe RCPM node for T4240:
40d64716caSWang Dongsheng	rcpm: global-utilities@e2000 {
41d64716caSWang Dongsheng		compatible = "fsl,t4240-rcpm", "fsl,qoriq-rcpm-2.0";
42d64716caSWang Dongsheng		reg = <0xe2000 0x1000>;
43*21832537SRan Wang		#fsl,rcpm-wakeup-cells = <2>;
44d64716caSWang Dongsheng	};
45d64716caSWang Dongsheng
46d64716caSWang Dongsheng* Freescale RCPM Wakeup Source Device Tree Bindings
47d64716caSWang Dongsheng-------------------------------------------
48d64716caSWang DongshengRequired fsl,rcpm-wakeup property should be added to a device node if the device
49d64716caSWang Dongshengcan be used as a wakeup source.
50d64716caSWang Dongsheng
51d64716caSWang Dongsheng  - fsl,rcpm-wakeup: Consists of a phandle to the rcpm node and the IPPDEXPCR
52d64716caSWang Dongsheng	register cells. The number of IPPDEXPCR register cells is defined in
53*21832537SRan Wang	"#fsl,rcpm-wakeup-cells" in the rcpm node. The first register cell is
54d64716caSWang Dongsheng	the bit mask that should be set in IPPDEXPCR0, and the second register
55d64716caSWang Dongsheng	cell is for IPPDEXPCR1, and so on.
56d64716caSWang Dongsheng
57d64716caSWang Dongsheng	Note: IPPDEXPCR(IP Powerdown Exception Control Register) provides a
58d64716caSWang Dongsheng	mechanism for keeping certain blocks awake during STANDBY and MEM, in
59d64716caSWang Dongsheng	order to use them as wake-up sources.
60d64716caSWang Dongsheng
61d64716caSWang DongshengExample:
62d64716caSWang Dongsheng	lpuart0: serial@2950000 {
63d64716caSWang Dongsheng		compatible = "fsl,ls1021a-lpuart";
64d64716caSWang Dongsheng		reg = <0x0 0x2950000 0x0 0x1000>;
65d64716caSWang Dongsheng		interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
66d64716caSWang Dongsheng		clocks = <&sysclk>;
67d64716caSWang Dongsheng		clock-names = "ipg";
68d64716caSWang Dongsheng		fsl,rcpm-wakeup = <&rcpm 0x0 0x40000000>;
69d64716caSWang Dongsheng	};
70