All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Dybcio <konrad.dybcio@somainline.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: agross@kernel.org, arnd@arndb.de, bjorn.andersson@linaro.org,
	devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-kernel@vger.kernel.org, olof@lixom.net, robh@kernel.org,
	sboyd@kernel.org
Subject: Re: Removal of qcom,board-id and qcom,msm-id
Date: Mon, 23 May 2022 17:29:42 +0200	[thread overview]
Message-ID: <f8e569e4-9a6b-75eb-5094-f3e2d9a1ecf8@somainline.org> (raw)
In-Reply-To: <49a52870-9aab-c4bd-2077-66732f42bbba@linaro.org>


On 23/05/2022 14:14, Krzysztof Kozlowski wrote:
> On 23/05/2022 14:02, Konrad Dybcio wrote:
>> On 23/05/2022 09:21, Krzysztof Kozlowski wrote:
>>> On 22/05/2022 21:51, Konrad Dybcio wrote:
>>>> Hi,
>>>>
>>>> removing these properties will not bring almost any benefit (other than making
>>>> some checks happy any saving some <200 LoC) and will make the lives of almost
>>>> all people doing independent development for linux-on-msm harder. There are
>>>> almost unironically like 3 people outside Linaro and QUIC who have
>>>> non-vendor-fused development boards AND the sources to rebuild the
>>>> bootloader on their own. Making it harder to boot is only going to
>>>> discourage people from developing on these devices, which is already not
>>>> that pleasant, especially with newer platforms where you have to fight with
>>>> the oh-so-bright ideas of Android boot chain..
>>>>
>>>> This only concerns devices released before sm8350, as the new ones will not
>>>> even boot with these properties present (or at least SONY Sagami, but I
>>>> doubt it's an isolated case), so other than completing support for older
>>>> devices, it won't be an issue going forward, anyway. But there are give
>>>> or take 50 locked down devices in mainline right now, and many more waiting
>>>> to be upstreamed in various downstream close-to-mainline trees that should
>>>> not be disregarded just because Qualcomm is far from the best at making
>>>> their BSP software stack clean.
>>> I actually wonder why do you need these properties for community work on
>>> such boards? You ship kernel with one concatenated DTB and the
>>> bootloader does not need the board-id/msm-id fields, doesn't it?
>> If that were the case, I would have never complained about this! It's
>> the bootloader itself that needs it, you can see it in a "Best match
>> [blah blah] 258/0x1000/...." log line, where it walks through the
>> appended (or otherwise compiled into the boot.img) DTBs and looks for
>> matches for the burnt-in msm-, board- and (on newer-older platforms)
>> pmic-id. If it cannot find these, it refuses to boot with an Android
>> Verified Boot red state and you get a not-so-nice "Your device has been
>> unlocked and the boot image is not working" or something like this on
>> your screen.
>>
>>
>>> Not mentioning that in the past bootloader was actually not using these
>>> properties at all, because it was the dtbTool who was parsing them.
>> Not sure when that was the case, maybe with very old arm32 bootloaders
>> in the times before I did development on Qualcomm devices.
>>
>>
>>>    So
>>> in any case either your device works fine without these properties or
>>> you have to use dtbTool, right?
>> To the best of my idea, wrong :( Unless the vendor modified the LK/XBL
>> code on their own, it looks for a "best match" (but if it's not a
>> precise match, it won't even bother trying to boot, just fyi..), meaning
>> it tries to go through a list of SoC ID and revision pairs (msm-id),
>> board IDs (board-id) and PMIC id+rev pairs (pmic-id) and if no match is
>> found, it doesn't even exit the bootloader and says something like "no
>> dtbs found".
> This would mean that dtbTool as described in the actual patch [1] is not
> used and bootloader ignores the table. If that's the case, the commit
> and requirement of such complex board-foundry-pmic-compatibles should be
> dropped. So I am getting now to what Dmitry said...
>
> [1]
> https://lore.kernel.org/all/1448062280-15406-2-git-send-email-sboyd@codeaurora.org/

This solution assumes everybody is using the so-called QCDT images, 
which is not necessarily the case, as not all bootloaders (even if they 
should, as their base BSP tags sometimes imply) support that. Others, in 
turn, require that and will not recognize appended DTBs properly for 
reasons unknown..


I once went as far as writing up solutions to getting a boot on almost 
all combinations of these.. I may even still have it stashed somewhere.. 
things get crazy when you factor in DTBO and GKI..


Konrad

>
>
> Best regards,
> Krzysztof

  reply	other threads:[~2022-05-23 15:29 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-19 10:44 Removal of qcom,board-id and qcom,msm-id Krzysztof Kozlowski
2022-05-19 11:39 ` Dmitry Baryshkov
2022-05-19 11:53   ` Krzysztof Kozlowski
2022-05-19 12:46     ` Dmitry Baryshkov
     [not found]       ` <20220519221227.B66D3C385AA@smtp.kernel.org>
2022-05-20  1:39         ` Dmitry Baryshkov
2022-05-20  7:00           ` Krzysztof Kozlowski
2022-05-22 10:26           ` Krzysztof Kozlowski
2022-05-22 10:50             ` Dmitry Baryshkov
2022-05-22 19:51 ` Konrad Dybcio
2022-05-23  5:41   ` Amit Pundir
2022-05-23  7:21   ` Krzysztof Kozlowski
2022-05-23 12:02     ` Konrad Dybcio
2022-05-23 12:14       ` Krzysztof Kozlowski
2022-05-23 15:29         ` Konrad Dybcio [this message]
2022-05-23 16:41         ` Trilok Soni
2022-05-23 21:34           ` Bjorn Andersson
2022-05-23 22:13             ` Trilok Soni
2022-05-23 21:29     ` Rob Clark
2022-05-23 21:50     ` Bjorn Andersson
2022-05-23 22:18       ` Dmitry Baryshkov
2022-05-25 17:36         ` Stephan Gerhold
2022-05-26  7:16       ` Krzysztof Kozlowski
2022-06-22  8:21   ` Dmitry Baryshkov
2022-06-22 11:53     ` Konrad Dybcio
2022-06-23  9:55       ` Dmitry Baryshkov

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=f8e569e4-9a6b-75eb-5094-f3e2d9a1ecf8@somainline.org \
    --to=konrad.dybcio@somainline.org \
    --cc=agross@kernel.org \
    --cc=arnd@arndb.de \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=olof@lixom.net \
    --cc=robh@kernel.org \
    --cc=sboyd@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 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.