linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
To: Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	devicetree@vger.kernel.org,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stephen Boyd <sboyd@kernel.org>,
	Konrad Dybcio <konrad.dybcio@somainline.org>,
	Amit Pundir <amit.pundir@linaro.org>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Rob Clark <robdclark@gmail.com>,
	Stephan Gerhold <stephan@gerhold.net>,
	Kumar Gala <galak@codeaurora.org>
Subject: Re: [PATCH 1/4] dt-bindings: arm: qcom: document qcom,msm-id and qcom,board-id
Date: Wed, 22 Jun 2022 11:29:57 +0300	[thread overview]
Message-ID: <dd63b876-54ad-65ac-02fc-e75464071232@linaro.org> (raw)
In-Reply-To: <CAL_JsqKL-mtAQ8Q9H4vLGM8izVVzDPbUAVWSdS8AmGjN6X6kcA@mail.gmail.com>

On 13/06/2022 18:30, Rob Herring wrote:
> On Sat, Jun 11, 2022 at 7:07 AM Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org> wrote:
>>
>> On 10/06/2022 18:33, Rob Herring wrote:
>>> On Tue, Jun 07, 2022 at 01:15:51PM +0200, Krzysztof Kozlowski wrote:
>>>> On 05/06/2022 17:07, Rob Herring wrote:
>>>>> On Sun, May 29, 2022 at 10:26:26PM +0200, Krzysztof Kozlowski wrote:
>>>>>> The top level qcom,msm-id and qcom,board-id properties are utilized by
>>>>>> bootloaders on Qualcomm MSM platforms to determine which device tree
>>>>>> should be used and passed to the kernel.
>>>>>>
>>>>>> The commit b32e592d3c28 ("devicetree: bindings: Document qcom board
>>>>>> compatible format") from 2015 was a consensus during discussion about
>>>>>> upstreaming qcom,msm-id and qcom,board-id fields.  There are however still
>>>>>> problems with that consensus:
>>>>>> 1. It was reached 7 years ago but it turned out its implementation did
>>>>>>     not reach all possible products.
>>>>>>
>>>>>> 2. Initially additional tool (dtbTool) was needed for parsing these
>>>>>>     fields to create a QCDT image consisting of multiple DTBs, later the
>>>>>>     bootloaders were improved and they use these qcom,msm-id and
>>>>>>     qcom,board-id properties directly.
>>>>>>
>>>>>> 3. Extracting relevant information from the board compatible requires
>>>>>>     this additional tool (dtbTool), which makes the build process more
>>>>>>     complicated and not easily reproducible (DTBs are modified after the
>>>>>>     kernel build).
>>>>>>
>>>>>> 4. Some versions of Qualcomm bootloaders expect these properties even
>>>>>>     when booting with a single DTB.  The community is stuck with these
>>>>>>     bootloaders thus they require properties in the DTBs.
>>>>>>
>>>>>> Since several upstreamed Qualcomm SoC-based boards require these
>>>>>> properties to properly boot and the properties are reportedly used by
>>>>>> bootloaders, document them.
>>>>>
>>>>> My primary issue here is accepting this will be an endorsement for
>>>>> other vendors doing something similar. I'm not against an ID
>>>>> property(ies) in the root node, but would rather see something common
>>>>> if we do anything.
>>>>
>>>> Hi Rob,
>>>>
>>>> A more common approach was merged back in 2015 - encoding this ID
>>>> information in the board compatibles. If I understood previous
>>>> discussion correctly, this common method was later used by Qualcomm DTB
>>>> post-processing tool. At least for some of the cases.
>>>>
>>>> Other cases (several Qualcomm boards from different vendors) still use
>>>> these ID properties. It even turns out they use it differently between
>>>> vendors (e.g. Xiaomi vs OnePlus).
>>>>
>>>> Important arguments for documenting these properties:
>>>> 1. These ID properties are already on released boards where changing
>>>> bootloader is non-trivial or even not possible. It will not be possible
>>>> to remove these properties, without seriously affecting the community
>>>> working with them.
>>>
>>> Accepting things because they are already in use is also not a path we
>>> want to go down. If it's the color of the bike shed, then fine.
>>>
>>>> 2. According to Konrad [1] (second paragraph), newer chipsets (starting
>>>> with sm8350 released in 2021) do not use these properties. These newer
>>>> DTS do not have them.
>>>>
>>>> Considering 1+2 above, maybe let's document these properties as
>>>> compatible? Would that solve your point of "endorsement for other vendors"?
>>>
>>> What do you mean? Only allow them for certain root compatible strings? I
>>> suppose that would be okay by me. It would also be useful documentation
>>> of where they are needed.
>>
>> Bah, I wrote something else than I had in mind. So one more try:
>>
>> Considering 1+2 above, maybe let's document these properties as
>> *deprecated*? Would that solve your point of "endorsement for other
>> vendors"?
> 
> Yes.

It seems point 2 is not 100% correct. Qualcomm has been using these 
properties in the sm8350 and sm8450 dts files.

However to I'd suggest to continue with the agreement to mark these 
properties as deprecated (and compat-bound to Qualcomm devices/root 
compatible strings). Which means that adding them to the new DT file 
would require some justification. For example 'the board fails to boot 
without these properties' or 'we are demanded to provide a single boot 
image and using these properties allows bootloader to select the correct 
DTs.

> 
>> However the idea to restrict them per-compatible, is also nice. Although
>> I cannot guarantee the list will not grow for older SoCs.
> 
> No issue with that.
> 
> Rob


-- 
With best wishes
Dmitry

  reply	other threads:[~2022-06-22  8:30 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-29 20:26 [PATCH 0/4] dt-bindings: arm: qcom: qcom,board-id and qcom,msm-id Krzysztof Kozlowski
2022-05-29 20:26 ` [PATCH 1/4] dt-bindings: arm: qcom: document qcom,msm-id and qcom,board-id Krzysztof Kozlowski
2022-06-05 15:07   ` Rob Herring
2022-06-07 11:15     ` Krzysztof Kozlowski
2022-06-10 16:33       ` Rob Herring
2022-06-11 13:07         ` Krzysztof Kozlowski
2022-06-13 15:30           ` Rob Herring
2022-06-22  8:29             ` Dmitry Baryshkov [this message]
2022-05-29 20:26 ` [PATCH 2/4] arm64: dts: qcom: msm8992-xiaomi-libra: split qcom,msm-id into tuples Krzysztof Kozlowski
2022-05-29 20:26 ` [PATCH 3/4] arm64: dts: qcom: msm8998-oneplus: split qcom,board-id " Krzysztof Kozlowski
2022-05-29 20:26 ` [PATCH 4/4] arm64: dts: qcom: sdm845-oneplus: " Krzysztof Kozlowski
2022-06-03 19:02   ` Stephan Gerhold
2022-06-05 15:42     ` Krzysztof Kozlowski

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=dd63b876-54ad-65ac-02fc-e75464071232@linaro.org \
    --to=dmitry.baryshkov@linaro.org \
    --cc=agross@kernel.org \
    --cc=amit.pundir@linaro.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=konrad.dybcio@somainline.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=quic_tsoni@quicinc.com \
    --cc=robdclark@gmail.com \
    --cc=robh@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=stephan@gerhold.net \
    /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).