From: Colin Cross <ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org>
To: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Peter De Schrijver
<pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
Simon Glass <sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
Grant Likely
<grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>,
"rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org"
<rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
Tom Warren <TWarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
Jerry Van Baren
<vanbaren-He//nVnquyzQT0dZR+AlfA@public.gmane.org>,
Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
Devicetree Discuss
<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
U-Boot Mailing List
<u-boot-0aAXYlwwYIKGBzrmiIFOJg@public.gmane.org>,
"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] ARM: tegra: Define Tegra20 CAR binding
Date: Tue, 24 Jan 2012 14:59:40 -0800 [thread overview]
Message-ID: <CAMbhsRScz4edCr4Cxa=QbBhuYW1M3GsbKhCbFuo5Zu9PRdNfSg@mail.gmail.com> (raw)
In-Reply-To: <74CDBE0F657A3D45AFBB94109FB122FF178CB81EEB-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
On Tue, Jan 24, 2012 at 2:43 PM, Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> wrote:
> Colin Cross wrote at Tuesday, January 24, 2012 3:33 PM:
>> On Tue, Jan 24, 2012 at 2:08 PM, Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> wrote:
>> > Peter De Schrijver wrote at Tuesday, January 24, 2012 2:53 AM:
>> >> What about the peripheral resets which are also handled by CAR? Peripheral
>> >> clock nodes also offer assert and deassert methods for the reset signal
>> >> associated with them. Those methods are used when powergating domains for
>> >> example. Should we model this in the same binding?
>> >
>> > In most cases, I think the resets are handled purely within clock enable
>> > and disable, so there's no need to explicitly manage them or represent
>> > them in the device tree. Do you agree here?
>>
>> clk_enable could force a deasserted reset, but clk_disable cannot
>> imply asserting reset. The clocks need to be turned off for power
>> management without resetting the registers.
>
> Yes, I just spoke to someone off-list, and he said the same thing. He
> went on to say that therefore even the reset removal with clk_enable
> was questionable, and that drivers should explicitly manage reset
> removal themselves. Does that seem a reasonable stance? It'd certainly
> take away the somewhat asymmetric nature of reset removal just magically
> working when you first enable the clocks. We'd presumably then want a
> common reset infra-structure and binding to match that change?
In 99% of drivers reset is irrelevant, as long as the block is out of
reset by the time the driver starts writing to registers. clk_enable
is a decent place to ensure that - it always has to be done before
writing to the registers, and it maps nicely to the reset bits on
Tegra. It would be nice if those driver didn't need to deassert reset
explicitly, especially if that requires a Tegra-specific API.
> (I know that'd make Simon happy, since then we'd be able to represent
> the reset IDs directly everywhere, unrelated to the clock IDs, and
> hence he could just use the reset IDs directly in the U-Boot code he's
> writing and ignore the non 1:1 mapping between clock and reset IDs)
>
>> > I recall that you mentioned some power-management code might need to
>> > manage reset separately though. Can you explain why a module would be
>> > reset separately from disabling the clocks though?
>>
>> The TRM lists a very specific sequence of clocks, resets, clamps, and
>> power for power domain gating. Other than that, I think the only use
>> for directly calling reset that ended up in the Android Tegra2 tree
>> was for error recovery on HW blocks that could get locked up, probably
>> I2C.
>
> OK, those reasons make sense.
>
> --
> nvpublic
>
next prev parent reply other threads:[~2012-01-24 22:59 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1326342789-5781-1-git-send-email-sjg@chromium.org>
2012-01-12 4:32 ` [PATCH v4 02/20] fdt: Add functions to access phandles, arrays and bools Simon Glass
[not found] ` <1326342789-5781-3-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-18 22:01 ` Stephen Warren
2012-01-23 2:03 ` [U-Boot] " Jerry Van Baren
2012-01-12 4:32 ` [PATCH v4 05/20] arm: fdt: Add skeleton device tree file from kernel Simon Glass
2012-01-12 4:32 ` [PATCH v4 10/20] tegra: fdt: Add additional USB binding Simon Glass
[not found] ` <1326342789-5781-11-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-18 22:48 ` Stephen Warren
[not found] ` <4F174C3E.2090403-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-01-19 5:35 ` Olof Johansson
[not found] ` <20120119053523.GB27447-O5ziIzlqnXUVNXGz7ipsyg@public.gmane.org>
2012-01-19 5:55 ` Simon Glass
[not found] ` <CAPnjgZ0JAyV8+0kLv=EcM-AhBxE-YSyG-Y7rYPS8PhOAOnq6dw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-19 6:41 ` Olof Johansson
[not found] ` <CAOesGMjCxryS+3yQZqCP3JYeHpCbUuNHM+rtDBoOQjF6rwLv5g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-19 6:59 ` Simon Glass
[not found] ` <CAPnjgZ10mwQJ7RubrO_VFdHF+39cHOjLPmQNbYBeERjTWJMU4Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-19 7:13 ` Olof Johansson
[not found] ` <CAOesGMhOe6enf9BFgpCbvEgtT3F-p5rEsxp8=PG57sxBaQvawQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-19 17:33 ` Stephen Warren
2012-01-19 23:55 ` Simon Glass
[not found] ` <1326342789-5781-1-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-12 4:32 ` [PATCH v4 01/20] fdt: Tidy up a few fdtdec problems Simon Glass
[not found] ` <1326342789-5781-2-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-18 21:58 ` Stephen Warren
2012-01-23 2:03 ` [U-Boot] " Jerry Van Baren
2012-01-12 4:32 ` [PATCH v4 03/20] fdt: Add basic support for decoding GPIO definitions Simon Glass
2012-01-18 22:17 ` Stephen Warren
2012-01-21 17:08 ` Simon Glass
[not found] ` <CAPnjgZ0TCNTZjR_Fc1+UvYxyjH-a-Bxtkz60OERR7YmC5tbuug-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-23 18:18 ` Stephen Warren
[not found] ` <4F1DA490.6090903-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-01-24 23:11 ` Simon Glass
[not found] ` <CAPnjgZ0eNXhWYtkb+4-FswpByAE7NHXoLz-ngp7Af_P0+u4GiQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-24 23:14 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF178CB81F0D-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-24 23:17 ` Simon Glass
2012-01-12 4:32 ` [PATCH v4 04/20] arm: fdt: Ensure that an embedded fdt is word-aligned Simon Glass
2012-02-18 11:51 ` Albert ARIBAUD
2012-02-18 18:09 ` Simon Glass
2012-02-19 8:27 ` Albert ARIBAUD
2012-02-19 16:23 ` Simon Glass
2012-02-19 18:33 ` Albert ARIBAUD
2012-02-27 20:27 ` Simon Glass
2012-01-12 4:32 ` [PATCH v4 06/20] tegra: fdt: Add Tegra2x device tree file from kernel Simon Glass
[not found] ` <1326342789-5781-7-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-18 22:24 ` Stephen Warren
2012-01-19 23:51 ` Simon Glass
2012-01-20 0:06 ` Stephen Warren
2012-01-12 4:32 ` [PATCH v4 07/20] tegra: fdt: Add device tree file for Tegra2 Seaboard " Simon Glass
2012-01-18 22:28 ` Stephen Warren
2012-01-21 17:20 ` Simon Glass
2012-01-12 4:32 ` [PATCH v4 08/20] fdt: Add staging area for device tree binding documentation Simon Glass
[not found] ` <1326342789-5781-9-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-18 22:30 ` Stephen Warren
2012-01-19 23:52 ` Simon Glass
2012-01-12 4:32 ` [PATCH v4 09/20] fdt: Add tegra-usb bindings file from linux Simon Glass
2012-01-12 4:33 ` [PATCH v4 11/20] tegra: fdt: Add clock bindings Simon Glass
[not found] ` <1326342789-5781-12-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-19 0:16 ` [PATCH] ARM: tegra: Define Tegra20 CAR binding Stephen Warren
[not found] ` <1326932212-30346-1-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-01-19 5:31 ` Olof Johansson
[not found] ` <20120119053143.GA27447-O5ziIzlqnXUVNXGz7ipsyg@public.gmane.org>
2012-01-19 17:17 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF1780DAB0CA-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-21 7:32 ` Olof Johansson
[not found] ` <CAOesGMh=i3EED-XhOpwGj8Vuma3xA0WehRL1iK1LSZfEuetP6Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-21 8:31 ` Mitch Bradley
2012-01-23 16:18 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF178CB81A90-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-23 17:45 ` Mitch Bradley
2012-01-23 18:16 ` Grant Likely
2012-01-22 18:03 ` Simon Glass
[not found] ` <CAPnjgZ2t9FnEubWmLyNMGGhr=jEmfb1qzK=SAzRopjbCbHKdrA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-23 16:29 ` Stephen Warren
2012-01-24 9:52 ` Peter De Schrijver
[not found] ` <20120124095241.GO10446-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org>
2012-01-24 22:08 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF178CB81EC4-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-24 22:32 ` Colin Cross
[not found] ` <CAMbhsRQYt7RoXTDDPxCgGG2UX5_T86saOyns_0f_Sz-p7-gMTw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-24 22:43 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF178CB81EEB-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-24 22:59 ` Colin Cross [this message]
[not found] ` <CAMbhsRScz4edCr4Cxa=QbBhuYW1M3GsbKhCbFuo5Zu9PRdNfSg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-25 9:50 ` Peter De Schrijver
2012-01-12 4:33 ` [PATCH v4 12/20] tegra: usb: fdt: Add additional device tree definitions for USB ports Simon Glass
[not found] ` <1326342789-5781-13-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-19 0:19 ` Stephen Warren
2012-01-19 23:53 ` Simon Glass
2012-01-12 4:33 ` [PATCH v4 13/20] tegra: usb: fdt: Add USB definitions for Tegra2 Seaboard Simon Glass
2012-01-12 4:33 ` [PATCH v4 15/20] fdt: Add function to return peripheral/clock ID Simon Glass
2012-01-12 4:33 ` [PATCH v4 20/20] tegra: fdt: Enable FDT support for Seaboard Simon Glass
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='CAMbhsRScz4edCr4Cxa=QbBhuYW1M3GsbKhCbFuo5Zu9PRdNfSg@mail.gmail.com' \
--to=ccross-z5hga2qsfarbdgjk7y7tuq@public.gmane.org \
--cc=TWarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org \
--cc=pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
--cc=sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
--cc=swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=u-boot-0aAXYlwwYIKGBzrmiIFOJg@public.gmane.org \
--cc=vanbaren-He//nVnquyzQT0dZR+AlfA@public.gmane.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;
as well as URLs for NNTP newsgroup(s).