All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v8 00/18] Tegra124 CL-DVFS / DFLL clocksource + cpufreq
@ 2015-03-01 12:44 ` Mikko Perttunen
  0 siblings, 0 replies; 90+ messages in thread
From: Mikko Perttunen @ 2015-03-01 12:44 UTC (permalink / raw)
  To: swarren, thierry.reding, gnurou, pdeschrijver, rjw, viresh.kumar
  Cc: mturquette, pwalmsley, vinceh, pgaikwad, linux-kernel, linux-pm,
	linux-tegra, linux-arm-kernel, tuomas.tynkkynen, Mikko Perttunen

Hi, this is v8 of the Tegra124 cpufreq series. Aside rebasing on latest -next,
the following changes have been done:

clk: tegra: Add binding for the Tegra124 DFLL clocksource
- Changed dfll@ -> clock@
- Changed compatibility string to "nvidia,tegra124-dfll"
- Clarified how the vdd-cpu-supply property is used
- Marked nvidia,cg-scale as optional since it is a boolean property
- Expanded the 'FS mode' term to 'full speed mode'
- Added dvco reset control

ARM: tegra: Add the DFLL to Tegra124 device tree
- Changed dfll@ -> clock@
- Added dvco reset control

ARM: tegra: Enable the DFLL on the Jetson TK1
- Changed dfll@ -> clock@

clk: tegra: Initialize PLL_X before CCLK_G to ensure it has a parent
- Added

clk: tegra: Introduce ability for SoC-specific reset control callbacks
- Added

clk: tegra: Add DFLL DVCO reset control for Tegra124
- Changed to use SoC-specific reset control callback

clk: tegra: Add Tegra124 DFLL clocksource platform driver
- Don't set DVCO reset handlers

clk: tegra: Add library for the DFLL clock source (open-loop mode)
- Use reset control instead of function pointers

also added acks from v7.

The series is available in a git repository at
  git://github.com/cyndis/linux.git cldvfs-v8

Tested by me on Jetson-TK1 (rev. D).

Original cover letter:

This series implements the DFLL/CL-DVFS clock source for the fast CPU
cluster on Tegra124, and a cpufreq driver that uses the DFLL for
clocking the CPU. Most of this is based on Paul Walmsley's public patch
set from December 2013, which is available at
http://comments.gmane.org/gmane.linux.ports.tegra/15273

The DFLL clock hardware is a voltage-controlled oscillator plus
control logic that compares the generated output clock with a
51 MHz reference clock, and can make decisions to either lower
or raise the DFLL voltage to keep the output rate close to the
software-requested rate. The voltage changes are done by
communicating with an off-chip PMIC via either I2C or PWM.
As the DFLL oscillator is powered via the CPU rail, using
the DFLL as the CPU clocksource also gives us dynamic CPU
voltage scaling.

This series has been tested on the Jetson TK1 (Rev C). Porting this to
the Venice2 should be simple, though do note that it does not have
active cooling.

Thanks,
Tuomas

Mikko Perttunen (3):
  clk: tegra: Introduce ability for SoC-specific reset control callbacks
  clk: tegra: Initialize PLL_X before CCLK_G to ensure it has a parent
  ARM: tegra: Add CPU regulator to the Jetson TK1 device tree

Paul Walmsley (1):
  clk: tegra: Add DFLL DVCO reset control for Tegra124

Tuomas Tynkkynen (14):
  clk: tegra: Add binding for the Tegra124 DFLL clocksource
  clk: tegra: Add library for the DFLL clock source (open-loop mode)
  clk: tegra: Add closed loop support for the DFLL
  clk: tegra: Add functions for parsing CVB tables
  clk: tegra: Add Tegra124 DFLL clocksource platform driver
  clk: tegra: Save/restore CCLKG_BURST_POLICY on suspend
  clk: tegra: Add the DFLL as a possible parent of the cclk_g clock
  ARM: tegra: Add the DFLL to Tegra124 device tree
  ARM: tegra: Enable the DFLL on the Jetson TK1
  cpufreq: tegra124: Add device tree bindings
  cpufreq: tegra: Rename tegra-cpufreq to tegra20-cpufreq
  cpufreq: Add cpufreq driver for Tegra124
  ARM: tegra: Add entries for cpufreq on Tegra124
  ARM: tegra: enable Tegra124 cpufreq driver by default

 .../bindings/clock/nvidia,tegra124-dfll.txt        |   79 +
 .../bindings/cpufreq/tegra124-cpufreq.txt          |   44 +
 arch/arm/boot/dts/tegra124-jetson-tk1.dts          |   15 +-
 arch/arm/boot/dts/tegra124.dtsi                    |   34 +
 arch/arm/configs/tegra_defconfig                   |    1 +
 arch/arm/mach-tegra/Kconfig                        |    1 +
 drivers/clk/tegra/Makefile                         |    3 +
 drivers/clk/tegra/clk-dfll.c                       | 1755 ++++++++++++++++++++
 drivers/clk/tegra/clk-dfll.h                       |   54 +
 drivers/clk/tegra/clk-tegra-super-gen4.c           |   50 +-
 drivers/clk/tegra/clk-tegra124-dfll-fcpu.c         |  163 ++
 drivers/clk/tegra/clk-tegra124.c                   |   82 +
 drivers/clk/tegra/clk.c                            |   36 +-
 drivers/clk/tegra/clk.h                            |    3 +
 drivers/clk/tegra/cvb.c                            |  133 ++
 drivers/clk/tegra/cvb.h                            |   67 +
 drivers/cpufreq/Kconfig.arm                        |   13 +-
 drivers/cpufreq/Makefile                           |    3 +-
 drivers/cpufreq/tegra124-cpufreq.c                 |  217 +++
 .../cpufreq/{tegra-cpufreq.c => tegra20-cpufreq.c} |    0
 include/dt-bindings/reset/tegra124-car.h           |   11 +
 21 files changed, 2730 insertions(+), 34 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/clock/nvidia,tegra124-dfll.txt
 create mode 100644 Documentation/devicetree/bindings/cpufreq/tegra124-cpufreq.txt
 create mode 100644 drivers/clk/tegra/clk-dfll.c
 create mode 100644 drivers/clk/tegra/clk-dfll.h
 create mode 100644 drivers/clk/tegra/clk-tegra124-dfll-fcpu.c
 create mode 100644 drivers/clk/tegra/cvb.c
 create mode 100644 drivers/clk/tegra/cvb.h
 create mode 100644 drivers/cpufreq/tegra124-cpufreq.c
 rename drivers/cpufreq/{tegra-cpufreq.c => tegra20-cpufreq.c} (100%)
 create mode 100644 include/dt-bindings/reset/tegra124-car.h

--
2.3.0

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

end of thread, other threads:[~2015-04-14 21:10 UTC | newest]

Thread overview: 90+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-01 12:44 [PATCH v8 00/18] Tegra124 CL-DVFS / DFLL clocksource + cpufreq Mikko Perttunen
2015-03-01 12:44 ` Mikko Perttunen
2015-03-01 12:44 ` [PATCH v8 02/18] clk: tegra: Add library for the DFLL clock source (open-loop mode) Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-01 12:44 ` [PATCH v8 04/18] clk: tegra: Add functions for parsing CVB tables Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
     [not found] ` <1425213881-5262-1-git-send-email-mikko.perttunen-/1wQRMveznE@public.gmane.org>
2015-03-01 12:44   ` [PATCH v8 01/18] clk: tegra: Add binding for the Tegra124 DFLL clocksource Mikko Perttunen
2015-03-01 12:44     ` Mikko Perttunen
2015-03-01 12:44     ` Mikko Perttunen
2015-03-01 12:44   ` [PATCH v8 03/18] clk: tegra: Add closed loop support for the DFLL Mikko Perttunen
2015-03-01 12:44     ` Mikko Perttunen
2015-03-01 12:44     ` Mikko Perttunen
2015-03-01 12:44   ` [PATCH v8 05/18] clk: tegra: Introduce ability for SoC-specific reset control callbacks Mikko Perttunen
2015-03-01 12:44     ` Mikko Perttunen
2015-03-01 12:44     ` Mikko Perttunen
2015-03-01 12:44   ` [PATCH v8 07/18] clk: tegra: Add Tegra124 DFLL clocksource platform driver Mikko Perttunen
2015-03-01 12:44     ` Mikko Perttunen
2015-03-01 12:44     ` Mikko Perttunen
2015-03-01 12:44   ` [PATCH v8 11/18] ARM: tegra: Add the DFLL to Tegra124 device tree Mikko Perttunen
2015-03-01 12:44     ` Mikko Perttunen
2015-03-01 12:44     ` Mikko Perttunen
2015-03-01 12:44   ` [PATCH v8 16/18] ARM: tegra: Add entries for cpufreq on Tegra124 Mikko Perttunen
2015-03-01 12:44     ` Mikko Perttunen
2015-03-01 12:44     ` Mikko Perttunen
2015-03-01 12:44 ` [PATCH v8 06/18] clk: tegra: Add DFLL DVCO reset control for Tegra124 Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-01 12:44 ` [PATCH v8 08/18] clk: tegra: Save/restore CCLKG_BURST_POLICY on suspend Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-01 12:44 ` [PATCH v8 09/18] clk: tegra: Add the DFLL as a possible parent of the cclk_g clock Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-01 12:44 ` [PATCH v8 10/18] clk: tegra: Initialize PLL_X before CCLK_G to ensure it has a parent Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-04-10 21:08   ` Michael Turquette
2015-04-10 21:08     ` Michael Turquette
2015-04-10 21:08     ` Michael Turquette
2015-04-11 11:00     ` Mikko Perttunen
2015-04-11 11:00       ` Mikko Perttunen
2015-04-11 11:00       ` Mikko Perttunen
2015-04-13 12:17       ` Tomeu Vizoso
2015-04-13 12:17         ` Tomeu Vizoso
2015-04-13 12:17         ` Tomeu Vizoso
     [not found]         ` <CAAObsKCHUG7Auwu29My5xfynsQ1Jm6KB0bGxf1e3uUO6dvsBRA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-13 19:31           ` Michael Turquette
2015-04-13 19:31             ` Michael Turquette
2015-04-13 19:31             ` Michael Turquette
2015-04-13 19:35             ` Mikko Perttunen
2015-04-13 19:35               ` Mikko Perttunen
2015-04-13 19:35               ` Mikko Perttunen
2015-03-01 12:44 ` [PATCH v8 12/18] ARM: tegra: Enable the DFLL on the Jetson TK1 Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-01 12:44 ` [PATCH v8 13/18] cpufreq: tegra124: Add device tree bindings Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-01 12:44 ` [PATCH v8 14/18] cpufreq: tegra: Rename tegra-cpufreq to tegra20-cpufreq Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-01 12:44 ` [PATCH v8 15/18] cpufreq: Add cpufreq driver for Tegra124 Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-02  8:49   ` Paul Bolle
2015-03-02  8:49     ` Paul Bolle
2015-03-03 11:33     ` Mikko Perttunen
2015-03-03 11:33       ` Mikko Perttunen
2015-03-04  7:11       ` Tuomas Tynkkynen
2015-03-04  7:11         ` Tuomas Tynkkynen
2015-03-05 10:15         ` Mikko Perttunen
2015-03-05 10:15           ` Mikko Perttunen
2015-03-01 12:44 ` [PATCH v8 17/18] ARM: tegra: Add CPU regulator to the Jetson TK1 device tree Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-01 12:44 ` [PATCH v8 18/18] ARM: tegra: enable Tegra124 cpufreq driver by default Mikko Perttunen
2015-03-01 12:44   ` Mikko Perttunen
2015-03-11 10:07 ` [PATCH v8 00/18] Tegra124 CL-DVFS / DFLL clocksource + cpufreq Thierry Reding
2015-03-11 10:07   ` Thierry Reding
2015-04-10 21:11   ` Michael Turquette
2015-04-10 21:11     ` Michael Turquette
2015-04-14 11:25     ` Mikko Perttunen
2015-04-14 11:25       ` Mikko Perttunen
2015-04-14 17:21       ` Boris Brezillon
2015-04-14 17:21         ` Boris Brezillon
2015-04-14 19:40         ` Mikko Perttunen
2015-04-14 19:40           ` Mikko Perttunen
2015-04-14 21:06           ` Michael Turquette
2015-04-14 21:06             ` Michael Turquette
2015-04-14 21:10             ` Mikko Perttunen
2015-04-14 21:10               ` Mikko Perttunen
2015-04-14 14:43     ` Thierry Reding
2015-04-14 14:43       ` Thierry Reding
2015-04-14 21:09       ` Michael Turquette
2015-04-14 21:09         ` Michael Turquette

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.