On Thu, Jan 23, 2025 at 03:13:01PM +0100, Heiko Stübner wrote: > Am Mittwoch, 22. Januar 2025, 17:12:26 CET schrieb Niklas Cassel: > > On Wed, Jan 22, 2025 at 04:38:16PM +0100, Quentin Schulz wrote: > > > So essentially, if SPL_ATF_NO_PLATFORM_PARAM is selected (the default for > > > RK356x, RK3588, forced on on RK3308, enabled for the majority of RK3399 > > > boards, enabled for all RK3328 boards) the DT won't be passed to TF-A so no > > > issue in terms of size on that side. > > > If it is not selected, for TF-A < 2.4 (released 20201117, 4 years ago), a > > > DTB bigger than 64KiB will crash TF-A. > > > If it is not selected, for TF-A >= 2.4, a DTB bigger than 128KiB will result > > > in TF-A not being able to read the DTB (for Rockchip, that means not being > > > able to derive the UART settings (controller and baudrate) to use, and will > > > use the compile-time default instead). > > > > Not everyone is using binary blobs from Rockchip. > > On my rock5b (rk3588), I'm building the bootloader using buildroot, > > which is using upstream TrustedFirmware-A (v2.12). > > > > > > > In short, I don't know where to go with that additional piece of > > > information, but this is a bit bigger than simply moving things around and > > > adding compile-time tests for overlay application. > > > > This is significant information indeed. > > I guess the question is, can this hurt existing devices? > > As Quentin mentioned, this only affects DTs that get handed over from > U-Boot to TF-A (and maybe OP-TEE). > > So the whole range of things loading their DT from extlinux.conf or > whatever are not really affected. > > > DTs U-Boot can hand over are 2 types, > (1) built from within u-boot and > (2) stored somewhere centrally (SPI flash). > > > Case (1) is again not affected, as U-Boot (and other bootloaders) may > very well sync the DTS files, but generally not the build-system, so if > U-Boot (or any other bootloader) creates DTBs with symbols is completely > their own choice. > > > And for case (2) I see the manufacturer being responsible. Having the DT > in central storage makes it somewhat part of a "bios"-level in the hirarchy > and the general guarantee is that new software _will work_ with older DTs, > but the other way around is more a nice to have (old SW with new DTB). > > So if some manufacturer has a centrally located DTB this does not matter > until they upgrade, and when that happens I do expect testing to happen > at the manufacturers side, before rolling out a "bios update" Personally, I'm all for letting the kernel build the DTBs with symbols. (I have a patch that I keep rebasing on my tree only for that purpose. Sure, I could modify my build scripts to build the DTB separately, but with this patch, I do not need to do anything since the kernel builds the DTBs already.) Other platforms, e.g. TI already build many boards with symbols: https://github.com/torvalds/linux/blob/v6.13/arch/arm64/boot/dts/ti/Makefile#L242-L261 You seems to have been against enabling symbols before: https://lore.kernel.org/linux-rockchip/171941553475.921128.9467465539299233735.b4-ty@xxxxxxxxx/ https://lore.kernel.org/linux-rockchip/1952472.6tgchFWduM@diego/ But if you have changed you mind, and you are no longer concerned about doing so, then in my own self-interest I'm all for it :) Kind regards, Niklas