1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/bus/simple- 4 $id: http://devicetree.org/schemas/bus/simple-pm-bus.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Simple Power-Managed Bus 7 title: Simple Power-Managed Bus 8 8 9 maintainers: 9 maintainers: 10 - Geert Uytterhoeven <geert+renesas@glider.be 10 - Geert Uytterhoeven <geert+renesas@glider.be> 11 11 12 description: | 12 description: | 13 A Simple Power-Managed Bus is a transparent 13 A Simple Power-Managed Bus is a transparent bus that doesn't need a real 14 driver, as it's typically initialized by the 14 driver, as it's typically initialized by the boot loader. 15 15 16 However, its bus controller is part of a PM 16 However, its bus controller is part of a PM domain, or under the control 17 of a functional clock. Hence, the bus contr 17 of a functional clock. Hence, the bus controller's PM domain and/or 18 clock must be enabled for child devices conn 18 clock must be enabled for child devices connected to the bus (either 19 on-SoC or externally) to function. 19 on-SoC or externally) to function. 20 20 21 While "simple-pm-bus" follows the "simple-bu 21 While "simple-pm-bus" follows the "simple-bus" set of properties, as 22 specified in the Devicetree Specification, i 22 specified in the Devicetree Specification, it is not an extension of 23 "simple-bus". 23 "simple-bus". 24 24 25 properties: 25 properties: 26 $nodename: 26 $nodename: 27 pattern: "^bus(@[0-9a-f]+)?$" 27 pattern: "^bus(@[0-9a-f]+)?$" 28 28 29 compatible: 29 compatible: 30 contains: 30 contains: 31 const: simple-pm-bus 31 const: simple-pm-bus 32 description: 32 description: 33 Shall contain "simple-pm-bus" in additio 33 Shall contain "simple-pm-bus" in addition to a optional bus-specific 34 compatible strings defined in individual 34 compatible strings defined in individual pm-bus bindings. 35 35 36 '#address-cells': 36 '#address-cells': 37 enum: [ 1, 2 ] 37 enum: [ 1, 2 ] 38 38 39 '#size-cells': 39 '#size-cells': 40 enum: [ 1, 2 ] 40 enum: [ 1, 2 ] 41 41 42 ranges: true 42 ranges: true 43 43 44 clocks: true 44 clocks: true 45 # Functional clocks 45 # Functional clocks 46 # Required if power-domains is absent, opt 46 # Required if power-domains is absent, optional otherwise 47 47 48 power-domains: 48 power-domains: 49 # Required if clocks is absent, optional o 49 # Required if clocks is absent, optional otherwise 50 minItems: 1 50 minItems: 1 51 51 52 required: 52 required: 53 - compatible 53 - compatible 54 - '#address-cells' 54 - '#address-cells' 55 - '#size-cells' 55 - '#size-cells' 56 - ranges 56 - ranges 57 57 58 anyOf: 58 anyOf: 59 - required: 59 - required: 60 - clocks 60 - clocks 61 - required: 61 - required: 62 - power-domains 62 - power-domains 63 63 64 additionalProperties: true 64 additionalProperties: true 65 65 66 examples: 66 examples: 67 - | 67 - | 68 #include <dt-bindings/clock/qcom,gcc-msm89 68 #include <dt-bindings/clock/qcom,gcc-msm8996.h> 69 #include <dt-bindings/interrupt-controller 69 #include <dt-bindings/interrupt-controller/irq.h> 70 70 71 bus { 71 bus { 72 power-domains = <&gcc AGGRE0_NOC_GDSC> 72 power-domains = <&gcc AGGRE0_NOC_GDSC>; 73 compatible = "simple-pm-bus"; 73 compatible = "simple-pm-bus"; 74 #address-cells = <1>; 74 #address-cells = <1>; 75 #size-cells = <1>; 75 #size-cells = <1>; 76 ranges; 76 ranges; 77 }; 77 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.