blob: e28ef198a801c47b32c1b36f0046c66c91f825ff [file] [log] [blame]
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/soc/bcm/brcm,bcm2835-pm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: BCM2835 PM (Power domains, watchdog)
description: |
The PM block controls power domains and some reset lines, and includes a
watchdog timer.
maintainers:
- Nicolas Saenz Julienne <nsaenz@kernel.org>
allOf:
- $ref: /schemas/watchdog/watchdog.yaml#
properties:
compatible:
items:
- enum:
- brcm,bcm2835-pm
- brcm,bcm2711-pm
- const: brcm,bcm2835-pm-wdt
reg:
minItems: 2
maxItems: 3
reg-names:
minItems: 2
items:
- const: pm
- const: asb
- const: rpivid_asb
"#power-domain-cells":
const: 1
"#reset-cells":
const: 1
clocks:
minItems: 4
maxItems: 4
clock-names:
items:
- const: v3d
- const: peri_image
- const: h264
- const: isp
system-power-controller:
type: boolean
timeout-sec: true
required:
- compatible
- reg
- "#power-domain-cells"
- "#reset-cells"
- clocks
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/bcm2835.h>
watchdog@7e100000 {
compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
#power-domain-cells = <1>;
#reset-cells = <1>;
reg = <0x7e100000 0x114>,
<0x7e00a000 0x24>;
reg-names = "pm", "asb";
clocks = <&clocks BCM2835_CLOCK_V3D>,
<&clocks BCM2835_CLOCK_PERI_IMAGE>,
<&clocks BCM2835_CLOCK_H264>,
<&clocks BCM2835_CLOCK_ISP>;
clock-names = "v3d", "peri_image", "h264", "isp";
system-power-controller;
};