1*7ee9e21cSNobuhiro Iwamatsu# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*7ee9e21cSNobuhiro Iwamatsu%YAML 1.2
3*7ee9e21cSNobuhiro Iwamatsu---
4*7ee9e21cSNobuhiro Iwamatsu$id: http://devicetree.org/schemas/power/reset/xlnx,zynqmp-power.yaml#
5*7ee9e21cSNobuhiro Iwamatsu$schema: http://devicetree.org/meta-schemas/core.yaml#
6*7ee9e21cSNobuhiro Iwamatsu
7*7ee9e21cSNobuhiro Iwamatsutitle: Xilinx Zynq MPSoC Power Management Device Tree Bindings
8*7ee9e21cSNobuhiro Iwamatsu
9*7ee9e21cSNobuhiro Iwamatsumaintainers:
10*7ee9e21cSNobuhiro Iwamatsu  - Michal Simek <michal.simek@xilinx.com>
11*7ee9e21cSNobuhiro Iwamatsu
12*7ee9e21cSNobuhiro Iwamatsudescription: |
13*7ee9e21cSNobuhiro Iwamatsu  The zynqmp-power node describes the power management configurations.
14*7ee9e21cSNobuhiro Iwamatsu  It will control remote suspend/shutdown interfaces.
15*7ee9e21cSNobuhiro Iwamatsu
16*7ee9e21cSNobuhiro Iwamatsuproperties:
17*7ee9e21cSNobuhiro Iwamatsu  compatible:
18*7ee9e21cSNobuhiro Iwamatsu    const: "xlnx,zynqmp-power"
19*7ee9e21cSNobuhiro Iwamatsu
20*7ee9e21cSNobuhiro Iwamatsu  interrupts:
21*7ee9e21cSNobuhiro Iwamatsu    maxItems: 1
22*7ee9e21cSNobuhiro Iwamatsu
23*7ee9e21cSNobuhiro Iwamatsu  mboxes:
24*7ee9e21cSNobuhiro Iwamatsu    description: |
25*7ee9e21cSNobuhiro Iwamatsu      Standard property to specify a Mailbox. Each value of
26*7ee9e21cSNobuhiro Iwamatsu      the mboxes property should contain a phandle to the
27*7ee9e21cSNobuhiro Iwamatsu      mailbox controller device node and an args specifier
28*7ee9e21cSNobuhiro Iwamatsu      that will be the phandle to the intended sub-mailbox
29*7ee9e21cSNobuhiro Iwamatsu      child node to be used for communication. See
30*7ee9e21cSNobuhiro Iwamatsu      Documentation/devicetree/bindings/mailbox/mailbox.txt
31*7ee9e21cSNobuhiro Iwamatsu      for more details about the generic mailbox controller
32*7ee9e21cSNobuhiro Iwamatsu      and client driver bindings. Also see
33*7ee9e21cSNobuhiro Iwamatsu      Documentation/devicetree/bindings/mailbox/ \
34*7ee9e21cSNobuhiro Iwamatsu      xlnx,zynqmp-ipi-mailbox.txt for typical controller that
35*7ee9e21cSNobuhiro Iwamatsu      is used to communicate with this System controllers.
36*7ee9e21cSNobuhiro Iwamatsu    items:
37*7ee9e21cSNobuhiro Iwamatsu      - description: tx channel
38*7ee9e21cSNobuhiro Iwamatsu      - description: rx channel
39*7ee9e21cSNobuhiro Iwamatsu
40*7ee9e21cSNobuhiro Iwamatsu  mbox-names:
41*7ee9e21cSNobuhiro Iwamatsu    description:
42*7ee9e21cSNobuhiro Iwamatsu      Name given to channels seen in the 'mboxes' property.
43*7ee9e21cSNobuhiro Iwamatsu    items:
44*7ee9e21cSNobuhiro Iwamatsu      - const: tx
45*7ee9e21cSNobuhiro Iwamatsu      - const: rx
46*7ee9e21cSNobuhiro Iwamatsu
47*7ee9e21cSNobuhiro Iwamatsurequired:
48*7ee9e21cSNobuhiro Iwamatsu  - compatible
49*7ee9e21cSNobuhiro Iwamatsu  - interrupts
50*7ee9e21cSNobuhiro Iwamatsu
51*7ee9e21cSNobuhiro IwamatsuadditionalProperties: false
52*7ee9e21cSNobuhiro Iwamatsu
53*7ee9e21cSNobuhiro Iwamatsuexamples:
54*7ee9e21cSNobuhiro Iwamatsu  - |+
55*7ee9e21cSNobuhiro Iwamatsu
56*7ee9e21cSNobuhiro Iwamatsu    // Example with interrupt method:
57*7ee9e21cSNobuhiro Iwamatsu
58*7ee9e21cSNobuhiro Iwamatsu    firmware {
59*7ee9e21cSNobuhiro Iwamatsu      zynqmp-firmware {
60*7ee9e21cSNobuhiro Iwamatsu        zynqmp-power {
61*7ee9e21cSNobuhiro Iwamatsu          compatible = "xlnx,zynqmp-power";
62*7ee9e21cSNobuhiro Iwamatsu          interrupts = <0 35 4>;
63*7ee9e21cSNobuhiro Iwamatsu        };
64*7ee9e21cSNobuhiro Iwamatsu      };
65*7ee9e21cSNobuhiro Iwamatsu    };
66*7ee9e21cSNobuhiro Iwamatsu
67*7ee9e21cSNobuhiro Iwamatsu  - |+
68*7ee9e21cSNobuhiro Iwamatsu
69*7ee9e21cSNobuhiro Iwamatsu    // Example with IPI mailbox method:
70*7ee9e21cSNobuhiro Iwamatsu
71*7ee9e21cSNobuhiro Iwamatsu    firmware {
72*7ee9e21cSNobuhiro Iwamatsu      zynqmp-firmware {
73*7ee9e21cSNobuhiro Iwamatsu        zynqmp-power {
74*7ee9e21cSNobuhiro Iwamatsu          compatible = "xlnx,zynqmp-power";
75*7ee9e21cSNobuhiro Iwamatsu          interrupt-parent = <&gic>;
76*7ee9e21cSNobuhiro Iwamatsu          interrupts = <0 35 4>;
77*7ee9e21cSNobuhiro Iwamatsu          mboxes = <&ipi_mailbox_pmu1 0>,
78*7ee9e21cSNobuhiro Iwamatsu                   <&ipi_mailbox_pmu1 1>;
79*7ee9e21cSNobuhiro Iwamatsu          mbox-names = "tx", "rx";
80*7ee9e21cSNobuhiro Iwamatsu        };
81*7ee9e21cSNobuhiro Iwamatsu      };
82*7ee9e21cSNobuhiro Iwamatsu    };
83*7ee9e21cSNobuhiro Iwamatsu...
84