78 lines · yaml
1# SPDX-License-Identifier: GPL-2.02%YAML 1.23---4$id: http://devicetree.org/schemas/bus/simple-pm-bus.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Simple Power-Managed Bus8 9maintainers:10 - Geert Uytterhoeven <geert+renesas@glider.be>11 12description: |13 A Simple Power-Managed Bus is a transparent bus that doesn't need a real14 driver, as it's typically initialized by the boot loader.15 16 However, its bus controller is part of a PM domain, or under the control17 of a functional clock. Hence, the bus controller's PM domain and/or18 clock must be enabled for child devices connected to the bus (either19 on-SoC or externally) to function.20 21 While "simple-pm-bus" follows the "simple-bus" set of properties, as22 specified in the Devicetree Specification, it is not an extension of23 "simple-bus".24 25properties:26 $nodename:27 pattern: "^bus(@[0-9a-f]+)?$"28 29 compatible:30 contains:31 const: simple-pm-bus32 description:33 Shall contain "simple-pm-bus" in addition to a optional bus-specific34 compatible strings defined in individual pm-bus bindings.35 36 '#address-cells':37 enum: [ 1, 2 ]38 39 '#size-cells':40 enum: [ 1, 2 ]41 42 ranges: true43 44 clocks: true45 # Functional clocks46 # Required if power-domains is absent, optional otherwise47 48 power-domains:49 # Required if clocks is absent, optional otherwise50 minItems: 151 52required:53 - compatible54 - '#address-cells'55 - '#size-cells'56 - ranges57 58anyOf:59 - required:60 - clocks61 - required:62 - power-domains63 64additionalProperties: true65 66examples:67 - |68 #include <dt-bindings/clock/qcom,gcc-msm8996.h>69 #include <dt-bindings/interrupt-controller/irq.h>70 71 bus {72 power-domains = <&gcc AGGRE0_NOC_GDSC>;73 compatible = "simple-pm-bus";74 #address-cells = <1>;75 #size-cells = <1>;76 ranges;77 };78