xref: /freebsd/sys/contrib/device-tree/Bindings/soc/fsl/fsl,rcpm.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1*b2d2a78aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*b2d2a78aSEmmanuel Vadot%YAML 1.2
3*b2d2a78aSEmmanuel Vadot---
4*b2d2a78aSEmmanuel Vadot$id: http://devicetree.org/schemas/soc/fsl/fsl,rcpm.yaml#
5*b2d2a78aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b2d2a78aSEmmanuel Vadot
7*b2d2a78aSEmmanuel Vadottitle: Run Control and Power Management
8*b2d2a78aSEmmanuel Vadot
9*b2d2a78aSEmmanuel Vadotdescription:
10*b2d2a78aSEmmanuel Vadot  The RCPM performs all device-level tasks associated with device run control
11*b2d2a78aSEmmanuel Vadot  and power management.
12*b2d2a78aSEmmanuel Vadot
13*b2d2a78aSEmmanuel Vadotmaintainers:
14*b2d2a78aSEmmanuel Vadot  - Frank Li <Frank.Li@nxp.com>
15*b2d2a78aSEmmanuel Vadot
16*b2d2a78aSEmmanuel Vadotproperties:
17*b2d2a78aSEmmanuel Vadot  compatible:
18*b2d2a78aSEmmanuel Vadot    oneOf:
19*b2d2a78aSEmmanuel Vadot      - items:
20*b2d2a78aSEmmanuel Vadot          - enum:
21*b2d2a78aSEmmanuel Vadot              - fsl,p2041-rcpm
22*b2d2a78aSEmmanuel Vadot              - fsl,p3041-rcpm
23*b2d2a78aSEmmanuel Vadot              - fsl,p4080-rcpm
24*b2d2a78aSEmmanuel Vadot              - fsl,p5020-rcpm
25*b2d2a78aSEmmanuel Vadot              - fsl,p5040-rcpm
26*b2d2a78aSEmmanuel Vadot          - const: fsl,qoriq-rcpm-1.0
27*b2d2a78aSEmmanuel Vadot      - items:
28*b2d2a78aSEmmanuel Vadot          - enum:
29*b2d2a78aSEmmanuel Vadot              - fsl,b4420-rcpm
30*b2d2a78aSEmmanuel Vadot              - fsl,b4860-rcpm
31*b2d2a78aSEmmanuel Vadot              - fsl,t4240-rcpm
32*b2d2a78aSEmmanuel Vadot          - const: fsl,qoriq-rcpm-2.0
33*b2d2a78aSEmmanuel Vadot      - items:
34*b2d2a78aSEmmanuel Vadot          - enum:
35*b2d2a78aSEmmanuel Vadot              - fsl,t1040-rcpm
36*b2d2a78aSEmmanuel Vadot          - const: fsl,qoriq-rcpm-2.1
37*b2d2a78aSEmmanuel Vadot      - items:
38*b2d2a78aSEmmanuel Vadot          - enum:
39*b2d2a78aSEmmanuel Vadot              - fsl,ls1012a-rcpm
40*b2d2a78aSEmmanuel Vadot              - fsl,ls1021a-rcpm
41*b2d2a78aSEmmanuel Vadot              - fsl,ls1028a-rcpm
42*b2d2a78aSEmmanuel Vadot              - fsl,ls1043a-rcpm
43*b2d2a78aSEmmanuel Vadot              - fsl,ls1046a-rcpm
44*b2d2a78aSEmmanuel Vadot              - fsl,ls1088a-rcpm
45*b2d2a78aSEmmanuel Vadot              - fsl,ls208xa-rcpm
46*b2d2a78aSEmmanuel Vadot              - fsl,lx2160a-rcpm
47*b2d2a78aSEmmanuel Vadot          - const: fsl,qoriq-rcpm-2.1+
48*b2d2a78aSEmmanuel Vadot
49*b2d2a78aSEmmanuel Vadot  reg:
50*b2d2a78aSEmmanuel Vadot    maxItems: 1
51*b2d2a78aSEmmanuel Vadot
52*b2d2a78aSEmmanuel Vadot  "#fsl,rcpm-wakeup-cells":
53*b2d2a78aSEmmanuel Vadot    description: |
54*b2d2a78aSEmmanuel Vadot      The number of IPPDEXPCR register cells in the
55*b2d2a78aSEmmanuel Vadot      fsl,rcpm-wakeup property.
56*b2d2a78aSEmmanuel Vadot
57*b2d2a78aSEmmanuel Vadot      Freescale RCPM Wakeup Source Device Tree Bindings
58*b2d2a78aSEmmanuel Vadot
59*b2d2a78aSEmmanuel Vadot      Required fsl,rcpm-wakeup property should be added to a device node if
60*b2d2a78aSEmmanuel Vadot      the device can be used as a wakeup source.
61*b2d2a78aSEmmanuel Vadot
62*b2d2a78aSEmmanuel Vadot      fsl,rcpm-wakeup: Consists of a phandle to the rcpm node and the IPPDEXPCR
63*b2d2a78aSEmmanuel Vadot      register cells. The number of IPPDEXPCR register cells is defined in
64*b2d2a78aSEmmanuel Vadot      "#fsl,rcpm-wakeup-cells" in the rcpm node. The first register cell is
65*b2d2a78aSEmmanuel Vadot      the bit mask that should be set in IPPDEXPCR0, and the second register
66*b2d2a78aSEmmanuel Vadot      cell is for IPPDEXPCR1, and so on.
67*b2d2a78aSEmmanuel Vadot
68*b2d2a78aSEmmanuel Vadot      Note: IPPDEXPCR(IP Powerdown Exception Control Register) provides a
69*b2d2a78aSEmmanuel Vadot      mechanism for keeping certain blocks awake during STANDBY and MEM, in
70*b2d2a78aSEmmanuel Vadot      order to use them as wake-up sources.
71*b2d2a78aSEmmanuel Vadot
72*b2d2a78aSEmmanuel Vadot  little-endian:
73*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
74*b2d2a78aSEmmanuel Vadot    description:
75*b2d2a78aSEmmanuel Vadot      RCPM register block is Little Endian. Without it RCPM
76*b2d2a78aSEmmanuel Vadot      will be Big Endian (default case).
77*b2d2a78aSEmmanuel Vadot
78*b2d2a78aSEmmanuel VadotadditionalProperties: false
79*b2d2a78aSEmmanuel Vadot
80*b2d2a78aSEmmanuel Vadotexamples:
81*b2d2a78aSEmmanuel Vadot  - |
82*b2d2a78aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
83*b2d2a78aSEmmanuel Vadot    global-utilities@e2000 {
84*b2d2a78aSEmmanuel Vadot          compatible = "fsl,t4240-rcpm", "fsl,qoriq-rcpm-2.0";
85*b2d2a78aSEmmanuel Vadot          reg = <0xe2000 0x1000>;
86*b2d2a78aSEmmanuel Vadot          #fsl,rcpm-wakeup-cells = <2>;
87*b2d2a78aSEmmanuel Vadot    };
88