public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: heiko@sntech.de (Heiko Stübner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2] cpufreq: Add S3C2416/S3C2450 cpufreq driver
Date: Thu, 16 Feb 2012 13:42:16 +0100	[thread overview]
Message-ID: <201202161342.17657.heiko@sntech.de> (raw)
In-Reply-To: <4F3CF1D9.5030109@samsung.com>

Hi Kgene,

Am Donnerstag, 16. Februar 2012, 13:08:57 schrieben Sie:
> On 02/16/12 19:42, Heiko St?bner wrote:
> > The S3C2416/S3C2450 SoCs support two sources for the armclk.
> > 
> > The first source is the so called armdiv which divides the msysclk down
> > to provide necessary cpu rates. In this mode the core voltage must be
> > always at 1.3V. The frequency from the armdiv is not allowed to be
> > lower than the hclk frequency.
> > 
> > In the second mode the armclk can be sourced directly from the hclk in
> > the so called "dynamic voltags scaling" (dvs) mode. Here the armdiv
> > isn't used at all. Also in this mode the core voltage may be lowered.
> > Existing hardware and tests with it suggest 1.0V as sufficient.
> > 
> > When changing the clock source to the armdiv from the hclk, the SoC
> > shows stability issues if the new frequency is higher than the current
> > hclk frequency. Hence the driver always forces the armdiv to the hclk
> > frequency before the source change and lets the cpufreq issue another
> > set_target call for higher frequencies.
> > 
> > To mark the hclk frequency as lower as the corresponding armdiv
> > frequency it is set 1MHz below the real frequency. This lets the cpufreq
> > framework change between 133MHz based on hclk and 133MHz based on armdiv
> > at will.
> > 
> > Signed-off-by: Heiko Stuebner<heiko@sntech.de>
> > Tested-by: Andrey Gusakov<dron0gus@gmail.com>
> > ---
> > changes since v1: correct the frequencies of the S3C2450 variant
> > changes since RFC: reboot-notifier to leave dvs mode on reboot
> > and a lot of cleanups
> > 
> >   drivers/cpufreq/Kconfig.arm       |   22 ++
> >   drivers/cpufreq/Makefile          |    1 +
> >   drivers/cpufreq/s3c2416-cpufreq.c |  542
> >   +++++++++++++++++++++++++++++++++++++ 3 files changed, 565
> >   insertions(+), 0 deletions(-)
> >   create mode 100644 drivers/cpufreq/s3c2416-cpufreq.c
> 
> As you know, I'm working on move cpufreq drivers of s3c2410, s3c2412 and
> s3c2440 into drivers/cpufreq/.
> 
> Now I'm not sure some common function can be used for them and this as
> well. But I think, if so, would be better to us.
> 
> So please wait for some time to finish my working. Maybe next week?
> 
> Then, let me back on this.

With most components there is a dividing line between the SoCs before and 
after S3C2443.

On the SoCs before S3C2443 the fclk comes directly from the pll. Hence when 
one wants to change its frequency the pll has to be reset and frequencies of 
the depending periphal clocks also have to be recalculated.

On SoCs starting from S3C2443 the msysclk (from the mpll) feeds a complete 
separate divider (called armdiv) which supplies exclusivly the armclk. The 
periphal clocks don't need to be touched normally.

Therefore the cpufreq functionality of S3C2416/S3C2443/S3C2450 is more in line 
with the S3C64xx and shows no real commonalities with earlier S3C-SoCs, as the 
clock structure is vastly different and can also do with a much simpler driver 
than the earlier S3C SoCs.


Heiko

      reply	other threads:[~2012-02-16 12:42 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-16 10:42 [PATCH v2] cpufreq: Add S3C2416/S3C2450 cpufreq driver Heiko Stübner
2012-02-16 12:08 ` Kukjin Kim
2012-02-16 12:42   ` Heiko Stübner [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201202161342.17657.heiko@sntech.de \
    --to=heiko@sntech.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox