0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/bus/simple-pm-bus.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Simple Power-Managed Bus
0008
0009 maintainers:
0010 - Geert Uytterhoeven <geert+renesas@glider.be>
0011
0012 description: |
0013 A Simple Power-Managed Bus is a transparent bus that doesn't need a real
0014 driver, as it's typically initialized by the boot loader.
0015
0016 However, its bus controller is part of a PM domain, or under the control
0017 of a functional clock. Hence, the bus controller's PM domain and/or
0018 clock must be enabled for child devices connected to the bus (either
0019 on-SoC or externally) to function.
0020
0021 While "simple-pm-bus" follows the "simple-bus" set of properties, as
0022 specified in the Devicetree Specification, it is not an extension of
0023 "simple-bus".
0024
0025 properties:
0026 $nodename:
0027 pattern: "^bus(@[0-9a-f]+)?$"
0028
0029 compatible:
0030 contains:
0031 const: simple-pm-bus
0032 description:
0033 Shall contain "simple-pm-bus" in addition to a optional bus-specific
0034 compatible strings defined in individual pm-bus bindings.
0035
0036 '#address-cells':
0037 enum: [ 1, 2 ]
0038
0039 '#size-cells':
0040 enum: [ 1, 2 ]
0041
0042 ranges: true
0043
0044 clocks: true
0045 # Functional clocks
0046 # Required if power-domains is absent, optional otherwise
0047
0048 power-domains:
0049 # Required if clocks is absent, optional otherwise
0050 minItems: 1
0051
0052 required:
0053 - compatible
0054 - '#address-cells'
0055 - '#size-cells'
0056 - ranges
0057
0058 anyOf:
0059 - required:
0060 - clocks
0061 - required:
0062 - power-domains
0063
0064 additionalProperties: true
0065
0066 examples:
0067 - |
0068 #include <dt-bindings/clock/qcom,gcc-msm8996.h>
0069 #include <dt-bindings/interrupt-controller/irq.h>
0070
0071 bus {
0072 power-domains = <&gcc AGGRE0_NOC_GDSC>;
0073 compatible = "simple-pm-bus";
0074 #address-cells = <1>;
0075 #size-cells = <1>;
0076 ranges;
0077 };