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