|
@@ -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 the Devicetree Specification, 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>;
|
|
|
+ };
|