1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: "http://devicetree.org/schemas/soc/bcm/brcm,bcm2835-pm.yaml#"
5$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7title: BCM2835 PM (Power domains, watchdog)
8
9description: |
10  The PM block controls power domains and some reset lines, and includes a
11  watchdog timer.
12
13maintainers:
14  - Nicolas Saenz Julienne <nsaenz@kernel.org>
15
16allOf:
17  - $ref: ../../watchdog/watchdog.yaml#
18
19properties:
20  compatible:
21    items:
22      - const: brcm,bcm2835-pm
23      - const: brcm,bcm2835-pm-wdt
24
25  reg:
26    items:
27      - description: PM registers
28      - description: ASB registers
29
30  "#power-domain-cells":
31    const: 1
32
33  "#reset-cells":
34    const: 1
35
36  clocks:
37    minItems: 4
38    maxItems: 4
39
40  clock-names:
41    items:
42      - const: v3d
43      - const: peri_image
44      - const: h264
45      - const: isp
46
47  system-power-controller:
48    type: boolean
49
50  timeout-sec: true
51
52required:
53  - compatible
54  - reg
55  - "#power-domain-cells"
56  - "#reset-cells"
57  - clocks
58
59additionalProperties: false
60
61examples:
62  - |
63    #include <dt-bindings/clock/bcm2835.h>
64
65    watchdog@7e100000 {
66        compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
67        #power-domain-cells = <1>;
68        #reset-cells = <1>;
69        reg = <0x7e100000 0x114>,
70              <0x7e00a000 0x24>;
71        clocks = <&clocks BCM2835_CLOCK_V3D>,
72               <&clocks BCM2835_CLOCK_PERI_IMAGE>,
73               <&clocks BCM2835_CLOCK_H264>,
74               <&clocks BCM2835_CLOCK_ISP>;
75        clock-names = "v3d", "peri_image", "h264", "isp";
76        system-power-controller;
77    };
78