linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: t-kristo@ti.com (Tero Kristo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv2 9/9] ARM: dts: omap4: convert to use the new clkctrl clocks for the drivers
Date: Thu, 30 Mar 2017 10:33:55 +0300	[thread overview]
Message-ID: <87f1e815-baf6-f41a-99d2-8ba6ca6292c4@ti.com> (raw)
In-Reply-To: <20170328150316.GU10760@atomide.com>

On 28/03/17 18:03, Tony Lindgren wrote:
> * Tero Kristo <t-kristo@ti.com> [170327 22:46]:
>> On 28/03/17 03:18, Tony Lindgren wrote:
>>> * Tero Kristo <t-kristo@ti.com> [170317 02:12]:
>>>> Convert the drivers to use the new clkctrl clocks.
>>>>
>>>> Signed-off-by: Tero Kristo <t-kristo@ti.com>
>>>> ---
>>>>  arch/arm/boot/dts/omap4.dtsi | 164 ++++++++++++++++++++++++++++++++++++++-----
>>>>  1 file changed, 146 insertions(+), 18 deletions(-)
>>>>
>>>> diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
>>>> index 3ecf616..c39304a 100644
>>>> --- a/arch/arm/boot/dts/omap4.dtsi
>>>> +++ b/arch/arm/boot/dts/omap4.dtsi
>>>> @@ -94,16 +94,22 @@
>>>>  			compatible = "ti,omap4-mpu";
>>>>  			ti,hwmods = "mpu";
>>>>  			sram = <&ocmcram>;
>>>> +			clocks = <&mpuss_clkctrl OMAP4_MPU_CLKCTRL 0>;
>>>> +			clock-names = "clkctrl";
>>>>  		};
>>>
>>> Oh one more thing. I don't think we should add the clocks
>>> here as they are now wrongly allocated to the device within
>>> the interconnect target module. These clocks really belong
>>> to each interconnect target module that we don't have in the
>>> dts yet.
>>>
>>> So we're better off adding the clockctrl clocks and then
>>> changing the dts to use the interconnect target modules
>>> with the clockctrl clocks.
>>
>> The problem is, you can't just add the clkctrl clock nodes themselves alone,
>> as this introduces the problem that any clocks with no users will get
>> disabled => causes a boot time hang when all the device clocks get shut
>> down.
>
> Hmm yeah. I wonder how to work around that.. What if we first updated
> the clocks in the hwmod code? Or updated the aliases?

Kind of a chicken-egg problem. You could maybe probe the "ti,clkctrl" 
driver manually to avoid the issue.

The core clocks get disabled when CCF notices they are not used. You 
can't really avoid that with updating aliases / updating the clocks in 
hwmod code. And, hwmod basically tries to still use the same registers 
through the legacy route, which leads to conflict.

>
>> If you want to delay the usage of the clocks until you have interconnect
>> target modules in place, you need to introduce the clock nodes also at that
>> point, similar to what needs to be done now to squash patch #8 or #9.
>
> I'd like to do this one device at a time without any large
> flips as we have quite a few devices with special handling for
> reset and idling in the hwmod code.

One thing that can be done also is to introduce the clkctrl clocks one 
at a time in the data file also, but this is going to be cumbersome, as 
you need to keep these three in sync:

- drivers/clk/ti/clk-44xx.c
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c
- arch/arm/boot/dts/omap4.dtsi

... and that per SoC of course.

With the interconnect driver introduction, you should be able to flip 
one device at a time from hwmod to interconnect. In this case, all the 
clocks are already there, and you just need to modify DT + hwmod data to 
do the flip.

-Tero

  reply	other threads:[~2017-03-30  7:33 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-17  9:09 [PATCHv2 0/9] clk: ti: add support for clkctrl clocks Tero Kristo
2017-03-17  9:09 ` [PATCHv2 1/9] Documentation: dt-bindings: Add binding documentation for TI " Tero Kristo
2017-03-17 14:18   ` Tony Lindgren
2017-03-17 15:01     ` Tero Kristo
2017-03-17  9:09 ` [PATCHv2 2/9] clk: ti: add support for " Tero Kristo
2017-03-17  9:09 ` [PATCHv2 3/9] dt-bindings: clk: add omap4 clkctrl definitions Tero Kristo
2017-04-24 21:49   ` Tony Lindgren
2017-03-17  9:09 ` [PATCHv2 4/9] clk: ti: omap4: add clkctrl clock data Tero Kristo
2017-03-17  9:09 ` [PATCHv2 5/9] ARM: OMAP2+: hwmod: assign main clock from DT if available Tero Kristo
2017-03-17 15:41   ` Tony Lindgren
2017-03-17 21:40     ` Tero Kristo
2017-03-17 22:17       ` Tony Lindgren
2017-03-20 13:23         ` Tero Kristo
2017-03-20 14:34           ` Tony Lindgren
2017-03-20 14:36             ` Tony Lindgren
2017-03-17  9:09 ` [PATCHv2 6/9] ARM: OMAP2+: timer: add support for fetching fck handle from DT Tero Kristo
2017-03-17 15:41   ` Tony Lindgren
2017-03-17  9:09 ` [PATCHv2 7/9] ARM: dts: omap4: add bus functionality to base PRCM nodes Tero Kristo
2017-03-17  9:09 ` [PATCHv2 8/9] ARM: dts: omap4: add clkctrl nodes Tero Kristo
2017-03-17 15:43   ` Tony Lindgren
2017-03-17 21:41     ` Tero Kristo
2017-03-20 13:25       ` Tero Kristo
2017-03-20 14:35         ` Tony Lindgren
2017-03-20 14:52           ` Tero Kristo
2017-03-20 15:07             ` Tony Lindgren
2017-03-17  9:09 ` [PATCHv2 9/9] ARM: dts: omap4: convert to use the new clkctrl clocks for the drivers Tero Kristo
2017-03-28  0:18   ` Tony Lindgren
2017-03-28  5:44     ` Tero Kristo
2017-03-28 15:03       ` Tony Lindgren
2017-03-30  7:33         ` Tero Kristo [this message]
2017-04-03 14:16           ` Tony Lindgren
2017-03-17 15:25 ` [PATCHv2 0/9] clk: ti: add support for clkctrl clocks Tony Lindgren
2017-03-17 21:37   ` Tero Kristo
2017-03-23  1:00     ` Tony Lindgren
2017-03-23 17:02       ` Tony Lindgren
2017-03-28  5:41         ` Tero Kristo
2017-03-30  7:18         ` Tero Kristo
2017-03-30 16:54           ` Tony Lindgren
2017-04-03 14:51             ` Tero Kristo
2017-04-03 15:36               ` Tony Lindgren
2017-04-05 16:59                 ` Tero Kristo
2017-04-06 16:49                 ` Tero Kristo
2017-04-07 16:47                   ` Tony Lindgren
2017-04-10  7:31                     ` Tero Kristo
2017-04-10 16:18                       ` Tony Lindgren
2017-04-10 18:33                         ` Tero Kristo
2017-04-11 16:24                           ` Tony Lindgren

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=87f1e815-baf6-f41a-99d2-8ba6ca6292c4@ti.com \
    --to=t-kristo@ti.com \
    --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;
as well as URLs for NNTP newsgroup(s).