devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] ARM: OMAP3+: Switch to use DT based cpu0-cpufreq driver
@ 2013-03-14 20:58 Nishanth Menon
  2013-03-14 20:58 ` [PATCH 1/8] ARM: dts: OMAP34xx: move CPU OPP tables to device tree Nishanth Menon
                   ` (9 more replies)
  0 siblings, 10 replies; 26+ messages in thread
From: Nishanth Menon @ 2013-03-14 20:58 UTC (permalink / raw)
  To: linux-omap
  Cc: Nishanth Menon, Kevin Hilman, Benoît Cousson,
	Santosh Shilimkar, Shawn Guo, Keerthy, devicetree-discuss,
	linux-arm-kernel, cpufreq, linux-pm

The following series arose from trying to use BeagleBoard-XM (OMAP3 variant)
for doing CPU DVFS using cpufreq-cpu0. This series will eventually result in
migrating the cpufreq support only through device tree (part of the effort
to migrate away from non-DT configurations for OMAP). Unfortunately, as already
known, we have a bunch of legacy code and mutually dependent device tree
conversion that is pending.
Key features pending:
A) clock framework 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
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 like 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: Somewhere in the future, when we have regulators driven off CCF and OMAP
converted to CCF, we could remove the DT regulator requirements there as well.

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
DT. As a result of this series, CPUFreq feature will not be available for non-DT
boot systems.

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/

Test coverage:
	test script: http://pastebin.com/MpCRY0SB
Platforms verified:
	beaglebone(rev A6a) - AM33xx compatible
	beagleboard (rev C1D) - OMAP3430 compatible
	omap3-beagle-xm -OMAP3630 compatible
	Pandaboard -(OMAP4430 ES2.3) verified with omapconf
	Pandaboard-ES -(OMAP4460 ES1.1) verified with omapconf

Series is based on v3.9-rc2 tag

Also available at:
	https://github.com/nmenon/linux-2.6-playground/commits/push/cpufreq-cpu0-omap-all-v1
	git link: git://github.com/nmenon/linux-2.6-playground.git
	branch: cpufreq-cpu0-omap-all-v1

Nishanth Menon (8):
  ARM: dts: OMAP34xx: move CPU OPP tables to device tree
  ARM: dts: OMAP36xx: move CPU OPP tables to device tree
  ARM: dts: OMAP3: use twl4030 vdd1 regulator for CPU
  ARM: dts: OMAP443x: move CPU OPP tables to device tree
  ARM: dts: omap4-panda: move generic sections to panda-common
  ARM: dts: OMAP446x: move CPU OPP tables to device tree
  ARM: OMAP3+: use cpu0-cpufreq driver
  cpufreq: omap: remove omap-cpufreq

 MAINTAINERS                               |    1 -
 arch/arm/boot/dts/omap3-beagle-xm.dts     |    6 +
 arch/arm/boot/dts/omap3-beagle.dts        |    6 +
 arch/arm/boot/dts/omap3-evm.dts           |    6 +
 arch/arm/boot/dts/omap3.dtsi              |   10 +
 arch/arm/boot/dts/omap36xx.dtsi           |   12 ++
 arch/arm/boot/dts/omap4-panda-a4.dts      |    5 +-
 arch/arm/boot/dts/omap4-panda-common.dtsi |  205 ++++++++++++++++++++
 arch/arm/boot/dts/omap4-panda-es.dts      |    5 +-
 arch/arm/boot/dts/omap4-panda.dts         |  200 +-------------------
 arch/arm/boot/dts/omap4.dtsi              |   10 +
 arch/arm/boot/dts/omap446x.dtsi           |   27 +++
 arch/arm/boot/dts/twl4030.dtsi            |    6 +
 arch/arm/mach-omap2/board-generic.c       |    4 +
 arch/arm/mach-omap2/cclock33xx_data.c     |    2 +-
 arch/arm/mach-omap2/cclock3xxx_data.c     |    2 +-
 arch/arm/mach-omap2/cclock44xx_data.c     |    2 +-
 arch/arm/mach-omap2/opp3xxx_data.c        |   20 --
 arch/arm/mach-omap2/opp4xxx_data.c        |   23 ---
 drivers/cpufreq/Kconfig.arm               |    6 -
 drivers/cpufreq/Makefile                  |    1 -
 drivers/cpufreq/omap-cpufreq.c            |  291 -----------------------------
 22 files changed, 305 insertions(+), 545 deletions(-)
 create mode 100644 arch/arm/boot/dts/omap4-panda-common.dtsi
 create mode 100644 arch/arm/boot/dts/omap446x.dtsi
 delete mode 100644 drivers/cpufreq/omap-cpufreq.c

Size change information:
add/remove: 0/0 grow/shrink: 3/5 up/down: 74/-291 (-217)
function                                     old     new   delta
omap_generic_init                             96     140     +44
vermagic                                      49      64     +15
linux_banner                                 130     145     +15
kernel_config_data                         18333   18330      -3
omap443x_opp_def_list                        144      80     -64
omap36xx_opp_def_list                        160      96     -64
omap446x_opp_def_list                        192     112     -80
omap34xx_opp_def_list                        208     128     -80

non-zero DTB size deltas(bytes):
old	new	delta	 filename
8068	8311	+243	omap3-beagle.dtb
8647	8874	+227	omap3-beagle-xm.dtb
7783	8026	+243	omap3-evm.dtb
8000	8183	+183	omap3-tobi.dtb
13646	13771	+125	omap4-panda-a4.dtb
13646	13771	+125	omap4-panda.dtb
13602	13719	+117	omap4-panda-es.dtb
16256	16381	+125	omap4-sdp.dtb
10889	11014	+125	omap4-var-som.dtb

Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: "Benoît Cousson" <b-cousson@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Keerthy <j-keerthy@ti.com>
Cc: linux-omap@vger.kernel.org
Cc: devicetree-discuss@lists.ozlabs.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: cpufreq@vger.kernel.org
Cc: linux-pm@vger.kernel.org

Regards,
Nishanth Menon
-- 
1.7.9.5


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2013-03-15 15:02 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-14 20:58 [PATCH 0/8] ARM: OMAP3+: Switch to use DT based cpu0-cpufreq driver Nishanth Menon
2013-03-14 20:58 ` [PATCH 1/8] ARM: dts: OMAP34xx: move CPU OPP tables to device tree Nishanth Menon
2013-03-14 21:43   ` Jon Hunter
2013-03-14 20:58 ` [PATCH 2/8] ARM: dts: OMAP36xx: " Nishanth Menon
2013-03-14 21:44   ` Jon Hunter
2013-03-15 13:56     ` Nishanth Menon
2013-03-15 14:26       ` Jon Hunter
2013-03-15 14:38         ` Nishanth Menon
2013-03-15 14:58           ` Jon Hunter
2013-03-15 15:02             ` Nishanth Menon
2013-03-14 20:58 ` [PATCH 3/8] ARM: dts: OMAP3: use twl4030 vdd1 regulator for CPU Nishanth Menon
2013-03-14 20:58 ` [PATCH 4/8] ARM: dts: OMAP443x: move CPU OPP tables to device tree Nishanth Menon
2013-03-14 20:58 ` [PATCH 5/8] ARM: dts: omap4-panda: move generic sections to panda-common Nishanth Menon
2013-03-14 20:58 ` [PATCH 6/8] ARM: dts: OMAP446x: move CPU OPP tables to device tree Nishanth Menon
2013-03-14 21:49   ` Jon Hunter
2013-03-15 14:08     ` Nishanth Menon
2013-03-14 20:58 ` [PATCH 7/8] ARM: OMAP3+: use cpu0-cpufreq driver Nishanth Menon
2013-03-14 20:58 ` [PATCH 8/8] cpufreq: omap: remove omap-cpufreq Nishanth Menon
2013-03-15  4:51   ` Viresh Kumar
2013-03-15 14:24     ` Nishanth Menon
2013-03-14 21:42 ` [PATCH 0/8] ARM: OMAP3+: Switch to use DT based cpu0-cpufreq driver Jon Hunter
2013-03-15 13:52   ` Nishanth Menon
2013-03-15  5:18 ` Santosh Shilimkar
2013-03-15 14:21   ` Nishanth Menon
2013-03-15 14:56     ` Jon Hunter
2013-03-15 15:00       ` Nishanth Menon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).