Hi York, On 20 September 2017 at 09:20, York Sun <york....@nxp.com> wrote: > On 09/18/2017 08:47 AM, York Sun wrote: >> On 09/17/2017 10:55 AM, Simon Glass wrote: >>> Hi York, >>> >>> On 14 September 2017 at 13:01, York Sun <york....@nxp.com> wrote: >>>> This partially reverts commit 15eb1d43bf470b85e9031c2fce7e0ce7b27dd321 >>>> which intended to move assignment of board info earlier, into >>>> board_init_r(). However, function preload_console_init() is called >>>> either from spl_board_init() or from board_init_f(). For the latter >>>> case, the board info assignment is much earlier than board_init_r(). >>>> Moving such assignment to board_init_r() would be moving it later. >>>> >>>> Signed-off-by: York Sun <york....@nxp.com> >>>> CC: Lokesh Vutla <lokeshvu...@ti.com> >>>> CC: Ravi Babu <ravib...@ti.com> >>>> CC: Lukasz Majewski <lu...@denx.de> >>>> CC: Tom Rini <tr...@konsulko.com> >>>> >>>> --- >>>> >>>> Changes in v2: >>>> New patch to fix spl after rebasing to latest master. >>>> >>>> common/spl/spl.c | 8 +++++++- >>>> 1 file changed, 7 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/common/spl/spl.c b/common/spl/spl.c >>>> index ce9819e..98b0ca0 100644 >>>> --- a/common/spl/spl.c >>>> +++ b/common/spl/spl.c >>>> @@ -365,7 +365,10 @@ void board_init_r(gd_t *dummy1, ulong dummy2) >>>> struct spl_image_info spl_image; >>>> >>>> debug(">>spl:board_init_r()\n"); >>>> - gd->bd = &bdata; >>>> + >>>> + if (!gd->bd) >>>> + gd->bd = &bdata; >>>> + >>>> #ifdef CONFIG_SPL_OS_BOOT >>>> dram_init_banksize(); >>>> #endif >>>> @@ -450,6 +453,9 @@ void board_init_r(gd_t *dummy1, ulong dummy2) >>>> */ >>>> void preloader_console_init(void) >>>> { >>>> + if (!gd->bd) >>>> + gd->bd = &bdata; >>>> + >>> >>> It seems odd that enabling the console sets this data. >>> > > I don't know the history of this line. But it seems this the common > function called by board_init_f from various board level spl file. > >>> What was the impact of moving it later for your board? >>> >> >> gd->bd is used to track the dram bank information. With this moved >> later, I cannot track the secure memory reserved. I need this available >> before memory is initialized. > > The intention of 15eb1d43b was to move it earlier. But it turns out > function preloader_console_init() is called from different places. Some > are very early in board_init_f(). I guess we can add a new function just > to set gd->bd if it is empty, and call this function when needed. What's > your suggestion here?
Yes I think an explicit function is best. Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot