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