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>; }; |