Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/bus/simple-pm-bus.yaml
26308 views
1
# SPDX-License-Identifier: GPL-2.0
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/bus/simple-pm-bus.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: Simple Power-Managed Bus
8
9
maintainers:
10
- Geert Uytterhoeven <geert+renesas@glider.be>
11
12
description: |
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 boot loader.
15
16
However, its bus controller is part of a PM domain, or under the control
17
of a functional clock. Hence, the bus controller's PM domain and/or
18
clock must be enabled for child devices connected to the bus (either
19
on-SoC or externally) to function.
20
21
While "simple-pm-bus" follows the "simple-bus" set of properties, as
22
specified in the Devicetree Specification, it is not an extension of
23
"simple-bus".
24
25
properties:
26
$nodename:
27
pattern: "^bus(@[0-9a-f]+)?$"
28
29
compatible:
30
contains:
31
const: simple-pm-bus
32
description:
33
Shall contain "simple-pm-bus" in addition to a optional bus-specific
34
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: true
43
44
clocks: true
45
# Functional clocks
46
# Required if power-domains is absent, optional otherwise
47
48
power-domains:
49
# Required if clocks is absent, optional otherwise
50
minItems: 1
51
52
required:
53
- compatible
54
- '#address-cells'
55
- '#size-cells'
56
- ranges
57
58
anyOf:
59
- required:
60
- clocks
61
- required:
62
- power-domains
63
64
additionalProperties: true
65
66
examples:
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
79