The BLK_CTRL according to HW design is basically the wrapper of the entire function specific group of IPs and holds GPRs that usually cannot be placed into one specific IP from that group. Some of these GPRs are used to control some clocks, other some resets, others some very specific function that does not fit into clocks or resets. Since the clocks are registered using the i.MX clock subsystem API, the driver is placed into the clock subsystem, but it also registers the resets. For the other functionalities that other GPRs might have, the syscon is used. Changes since v1: * implemented the runtime pm in blk_ctrl as discussed with Philipp Zabel on v1 thread * changed the blk-ctl to clock-controller in the dts and doc * fixed the yaml doc * removed the power-domains properties since the power-domains driver is not yet upstream for i.MX8MP. Abel Vesa (17): dt-bindings: clocks: imx8mp: Rename audiomix ids clocks to audio_blk_ctrl dt-bindings: reset: imx8mp: Add audio blk_ctrl reset IDs dt-bindings: clock: imx8mp: Add ids for the audio shared gate dt-bindings: clock: imx8mp: Add media blk_ctrl clock IDs dt-bindings: reset: imx8mp: Add media blk_ctrl reset IDs dt-bindings: clock: imx8mp: Add hdmi blk_ctrl clock IDs dt-bindings: reset: imx8mp: Add hdmi blk_ctrl reset IDs clk: imx8mp: Add audio shared gate arm64: dts: Remove imx-hdmimix-reset header file Documentation: bindings: clk: Add bindings for i.MX BLK_CTRL clk: imx: Add blk_ctrl combo driver clk: imx8mp: Add audio blk_ctrl clocks and resets clk: imx8mp: Add hdmi blk_ctrl clocks and resets clk: imx8mp: Add media blk_ctrl clocks and resets arm64: dts: imx8mp: Add audio_blk_ctrl node arm64: dts: imx8mp: Add media_blk_ctrl node arm64: dts: imx8mp: Add hdmi_blk_ctrl node .../bindings/clock/fsl,imx-blk-ctrl.yaml | 60 ++++ arch/arm64/boot/dts/freescale/imx8mp.dtsi | 41 +++ drivers/clk/imx/Makefile | 2 +- drivers/clk/imx/clk-blk-ctrl.c | 339 +++++++++++++++++++++ drivers/clk/imx/clk-blk-ctrl.h | 81 +++++ drivers/clk/imx/clk-imx8mp.c | 281 ++++++++++++++++- include/dt-bindings/clock/imx8mp-clock.h | 200 ++++++++---- include/dt-bindings/reset/imx8mp-reset.h | 45 +++ 8 files changed, 986 insertions(+), 63 deletions(-) create mode 100644 Documentation/devicetree/bindings/clock/fsl,imx-blk-ctrl.yaml create mode 100644 drivers/clk/imx/clk-blk-ctrl.c create mode 100644 drivers/clk/imx/clk-blk-ctrl.h -- 2.7.4