From: Douglas Anderson <dianders@chromium.org>
To: Devicetree-compiler@vger.kernel.org,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>
Cc: linux-arm-msm@vger.kernel.org,
"Julius Werner" <jwerner@chromium.org>,
"Michal Simek" <michal.simek@amd.com>,
"André Draszik" <andre.draszik@linaro.org>,
linux-arm-kernel@lists.infradead.org,
"Simon Glass" <sjg@chromium.org>,
"Peter Griffin" <peter.griffin@linaro.org>,
linux-kbuild@vger.kernel.org,
"Tudor Ambarus" <tudor.ambarus@linaro.org>,
"Chen-Yu Tsai" <wenst@chromium.org>,
"Will Deacon" <will@kernel.org>,
"Nathan Chancellor" <nathan@kernel.org>,
Devicetree@vger.kernel.org,
"Catalin Marinas" <catalin.marinas@arm.com>,
"Nicolas Schier" <nsc@kernel.org>,
linux-kernel@vger.kernel.org,
"Saravana Kannan" <saravanak@kernel.org>,
"Brian Norris" <briannorris@chromium.org>,
"Douglas Anderson" <dianders@chromium.org>,
"Abel Vesa" <abelvesa@kernel.org>,
"Alice Ryhl" <aliceryhl@google.com>,
"Bjorn Andersson" <andersson@kernel.org>,
"David Sterba" <dsterba@suse.com>,
"Jonathan Corbet" <corbet@lwn.net>,
"Josh Poimboeuf" <jpoimboe@kernel.org>,
"Lorenzo Stoakes (ARM)" <ljs@kernel.org>,
"Manuel Ebner" <manuelebnerli@mailbox.org>,
"Marco Elver" <elver@google.com>,
"Mark Rutland" <mark.rutland@arm.com>,
"Mauro Carvalho Chehab" <mchehab+huawei@kernel.org>,
"Nick Terrell" <terrelln@fb.com>,
"Peter Zijlstra (Intel)" <peterz@infradead.org>,
"Randy Dunlap" <rdunlap@infradead.org>,
"Rong Xu" <xur@google.com>,
"Shuah Khan" <skhan@linuxfoundation.org>,
cros-qcom-dts-watchers@chromium.org, devicetree@vger.kernel.org,
linux-doc@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
workflows@vger.kernel.org
Subject: [RFC PATCH v2 0/5] arm64: Add FIT configurations for sc7180-trogdor and google,lga
Date: Fri, 13 Nov 2026 13:09:09 -0800 [thread overview]
Message-ID: <20261113210918.356261-1-dianders@chromium.org> (raw)
The end goal of this series is to move forward on producing a
"universal" Pixel 10 boot image that can boot on a variety of Pixel
10 devices (frankel, blazer, and mustang and eventually multiple
revisions of each). At the moment, this is impossible since the Pixel
10 bootloader:
* Picks the base devicetree based on SoC ID information.
* Picks an overlay devicetree based on Board ID information.
* Needs metadata associated with each overlay to match it up.
Since we don't have per-board overlays and don't have per-board
metadata, that means that today you need to pick exactly one revision
of one board and build a boot image just for that.
How does this series help us?
1. It uses a checked-in `.fitconfig` configuration file alongside the
`.dts` files to select which DTBs belong in the FIT image and to
associate metadata with each board's configuration in
`scripts/make_fit.py` [1]. Other tools can parse this metadata in
order to craft a package that the Pixel bootloader can understand.
2. It integrates a call to the new `fdtfactor` tool [2], which results
in a "base dtb + board dtbo" that looks like what the bootloader
needs, at least as long as all the boards have the same SoC.
What happens if everyone hates this series and it gets dropped on the
floor? Honestly, everything here could just go out of tree and it
would be "fine". IMO it's nice to have the Board ID / SoC ID
information for each devicetree stored in the same repository as the
devicetrees themselves are, but if this has to live somewhere else
then so be it.
NOTE: from reading the above, you might wonder why the sc7180-trogdor
`.fitconfig` configuration file is part of this series. The answer: it's
a board I was previously deeply involved in and it is a convenient way
for me to prove out that the Chromebook use case works well. I did hack
up some changes to the ChromeOS build system to use the provided FIT
image and it worked great, but since I'm not on the ChromeOS team these
days it's not something I personally plan to follow-up with. It sounds
plausible that Chen-Yu may follow-up with it or post a similar change
for some Mediatek Chromebooks.
[1] https://github.com/open-source-firmware/flat-image-tree/pull/66
[2] https://lore.kernel.org/r/20261101220224.1436242-1-dianders@chromium.org
v1: https://lore.kernel.org/r/20261020153652.2907186-1-dianders@chromium.org
Changes in v2:
- New preparatory patch documenting preexisting FIT_COMPRESSION and
FIT_DECOMPOSE_DTBS variables (Simon Glass)
- Replace FIT_ITS + mkimage + fdtget/fdtput approach with FIT_CONFIG
.fitconfig sidecar files handled directly by scripts/make_fit.py
(Simon Glass)
- Support subnode properties (e.g. match-1/...) and u32 integer values
for the proposed FIT configuration match subnode spec (Simon Glass)
- Document FIT_CONFIG in Documentation/kbuild/kbuild.rst and under
image.fit in arm64 'make help' (Simon Glass)
- Update fdtfactor invocation for v2+ flags (-v -> -s, -f -> -F)
- Expand commit message and notes to explain why FIT_FACTOR_DTBS is
needed, that fdtfactor is an external host dependency, and that
compressed DTBs in the FIT are supported (Simon Glass)
- Document the optional fdtfactor dependency and FIT_FACTOR_DTBS /
FDTFACTOR / FDTFACTOR_ARGS in Documentation/process/changes.rst,
Documentation/kbuild/kbuild.rst, and arm64 'make help' (Simon Glass)
- Drop fdtget/fdtput sync and hostprog patches (patches 1-3 in v1) now
that scripts/make_fit.py handles FIT configuration files directly
(Simon Glass)
- Replace checked-in lga.its with a compact lga.fitconfig sidecar file
consumed by scripts/make_fit.py (Simon Glass)
- Move board/SoC matching metadata from the configuration description
string to a typed match-1 subnode per the proposed FIT spec extension
(Simon Glass)
- Replace 728-line sc7180-trogdor.its with a 49-line
sc7180-trogdor.fitconfig sidecar file consumed by scripts/make_fit.py
(Simon Glass)
- Move motivation for sc7180-trogdor from commit notes into the commit
message body (Simon Glass)
Douglas Anderson (5):
kbuild: fit: Document FIT_COMPRESSION and FIT_DECOMPOSE_DTBS
kbuild: fit: Support selecting DTBs and config properties from a file
kbuild: fit: Add opt-in FIT_FACTOR_DTBS support using fdtfactor
arm64: dts: google: lga: Add lga.fitconfig FIT configuration file
arm64: dts: qcom: sc7180: Add sc7180-trogdor.fitconfig FIT config file
Documentation/kbuild/kbuild.rst | 33 +++++
Documentation/process/changes.rst | 10 ++
arch/arm64/Makefile | 2 +
arch/arm64/boot/dts/google/lga.fitconfig | 22 ++++
.../boot/dts/qcom/sc7180-trogdor.fitconfig | 49 ++++++++
scripts/Makefile.dtbs | 17 +++
scripts/Makefile.lib | 32 ++++-
scripts/make_fit.py | 117 +++++++++++++++---
8 files changed, 267 insertions(+), 15 deletions(-)
create mode 100644 arch/arm64/boot/dts/google/lga.fitconfig
create mode 100644 arch/arm64/boot/dts/qcom/sc7180-trogdor.fitconfig
--
2.56.0.611.g1030f0b940-goog
next reply other threads:[~2026-11-13 21:09 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-13 21:09 Douglas Anderson [this message]
2026-11-13 21:09 ` [RFC PATCH v2 1/5] kbuild: fit: Document FIT_COMPRESSION and FIT_DECOMPOSE_DTBS Douglas Anderson
2026-11-13 21:09 ` [RFC PATCH v2 2/5] kbuild: fit: Support selecting DTBs and config properties from a file Douglas Anderson
2026-11-13 21:09 ` [RFC PATCH v2 3/5] kbuild: fit: Add opt-in FIT_FACTOR_DTBS support using fdtfactor Douglas Anderson
2026-11-13 21:09 ` [RFC PATCH v2 4/5] arm64: dts: google: lga: Add lga.fitconfig FIT configuration file Douglas Anderson
2026-11-13 21:09 ` [RFC PATCH v2 5/5] arm64: dts: qcom: sc7180: Add sc7180-trogdor.fitconfig FIT config file Douglas Anderson
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=20261113210918.356261-1-dianders@chromium.org \
--to=dianders@chromium.org \
--cc=Devicetree-compiler@vger.kernel.org \
--cc=Devicetree@vger.kernel.org \
--cc=abelvesa@kernel.org \
--cc=aliceryhl@google.com \
--cc=andersson@kernel.org \
--cc=andre.draszik@linaro.org \
--cc=briannorris@chromium.org \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=cros-qcom-dts-watchers@chromium.org \
--cc=dsterba@suse.com \
--cc=elver@google.com \
--cc=jpoimboe@kernel.org \
--cc=jwerner@chromium.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=ljs@kernel.org \
--cc=manuelebnerli@mailbox.org \
--cc=mark.rutland@arm.com \
--cc=mchehab+huawei@kernel.org \
--cc=michal.simek@amd.com \
--cc=nathan@kernel.org \
--cc=nsc@kernel.org \
--cc=peter.griffin@linaro.org \
--cc=peterz@infradead.org \
--cc=rdunlap@infradead.org \
--cc=robh@kernel.org \
--cc=saravanak@kernel.org \
--cc=sjg@chromium.org \
--cc=skhan@linuxfoundation.org \
--cc=terrelln@fb.com \
--cc=tudor.ambarus@linaro.org \
--cc=wenst@chromium.org \
--cc=will@kernel.org \
--cc=workflows@vger.kernel.org \
--cc=xur@google.com \
/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
all inboxes | Powered by JetHome®