On Tue, 5 Sep 2023 11:37:31 +0300 Andrey Skvortsov <andrej.skvort...@gmail.com> wrote:
Hi, > On 23-09-05 09:27, Andre Przywara wrote: > > On Mon, 4 Sep 2023 23:54:30 +0300 > > Andrey Skvortsov <andrej.skvort...@gmail.com> wrote: > > > > Hi Andrey, > > > > > When using SCPI as the PSCI backend, firmware can wake up the CPUs and > > > cluster from sleep, so CPU idle states are available for loaded OS to > > > use. TF-A modifies DTB to advertise available CPU idle states, when > > > SCPI is detected. This change copies nodes added by TF-A to any new > > > dtb that is used for loaded OS. > > > > Why do you need that, exactly? Why not just use $fdtcontroladdr for the > > kernel? We now keep the U-Boot copy of the .dts files in sync with the > > kernel. If you need to modify the DT in U-Boot, for instance by applying > > overlays, you can copy that DTB into a better suitable location first: > > => fdt move $fdtcontroladdr $fdt_addr_r > > > > In any case, there shall be only one DT, that one in the U-Boot image. Why > > do you need to load another one for the kernel? > > extlinux is used by distributions (sometimes with device-specific changes > especially What distros are that? I guess some special ones, targeting embedded devices, like the Pinephone? And who is generating extlinux.conf then? Is that some distro specific scripting, similar to how grub is configured? Honest questions, I am not a user of extlinux, I mostly use UEFI booting, or type U-Boot commands directly for experiments, or use boot.scr, as a quick-and-dirty hack. > for platforms not fully supported by mainline yet), Do you need any changes to the DT? Do you need to apply overlays? If you run on a non-mainlined platform, you could still put your DT into the U-Boot tree, then you wouldn't need to load another DTB, which also simplifies the deployment on the kernel/distro side. > then U-Boot loads DT defined in > extlinux.conf file. u-boot scripts are not used in case of extlinux at all. That's fine, you don't need any U-Boot scripts for this to work. If there is no "fdt" or "fdtdir" label in extlinux.conf, then the U-Boot PXE code will eventually fall back to $fdtcontroladdr - I just tested that. So could you make that work for you? I guess all you need to change is to remove any fdtdir label from extlinux.conf? Cheers, Andre