Hi, This series provides DT based support for clock/powerdomain data. Some parts of the data is retained under the existing *_data.c files to act as templates. Also, minimal support for generic power domains is added, but without power_off / power_on support at this point (should be relatively trivial to add on top.) The pm-domains.c file has lots of debugging info present at the moment just for testing purposes, the pr_infos shall be gone from the actual code if this should go forward. Patches 1-4 contains some generic tweaks to the PRCM core handling, and should be good to go in their current form already. As a sample in this set, only omap4 clkdm/pwrdm data is converted. Conversion for the rest should be relatively easy to script (I have a script that converts OMAP5/DRA7/AM43xx already, needs some tweaking for the rest of the SoCs.) Basically the question with this set is, whether the DT node layout / compatible string arrangement looks sane or not. Some of the compatibles can be squashed together especially at clkdm data side, seeing the remaining stub data portions are rather minimal. They could also just be retained just in case we need to tweak something later.... I also pushed a test branch here: tree: https://github.com/t-kristo/linux-pm.git branch: 4.1-rc2-prcm-domains-dt (contains the clock changes on bottom) Overall diffstat for the set below: arch/arm/boot/dts/dra7.dtsi | 8 + arch/arm/boot/dts/omap4.dtsi | 40 +++- arch/arm/boot/dts/omap44xx-clocks.dtsi | 298 +++++++++++++++++++++++- arch/arm/boot/dts/omap5.dtsi | 8 + arch/arm/mach-omap2/Kconfig | 1 + arch/arm/mach-omap2/Makefile | 3 +- arch/arm/mach-omap2/clockdomain.h | 10 +- arch/arm/mach-omap2/clockdomains44xx_data.c | 327 +++------------------------ arch/arm/mach-omap2/cm_common.c | 12 + arch/arm/mach-omap2/io.c | 184 +++++++++------ arch/arm/mach-omap2/omap_hwmod.c | 5 +- arch/arm/mach-omap2/pm-domains.c | 228 +++++++++++++++++++ arch/arm/mach-omap2/powerdomain.h | 9 +- arch/arm/mach-omap2/powerdomains44xx_data.c | 124 +++------- arch/arm/mach-omap2/prcm-common.h | 5 + arch/arm/mach-omap2/prm_common.c | 71 ++++++ drivers/clk/ti/clk.c | 3 +- 17 files changed, 854 insertions(+), 482 deletions(-) bloat-o-meter (with the CONFIG_PM_GENERIC_DOMAINS in place pre/post): add/remove: 22/15 grow/shrink: 26/19 up/down: 10698/-2304 (8394) function old new delta omap_clkdm_match_table - 4704 +4704 omap_pwrdm_match_table - 3136 +3136 of_omap_clockdomain_init - 912 +912 of_omap_powerdomain_init - 408 +408 .... The new compatible strings are consuming any saved space (and plenty more.) With clkdm templates, we can save this (on OMAP4): add/remove: 0/0 grow/shrink: 1/23 up/down: 4/-874 (-870) Pwrdm templates maybe a bit less, as there are less users. -Tero -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html