From: Peter De Schrijver <pdeschrijver@nvidia.com>
To: Joel Stanley <joel@jms.id.au>
Cc: Philipp Zabel <p.zabel@pengutronix.de>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@codeaurora.org>, <linux-clk@vger.kernel.org>,
Ryan Chen <ryan_chen@aspeedtech.com>,
"Linus Walleij" <linus.walleij@linaro.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Andrew Jeffery <andrew@aj.id.au>, Jeremy Kerr <jk@ozlabs.org>
Subject: Re: Coupled clk/reset
Date: Wed, 19 Jul 2017 11:10:26 +0300 [thread overview]
Message-ID: <20170719081026.GE1002@tbergstrom-lnx.Nvidia.com> (raw)
In-Reply-To: <CACPK8XdXxfxngzhSxyPb=OKcEv+3Up8ve-2WtpETpXvXe_av5w@mail.gmail.com>
On Tue, Jul 18, 2017 at 07:53:09PM +0930, Joel Stanley wrote:
> Hello!
>
> I'm taking a stab at a clk and reset driver for the Aspeed SoCs. I've
> used the Gemini driver for inspiration so far, which looks to be a
> good fit for the clock gating and important clocks (those we need in
> order to get the uart and timer source going).
>
> One tricky bit is the datasheet specifies the following for enabling
> an IP block ('engine'), whenever the engine is started from the
> clocked stopped state:
>
> 1. Enable engine reset
> 2. Delay 100us
> 3. Enable clock
> 4. Delay 10ms
> 5. Disable engine reset
>
This is a pretty standard sequence. The reset is synchronous, so the module
clock needs to be running for the reset toggling to take effect. And it takes
some time for the reset propagate through all the logic, hence the second
delay, although 10ms seems large to me.
Peter.
prev parent reply other threads:[~2017-07-19 8:10 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-18 10:23 Coupled clk/reset Joel Stanley
2017-07-18 10:56 ` Benjamin Herrenschmidt
2017-07-18 14:25 ` Philipp Zabel
2017-07-18 14:06 ` Philipp Zabel
2017-07-18 21:14 ` Benjamin Herrenschmidt
2017-07-19 3:08 ` Joel Stanley
2017-07-19 8:10 ` Peter De Schrijver [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=20170719081026.GE1002@tbergstrom-lnx.Nvidia.com \
--to=pdeschrijver@nvidia.com \
--cc=andrew@aj.id.au \
--cc=benh@kernel.crashing.org \
--cc=jk@ozlabs.org \
--cc=joel@jms.id.au \
--cc=linus.walleij@linaro.org \
--cc=linux-clk@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=p.zabel@pengutronix.de \
--cc=ryan_chen@aspeedtech.com \
--cc=sboyd@codeaurora.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