[PATCH v5 3/5] drivers: bus: Add Simple Power-Managed Bus DT Bindings
From: Geert Uytterhoeven <geert+renesas@glider.be>
Date: 2015-02-05 10:12:37
Also in:
linux-arm-kernel, linux-pm, linux-sh, lkml
Subsystem:
open firmware and flattened device tree bindings, the rest · Maintainers:
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Linus Torvalds
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Ulrich Hecht <redacted>
Reviewed-by: Kevin Hilman <redacted>
---
v5:
- Add Reviewed-by,
- "simple-pm-bus" is not an extension of "simple-bus",
- "compatible" must not contain "simple-bus",
- Add reference to clock/PM domain provider binding docs,
v4:
- Replace "simple-bus" by "simple-pm-bus",
- Remove the "renesas,bsc" bindings. They will be specified in a
separate document.
v3:
- Add Tested-by,
- Document required properties inherited from "simple-bus",
- Document required "reg" property for "renesas,bsc",
- Move "ranges" before "reg" in the example,
v2:
- New.
---
.../devicetree/bindings/bus/simple-pm-bus.txt | 44 ++++++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 Documentation/devicetree/bindings/bus/simple-pm-bus.txt
diff --git a/Documentation/devicetree/bindings/bus/simple-pm-bus.txt b/Documentation/devicetree/bindings/bus/simple-pm-bus.txt
new file mode 100644
index 0000000000000000..d032237512c271f2
--- /dev/null
+++ b/Documentation/devicetree/bindings/bus/simple-pm-bus.txt@@ -0,0 +1,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>; + };
--
1.9.1