From: pwalmsley@nvidia.com (Paul Walmsley)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/6] ARM: DTS: tegra: add the DFLL IP block to the T114 SoC file
Date: Mon, 13 Jan 2014 22:27:33 -0800 [thread overview]
Message-ID: <alpine.DEB.2.02.1401132219150.11672@tamien> (raw)
In-Reply-To: <52B389CD.8010004@wwwdotorg.org>
(Resending, and revising - the original wasn't fully baked in several
regards..)
Hello Stephen,
thanks for your review.
On Thu, 19 Dec 2013, Stephen Warren wrote:
> On 12/19/2013 05:49 AM, Paul Walmsley wrote:
>> Add basic DT bindings for the DFLL IP block for the NVIDIA Tegra114 SoC.
>
>> diff --git a/Documentation/devicetree/bindings/clock/nvidia,tegra114-dfll.txt b/Documentation/devicetree/bindings/clock/nvidia,tegra114-dfll.txt
>
>> +- clocks : Must contain an array of two-cell arrays, one per clock.
>> + DFLL source clocks. At minimum this should include the
>> + reference clock source and the IP block's main clock
>> + source. Also it should contain the DFLL's I2C controller
>> + clock source. The format is <&clock-provider-phandle
>> + clock-id>.
>
> Entries in "clocks" aren't two cells, they're a phandle plus as many
> cells as the node referenced by the phandle specifies.
It's worth noting that the clock binding documentation itself refers to
pairs:
----
clocks: List of phandle and clock specifier pairs, one pair
for each clock input to the device. Note: if the
clock provider specifies '0' for #clock-cells, then
only the phandle portion of the pair will appear.
----
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/clock/clock-bindings.txt#n50
But given the ambiguity of that documentation, I basically agree, so have
changed it to:
- clocks : Must contain an array of clock specifiers, one per clock.
DFLL source clocks. At minimum this should include the
reference clock source and the IP block's main clock
source. Also it should contain the DFLL's I2C controller
clock source. The format is <&clock-provider-phandle
clock-id>.
>> +
>> +- clock-names : Must contain an array of strings, one per 'clocks'
>> + two-cell array. The position in the array of these
>
> clock-names defines the set of entries in clocks, not the other way around.
Hmm. Referring to the DT clock binding documentation, it lists the
'clock-names' property as optional, and the 'clocks' property as
mandatory:
-----
==Clock consumers==
Required properties:
clocks: List of phandle and clock specifier pairs, one pair
for each clock input to the device. Note: if the
clock provider specifies '0' for #clock-cells, then
only the phandle portion of the pair will appear.
Optional properties:
clock-names: List of clock input name strings sorted in the same
order as the clocks property. Consumers drivers
will use clock-names to match clock input names
with clocks specifiers.
-----
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/clock/clock-bindings.txt#n47
Considering that of_clk_get() doesn't require names, the situation appears
to be the way that the original patch described it (modulo the part about
"two cells.")
>> + strings must correspond to the position in the 'clocks'
>> + array (see above). The DFLL driver currently requires
>> + the "soc", "ref", and "i2c" clock names to be populated.
>
> The standard wording used by all the Tegra clock client bindings is now:
>
> - clocks : Must contain an entry for each entry in clock-names.
> See clock-bindings.txt for details.
> - clock-names : Must include the following entries:
> - soc
> - ref
> - i2c
>
> For consistency, it'd be nice to adopt the same style here.
I've altered the 'clock-names' format along the lines of what you've
suggested, but have not changed the 'clocks' format, per the above
discussion:
-----
- clocks : Must contain an array of clock specifiers, one per clock.
DFLL source clocks. At minimum this should include the
reference clock source and the IP block's main clock
source. Also it should contain the DFLL's I2C controller
clock source. The format is <&clock-provider-phandle
clock-id>.
- clock-names : Must contain an array of strings, one per 'clocks'
cell. The position in the array of these strings must
correspond to the position in the 'clocks' array (see
above).
- soc
- ref
- i2c
-----
>> +Optional properties:
>> +
>> +- status : device availability -- managed by the DT integration code, not
>> + the DFLL driver. Should be set to "disabled" in the SoC
>> + DTS file.
>
> That's such a core property that it's not worth documenting in every
> single binding.
That's fine. Removed.
>
>> +
>
> Blank line at EOF.
Hehe. Removed.
- Paul
next prev parent reply other threads:[~2014-01-14 6:27 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-19 12:36 [PATCH 0/6] clk: tegra: add basic support for the DFLL clocksource Paul Walmsley
2013-12-19 12:36 ` [PATCH 1/6] ARM: tegra: fuse: add functions to read speedo ID and process ID Paul Walmsley
2013-12-19 23:09 ` Stephen Warren
2013-12-19 12:36 ` [PATCH 2/6] ARM: tegra114: fuse: add DFLL FCPU minimum voltage override test function Paul Walmsley
2013-12-19 23:12 ` Stephen Warren
2013-12-19 12:37 ` [PATCH 3/6] clk: tegra: add library for the DFLL clocksource (open-loop mode) Paul Walmsley
2013-12-19 23:57 ` Stephen Warren
2013-12-19 12:49 ` [PATCH 4/6] ARM: DTS: tegra: add the DFLL IP block to the T114 SoC file Paul Walmsley
2013-12-20 0:05 ` Stephen Warren
2014-01-14 6:27 ` Paul Walmsley [this message]
2014-01-14 6:32 ` Paul Walmsley
2014-01-15 19:50 ` Gerhard Sittig
2014-01-15 20:09 ` Paul Walmsley
[not found] ` <52D4D314.3000208@nvidia.com>
2014-01-14 17:43 ` Stephen Warren
2013-12-19 12:49 ` [PATCH 5/6] ARM: DTS: tegra: add DFLL integration to the Dalmore DTS file Paul Walmsley
2013-12-20 0:10 ` Stephen Warren
2014-01-14 6:36 ` Paul Walmsley
2013-12-19 12:49 ` [PATCH 6/6] clk: tegra: add Tegra114 FCPU DFLL clocksource platform driver Paul Walmsley
2013-12-20 0:18 ` Stephen Warren
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=alpine.DEB.2.02.1401132219150.11672@tamien \
--to=pwalmsley@nvidia.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