From: Stephen Boyd <sboyd@codeaurora.org>
To: Hoan Tran <hotran@apm.com>
Cc: Michael Turquette <mturquette@baylibre.com>,
lkml <linux-kernel@vger.kernel.org>,
linux-clk <linux-clk@vger.kernel.org>, Duc Dang <dhdang@apm.com>,
Loc Ho <lho@apm.com>
Subject: Re: [PATCH v2] clk: Add fractional scale clock support
Date: Mon, 15 Aug 2016 17:14:31 -0700 [thread overview]
Message-ID: <20160816001431.GX361@codeaurora.org> (raw)
In-Reply-To: <CAFHUOYxT0BB6dCz8xEht7MmjgBT7HQwaOKsSnF1wFfgYFwjy=g@mail.gmail.com>
Sorry I was away for some time.
On 08/08, Hoan Tran wrote:
> On Wed, Jul 20, 2016 at 11:36 AM, Hoan Tran <hotran@apm.com> wrote:
> > On Fri, Jul 1, 2016 at 5:09 PM, Hoan Tran <hotran@apm.com> wrote:
> >>
> >> Hi Stephen,
> >>
> >> On Fri, Jul 1, 2016 at 11:38 AM, Stephen Boyd <sboyd@codeaurora.org> wrote:
> >> > Sorry I replied offlist before. Pressed the wrong key.
> >> >
> >> > On 06/30, Hoan Tran wrote:
> >> >> On Thu, Jun 30, 2016 at 1:23 PM, Stephen Boyd <sboyd@codeaurora.org> wrote:
> >> >> >
> >> >> > How is this different from clk-fractional-divider.c?
> >> >> >
> >> >>
> >> >> This is a driver which clock output is multiplied with a fixed fractional
> >> >> scale (denominator).
> >> >> A field inside a register is used to configure the multiplier.
> >> >>
> >> >> Example: With fractional scale is 1/8.
> >> >> Freq_out = Freq_parent * multiplier * (1/8)
> >> >>
> >> >> For fractional-divider, there are 2 fields of a register are used which
> >> >> - A field for numerator
> >> >> - A field for denominator
> >> >> Freq_out = Freq_parent * numerator / denominator
> >> >>
> >> >
> >> > Ok so the difference is that the denominator is a fixed value?
> >>
> >> The major difference is a fixed denominator.
> >> Another difference is:
> >> In case CLK_FRACTIONAL_SCALE_INVERTED=1, the freq_out is calculated as below
> >>
> >> Freq_out = Freq_parent * (fixed_denominator - multiplier) / fixed_denominator.
> >>
> >> > Perhaps that can be modeled as a clk-multiplier that is used as
> >> > the only parent of a fixed divider?
> >>
> >> Because of CLK_FRACTIONAL_SCALE_INVERTED flag, I don't know how to
> >> model as a clk-multiplier. And how to pass the fixed denominator into
> >> a clk-multiplier.
Would it be possible to add a flag to clk-multiplier to handle
the inverted case? I haven't seen anyone else with hardware like
that though, so perhaps the implementation should just go into
the vendor specific clk driver instead of being written
as a "basic clk type".
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
next prev parent reply other threads:[~2016-08-16 0:14 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-20 21:31 [PATCH v2] clk: Add fractional scale clock support Hoan Tran
[not found] ` <20160630202358.GC27880@codeaurora.org>
[not found] ` <CAFHUOYxS-aZGE-W8Oaop6hgfvd6MsvJ_N+GHTYdOzQZhH7hUPA@mail.gmail.com>
2016-07-01 18:38 ` Stephen Boyd
2016-07-02 0:09 ` Hoan Tran
2016-07-20 18:36 ` Hoan Tran
2016-08-08 23:40 ` Hoan Tran
2016-08-16 0:14 ` Stephen Boyd [this message]
2016-08-16 17:39 ` Hoan Tran
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=20160816001431.GX361@codeaurora.org \
--to=sboyd@codeaurora.org \
--cc=dhdang@apm.com \
--cc=hotran@apm.com \
--cc=lho@apm.com \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@baylibre.com \
/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