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-kbuild@vger.kernel.org,
"Brian Norris" <briannorris@chromium.org>,
"Catalin Marinas" <catalin.marinas@arm.com>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
"Simon Glass" <sjg@chromium.org>,
"Chen-Yu Tsai" <wenst@chromium.org>,
linux-arm-msm@vger.kernel.org, "Nicolas Schier" <nsc@kernel.org>,
"Peter Griffin" <peter.griffin@linaro.org>,
"Nathan Chancellor" <nathan@kernel.org>,
"Tudor Ambarus" <tudor.ambarus@linaro.org>,
Devicetree@vger.kernel.org,
"Julius Werner" <jwerner@chromium.org>,
"Saravana Kannan" <saravanak@kernel.org>,
"Will Deacon" <will@kernel.org>,
"Michal Simek" <michal.simek@amd.com>,
"André Draszik" <andre.draszik@linaro.org>,
"Douglas Anderson" <dianders@chromium.org>,
"Alice Ryhl" <aliceryhl@google.com>,
"Andrew Jones" <andrew.jones@linux.dev>,
"Bjorn Andersson" <andersson@kernel.org>,
"Breno Leitao" <leitao@debian.org>,
"David Sterba" <dsterba@suse.com>, "Gary Guo" <gary@garyguo.net>,
"Josh Poimboeuf" <jpoimboe@kernel.org>,
"Luis Augenstein" <luis.augenstein@tngtech.com>,
"Marco Elver" <elver@google.com>,
"Mark Rutland" <mark.rutland@arm.com>,
"Masahiro Yamada" <masahiroy@kernel.org>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Nick Terrell" <terrelln@fb.com>,
"Peter Zijlstra (Intel)" <peterz@infradead.org>,
"Rong Xu" <xur@google.com>,
"Thomas Weißschuh" <thomas.weissschuh@linutronix.de>,
cros-qcom-dts-watchers@chromium.org, devicetree@vger.kernel.org,
linux-samsung-soc@vger.kernel.org
Subject: [RFC PATCH 0/7] arm64: Add fit images for sc7180-trogdor and google,lga
Date: Tue, 20 Oct 2026 08:35:18 -0700 [thread overview]
Message-ID: <20261020153652.2907186-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 .its script to associate metadata with each
board's devicetree. 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 [1], 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
.its script 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] http://lore.kernel.org/r/20261015182221.2931742-1-dianders@chromium.org
Douglas Anderson (7):
scripts/dtc: Add fdtget.c and fdtput.c to sync script
scripts/dtc: Update to upstream version v1.8.1-22-gf3451d12532b
scripts/dtc: Build fdtget and fdtput host tools
arm64: boot: Support building image.fit from a specified FIT_ITS
script
kbuild: fit: Add opt-in FIT_FACTOR_DTBS support using fdtfactor
arm64: dts: google: lga: Add lga.its FIT image script
arm64: dts: qcom: sc7180: Add sc7180-trogdor.its FIT image script
Makefile | 2 +-
arch/arm64/Makefile | 3 +
arch/arm64/boot/Makefile | 9 +-
arch/arm64/boot/dts/google/lga.its | 68 ++
arch/arm64/boot/dts/qcom/sc7180-trogdor.its | 728 ++++++++++++++++++++
scripts/Makefile.dtbs | 51 +-
scripts/Makefile.lib | 67 +-
scripts/dtc/.gitignore | 2 +
scripts/dtc/Makefile | 6 +-
scripts/dtc/checks.c | 2 +-
scripts/dtc/fdtget.c | 207 +++---
scripts/dtc/fdtput.c | 280 ++++++--
scripts/dtc/libfdt/fdt_ro.c | 2 +
scripts/dtc/libfdt/fdt_rw.c | 41 +-
scripts/dtc/libfdt/fdt_sw.c | 3 +-
scripts/dtc/libfdt/libfdt.h | 70 +-
scripts/dtc/livetree.c | 2 +-
scripts/dtc/update-dtc-source.sh | 4 +-
scripts/dtc/version_gen.h | 2 +-
19 files changed, 1322 insertions(+), 227 deletions(-)
create mode 100644 arch/arm64/boot/dts/google/lga.its
create mode 100644 arch/arm64/boot/dts/qcom/sc7180-trogdor.its
--
2.56.0.212.g129ede20d9-goog
next reply other threads:[~2026-10-20 15:37 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-20 15:35 Douglas Anderson [this message]
2026-10-20 15:35 ` [RFC PATCH 1/7] scripts/dtc: Add fdtget.c and fdtput.c to sync script Douglas Anderson
2026-10-20 15:35 ` [RFC PATCH 2/7] scripts/dtc: Update to upstream version v1.8.1-22-gf3451d12532b Douglas Anderson
2026-10-20 15:35 ` [RFC PATCH 3/7] scripts/dtc: Build fdtget and fdtput host tools Douglas Anderson
2026-10-20 15:35 ` [RFC PATCH 4/7] arm64: boot: Support building image.fit from a specified FIT_ITS script Douglas Anderson
2026-10-20 15:35 ` [RFC PATCH 5/7] kbuild: fit: Add opt-in FIT_FACTOR_DTBS support using fdtfactor Douglas Anderson
2026-10-20 15:35 ` [RFC PATCH 6/7] arm64: dts: google: lga: Add lga.its FIT image script Douglas Anderson
2026-10-20 15:35 ` [RFC PATCH 7/7] arm64: dts: qcom: sc7180: Add sc7180-trogdor.its " 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=20261020153652.2907186-1-dianders@chromium.org \
--to=dianders@chromium.org \
--cc=Devicetree-compiler@vger.kernel.org \
--cc=Devicetree@vger.kernel.org \
--cc=aliceryhl@google.com \
--cc=andersson@kernel.org \
--cc=andre.draszik@linaro.org \
--cc=andrew.jones@linux.dev \
--cc=briannorris@chromium.org \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=cros-qcom-dts-watchers@chromium.org \
--cc=dsterba@suse.com \
--cc=elver@google.com \
--cc=gary@garyguo.net \
--cc=jpoimboe@kernel.org \
--cc=jwerner@chromium.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=leitao@debian.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=luis.augenstein@tngtech.com \
--cc=mark.rutland@arm.com \
--cc=masahiroy@kernel.org \
--cc=michal.simek@amd.com \
--cc=nathan@kernel.org \
--cc=nsc@kernel.org \
--cc=ojeda@kernel.org \
--cc=peter.griffin@linaro.org \
--cc=peterz@infradead.org \
--cc=robh@kernel.org \
--cc=saravanak@kernel.org \
--cc=sjg@chromium.org \
--cc=terrelln@fb.com \
--cc=thomas.weissschuh@linutronix.de \
--cc=tudor.ambarus@linaro.org \
--cc=wenst@chromium.org \
--cc=will@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®