summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/bus/simple-pm-bus.txt
blob: d032237512c271f29da4d321d64605d6806e5c13 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Simple Power-Managed Bus
========================

A Simple Power-Managed Bus is a transparent bus that doesn't need a real
driver, as it's typically initialized by the boot loader.

However, its bus controller is part of a PM domain, or under the control of a
functional clock.  Hence, the bus controller's PM domain and/or clock must be
enabled for child devices connected to the bus (either on-SoC or externally)
to function.

While "simple-pm-bus" follows the "simple-bus" set of properties, as specified
in ePAPR, it is not an extension of "simple-bus".


Required properties:
  - compatible: Must contain at least "simple-pm-bus".
		Must not contain "simple-bus".
		It's recommended to let this be preceded by one or more
		vendor-specific compatible values.
  - #address-cells, #size-cells, ranges: Must describe the mapping between
		parent address and child address spaces.

Optional platform-specific properties for clock or PM domain control (at least
one of them is required):
  - clocks: Must contain a reference to the functional clock(s),
  - power-domains: Must contain a reference to the PM domain.
Please refer to the binding documentation for the clock and/or PM domain
providers for more details.


Example:

	bsc: bus@fec10000 {
		compatible = "renesas,bsc-sh73a0", "renesas,bsc",
			     "simple-pm-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0 0 0x20000000>;
		reg = <0xfec10000 0x400>;
		interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&zb_clk>;
		power-domains = <&pd_a4s>;
	};