From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Stephen Boyd <sboyd@codeaurora.org>,
Andy Gross <andy.gross@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Jeremy McNicoll <jmcnicol@redhat.com>,
git@kchr.de, Jeremy McNicoll <jeremymc@redhat.com>,
linux-arm-msm <linux-arm-msm@vger.kernel.org>,
linux-soc@vger.kernel.org,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [RFC V2 PATCH 10/12] arm64: dts: msm8994 issolate non standard bootloader/LK entries
Date: Fri, 21 Oct 2016 14:52:52 -0700 [thread overview]
Message-ID: <20161021215252.GB7509@tuxbot> (raw)
In-Reply-To: <3979420.yzJRfAtfpN@wuerfel>
On Fri 21 Oct 13:25 PDT 2016, Arnd Bergmann wrote:
> On Friday, October 21, 2016 1:04:09 PM CEST Stephen Boyd wrote:
> > On 10/21, Bjorn Andersson wrote:
> > > On Wed 19 Oct 20:17 PDT 2016, Andy Gross wrote:
> > >
> > > > On Wed, Oct 19, 2016 at 08:07:25PM -0500, Rob Herring wrote:
> > > [..]
> > > > > Makes sense to me for things like Nexus phones here. What about DB410
> > > > > for example? Is there hope for a fix there? My bootloader is only a
> > > > > couple of months old and needs the properties still.
> > > >
> > > > There won't be a fix for the 410c. We barely got them to respin to use PSCI.
> > > > Stephen can correct me if I am wrong on this.
> > > >
> > > > If this is fixed, it would be 8996+. If..........
> > > >
> > > > So this means introducing the msm-id's for the boards that currently require it,
> > > > and for the boards that will require it in the future. And this would stay in
> > > > effect until the bootloader is able to parse the compatible strings or figure
> > > > this out without the msm-ids.
> > > >
> > >
> > > But if the bootloader at any point in the future would support picking a
> > > dtb by compatible strings instead of {msm,board,pmic}-id we wouldn't we
> > > just be back to the ridiculous compatible strings that tipped over into
> > > acceptance to these ids in the first place.
> > >
> > > Or do we expect the boot loader to do a deep scan of the dtb to match on
> > > multiple nodes from the tree?
> >
> > I'm pushing the bootloader team to do the deep scan of the dtb to
> > match up board compatible and pmic compatible strings so that we
> > don't have to keep these numbers around. Basically put what
> > dtbtool is doing into the bootloader so we don't have to post
> > process the dtb anymore. We're currently discussing how to
> > implement it and how to move the internal codebase to the new
> > scheme.
> >
> > At least for 96boards I think we can update the lk bootloaders on
> > there to adopt this code. For other platforms like nexus though I
> > don't see a way we can update those bootloaders, and those
> > bootloaders require these properties exist in the dtbs, so we
> > should just throw the numbers into the dts files there and be
> > done with post processing. For bootloaders that require the QCDT
> > header, we'll have to keep running dtbtool there to generate the
> > header. Having the ids in the dts file or not doesn't really
> > matter there.
>
> I think part of the problem here is the way that the bootloader
> expects multiple dtbs to be appended to the kernel binary, and
> then pick one of them based on its contents. That doesn't really
> change at all when changing the parser from looking at nonstandard
> properties to looking at the compatible strings.
>
This is unrelated to appending images to the zImage. Qualcomm already
supports (their original approach) of storing the multiple DTBs in a
QCDT blob; which contains a header of {msm,board,pmic}-id and offsets to
each blob.
So in this case it's not the boot that parses the dtb, but rather the
tool packaging the factory images.
> It still breaks the last-resort workaround for broken bootloaders
> that we have in the form of appending the DT to the kernel
> with CONFIG_ARM_APPENDED_DTB.
>
Yes, this is a likely reason to why Qualcomm didn't take that route,
until it showed up in Nexus 6 (and 5?).
> I think a better long-term strategy would be to make the bootloader
> load the dtb separately from the kernel and finding the right file
> using some information outside of the dtb. Ideally this is done
> by storing all files on a file system that can also be mounted
> to /boot, but there are probably other options that work equally well.
>
This scheme exists so that you can have a single software image running
on multiple revisions of a SoC and PMIC, something that is essential for
both production and upgrade schemes.
No matter how you package your multiple dtbs there needs to be some sort
of identifier associated that the boot can use to pick the appropriate
image from the bunch.
Regards,
Bjorn
next prev parent reply other threads:[~2016-10-21 21:52 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-02 2:38 [RFC V2 PATCH 00/12] msm8992/msm8994: Google Nexus 5X/6P initial board support Jeremy McNicoll
2016-10-02 2:38 ` [RFC V2 PATCH 01/12] msm8994 clocks: global clock support Global clock support for the msm8994 SOC Jeremy McNicoll
2016-10-09 1:28 ` Rob Herring
2016-10-21 8:31 ` Jeremy McNicoll
2016-10-02 2:38 ` [RFC V2 PATCH 02/12] arm64: configs: enable 8994/8992 GCC by default Jeremy McNicoll
2016-10-02 2:38 ` [RFC V2 PATCH 03/12] msm8994 clocks: fix mapping Jeremy McNicoll
[not found] ` <1475375919-618-4-git-send-email-jmcnicol-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-09 1:28 ` Rob Herring
2016-10-10 22:04 ` Jeremy McNicoll
[not found] ` <228eb3b0-6c4e-230a-1750-0f97ec5c024f-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-10 22:47 ` Jeremy McNicoll
2016-10-02 2:38 ` [RFC V2 PATCH 05/12] msm8992: defconfig updates to support initrd Jeremy McNicoll
2016-10-09 1:28 ` Rob Herring
2016-10-11 5:19 ` [RFC V3 PATCH] " Jeremy McNicoll
2016-10-11 5:20 ` [RFC V2 PATCH 05/12] " Jeremy McNicoll
2016-10-02 2:38 ` [RFC V2 PATCH 06/12] arm64: dts: msm8992 issolate non standard bootloader/LK entries Jeremy McNicoll
[not found] ` <1475375919-618-1-git-send-email-jmcnicol-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-02 2:38 ` [RFC V2 PATCH 04/12] dt-bindings: qcom: Add msm8992 bindings Jeremy McNicoll
[not found] ` <1475375919-618-5-git-send-email-jmcnicol-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-09 1:28 ` Rob Herring
2016-10-11 0:52 ` [RFC V3 PATCH] dt-bindings: qcom: Add msm899(2/4) bindings Jeremy McNicoll
[not found] ` <1476147156-4474-1-git-send-email-jeremymc-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-11 16:42 ` Bjorn Andersson
2016-10-11 21:25 ` Jeremy McNicoll
[not found] ` <ab018442-c929-e328-11a3-6e7fd21e56b8-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-12 0:32 ` [RFC V4 " Jeremy McNicoll
2016-10-19 1:13 ` [RFC V3 " Stephen Boyd
2016-10-02 2:38 ` [RFC V2 PATCH 07/12] arm64: dts: msm8992 default serial config Jeremy McNicoll
2016-10-02 2:38 ` [RFC V2 PATCH 08/12] arm64: dts: msm8994 SoC and Huawei Angler (Nexus 6P) support Jeremy McNicoll
2016-10-02 2:38 ` [RFC V2 PATCH 09/12] arm64: dts: move Huawei Angler (Nexus 6P) to qcom directory Jeremy McNicoll
[not found] ` <1475375919-618-10-git-send-email-jmcnicol-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-09 1:28 ` Rob Herring
2016-10-10 22:21 ` Jeremy McNicoll
[not found] ` <4611eab0-84b3-3c6f-2df0-87fe21afc8df-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-12 0:32 ` Rob Herring
2016-10-02 2:38 ` [RFC V2 PATCH 10/12] arm64: dts: msm8994 issolate non standard bootloader/LK entries Jeremy McNicoll
[not found] ` <1475375919-618-11-git-send-email-jmcnicol-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-12 0:41 ` Rob Herring
[not found] ` <CAL_Jsq+ew7p6OYPzdTDmB9LAoGOOKasioYzmU=R+jLza2hWQFw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-10-12 10:39 ` Arnd Bergmann
2016-10-12 12:11 ` Rob Herring
2016-10-13 0:59 ` Jeremy McNicoll
[not found] ` <17447be1-4357-0eca-a242-69576d3e2799-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-19 14:56 ` Arnd Bergmann
2016-10-19 21:46 ` Andy Gross
[not found] ` <20161019214643.GC3145-3KkwrOJo9xYlRp7syxWybdHuzzzSOjJt@public.gmane.org>
2016-10-20 1:07 ` Rob Herring
[not found] ` <CAL_Jsq+wjnEByg2vgx-P+bLJaQm+s=UX7nj=KwviagnQDG_3hQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-10-20 3:17 ` Andy Gross
[not found] ` <20161020031712.GD3145-3KkwrOJo9xYlRp7syxWybdHuzzzSOjJt@public.gmane.org>
2016-10-21 19:44 ` Bjorn Andersson
2016-10-21 20:04 ` Stephen Boyd
2016-10-21 20:25 ` Arnd Bergmann
2016-10-21 21:52 ` Bjorn Andersson [this message]
2016-10-22 0:07 ` Stephen Boyd
[not found] ` <20161022000733.GO26139-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2016-10-22 1:14 ` Bjorn Andersson
2016-10-21 22:42 ` Bjorn Andersson
2016-10-22 0:36 ` Stephen Boyd
2016-10-02 2:38 ` [RFC V2 PATCH 11/12] arm64: msm8994 / Nexus 6P remove defconfig Jeremy McNicoll
2016-10-02 2:38 ` [RFC V2 PATCH 12/12] arm64: dts: msm8994 default serial config Jeremy McNicoll
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=20161021215252.GB7509@tuxbot \
--to=bjorn.andersson@linaro.org \
--cc=andy.gross@linaro.org \
--cc=arnd@arndb.de \
--cc=devicetree@vger.kernel.org \
--cc=git@kchr.de \
--cc=jeremymc@redhat.com \
--cc=jmcnicol@redhat.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-soc@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=sboyd@codeaurora.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).