On 8/28/19 10:13 AM, Ley Foon Tan wrote: [...] >>>>>> If want to use address from DT, we need get address every time need to >>>>>> use the address. >>>>>> For non-DM, it is easier to use constant address. Let me know if you >>>>>> still prefer to use address from DT. >>>> >>>> Surely you can cache the address or even better, convert to DM/DT ? >>> Will try to cache the address for now. But, we need get address from >>> DT twice, one in SPL, one in Uboot. They not sharing global data. >> >> I don't think there's much we can do about that, unless we can somehow >> share parsed live DT from SPL to U-Boot, but that's for another >> discussion/patchset/etc. > I am working on this now and found there are 2 challenges if we get > base address from DT. > 1. We can only get the address from DT after gd->fdt_blob is > initialized in spl_early_init(). So, spl_early_init() need move to > beginning of board_init_f().
This should be reasonably easy to solve I guess ? > Tested this on Agilex, look okay. But, pending test on other device > families, like Gen5 or A10. Not sure any side effect with this change. > 2. Secure (for PSCI) and non-secure functions share same functions, > these functions can't use global data (for base address). Secure > functions have its own secure data region. There was a discussion about this before, instead of hacking up this part constantly, maybe we should create a separate build of U-Boot (like SPL/TPL) and use that for the "secure" mode. But that's for another patchset and another discussion. > #2 is more difficult to overcome. Do you have strong opinion to get > base address from DT? Otherwise, can we use constant define for these > base addresses? See above, the secure part might need further work. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot