blob: 6f15037131ed55664a5127087a62b091eae4a06a [file] [log] [blame]
Sean Anderson4a3390f2020-06-24 06:41:12 -04001Simple Power-Managed Bus
2========================
3
4A Simple Power-Managed Bus is a transparent bus that doesn't need a real
5driver, as it's typically initialized by the boot loader.
6
7However, its bus controller is part of a PM domain, or under the control of a
8functional clock. Hence, the bus controller's PM domain and/or clock must be
9enabled for child devices connected to the bus (either on-SoC or externally)
10to function.
11
12While "simple-pm-bus" follows the "simple-bus" set of properties, as specified
13in the Devicetree Specification, it is not an extension of "simple-bus".
14
15
16Required properties:
17 - compatible: Must contain at least "simple-pm-bus".
18 Must not contain "simple-bus".
19 It's recommended to let this be preceded by one or more
20 vendor-specific compatible values.
21 - #address-cells, #size-cells, ranges: Must describe the mapping between
22 parent address and child address spaces.
23
24Optional platform-specific properties for clock or PM domain control (at least
25one of them is required):
26 - clocks: Must contain a reference to the functional clock(s),
27 - power-domains: Must contain a reference to the PM domain.
28Please refer to the binding documentation for the clock and/or PM domain
29providers for more details.
30
31
32Example:
33
34 bsc: bus@fec10000 {
35 compatible = "renesas,bsc-sh73a0", "renesas,bsc",
36 "simple-pm-bus";
37 #address-cells = <1>;
38 #size-cells = <1>;
39 ranges = <0 0 0x20000000>;
40 reg = <0xfec10000 0x400>;
41 interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
42 clocks = <&zb_clk>;
43 power-domains = <&pd_a4s>;
44 };