Commit | Line | Data |
---|---|---|
7e7c17f1 GU |
1 | Simple Power-Managed Bus |
2 | ======================== | |
3 | ||
4 | A Simple Power-Managed Bus is a transparent bus that doesn't need a real | |
5 | driver, as it's typically initialized by the boot loader. | |
6 | ||
7 | However, its bus controller is part of a PM domain, or under the control of a | |
8 | functional clock. Hence, the bus controller's PM domain and/or clock must be | |
9 | enabled for child devices connected to the bus (either on-SoC or externally) | |
10 | to function. | |
11 | ||
12 | While "simple-pm-bus" follows the "simple-bus" set of properties, as specified | |
13 | in ePAPR, it is not an extension of "simple-bus". | |
14 | ||
15 | ||
16 | Required 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 | ||
24 | Optional platform-specific properties for clock or PM domain control (at least | |
25 | one 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. | |
28 | Please refer to the binding documentation for the clock and/or PM domain | |
29 | providers for more details. | |
30 | ||
31 | ||
32 | Example: | |
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 | }; |