From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Simek Date: Tue, 1 Dec 2015 16:12:56 +0100 Subject: [U-Boot] [PATCH v2] common: board_f: Dont relocate FDT incase of CONFIG_OF_EMBED In-Reply-To: References: <4f35f3cfb25f82fd43444985c500558a809e7cb0.1448609289.git.michal.simek@xilinx.com> <565D4489.9020207@xilinx.com> Message-ID: <565DB8F8.1040708@xilinx.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 1.12.2015 16:09, Simon Glass wrote: > Hi Michal, > > On 30 November 2015 at 23:56, Michal Simek wrote: >> On 1.12.2015 00:17, Simon Glass wrote: >>> Hi Michal, >>> >>> On 27 November 2015 at 00:28, Michal Simek wrote: >>>> From: Siva Durga Prasad Paladugu >>>> >>>> Don't relocate fdt in case of CONFIG_OF EMBED as the fdt is >>>> already embedded with u-boot image. Also update the fdt_blob >>>> correctly in this case >>>> >>>> Signed-off-by: Siva Durga Prasad Paladugu >>>> Signed-off-by: Michal Simek >>>> Reviewed-by: Alexey Brodkin >>>> --- >>>> >>>> Changes in v2: >>>> - Fix commit message reported by Alexey >>>> >>>> common/board_f.c | 11 +++++++++-- >>>> 1 file changed, 9 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/common/board_f.c b/common/board_f.c >>>> index b035c90ff3b7..91bf8beea1c6 100644 >>>> --- a/common/board_f.c >>>> +++ b/common/board_f.c >>>> @@ -508,7 +508,7 @@ static int reserve_global_data(void) >>>> return 0; >>>> } >>>> >>>> -static int reserve_fdt(void) >>>> +static int __maybe_unused reserve_fdt(void) >>>> { >>>> /* >>>> * If the device tree is sitting immediately above our image then we >>>> @@ -658,7 +658,7 @@ static int setup_dram_config(void) >>>> return 0; >>>> } >>>> >>>> -static int reloc_fdt(void) >>>> +static int __maybe_unused reloc_fdt(void) >>>> { >>>> if (gd->flags & GD_FLG_SKIP_RELOC) >>>> return 0; >>>> @@ -687,6 +687,9 @@ static int setup_reloc(void) >>>> gd->reloc_off = gd->relocaddr - (CONFIG_SYS_TEXT_BASE + 0x400); >>>> #endif >>>> #endif >>>> +#ifdef CONFIG_OF_EMBED >>>> + gd->fdt_blob += gd->reloc_off; >>>> +#endif >>>> memcpy(gd->new_gd, (char *)gd, sizeof(gd_t)); >>>> >>>> debug("Relocation Offset is: %08lx\n", gd->reloc_off); >>>> @@ -938,7 +941,9 @@ static init_fnc_t init_sequence_f[] = { >>>> #endif >>>> setup_machine, >>>> reserve_global_data, >>>> +#ifndef CONFIG_OF_EMBED >>>> reserve_fdt, >>>> +#endif >>> >>> Can you please put the #ifdef in the function? At some point we are >>> hoping to get rid of all these #ifdefs. >> >> Do you think that this is the best way how to handle this? >> We are targeting small uboot running from OCM on Zynq. Moving ifdef to >> function itself will caused that we will waste some bytes which do nothing. >> Reference in table stays there and then return from that function too. >> It it is not huge but this way seems to me better. >> >> But no problem to change it if you think that this is the best way how >> to handle this. > > You should not be using CONFIG_OF_EMBED... For production board. Again is there really need to move to that ifdef inside reserve_fdt function? > I recall you were originally worried about the name change from > u-boot.bin to u-boot-dtb.bin. Is that right? No problem with this now. Thanks, Michal