From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Johan Hovold <johan@kernel.org>
Cc: Johan Hovold <johan+linaro@kernel.org>,
Vinod Koul <vkoul@kernel.org>, Andy Gross <agross@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 02/14] dt-bindings: phy: qcom,qmp-usb3-dp: fix sc8280xp bindings
Date: Mon, 14 Nov 2022 16:49:37 +0100 [thread overview]
Message-ID: <02725b78-04ad-8f4a-25c2-9cdaa1e37ab7@linaro.org> (raw)
In-Reply-To: <Y3JOO0kNnaNhnW3K@hovoldconsulting.com>
On 14/11/2022 15:18, Johan Hovold wrote:
> On Mon, Nov 14, 2022 at 03:07:41PM +0100, Krzysztof Kozlowski wrote:
>> On 14/11/2022 14:27, Johan Hovold wrote:
>>> On Fri, Nov 11, 2022 at 04:17:29PM +0100, Krzysztof Kozlowski wrote:
>>>> On 11/11/2022 10:24, Johan Hovold wrote:
>>>>> The current QMP USB3-DP PHY bindings are based on the original MSM8996
>>>>> binding which provided multiple PHYs per IP block and these in turn were
>>>>> described by child nodes.
>
>>>>> + "#clock-cells":
>>>>> + const: 1
>>>>> +
>>>>> + clock-output-names:
>>>>> + items:
>>>>> + - const: usb3_pipe
>>>>> + - const: dp_link
>>>>> + - const: dp_vco_div
>>>>
>>>> Why defining here fixed names? The purpose of this field is to actually
>>>> allow customizing these - at least in most cases. If these have to be
>>>> fixed, then driver should just instantiate these clocks with such names,
>>>> right?
>>>
>>> I'm only using these names as documentation of the indexes. The driver
>>
>> What do you mean by documentation of indexes? You require these specific
>> entries and do not allow anything else.
>
> I'm using this property as documentation of the valid indexes that can
> be used when referring to clocks provided by this device.
>
> There are currently three and the mapping is described by the
> 'clock-output-names' property.
That's not the purpose of this property. Drop it then. The names do not
define the ABI and do not document it, actually. You require now that
every DTB, if providing clock-output-names, will have exactly such names
instead of having fixed IDs. DTBs are not for defining the ABI.
>
>>> doesn't use these names, but that's a Linux-specific implementation
>>> detail.
>>>
>>> I noticed that several bindings leave the clock indexes unspecified, or
>>> have header files defining some or all of them. I first added a QMP
>>> header but that seemed like overkill, especially if we'd end up with
>>> one header per SoC (cf. the GCC headers) due to (known and potential)
>>> platform differences.
>>
>> Headers for the names? I do not recall such but that does not seem right.
>
> Headers for the indexes.
>
>>>
>>> On the other hand reproducing this list in each node is admittedly a bit
>>> redundant.
>>>
>>> Shall I add back a shared header for all PHYs handled by this driver
>>> (another implementation detail) even if this could eventually lead to
>>> describing clocks not supported by a particular SoC (so such constraints
>>> would still need to be described by the binding somehow):
>>>
>>> /* QMP clocks */
>>> #define QMP_USB3_PIPE_CLK 0
>>> #define QMP_DP_LINK_CLK 1
>>> #define QMP_DP_VCO_DIV_CLK 2
>>
>> What are these about? To remind - we talk about names of clocks this
>> device creates. The output names. Whatever IDs you have are not related
>> to the names.
>
> As I mentioned above, this is not about the names that Linux gives to
> its representation of these clocks. Its just about defining the valid
> indexes in the binding.
With or without the header, the IDs are part of ABI and are fixed. The
headers are I think always encouraged because it makes above sentence
explicit. Without the headers developers might want to change the IDs.
>
> If you think that that using 'clock-output-names' for this is a bit too
> unconventional, I can add back the header with defines like the above
> instead.
>
> Note that the clock schema has:
>
> clock-output-names:
> description: |
> Recommended to be a list of strings of clock output signal
> names indexed by the first cell in the clock specifier.
Exactly. Not to describe the ABI behind the ID.
> However, the meaning of clock-output-names is domain
> specific to the clock provider, ...
... because you might have more cells. Just because clock-output-names
do not fit some drivers it does not mean you can use it any way you
wish. It is still for names of provided clocks.
Best regards,
Krzysztof
next prev parent reply other threads:[~2022-11-14 15:49 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-11 9:24 [PATCH 00/14] phy: qcom-qmp-combo: fix sc8280xp binding (set 3/3) Johan Hovold
2022-11-11 9:24 ` [PATCH 01/14] dt-bindings: phy: qcom,qmp-usb3-dp: rename current bindings Johan Hovold
2022-11-11 15:15 ` Krzysztof Kozlowski
2022-11-11 9:24 ` [PATCH 02/14] dt-bindings: phy: qcom,qmp-usb3-dp: fix sc8280xp bindings Johan Hovold
2022-11-11 13:24 ` Johan Hovold
2022-11-11 13:30 ` Rob Herring
2022-11-11 15:17 ` Krzysztof Kozlowski
2022-11-14 13:27 ` Johan Hovold
2022-11-14 14:07 ` Krzysztof Kozlowski
2022-11-14 14:18 ` Johan Hovold
2022-11-14 15:19 ` Dmitry Baryshkov
2022-11-14 15:38 ` Johan Hovold
2022-11-14 16:14 ` Dmitry Baryshkov
2022-11-14 16:42 ` Johan Hovold
2022-11-14 16:51 ` Dmitry Baryshkov
2022-11-14 16:53 ` Johan Hovold
2022-11-14 15:49 ` Krzysztof Kozlowski [this message]
2022-11-14 16:32 ` Johan Hovold
2022-11-14 16:39 ` Krzysztof Kozlowski
2022-11-14 16:48 ` Johan Hovold
2022-11-14 16:56 ` Krzysztof Kozlowski
2022-11-14 17:08 ` Johan Hovold
2022-11-15 8:12 ` Krzysztof Kozlowski
2022-11-15 14:22 ` Johan Hovold
2022-11-15 14:56 ` Krzysztof Kozlowski
2022-11-12 11:43 ` Dmitry Baryshkov
2022-11-14 13:37 ` Johan Hovold
2022-11-14 15:31 ` Dmitry Baryshkov
2022-11-14 16:21 ` Johan Hovold
2022-11-11 9:24 ` [PATCH 03/14] phy: qcom-qmp-combo: drop v4 reference-clock source Johan Hovold
2022-11-12 11:43 ` Dmitry Baryshkov
2022-11-14 13:03 ` Johan Hovold
2022-11-11 9:24 ` [PATCH 04/14] phy: qcom-qmp-combo: restructure PHY creation Johan Hovold
2022-11-11 9:28 ` Johan Hovold
2022-11-11 15:18 ` Krzysztof Kozlowski
2022-11-11 15:19 ` Krzysztof Kozlowski
2022-11-11 9:24 ` [PATCH 05/14] phy: qcom-qmp-combo: register clocks sooner Johan Hovold
2022-11-12 11:15 ` Dmitry Baryshkov
2022-11-14 13:42 ` Johan Hovold
2022-11-11 9:24 ` [PATCH 06/14] phy: qcom-qmp-combo: generate pipe clock name Johan Hovold
2022-11-12 11:15 ` Dmitry Baryshkov
2022-11-11 9:24 ` [PATCH 07/14] phy: qcom-qmp-combo: drop redundant clock structure Johan Hovold
2022-11-12 11:16 ` Dmitry Baryshkov
2022-11-11 9:24 ` [PATCH 08/14] phy: qcom-qmp-combo: drop redundant clock allocation Johan Hovold
2022-11-12 11:17 ` Dmitry Baryshkov
2022-11-14 12:42 ` Johan Hovold
2022-11-14 15:31 ` Dmitry Baryshkov
2022-11-11 9:24 ` [PATCH 09/14] phy: qcom-qmp-combo: add clock registration helper Johan Hovold
2022-11-14 10:12 ` Dmitry Baryshkov
2022-11-11 9:24 ` [PATCH 10/14] phy: qcom-qmp-combo: separate clock and provider registration Johan Hovold
2022-11-14 10:13 ` Dmitry Baryshkov
2022-11-11 9:24 ` [PATCH 11/14] phy: qcom-qmp-combo: clean up DP clock callbacks Johan Hovold
2022-11-12 11:20 ` Dmitry Baryshkov
2022-11-11 9:24 ` [PATCH 12/14] phy: qcom-qmp-combo: rename common-register pointers Johan Hovold
2022-11-12 11:31 ` Dmitry Baryshkov
2022-11-14 12:54 ` Johan Hovold
2022-11-14 15:38 ` Dmitry Baryshkov
2022-11-14 15:51 ` Johan Hovold
2022-11-11 9:24 ` [PATCH 13/14] phy: qcom-qmp-combo: rename DP_PHY register pointer Johan Hovold
2022-11-12 11:31 ` Dmitry Baryshkov
2022-11-11 9:24 ` [PATCH 14/14] phy: qcom-qmp-combo: add support for updated sc8280xp binding Johan Hovold
2022-11-12 11:36 ` Dmitry Baryshkov
2022-11-14 12:58 ` Johan Hovold
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=02725b78-04ad-8f4a-25c2-9cdaa1e37ab7@linaro.org \
--to=krzysztof.kozlowski@linaro.org \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=johan+linaro@kernel.org \
--cc=johan@kernel.org \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=robh+dt@kernel.org \
--cc=vkoul@kernel.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).