Hi Bin, > -----Original Message----- > From: U-Boot [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Bin Meng > Sent: Tuesday, July 3, 2018 8:11 PM > To: Prabhakar Kushwaha <prabhakar.kushw...@nxp.com> > Cc: u-boot@lists.denx.de > Subject: Re: [U-Boot] Support of device-tree for PowerPC platform: Query > > Hi Prabhakar, > > On Mon, Jul 2, 2018 at 11:27 PM, Prabhakar Kushwaha > <prabhakar.kushw...@nxp.com> wrote: > > Dear Bin, > > > > Coming back to x86 example. > > > >> -----Original Message----- > >> From: Bin Meng [mailto:bmeng...@gmail.com] > >> Sent: Friday, June 29, 2018 7:03 AM > >> To: York Sun <york....@nxp.com> > >> Cc: Simon Glass <s...@chromium.org>; Prabhakar Kushwaha > >> <prabhakar.kushw...@nxp.com>; u-boot@lists.denx.de > >> Subject: Re: [U-Boot] Support of device-tree for PowerPC platform: > >> Query > >> > >> Hi York, > >> > >> On Thu, Jun 28, 2018 at 11:32 PM, York Sun <york....@nxp.com> wrote: > >> > On 06/27/2018 10:53 PM, Bin Meng wrote: > >> > <snip> > >> >> > >> >>> Can the DT perhaps go before U-Boot in the flash? We would need a > >> >>> way to find it though. > >> >>> > >> >> > >> >> I don't see any issue that DT go after U-Boot in the flash. x86 > >> >> does this way, and its reset vector is also the last address of flash. > >> >> > >> > > >> > Big issue. e500 runs from the last address of the flash. We cannot > >> > put DT after U-Boot. > >> > >> Looks you did not get it. I know e500 reset vector is the last 4 bytes > >> below > 4G. > >> This is similar to x86. DTB can be put after the u-boot image without > >> reset vector. You may check how x86 does this. > >> > > > > I tried to search thing for x86 but did not succeed ☹ > > > > You can test x86 build easily with QEMU. > > $ make qemu-x86_defconfig > $ make V=1 > > This way you can see how u-boot.rom image is built. > > > I request you to help me with sample code and boot flow. > > I will try to understand and see how it can help PowerPC. > > > > Please see the sample build flow below: > > 1. objcopy --gap-fill=0xff -O binary -R .start16 -R .resetvec u-boot u-boot- > nodtb.bin > > .start16 and .resetvec is the x86 boot vector. This is similar to PPC BookE's > reset > vector. These two sections are removed to generate a new u-boot-nodtb > binary. > > 2. cat arch/x86/dts/qemu-x86_i440fx.dtb > dts/dt.dtb > cat u-boot-nodtb.bin dts/dt.dtb > u-boot-dtb.bin > > Append dtb to the end of the u-boot-nodtb binary and get a new u-boot-dtb > binary. > > 3. cp dts/dt.dtb u-boot.dtb > objcopy --gap-fill=0xff -O binary -j .start16 -j .resetvec u-boot > u-boot-x86- > 16bit.bin > > Create a binary which contains the reset vector. > > 4. ./tools/binman/binman -d u-boot.dtb -O . -I . -I > ./board/emulation/qemu-x86 u-boot-x86-16bit.bin > > Use binman to assemble the final u-boot.rom image.
Wouldn't it be similar to CONFIG_OF_EMBED as dtb is embedded in final binary(before start and resetvec sections)? Thanks, Jagdish _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot