From: Michael Welling <mwelling@ieee.org>
To: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Mike Turquette <mturquette@linaro.org>,
Stephen Boyd <sboyd@codeaurora.org>,
Jean-Francois Moine <moinejf@free.fr>,
Russell King <rmk+linux@arm.linux.org.uk>,
Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
Gregory Clement <gregory.clement@free-electrons.com>,
devicetree@vger.kernel.org, linux-clk@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/4] clk: si5351: Some fixes
Date: Thu, 30 Apr 2015 17:36:03 -0500 [thread overview]
Message-ID: <20150430223603.GA18006@deathray> (raw)
In-Reply-To: <5542AAE0.5020204@gmail.com>
On Fri, May 01, 2015 at 12:21:20AM +0200, Sebastian Hesselbarth wrote:
> On 30.04.2015 23:20, Michael Welling wrote:
> >On Thu, Apr 30, 2015 at 10:44:07PM +0200, Sebastian Hesselbarth wrote:
> [...]
> >>What I noticed about your clk2 that you always measure as 0 Hz is
> >>that none of your clocks is prepared/enabled.
> >>
> >>Currently, the si5351 driver only ensures the output is enabled
> >>when si5351_clkout_prepare() is called.
> >>
> >>As long as you do not have a clk consumer that properly prepare/enables
> >>the clock output, it may remain disabled.
> >>
> >>We should probably have additional DT properties and corresponding
> >>pdata to force clkoutN always on.
> >
> >Does the silabs,disable-state of 3 (SI5351_DISABLE_NEVER) take care
> >of this?
>
> That would be the HW version of never disabling the clock output.
> I never really tried the property, does it work as expected?
This did not appear to effect the behavior.
>
> >Otherwise is there a simple registration that will do this?
>
> The SW version of such a property would involve CLK_IGNORE_UNUSED
> and enabling all requested clock outputs on probe().
>
> If above HW property already works, I think it should be enough.
>
> [...]
> >>>It should be noted that if I program the device's register map in the
> >>>bootloader the device keeps the correct frequency outputs.
> >>
> >>"keeps"? You mean "generates", don't you?
> >>
> >
> >Yes the clocks are generated and do not get effected by the driver.
>
> IIRC, clk API does check if requested rate and current rate match
> already. If they do, it does not request the same rate again.
>
So I found that the audio codec that I am driving with clk2 could
register the clock and allowed the clock to be enabled and disabled
by playing audio.
This is when I noticed some strange behavior. The first time I attempt
to play audio the clock does not turn on blocking the audio from playing.
After I interrupt and the clock is disabled for the first time, the
successive clock enables work as expected.
Something tells me that a fault off some kind is occurring on initial
configuration.
> Sebastian
>
WARNING: multiple messages have this Message-ID (diff)
From: mwelling@ieee.org (Michael Welling)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/4] clk: si5351: Some fixes
Date: Thu, 30 Apr 2015 17:36:03 -0500 [thread overview]
Message-ID: <20150430223603.GA18006@deathray> (raw)
In-Reply-To: <5542AAE0.5020204@gmail.com>
On Fri, May 01, 2015 at 12:21:20AM +0200, Sebastian Hesselbarth wrote:
> On 30.04.2015 23:20, Michael Welling wrote:
> >On Thu, Apr 30, 2015 at 10:44:07PM +0200, Sebastian Hesselbarth wrote:
> [...]
> >>What I noticed about your clk2 that you always measure as 0 Hz is
> >>that none of your clocks is prepared/enabled.
> >>
> >>Currently, the si5351 driver only ensures the output is enabled
> >>when si5351_clkout_prepare() is called.
> >>
> >>As long as you do not have a clk consumer that properly prepare/enables
> >>the clock output, it may remain disabled.
> >>
> >>We should probably have additional DT properties and corresponding
> >>pdata to force clkoutN always on.
> >
> >Does the silabs,disable-state of 3 (SI5351_DISABLE_NEVER) take care
> >of this?
>
> That would be the HW version of never disabling the clock output.
> I never really tried the property, does it work as expected?
This did not appear to effect the behavior.
>
> >Otherwise is there a simple registration that will do this?
>
> The SW version of such a property would involve CLK_IGNORE_UNUSED
> and enabling all requested clock outputs on probe().
>
> If above HW property already works, I think it should be enough.
>
> [...]
> >>>It should be noted that if I program the device's register map in the
> >>>bootloader the device keeps the correct frequency outputs.
> >>
> >>"keeps"? You mean "generates", don't you?
> >>
> >
> >Yes the clocks are generated and do not get effected by the driver.
>
> IIRC, clk API does check if requested rate and current rate match
> already. If they do, it does not request the same rate again.
>
So I found that the audio codec that I am driving with clk2 could
register the clock and allowed the clock to be enabled and disabled
by playing audio.
This is when I noticed some strange behavior. The first time I attempt
to play audio the clock does not turn on blocking the audio from playing.
After I interrupt and the clock is disabled for the first time, the
successive clock enables work as expected.
Something tells me that a fault off some kind is occurring on initial
configuration.
> Sebastian
>
WARNING: multiple messages have this Message-ID (diff)
From: Michael Welling <mwelling-EkmVulN54Sk@public.gmane.org>
To: Sebastian Hesselbarth
<sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Mike Turquette
<mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
Jean-Francois Moine <moinejf-GANU6spQydw@public.gmane.org>,
Russell King <rmk+linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>,
Gregory Clement
<gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 0/4] clk: si5351: Some fixes
Date: Thu, 30 Apr 2015 17:36:03 -0500 [thread overview]
Message-ID: <20150430223603.GA18006@deathray> (raw)
In-Reply-To: <5542AAE0.5020204-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
On Fri, May 01, 2015 at 12:21:20AM +0200, Sebastian Hesselbarth wrote:
> On 30.04.2015 23:20, Michael Welling wrote:
> >On Thu, Apr 30, 2015 at 10:44:07PM +0200, Sebastian Hesselbarth wrote:
> [...]
> >>What I noticed about your clk2 that you always measure as 0 Hz is
> >>that none of your clocks is prepared/enabled.
> >>
> >>Currently, the si5351 driver only ensures the output is enabled
> >>when si5351_clkout_prepare() is called.
> >>
> >>As long as you do not have a clk consumer that properly prepare/enables
> >>the clock output, it may remain disabled.
> >>
> >>We should probably have additional DT properties and corresponding
> >>pdata to force clkoutN always on.
> >
> >Does the silabs,disable-state of 3 (SI5351_DISABLE_NEVER) take care
> >of this?
>
> That would be the HW version of never disabling the clock output.
> I never really tried the property, does it work as expected?
This did not appear to effect the behavior.
>
> >Otherwise is there a simple registration that will do this?
>
> The SW version of such a property would involve CLK_IGNORE_UNUSED
> and enabling all requested clock outputs on probe().
>
> If above HW property already works, I think it should be enough.
>
> [...]
> >>>It should be noted that if I program the device's register map in the
> >>>bootloader the device keeps the correct frequency outputs.
> >>
> >>"keeps"? You mean "generates", don't you?
> >>
> >
> >Yes the clocks are generated and do not get effected by the driver.
>
> IIRC, clk API does check if requested rate and current rate match
> already. If they do, it does not request the same rate again.
>
So I found that the audio codec that I am driving with clk2 could
register the clock and allowed the clock to be enabled and disabled
by playing audio.
This is when I noticed some strange behavior. The first time I attempt
to play audio the clock does not turn on blocking the audio from playing.
After I interrupt and the clock is disabled for the first time, the
successive clock enables work as expected.
Something tells me that a fault off some kind is occurring on initial
configuration.
> Sebastian
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2015-04-30 22:36 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-30 17:45 [PATCH 0/4] clk: si5351: Some fixes Sebastian Hesselbarth
2015-04-30 17:45 ` Sebastian Hesselbarth
2015-04-30 17:45 ` Sebastian Hesselbarth
2015-04-30 17:45 ` [PATCH 1/4] clk: si5351: Mention clock-names in the binding documentation Sebastian Hesselbarth
2015-04-30 17:45 ` Sebastian Hesselbarth
2015-04-30 17:45 ` [PATCH 2/4] ARM: dove: Add clock-names to CuBox Si5351 clk generator Sebastian Hesselbarth
2015-04-30 17:45 ` Sebastian Hesselbarth
2015-04-30 17:45 ` [PATCH 3/4] clk: si5351: Do not pass struct clk in platform_data Sebastian Hesselbarth
2015-04-30 17:45 ` Sebastian Hesselbarth
2015-04-30 18:20 ` Fabio Estevam
2015-04-30 18:20 ` Fabio Estevam
2015-04-30 18:30 ` Michael Welling
2015-04-30 18:30 ` Michael Welling
2015-04-30 18:44 ` Sebastian Hesselbarth
2015-04-30 18:44 ` Sebastian Hesselbarth
2015-04-30 19:16 ` Fabio Estevam
2015-04-30 19:16 ` Fabio Estevam
2015-04-30 20:46 ` Sebastian Hesselbarth
2015-04-30 20:46 ` Sebastian Hesselbarth
2015-04-30 17:45 ` [PATCH 4/4] clk: si5351: Reset PLL after rate change Sebastian Hesselbarth
2015-04-30 17:45 ` Sebastian Hesselbarth
2015-04-30 18:49 ` Michael Welling
2015-04-30 18:49 ` Michael Welling
2015-04-30 18:58 ` Sebastian Hesselbarth
2015-04-30 18:58 ` Sebastian Hesselbarth
2015-04-30 18:47 ` [PATCH 0/4] clk: si5351: Some fixes Michael Welling
2015-04-30 18:47 ` Michael Welling
2015-04-30 19:33 ` Michael Welling
2015-04-30 19:33 ` Michael Welling
2015-04-30 19:33 ` Michael Welling
2015-04-30 20:44 ` Sebastian Hesselbarth
2015-04-30 20:44 ` Sebastian Hesselbarth
2015-04-30 20:44 ` Sebastian Hesselbarth
2015-04-30 21:20 ` Michael Welling
2015-04-30 21:20 ` Michael Welling
2015-04-30 21:20 ` Michael Welling
2015-04-30 22:21 ` Sebastian Hesselbarth
2015-04-30 22:21 ` Sebastian Hesselbarth
2015-04-30 22:21 ` Sebastian Hesselbarth
2015-04-30 22:36 ` Michael Welling [this message]
2015-04-30 22:36 ` Michael Welling
2015-04-30 22:36 ` Michael Welling
2015-05-01 8:17 ` Sebastian Hesselbarth
2015-05-01 8:17 ` Sebastian Hesselbarth
2015-05-01 8:17 ` Sebastian Hesselbarth
2015-05-08 0:52 ` Michael Welling
2015-05-08 0:52 ` Michael Welling
2015-05-01 9:14 ` Jean-Francois Moine
2015-05-01 9:14 ` Jean-Francois Moine
2015-05-01 9:14 ` Jean-Francois Moine
2015-05-01 9:14 ` Jean-Francois Moine
2015-05-01 9:30 ` Sebastian Hesselbarth
2015-05-01 9:30 ` Sebastian Hesselbarth
2015-05-02 8:53 ` Jean-Francois Moine
2015-05-02 8:55 ` Jean-Francois Moine
2015-05-02 8:55 ` Jean-Francois Moine
2015-05-02 8:55 ` Jean-Francois Moine
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=20150430223603.GA18006@deathray \
--to=mwelling@ieee.org \
--cc=andrew@lunn.ch \
--cc=devicetree@vger.kernel.org \
--cc=gregory.clement@free-electrons.com \
--cc=jason@lakedaemon.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=moinejf@free.fr \
--cc=mturquette@linaro.org \
--cc=rmk+linux@arm.linux.org.uk \
--cc=sboyd@codeaurora.org \
--cc=sebastian.hesselbarth@gmail.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 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.