Re: [PATCH V5 0/6] ARM: OMAP3+: support cpufreq-cpu0 for device tree boot

From: Kevin Hilman
Date: Thu Oct 03 2013 - 12:44:06 EST


Hi Nishanth,

Nishanth Menon <nm@xxxxxx> writes:

> The following version 5 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.

What's the status of this series? Is it still waiting on the clock DT
changes?

Kevin

> 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 series provides an
> driver to allow device tree definition of clock node.
> 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[2] and SmartReflex AVS conversion to DT.
>
> Note: Common Clock Framework(CCF) could also control regulators[3] and
> AVS to ensure proper sequencing required for full DVFS sequencing.
> Once these conversions are complete, there might 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 on 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
> 3. clock data movement as approached by Tero in [4] is not the
> objective of this series
> 4. meant for post 3.10-rc1 tag
>
> Key changes in version 5 since version 4:
> - rebase with master for 3.10-rc1 intermediate
> - review comments incorporated
>
> version 4 of the series:
> http://marc.info/?l=linux-arm-kernel&m=136580742724210&w=2
> available at:
> https://github.com/nmenon/linux-2.6-playground/commits/push/cpufreq-cpu0-omap-all-v4
>
> version 3 of the series:
> http://marc.info/?l=linux-pm&m=136450759315742&w=2
> available at:
> https://github.com/nmenon/linux-2.6-playground/commits/push/cpufreq-cpu0-omap-all-v3
>
> version 2 of the series:
> http://marc.info/?t=136371570200003&r=1&w=2
> available at:
> https://github.com/nmenon/linux-2.6-playground/commits/push/cpufreq-cpu0-omap-all-v2
>
> 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] ABB series: http://marc.info/?l=linux-omap&m=136751559523901&w=2 (ABB DTS merge pending)
> [3] 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/
> [4] http://marc.info/?t=136388745000001&r=1&w=2
>
> Version 5 is now based on master since all requisite for-next branches have been merged.
> master 5af43c2 Merge branch 'akpm' (incoming from Andrew)
>
> Version 4 is also available at:
> https://github.com/nmenon/linux-2.6-playground/commits/push/cpufreq-cpu0-omap-all-v5
> git link: git://github.com/nmenon/linux-2.6-playground.git
> branch: cpufreq-cpu0-omap-all-v5
>
> Test coverage:
> test script: http://pastebin.com/GsavxiDe
> (note - to allow testing, I followed the suggestion in https://lkml.org/lkml/2013/5/8/19 )
>
> Platforms verified:
> beaglebone(rev A6a) - AM33xx compatible - http://pastebin.com/zANKsYBp
> beagleboard (rev C1D) - OMAP3430 compatible
> - DT enabled boot: http://pastebin.com/q4qZYVaK
> - No DT enabled boot: http://pastebin.com/c1CbQmV5
> omap3-beagle-xm -OMAP3630 compatible - http://pastebin.com/ibUABcA0
> SDP4430 -(OMAP4430 ES2.2) - http://pastebin.com/wYwUc3fU
> Pandaboard-ES -(OMAP4460 ES1.1) - http://pastebin.com/FB2RiFp2
>
> Nishanth Menon (6):
> clk: OMAP: introduce device tree binding to kernel clock data
> [Clk driver probably belongs to mike's tree?]
> ARM: dts: OMAP3: add clock nodes for CPU
> ARM: dts: OMAP4: add clock nodes for CPU
> ARM: dts: AM33XX: add clock nodes for CPU
> [The above probably belong to Benoit's tree]
> ARM: OMAP2+: AM33XX: add lateinit hook for calling pm late init
> ARM: OMAP3+: use cpu0-cpufreq driver in device tree supported boot
> [The above probably belong to Kevin/Tony's tree]
>
> .../devicetree/bindings/clock/omap-clock.txt | 40 +++++++++
> arch/arm/boot/dts/am33xx.dtsi | 7 ++
> arch/arm/boot/dts/omap3.dtsi | 7 ++
> arch/arm/boot/dts/omap4.dtsi | 7 ++
> arch/arm/mach-omap2/board-generic.c | 1 +
> arch/arm/mach-omap2/cclock33xx_data.c | 1 -
> arch/arm/mach-omap2/common.h | 1 +
> arch/arm/mach-omap2/io.c | 6 ++
> arch/arm/mach-omap2/pm.c | 11 ++-
> drivers/clk/Makefile | 1 +
> drivers/clk/omap/Makefile | 1 +
> drivers/clk/omap/clk.c | 91 ++++++++++++++++++++
> 12 files changed, 170 insertions(+), 4 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/clock/omap-clock.txt
> create mode 100644 drivers/clk/omap/Makefile
> create mode 100644 drivers/clk/omap/clk.c
>
> Regards,
> Nishanth Menon
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/