1785ae742SSimon Horman# SPDX-License-Identifier: GPL-2.0 2785ae742SSimon Horman%YAML 1.2 3785ae742SSimon Horman--- 4785ae742SSimon Horman$id: http://devicetree.org/schemas/bus/simple-pm-bus.yaml# 5785ae742SSimon Horman$schema: http://devicetree.org/meta-schemas/core.yaml# 6785ae742SSimon Horman 7785ae742SSimon Hormantitle: Simple Power-Managed Bus 8785ae742SSimon Horman 9785ae742SSimon Hormanmaintainers: 10785ae742SSimon Horman - Geert Uytterhoeven <geert+renesas@glider.be> 11785ae742SSimon Horman 12785ae742SSimon Hormandescription: | 13785ae742SSimon Horman A Simple Power-Managed Bus is a transparent bus that doesn't need a real 14785ae742SSimon Horman driver, as it's typically initialized by the boot loader. 15785ae742SSimon Horman 16785ae742SSimon Horman However, its bus controller is part of a PM domain, or under the control 17785ae742SSimon Horman of a functional clock. Hence, the bus controller's PM domain and/or 18785ae742SSimon Horman clock must be enabled for child devices connected to the bus (either 19785ae742SSimon Horman on-SoC or externally) to function. 20785ae742SSimon Horman 21785ae742SSimon Horman While "simple-pm-bus" follows the "simple-bus" set of properties, as 22785ae742SSimon Horman specified in the Devicetree Specification, it is not an extension of 23785ae742SSimon Horman "simple-bus". 24785ae742SSimon Horman 25785ae742SSimon Hormanproperties: 26785ae742SSimon Horman $nodename: 27785ae742SSimon Horman pattern: "^bus(@[0-9a-f]+)?$" 28785ae742SSimon Horman 29785ae742SSimon Horman compatible: 30785ae742SSimon Horman contains: 31785ae742SSimon Horman const: simple-pm-bus 32785ae742SSimon Horman description: 33785ae742SSimon Horman Shall contain "simple-pm-bus" in addition to a optional bus-specific 34785ae742SSimon Horman compatible strings defined in individual pm-bus bindings. 35785ae742SSimon Horman 36785ae742SSimon Horman '#address-cells': 37785ae742SSimon Horman enum: [ 1, 2 ] 38785ae742SSimon Horman 39785ae742SSimon Horman '#size-cells': 40785ae742SSimon Horman enum: [ 1, 2 ] 41785ae742SSimon Horman 42785ae742SSimon Horman ranges: true 43785ae742SSimon Horman 44785ae742SSimon Horman clocks: true 45785ae742SSimon Horman # Functional clocks 46785ae742SSimon Horman # Required if power-domains is absent, optional otherwise 47785ae742SSimon Horman 48785ae742SSimon Horman power-domains: 49785ae742SSimon Horman # Required if clocks is absent, optional otherwise 50785ae742SSimon Horman minItems: 1 51785ae742SSimon Horman 52785ae742SSimon Hormanrequired: 53785ae742SSimon Horman - compatible 54785ae742SSimon Horman - '#address-cells' 55785ae742SSimon Horman - '#size-cells' 56785ae742SSimon Horman - ranges 57785ae742SSimon Horman 58785ae742SSimon HormananyOf: 59785ae742SSimon Horman - required: 60785ae742SSimon Horman - clocks 61785ae742SSimon Horman - required: 62785ae742SSimon Horman - power-domains 63785ae742SSimon Horman 64*6a0e321eSRob HerringadditionalProperties: true 65*6a0e321eSRob Herring 66785ae742SSimon Hormanexamples: 67785ae742SSimon Horman - | 68785ae742SSimon Horman #include <dt-bindings/clock/qcom,gcc-msm8996.h> 69785ae742SSimon Horman #include <dt-bindings/interrupt-controller/irq.h> 70785ae742SSimon Horman 71785ae742SSimon Horman bus { 72785ae742SSimon Horman power-domains = <&gcc AGGRE0_NOC_GDSC>; 73785ae742SSimon Horman compatible = "simple-pm-bus"; 74785ae742SSimon Horman #address-cells = <1>; 75785ae742SSimon Horman #size-cells = <1>; 76785ae742SSimon Horman ranges; 77785ae742SSimon Horman }; 78