Hi, This series aims to add Freescale i.MX8qxp pixel link MSI bus support by using the existing simple-pm-bus driver. A power domain and two input clocks need to be enabled before the MSI bus accesses it's child devices, which matches what a simple power-managed bus is(See simple-pm-bus.yaml). Patch 1 enables/disables functional clock(s) as a bulk in the simple-pm-bus driver when the simple-pm-bus is being power managed, since the MSI bus takes the two input clocks as functional clocks. Patch 2 adds dt-bindings for the MSI bus. v3->v4: * Drop patch 1 in v3, because simple-bus/simple-mfd devices probed by the simple-pm-bus driver should not be child nodes of simple-pm-bus at all, as simple-bus/simple-mfd's child devices PM operations cannot be propagated to simple-pm-bus. Those simple-bus/simple-mfd devices needs dedicated drivers. * Drop unnecessary 'bus == NULL' check from simple_pm_bus_runtime_{suspend,resume}. for patch 1 in v4. (Geert) * Add Geert's R-b tag on patch 1 in v4. * Add child nodes in the example MSI bus node of the MSI bus dt-binding. (Krzysztof) * Resend v4 to imply this series is based on v6.0-rc1 so that there are not any dependencies for the MSI bus dt-binding. (Rob) * Resend v4 based on v6.1-rc1. (Greg) * Add Rob's R-b tag on patch 2 in v4. v2->v3: * Add a pattern property to allow child nodes in the MSI bus dt-binding. (Rob) v1->v2: Address Krzysztof's comments on patch 3: * Add a select to explicitly select the MSI bus dt-binding. * List 'simple-pm-bus' explicitly as one item of compatible strings. * Require compatible and reg properties. * Put reg property just after compatible property in example. Liu Ying (2): drivers: bus: simple-pm-bus: Use clocks dt-bindings: bus: Add Freescale i.MX8qxp pixel link MSI bus binding .../bus/fsl,imx8qxp-pixel-link-msi-bus.yaml | 232 ++++++++++++++++++ drivers/bus/simple-pm-bus.c | 48 ++++ 2 files changed, 280 insertions(+) create mode 100644 Documentation/devicetree/bindings/bus/fsl,imx8qxp-pixel-link-msi-bus.yaml -- 2.37.1