
Hi Lukasz,
On Mon, 31 Dec 2018 at 04:26, Lukasz Majewski lukma@denx.de wrote:
Hi Simon,
Hi Lukasz,
On Wed, 19 Dec 2018 at 03:11, Lukasz Majewski lukma@denx.de wrote:
Dear Simon and Simon,
Am 05.12.2018 um 14:57 schrieb Simon Glass:
This option has crept into use with some boards. Add a warning to try to prevent this.
As an example: https://lists.denx.de/pipermail/u-boot/2017-September/304966.html
We have just discussed this in another thread. There seem to be ~109 defconfigs in the tree that enable OF_EMBED.
I doubt all of them do this for fun, so we might want to collect the reasons they do so. I do know two:
- socfpga_stratix10_defconfig needs this to get a correct
u-boot-spl.hex
- I would need it to ensure in SPL, the DTB is in one block with
the other readonly parts. Without OF_EMBED, we have '.text', '.bss', DT.
Another use case is imx6:
When I want to use SPL's embedded DTB for early init, with OF_SEPARATE I get fdt_blob = (ulong *)&__bss_end; ,which points me to 0x18200060, which is in DDR (and there is either garbage nor DDR is not initialized at all).
The above looks like the __bss_end is for u-boot proper.
The workaround (for now) is to have OF_EMBED, which assigns gd->fdt_blob = __dtb_dt_spl_begin [1], and this is a correct address.
Hence, I'm wondering if shall I assign: gd->fdt_blob = __dtb_dt_spl_begin;
in my early SPL code (and do not use fdt_setup() function at all in SPL) ?
Or you could update fdt_setup() to do what you want (perhaps with a new CONFIG?).
I've found the root cause of this problem....
For the board I had not defined CONFIG_SPL_SEPARATE_BSS. After providing it the OF_SEPARATE can be used (and dtb is appended between SPL binary and bss (in SDRAM) region.
OK that's great news, thank you for digging into it.
Regards, Simon
Moreover, defining board_fdt_blob_setup() for _each_ IMX6 board which would switch to DM_MMC in SPL seems like an no acceptable solution.
[1] - ./spl/dts/dt-spl.dtb.S:3:.global __dtb_dt_spl_begin --> Looks like __dtb_dt_spl_begin is exactly for this purpose.
Regards, Simon
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de