# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/brcm,bcm-pmb.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom PMB (Power Management Bus) controller

description: This document describes Broadcom's PMB controller. It supports
  powering various types of connected devices (e.g. PCIe, USB, SATA).

maintainers:
  - Rafał Miłecki <rafal@milecki.pl>

properties:
  compatible:
    enum:
      - brcm,bcm4908-pmb
      - brcm,bcm63138-pmb

  reg:
    description: register space of one or more buses
    maxItems: 1

  big-endian:
    $ref: /schemas/types.yaml#/definitions/flag
    description: Flag to use for block working in big endian mode.

  "#power-domain-cells":
    description: cell specifies device ID (see bcm-pmb.h)
    const: 1

required:
  - reg
  - "#power-domain-cells"

additionalProperties: false

examples:
  - |
    #include <dt-bindings/soc/bcm-pmb.h>

    pmb: power-controller@802800e0 {
        compatible = "brcm,bcm4908-pmb";
        reg = <0x802800e0 0x40>;
        #power-domain-cells = <1>;
    };

    foo {
        power-domains = <&pmb BCM_PMB_PCIE0>;
    };