From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dalon L Westergreen Date: Thu, 28 Mar 2019 07:32:23 -0700 Subject: [U-Boot] CONFIG_OF_EMBED In-Reply-To: References: <0b1208a08048813720daa71295f2ac4b5bf6a0ed.camel@linux.intel.com> <48e20cd3-0a02-a383-2227-c49b151ff332@denx.de> <54002f50bf7341bc1e1f65e33d021ca5eb9f92c4.camel@linux.intel.com> Message-ID: <9fcf3bceabc1b911268379f270b14c468d7fbfe5.camel@linux.intel.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 Fri, 2019-03-22 at 10:11 +0800, Simon Glass wrote: > Hi, > > On Fri, 22 Mar 2019 at 05:37, Marek Vasut wrote: > > On 3/21/19 5:37 PM, Dalon L Westergreen wrote: > > > On Thu, 2019-03-21 at 16:48 +0100, Marek Vasut wrote: > > > > On 3/21/19 3:33 PM, Dalon L Westergreen wrote: > > > > > On Thu, 2019-03-21 at 03:30 +0100, Marek Vasut wrote: > > > > > > On 3/20/19 9:24 PM, Dalon L Westergreen wrote: > > > > > > > On Wed, 2019-03-20 at 19:37 +0100, Marek Vasut wrote: > > > > > > > > On 3/20/19 6:28 PM, Dalon L Westergreen wrote: > > > > > > > > > Hey Marek, > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > > A while ago, when adding the hex output required for > > > > > > > > > stratix10, I > > > > > > > > > enabled > > > > > > > > > CONFIG_OF_EMBED so that the spl elf included the dtb. This > > > > > > > > > avoided > > > > > > > > > the > > > > > > > > > -- > > > > > > > > > change-address option when using objcopy to convert the u- > > > > > > > > > boot-spl- > > > > > > > > > dtb.bin > > > > > > > > > into > > > > > > > > > a hex file with the correct address as required by the quartus > > > > > > > > > tools. > > > > > > > > > > > > > > > > > > In any case, there is now a warning that CONFIG_OF_EMBED > > > > > > > > > should only > > > > > > > > > be > > > > > > > > > used > > > > > > > > > for > > > > > > > > > development and debug. I am wondering how best to resolve > > > > > > > > > this > > > > > > > > > issue, > > > > > > > > > should i > > > > > > > > > revert back to using objcopy with the u-boot-spl-dtb.bin, is > > > > > > > > > there a > > > > > > > > > way > > > > > > > > > to > > > > > > > > > have > > > > > > > > > CONFIG_OF_EMBED only apply to SPL? > > > > > > > > > > > > > > > > CONFIG_OF_SEPARATE is what you want. > > > > > > > > > > > > > > I dont think this is what i want exactly. I was thinking of this. > > > > > > > From 82c1d1bc6092ce40f33a04f2bc7713b0143e30a5 Mon Sep 17 00:00:00 > > > > > > > 2001 > > > > > > > From: Dalon Westergreen > > > > > > > Date: Wed, 20 Mar 2019 11:21:20 -0700 > > > > > > > Subject: [PATCH 1/2] Makefile: Add target to generate hex output > > > > > > > for > > > > > > > combined > > > > > > > spl and dtb > > > > > > > > > > > > > > Some architectures, Stratix10, require a hex formatted spl that > > > > > > > combines > > > > > > > the spl image and dtb. This adds a target to create said hex file > > > > > > > with > > > > > > > and offset of SPL_TEXT_BASE. > > I don't really follow this thread, but you should not use > CONFIG_OF_EMBED. If there is a problem with setting up the image with > CONFIG_OF_SEPARATE, we should discuss it. > > - Simon Simon, Did you see my patches following this email? They resolve the issues with S10 around CONFIG_OF_EMBED. --dalon > > > > > > > The CONFIG_OF_SEPARATE doesn't generate a combined image anymore ? > > > > > > Seems > > > > > > like it does at least on the renesas platforms (cfr e.g. > > > > > > stout_defconfig, where I use exactly that). > > > > > > > > > > It generates a combined binary, u-boot-spl-dtb.bin, as far as i know. > > > > > The elf is not combined, so using objcopy on the elf results in a hex > > > > > file without the dtb. Stratix 10 needs a combined hex file that > > > > > starts > > > > > at CONFIG_SPL_TEXT_BASE. This file is then combined by quartus with > > > > > the fpga image. The SDM loads the spl image into the cpu's onchip ram > > > > > and releases it from reset. > > > > > > > > > > So what i am trying to do is get a hex file generated that is > > > > > appriopriate > > > > > for the quartus tools. With CONFIG_OF_EMBED, this was easy, as you > > > > > just > > > > > run objcopy on the elf to create the hex output. With > > > > > CONFIG_OF_SEPARATE > > > > > you need the combined binary to do the same. hence, > > > > > > > > > > +OBJCOPYFLAGS_u-boot-spl-dtb.hex := -I binary -O ihex --change- > > > > > > > address=$(CONFIG_SPL_TEXT_BASE) > > > > > > > + > > > > > > > +spl/u-boot-spl-dtb.hex: spl/u-boot-spl-dtb.bin FORCE > > > > > > > + $(call if_changed,objcopy) > > > > Aha, right. CCing Simon, maybe he has some better idea. > > > > > > > > Otherwise, let's add the custom target. Maybe we can add it to > > > > arch/arm/mach-socfpga instead though. > > > > > > After a quick test to add the target to mach-socfpga instead of the root > > > Makefile, it seems i would still need to modify the root Makefile to call > > > the mach-socfpga makefile for the target in any case. If acceptable, i > > > think it cleaner to just add the target to the root Makefile. > > > > I think that's fine. The root Makefile is growing like dough. that needs > > to stop. > > > > -- > > Best regards, > > Marek Vasut