From: Tero Kristo <t-kristo@ti.com>
To: Mike Turquette <mturquette@linaro.org>,
Peter Ujfalusi <peter.ujfalusi@ti.com>,
linux-omap@vger.kernel.org, sassmann@kpanic.de, jsarha@ti.com
Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 0/1] ARM: OMAP: add external clock provider support
Date: Thu, 4 Sep 2014 09:48:28 +0300 [thread overview]
Message-ID: <54080B3C.2080808@ti.com> (raw)
In-Reply-To: <20140903192819.11368.52343@quantum>
On 09/03/2014 10:28 PM, Mike Turquette wrote:
> Quoting Tero Kristo (2014-08-04 05:36:19)
>> On 08/04/2014 02:37 PM, Peter Ujfalusi wrote:
>>> On 08/01/2014 04:15 PM, Tero Kristo wrote:
>>>> Hi,
>>>>
>>>> This patch adds possibility to register external clocks (outside the main
>>>> SoC) on TI boards through device tree. Clock sources as such include for
>>>> example twl-6030 / twl-6040 chips and variants which can be used to clock
>>>> for example audio / WLAN chips.
>>>
>>> Just one question to Mike and Tero:
>>> would it be possible to have generic binding for such an external clocks?
>>> We have the palmas clock driver already upstream which handles the 32K clocks
>>> from the PMIC. Palmas class of PMICs can be used with TI/nVidia(/Intel?)
>>> platforms. We use Palmas on omap5-uevm, DRA7-EVM also uses Palmas compatible
>>> PMIC and some nVidia platform also uses this class of devices (and they all
>>> need to have control over the 32K clock(s)).
>>
>> Other platforms initialize their clocks in different manner, they can
>> use generic of_clk_init I believe. If they can't use that for some
>> reason, then they need to implement something similar to this.
>
> Right. To answer Peter's question, we do have a generic binding, it is
> the clock binding ;-)
>
> Even the idea of having a "TI clock provider" isn't really a good way to
> do things. IP blocks that generate clocks are clock providers, not
> companies. As such if Palmas or Gaia or whatever generate clocks then we
> don't need any new infrastructure in the clock core to accomodate this.
> Those drivers simply need to include clk-provider.h and register their
> clocks with the framework.
>
> Some good examples of this are the omap3-isp.c driver, and qcom's hdmi
> phy driver (sorry, don't have the path handy) which both consume clocks
> generated by other clock providers, and they provide their own clocks
> which are generated within their own IP/module.
>
> A big part of the design of the ccf (and later, the DT bindings) is that
> we do not need a centralized place to store every piece of clock
> generation knowledge and clock routing knowledge.
This patch is obsolete now, I posted the patch which changes the TI
clock driver to use generic of_clk_init instead of a custom one. This
now initializes all the external clocks also without any issues.
The patch itself can potentially cause some problems with DPLL clocks
though (as they use the retry init mechanism and this is overlooked in
v1), so I am working on v2 atm.
-Tero
>
> Regards,
> Mike
>
>>
>> -Tero
>>
>>>
>>>> This patch can be queued once someone has a use-case + patches that requires
>>>> usage of such clocks.
>>>>
>>>> -Tero
>>>>
>>>
>>>
>>
WARNING: multiple messages have this Message-ID (diff)
From: t-kristo@ti.com (Tero Kristo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/1] ARM: OMAP: add external clock provider support
Date: Thu, 4 Sep 2014 09:48:28 +0300 [thread overview]
Message-ID: <54080B3C.2080808@ti.com> (raw)
In-Reply-To: <20140903192819.11368.52343@quantum>
On 09/03/2014 10:28 PM, Mike Turquette wrote:
> Quoting Tero Kristo (2014-08-04 05:36:19)
>> On 08/04/2014 02:37 PM, Peter Ujfalusi wrote:
>>> On 08/01/2014 04:15 PM, Tero Kristo wrote:
>>>> Hi,
>>>>
>>>> This patch adds possibility to register external clocks (outside the main
>>>> SoC) on TI boards through device tree. Clock sources as such include for
>>>> example twl-6030 / twl-6040 chips and variants which can be used to clock
>>>> for example audio / WLAN chips.
>>>
>>> Just one question to Mike and Tero:
>>> would it be possible to have generic binding for such an external clocks?
>>> We have the palmas clock driver already upstream which handles the 32K clocks
>>> from the PMIC. Palmas class of PMICs can be used with TI/nVidia(/Intel?)
>>> platforms. We use Palmas on omap5-uevm, DRA7-EVM also uses Palmas compatible
>>> PMIC and some nVidia platform also uses this class of devices (and they all
>>> need to have control over the 32K clock(s)).
>>
>> Other platforms initialize their clocks in different manner, they can
>> use generic of_clk_init I believe. If they can't use that for some
>> reason, then they need to implement something similar to this.
>
> Right. To answer Peter's question, we do have a generic binding, it is
> the clock binding ;-)
>
> Even the idea of having a "TI clock provider" isn't really a good way to
> do things. IP blocks that generate clocks are clock providers, not
> companies. As such if Palmas or Gaia or whatever generate clocks then we
> don't need any new infrastructure in the clock core to accomodate this.
> Those drivers simply need to include clk-provider.h and register their
> clocks with the framework.
>
> Some good examples of this are the omap3-isp.c driver, and qcom's hdmi
> phy driver (sorry, don't have the path handy) which both consume clocks
> generated by other clock providers, and they provide their own clocks
> which are generated within their own IP/module.
>
> A big part of the design of the ccf (and later, the DT bindings) is that
> we do not need a centralized place to store every piece of clock
> generation knowledge and clock routing knowledge.
This patch is obsolete now, I posted the patch which changes the TI
clock driver to use generic of_clk_init instead of a custom one. This
now initializes all the external clocks also without any issues.
The patch itself can potentially cause some problems with DPLL clocks
though (as they use the retry init mechanism and this is overlooked in
v1), so I am working on v2 atm.
-Tero
>
> Regards,
> Mike
>
>>
>> -Tero
>>
>>>
>>>> This patch can be queued once someone has a use-case + patches that requires
>>>> usage of such clocks.
>>>>
>>>> -Tero
>>>>
>>>
>>>
>>
next prev parent reply other threads:[~2014-09-04 6:48 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-01 13:15 [PATCH 0/1] ARM: OMAP: add external clock provider support Tero Kristo
2014-08-01 13:15 ` Tero Kristo
2014-08-01 13:15 ` [PATCH 1/1] clk: ti: add support for external clock provider Tero Kristo
2014-08-01 13:15 ` Tero Kristo
2014-08-04 10:50 ` Jyri Sarha
2014-08-04 10:50 ` Jyri Sarha
2014-08-19 13:22 ` Mark Rutland
2014-08-19 13:22 ` Mark Rutland
2014-08-20 7:39 ` Tero Kristo
2014-08-20 7:39 ` Tero Kristo
2014-08-21 13:42 ` Tero Kristo
2014-08-21 13:42 ` Tero Kristo
2014-08-04 11:37 ` [PATCH 0/1] ARM: OMAP: add external clock provider support Peter Ujfalusi
2014-08-04 11:37 ` Peter Ujfalusi
2014-08-04 12:36 ` Tero Kristo
2014-08-04 12:36 ` Tero Kristo
2014-09-03 19:28 ` Mike Turquette
2014-09-03 19:28 ` Mike Turquette
2014-09-04 6:48 ` Tero Kristo [this message]
2014-09-04 6:48 ` Tero Kristo
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=54080B3C.2080808@ti.com \
--to=t-kristo@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=jsarha@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=mturquette@linaro.org \
--cc=peter.ujfalusi@ti.com \
--cc=sassmann@kpanic.de \
/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.