Hi, The following version 2 of the series arose from trying to use BeagleBoard-XM (OMAP3 variant) for doing CPU DVFS using cpufreq-cpu0. This series enables the generic cpufreq-cpu0 driver to be used in device tree enabled boot while maintaining support of the legacy omap-cpufreq driver when used in non device tree enabled boot. However, in order to enable complete SoC entitlement for OMAP platforms, with this series, key features are still pending on device tree adaptation for OMAP: A) clock framework data transition to DT - this should happen soon, so this series hacks the clock node for the time being as suggested in review of original series[1]. B) On processors that use voltage controller, voltage processor (VC/VP hardware loop using I2C_SR path) - we have started work on transitioning them to regulator framework driven by DT. C) Adaptive Body Bias and SmartReflex AVS conversion to DT. As a result of these pending features: - OMAP4 TWL6030 and TPS62361 which set voltage ONLY over I2C_SR have no regulators associated at the moment - fortunately, we boot at highest voltage, so things still work. - Missing ABB and AVS implies that for few of the SoCs (3630, OMAP4), I have not added those OPPs in DT yet - this also needs alignment with iMX, AM series pending work, where certain OPPs need enabling based on efuse programmed bit sequences - since it is an add-on work, it is not addressed here. Note: At this point in time, we do not have DT entries for clock on OMAP platforms. Common Clock Framework(CCF) could also control regulators[2]. Once these conversions are complete, there will be minimal cleanup work to switch to the new data structure changes. Key benefit of the series is to allow all relevant TI platforms now to use a single cpufreq driver and equivalent frameworks in addition be part of the transition to device tree. NOTE: As a result of this series: 1. omap-cpufreq will be used only in non device tree boot scenario. we should delete this driver once the 100% DT conversion is complete. 2. Generic cpufreq-cpu0 will be used only in device tree boot scenario. boot systems. Key changes in version 2: - series now rebased on Device tree patches queued for OMAP 3.10 - cpufreq-cpu0 and omap_cpufreq will co-exist and used depending on usage of device tree. - minor wording, cleanups for the same. - omap3.dtsi and omap4.dtsi now become common dtsi which is used by omap34xx.dtsi, omap36xx.dtsi, omap443x.dtsi, omap4460.dtsi as needed. version 1 of the series: http://marc.info/?t=136329485400005&r=1&w=2 available at: https://github.com/nmenon/linux-2.6-playground/commits/push/cpufreq-cpu0-omap-all-v1 [1] Original discussion thread which triggered this series: http://marc.info/?l=linux-pm&m=136304313700602&w=2 https://patchwork.kernel.org/patch/2251841/ https://patchwork.kernel.org/patch/2251851/ [2] CCF DVFS patches: https://patchwork.kernel.org/patch/2195431/ https://patchwork.kernel.org/patch/2195421/ https://patchwork.kernel.org/patch/2195451/ https://patchwork.kernel.org/patch/2195441/ https://patchwork.kernel.org/patch/2195461/ Version 2 is now based on for-3.10/dts branch from Benoit: http://git.kernel.org/cgit/linux/kernel/git/bcousson/linux-omap-dt.git/log/?h=for_3.10/dts 44fab7a ARM: dts: omap3-devkit8000: Add NAND DT node Version 2 is also available at: https://github.com/nmenon/linux-2.6-playground/commits/push/cpufreq-cpu0-omap-all-v2 git link: git://github.com/nmenon/linux-2.6-playground.git branch: cpufreq-cpu0-omap-all-v2 Test coverage: test script: http://pastebin.com/zrr8ptge Platforms verified: beaglebone(rev A6a) - AM33xx compatible - http://pastebin.com/PUx5h6Jy beagleboard (rev C1D) - OMAP3430 compatible - http://pastebin.com/SycCinFb (DT) http://pastebin.com/qwJHw9Ev (no DT) omap3-beagle-xm -OMAP3630 compatible - http://pastebin.com/tVEXeVZC Pandaboard -(OMAP4430 ES2.2) verified with omapconf - http://pastebin.com/cAtytfW0 Pandaboard-ES -(OMAP4460 ES1.1) verified with omapconf - http://pastebin.com/3EymNTMp Nishanth Menon (8): ARM: dts: OMAP34xx/35xx: Add CPU OPP table ARM: dts: OMAP36xx: Add CPU OPP table ARM: dts: OMAP3: use twl4030 vdd1 regulator for CPU ARM: dts: OMAP443x: Add CPU OPP table ARM: dts: omap4-panda: move generic sections to panda-common ARM: dts: OMAP4460: Add CPU OPP table ARM: OMAP3+: use cpu0-cpufreq driver in device tree supported boot cpufreq: OMAP: donot allow to be used with device tree arch/arm/boot/dts/am3517-evm.dts | 2 +- arch/arm/boot/dts/am3517_mt_ventoux.dts | 2 +- arch/arm/boot/dts/omap3-beagle-xm.dts | 6 + arch/arm/boot/dts/omap3-beagle.dts | 8 +- arch/arm/boot/dts/omap3-devkit8000.dts | 2 +- arch/arm/boot/dts/omap3-evm.dts | 8 +- arch/arm/boot/dts/omap3-igep.dtsi | 2 +- arch/arm/boot/dts/omap3-overo.dtsi | 2 +- arch/arm/boot/dts/omap3430-sdp.dts | 2 +- arch/arm/boot/dts/omap34xx.dtsi | 28 ++++ arch/arm/boot/dts/omap36xx.dtsi | 13 ++ arch/arm/boot/dts/omap4-panda-a4.dts | 5 +- arch/arm/boot/dts/omap4-panda-common.dtsi | 251 +++++++++++++++++++++++++++++ arch/arm/boot/dts/omap4-panda-es.dts | 3 +- arch/arm/boot/dts/omap4-panda.dts | 247 +--------------------------- arch/arm/boot/dts/omap4-sdp.dts | 2 +- arch/arm/boot/dts/omap4-var-som.dts | 2 +- arch/arm/boot/dts/omap443x.dtsi | 27 ++++ arch/arm/boot/dts/omap4460.dtsi | 14 ++ arch/arm/boot/dts/twl4030.dtsi | 6 + arch/arm/mach-omap2/board-generic.c | 5 + arch/arm/mach-omap2/cclock33xx_data.c | 2 +- arch/arm/mach-omap2/cclock3xxx_data.c | 3 +- arch/arm/mach-omap2/cclock44xx_data.c | 3 +- drivers/cpufreq/omap-cpufreq.c | 14 ++ 25 files changed, 399 insertions(+), 260 deletions(-) create mode 100644 arch/arm/boot/dts/omap34xx.dtsi create mode 100644 arch/arm/boot/dts/omap4-panda-common.dtsi create mode 100644 arch/arm/boot/dts/omap443x.dtsi vmlinux size change information (omap2plus_defconfig + CPUFREQ enabled): add/remove: 0/0 grow/shrink: 5/0 up/down: 208/0 (208) function old new delta omap_cpu_init 360 472 +112 omap_generic_init 96 140 +44 omap44xx_clks 5832 5856 +24 omap3xxx_clks 6720 6744 +24 omap3xxx_clk_init 1072 1076 +4 non-zero DTB size deltas(bytes): old new delta filename 10671 10898 +227 omap3-beagle-xm.dtb 9947 10190 +243 omap3-beagle.dtb 11399 11582 +183 omap3-devkit8000.dtb 9731 9974 +243 omap3-evm.dtb 10958 11141 +183 omap3-igep0020.dtb 10906 11089 +183 omap3-igep0030.dtb 10255 10438 +183 omap3-tobi.dtb 11361 11544 +183 omap3430-sdp.dtb 16270 16361 +91 omap4-panda-a4.dtb 16326 16409 +83 omap4-panda-es.dtb 16270 16361 +91 omap4-panda.dtb 19379 19470 +91 omap4-sdp.dtb 12943 13034 +91 omap4-var-som.dtb Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Cc: Jon Hunter <jon-hunter@xxxxxx> Cc: "Benoît Cousson" <b-cousson@xxxxxx> Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> Cc: Keerthy <j-keerthy@xxxxxx> Cc: linux-omap@xxxxxxxxxxxxxxx Cc: devicetree-discuss@xxxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: cpufreq@xxxxxxxxxxxxxxx Cc: linux-pm@xxxxxxxxxxxxxxx Regards, Nishanth Menon -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html