[PATCH V9 0/6] imx: support i.MX93 SRC and mediamix blk ctrl

From: Peng Fan (OSS)
Date: Mon Sep 05 2022 - 23:27:05 EST


From: Peng Fan <peng.fan@xxxxxxx>

V9:
Per Shawn's comments in patch 3:
License still keep GPL per ./Documentation/process/license-rules.rst
Sort header in patch 3
Update of_device_id variable to be driver specific

Per Shawn's comments in patch 4:
Drop: Reported-by: kernel test robot
imx93-blk-ctrl.o in a separate line in Makefile
Move reg_access_table from imx93_blk_ctrl_domain_data to imx93_blk_ctrl_data
Drop 'const struct imx93_blk_ctrl_domain_data *bus', and add related fields in imx93_blk_ctrl_data
Use genpd_xlate_onecell
Drop extra uneccesary domain allocation in probe
Align indent
License still keep GPL per ./Documentation/process/license-rules.rst

Shawn:
patch 5, 6 may conflict with [1], because both patchsets are based on linux-next/master.
If this patchset goes fast, I could rebase [1].
If [1] goes fast, I could rebase patch 5, 6 in this patchset. But if the binding or driver is
good, I hope you could pick binding/driver first, I rebase patch 5,6 in a separate patch later.

[1] https://lore.kernel.org/all/20220905055915.3878000-1-peng.fan@xxxxxxxxxxx/

V8:
Fix error reported by kernel test robot

V7:
Added R-b for dt-bindings
Addressed Shawn's comments for patch 3, 4
Included NoC default settings in patch in patch 4
Use regmap access table to restrict the access to blk-ctrl register in patch 4
Update node name in patch 5, 6

V6:
Per Rob's comments to patch 1:
Drop the ref to power-domain.yaml
Describe each item of reg
Per Randy's comment, drop duplicated support in Kconfig
Per kernel test robot, use `void __iomem *` instead `void * __iomem`
not default select PM_GENERIC_DOMAINS for SOC_IMX9

V5:
Update bindings for SRC, remove the slices node
Although there are several mix-slices, mem-slices, but actually
they should work together, so I use one node to group a mix/mem with
dual reg entries.
Add SRC driver to include a driver to populate subnodes of SRC node
Restructure SRC-PD driver, because slices node dropped.
Drop the patch to export of_clk_bulk_get_all, which is not needed.

https://lore.kernel.org/all/20220711062452.3575032-1-peng.fan@xxxxxxxxxxx/

V4:
Correct including fsl,imx93-power.h, not imx93-power.h in driver

V3:
Move src yaml to power directory.
Update slice name to slices

V2:
yaml fix

This patchset is to support i.MX93 SRC and mediamix blk ctrl.
SRC functions as power domain provider as i.MX8M GPC.
mediamix blk ctrl is similar with i.MX8M blk ctrl, but much simplier from
software view.

Add bindings and dts node

Peng Fan (6):
dt-bindings: soc: add i.MX93 SRC
dt-bindings: soc: add i.MX93 mediamix blk ctrl
soc: imx: add i.MX93 SRC power domain driver
soc: imx: add i.MX93 media blk ctrl driver
arm64: dts: imx93: add src node
arm64: dts: imx93: add mediamix blk ctrl node

.../soc/imx/fsl,imx93-media-blk-ctrl.yaml | 80 ++++
.../bindings/soc/imx/fsl,imx93-src.yaml | 96 ++++
arch/arm64/boot/dts/freescale/imx93.dtsi | 45 ++
drivers/soc/imx/Kconfig | 8 +
drivers/soc/imx/Makefile | 2 +
drivers/soc/imx/imx93-blk-ctrl.c | 436 ++++++++++++++++++
drivers/soc/imx/imx93-pd.c | 164 +++++++
drivers/soc/imx/imx93-src.c | 33 ++
include/dt-bindings/power/fsl,imx93-power.h | 15 +
9 files changed, 879 insertions(+)
create mode 100644 Documentation/devicetree/bindings/soc/imx/fsl,imx93-media-blk-ctrl.yaml
create mode 100644 Documentation/devicetree/bindings/soc/imx/fsl,imx93-src.yaml
create mode 100644 drivers/soc/imx/imx93-blk-ctrl.c
create mode 100644 drivers/soc/imx/imx93-pd.c
create mode 100644 drivers/soc/imx/imx93-src.c
create mode 100644 include/dt-bindings/power/fsl,imx93-power.h

--
2.37.1