Kernel-4.18.0-80.el8_simple-pm-bus

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