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    minItems: 2
27    maxItems: 2
28
29  reg-names:
30    items:
31      - const: pm
32      - const: asb
33
34  "#power-domain-cells":
35    const: 1
36
37  "#reset-cells":
38    const: 1
39
40  clocks:
41    minItems: 4
42    maxItems: 4
43
44  clock-names:
45    items:
46      - const: v3d
47      - const: peri_image
48      - const: h264
49      - const: isp
50
51  system-power-controller:
52    type: boolean
53
54  timeout-sec: true
55
56required:
57  - compatible
58  - reg
59  - "#power-domain-cells"
60  - "#reset-cells"
61  - clocks
62
63additionalProperties: false
64
65examples:
66  - |
67    #include <dt-bindings/clock/bcm2835.h>
68
69    watchdog@7e100000 {
70        compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
71        #power-domain-cells = <1>;
72        #reset-cells = <1>;
73        reg = <0x7e100000 0x114>,
74              <0x7e00a000 0x24>;
75        reg-names = "pm", "asb";
76        clocks = <&clocks BCM2835_CLOCK_V3D>,
77               <&clocks BCM2835_CLOCK_PERI_IMAGE>,
78               <&clocks BCM2835_CLOCK_H264>,
79               <&clocks BCM2835_CLOCK_ISP>;
80        clock-names = "v3d", "peri_image", "h264", "isp";
81        system-power-controller;
82    };
83