
On Tue, 5 Sep 2023 11:37:31 +0300 Andrey Skvortsov andrej.skvortzov@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.skvortzov@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