From: Alexandre Courbot <acourbot@nvidia.com>
To: Rob Herring <robherring2@gmail.com>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>,
"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
Javier Martinez Canillas <javier.martinez@collabora.co.uk>,
Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
Stephen Warren <swarren@wwwdotorg.org>,
Thierry Reding <thierry.reding@gmail.com>,
Alexandre Courbot <gnurou@gmail.com>,
Peter De Schrijver <pdeschrijver@nvidia.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 04/13] of: document new emc-timings subnode in nvidia,tegra124-car
Date: Fri, 7 Nov 2014 14:31:19 +0900 [thread overview]
Message-ID: <545C5927.3010001@nvidia.com> (raw)
In-Reply-To: <CAL_JsqKYSF3JVrXH_dkqRXQrgUU3igzvoK1C2k1Caz-4UuHX6Q@mail.gmail.com>
On 11/07/2014 12:12 AM, Rob Herring wrote:
> On Thu, Nov 6, 2014 at 12:37 AM, Alexandre Courbot <acourbot@nvidia.com> wrote:
>> On 10/30/2014 01:22 AM, Tomeu Vizoso wrote:
>>>
>>> The EMC clock needs some extra information for changing its rate.
>>>
>>> Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
>>> ---
>>> .../bindings/clock/nvidia,tegra124-car.txt | 46
>>> +++++++++++++++++++++-
>>> 1 file changed, 44 insertions(+), 2 deletions(-)
>>>
>>> diff --git
>>> a/Documentation/devicetree/bindings/clock/nvidia,tegra124-car.txt
>>> b/Documentation/devicetree/bindings/clock/nvidia,tegra124-car.txt
>>> index ded5d62..42e0588 100644
>>> --- a/Documentation/devicetree/bindings/clock/nvidia,tegra124-car.txt
>>> +++ b/Documentation/devicetree/bindings/clock/nvidia,tegra124-car.txt
>>> @@ -19,12 +19,35 @@ Required properties :
>>> In clock consumers, this cell represents the bit number in the CAR's
>>> array of CLK_RST_CONTROLLER_RST_DEVICES_* registers.
>>>
>>> +The node should contain a "emc-timings" subnode for each supported RAM
>>> type (see
>>> +field RAM_CODE in register PMC_STRAPPING_OPT_A), with its unit address
>>> being its
>>> +RAM_CODE.
>>> +
>>> +Required properties for "emc-timings" nodes :
>>> +- nvidia,ram-code : Should contain the value of RAM_CODE this timing set
>>> + is used for.
>>> +
>>> +Each "emc-timings" node should contain a "timing" subnode for every
>>> supported
>>> +EMC clock rate. The "timing" subnodes should have the clock rate in Hz as
>>> their
>>> +unit address.
>>
>>
>> This seems to be a quite liberal use of unit addresses (same in the next
>> patch) - is this allowed by DT?
>
> No, unit address should match a reg property.
Mmm, would you have any suggestion as to how this can be fixed? Right
now what I can think of is either to replace the "clock-frequency"
property by "reg" (which would be confusing), or to use a different
naming scheme, e.g. timing-12750000. IIUC the naming is not essential
for properly parsing these nodes, so maybe the second solution is the
way to go?
>
>>> +
>>> +Required properties for "timing" nodes :
>>> +- clock-frequency : Should contain the memory clock rate to which this
>>> timing
>>> +relates.
>>> +- nvidia,parent-clock-frequency : Should contain the rate at which the
>>> current
>>> +parent of the EMC clock should be running at this timing.
>>> +- clocks : Must contain an entry for each entry in clock-names.
>>> + See ../clocks/clock-bindings.txt for details.
>>> +- clock-names : Must include the following entries:
>>> + - emc-parent : the clock that should be the parent of the EMC clock at
>>> this
>>> +timing.
>>> +
>>> Example SoC include file:
>>>
>>> / {
>>> - tegra_car: clock {
>>> + tegra_car: clock@0,60006000 {
>
> The comma here is wrong. Commas should be used when you have something
> like PCI bus:dev:func for addressing.
>
>>> compatible = "nvidia,tegra124-car";
>>> - reg = <0x60006000 0x1000>;
>>> + reg = <0x0 0x60006000 0x0 0x1000>;
>
> The number of cell's is really irrelevant to the example.
>
>>> #clock-cells = <1>;
>>> #reset-cells = <1>;
>>> };
>>> @@ -60,4 +83,23 @@ Example board file:
>>> &tegra_car {
>>> clocks = <&clk_32k> <&osc>;
>>> };
>>> +
>>> + clock@0,60006000 {
>>> + emc-timings@3 {
>>> + nvidia,ram-code = <3>;
>>> +
>>> + timing@12750000 {
>>> + clock-frequency = <12750000>;
>>> + nvidia,parent-clock-frequency =
>>> <408000000>;
>>> + clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
>>> + clock-names = "emc-parent";
>
> Why do you need both clocks and hardcoded values? clock-frequency is
> the desired freq you want to set TEGRA124_CLK_PLL_P to?
That would be nvidia,parent-clock-frequency IIUC, while clock-frequency
is the resulting EMC clock.
>
> The clocks property really belongs as part of the memory controller
> node or a memory device node.
I would tend to agree here. Tomeu, does it make sense to move these
properties to the EMC driver instead?
next prev parent reply other threads:[~2014-11-07 5:31 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-29 16:22 [PATCH v3 00/13] Tegra124 EMC (external memory controller) support Tomeu Vizoso
2014-10-29 16:22 ` Tomeu Vizoso
2014-10-29 16:22 ` [PATCH v3 01/13] clk: tegra124: Remove old emc clock Tomeu Vizoso
2014-10-29 16:22 ` [PATCH v3 02/13] of: Document long-ram-code property in nvidia,tegra20-apbmisc Tomeu Vizoso
2014-10-29 16:22 ` [PATCH v3 03/13] soc/tegra: Add ram code reader helper Tomeu Vizoso
[not found] ` <1414599796-30597-4-git-send-email-tomeu.vizoso-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2014-11-06 5:25 ` Alexandre Courbot
2014-11-06 5:25 ` Alexandre Courbot
[not found] ` <545B062E.2040508-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-11-06 9:07 ` Tomeu Vizoso
2014-11-06 9:07 ` Tomeu Vizoso
2014-10-29 16:22 ` [PATCH v3 04/13] of: document new emc-timings subnode in nvidia,tegra124-car Tomeu Vizoso
2014-11-06 6:37 ` Alexandre Courbot
2014-11-06 6:37 ` Alexandre Courbot
[not found] ` <545B172C.4060105-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-11-06 9:11 ` Tomeu Vizoso
2014-11-06 9:11 ` Tomeu Vizoso
[not found] ` <CAAObsKBe8kigKfEs_ER+1X5fqLw3dZD69XHicEn4cVuQTyoFAw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-06 9:15 ` Alexandre Courbot
2014-11-06 9:15 ` Alexandre Courbot
2014-11-06 15:12 ` Rob Herring
2014-11-07 5:31 ` Alexandre Courbot [this message]
2014-11-07 11:35 ` Mikko Perttunen
[not found] ` <545C5927.3010001-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-11-07 13:03 ` Tomeu Vizoso
2014-11-07 13:03 ` Tomeu Vizoso
[not found] ` <CAL_JsqKYSF3JVrXH_dkqRXQrgUU3igzvoK1C2k1Caz-4UuHX6Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-07 13:10 ` Tomeu Vizoso
2014-11-07 13:10 ` Tomeu Vizoso
2014-10-29 16:22 ` [PATCH v3 05/13] of: Document timings subnode of nvidia,tegra-mc Tomeu Vizoso
[not found] ` <1414599796-30597-6-git-send-email-tomeu.vizoso-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2014-11-06 8:12 ` Alexandre Courbot
2014-11-06 8:12 ` Alexandre Courbot
[not found] ` <545B2D6B.9030001-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-11-06 10:32 ` Tomeu Vizoso
2014-11-06 10:32 ` Tomeu Vizoso
2014-10-29 16:22 ` [PATCH v3 06/13] of: Add Tegra124 EMC bindings Tomeu Vizoso
2014-10-29 16:22 ` [PATCH v3 07/13] ARM: tegra: Add EMC to Tegra124 device tree Tomeu Vizoso
2014-10-29 16:22 ` Tomeu Vizoso
2014-10-29 16:22 ` [PATCH v3 08/13] ARM: tegra: Add EMC timings to Jetson TK1 " Tomeu Vizoso
2014-10-29 16:22 ` Tomeu Vizoso
2014-10-29 16:22 ` Tomeu Vizoso
[not found] ` <1414599796-30597-9-git-send-email-tomeu.vizoso-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2014-11-06 12:21 ` Nikolaus Schulz
2014-11-06 12:21 ` Nikolaus Schulz
2014-11-06 12:21 ` Nikolaus Schulz
[not found] ` <20141106122149.GC3863-GNrqntRiisjPWV3K8zbkiAH8Oo8bv1DvZkel5v8DVj8@public.gmane.org>
2014-11-07 16:12 ` Tomeu Vizoso
2014-11-07 16:12 ` Tomeu Vizoso
[not found] ` <1414599796-30597-1-git-send-email-tomeu.vizoso-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2014-10-29 16:22 ` [PATCH v3 09/13] memory: tegra: Add API needed by the EMC driver Tomeu Vizoso
2014-10-29 16:22 ` Tomeu Vizoso
[not found] ` <1414599796-30597-10-git-send-email-tomeu.vizoso-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2014-11-06 7:26 ` Alexandre Courbot
2014-11-06 7:26 ` Alexandre Courbot
2014-10-29 16:22 ` [PATCH v3 10/13] memory: tegra: Add EMC (external memory controller) driver Tomeu Vizoso
2014-11-06 7:56 ` Alexandre Courbot
2014-11-06 7:56 ` Alexandre Courbot
[not found] ` <545B29AA.8030006-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-11-06 11:35 ` Mikko Perttunen
2014-11-06 11:35 ` Mikko Perttunen
[not found] ` <545B5D15.6030705-/1wQRMveznE@public.gmane.org>
2014-11-07 16:16 ` Tomeu Vizoso
2014-11-07 16:16 ` Tomeu Vizoso
2014-10-29 16:22 ` [PATCH v3 11/13] clk: tegra: Add EMC clock driver Tomeu Vizoso
2014-11-06 8:04 ` Alexandre Courbot
2014-11-06 8:04 ` Alexandre Courbot
[not found] ` <545B2B89.8010801-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-11-06 11:41 ` Mikko Perttunen
2014-11-06 11:41 ` Mikko Perttunen
[not found] ` <545B5E58.4040404-/1wQRMveznE@public.gmane.org>
2014-11-07 5:34 ` Alexandre Courbot
2014-11-07 5:34 ` Alexandre Courbot
2014-10-29 16:22 ` [PATCH v3 12/13] memory: tegra: Add debugfs entry for getting and setting the EMC rate Tomeu Vizoso
2014-10-29 16:22 ` [PATCH v3 13/13] clk: tegra: Set the EMC clock as the parent of the MC clock Tomeu Vizoso
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=545C5927.3010001@nvidia.com \
--to=acourbot@nvidia.com \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=gnurou@gmail.com \
--cc=ijc+devicetree@hellion.org.uk \
--cc=javier.martinez@collabora.co.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=pdeschrijver@nvidia.com \
--cc=robh+dt@kernel.org \
--cc=robherring2@gmail.com \
--cc=swarren@wwwdotorg.org \
--cc=thierry.reding@gmail.com \
--cc=tomeu.vizoso@collabora.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.