
On 7 October 2015 at 21:29, Simon Glass sjg@chromium.org wrote:
Hi,
On 7 October 2015 at 13:50, Hannes Schmelzer hannes@schmelzer.or.at wrote:
hi folks,
i am not very familar with driver model until now and so i've a question.
I'm trying to bring up my Zynq ZC702 evalboard using driver-model during SPL stage (because QSPI needs this). I simply switched on "Driver Model for SPL" within Kconfig and compiled.
This ends up in:
U-Boot SPL 2015.10-rc4-00050-g996ec1d-dirty (Oct 07 2015 - 13:57:32)
spl:board_init_r()
using memory 0xffff10c0-0xffff20c0 for malloc() spl_init() dm_init() failed: -2 dm_init_and_scan() returned error -2 ### ERROR ### Please RESET the board ###
i had a look into drivers/core/root.c and saw that
device_bind_by_name(NULL, false, &root_info, &DM_ROOT_NON_CONST);
fails.
Any idea why the root-driver cannot be found ? Maybe there are some switched need to be switched on too.
Is there any chance that your SPL does not have the linker lists set up correctly?
See this code in the standard ARM u-boot-spl.lds:
#ifdef CONFIG_SPL_DM .u_boot_list : { KEEP(*(SORT(.u_boot_list_*_driver_*))); KEEP(*(SORT(.u_boot_list_*_uclass_*))); } #endif
I think these changes still in queue[1] I'm keep sending remainders, there is on PR blocks these changes[2]
[1] http://git.denx.de/?p=u-boot/u-boot-dm.git;a=shortlog;h=refs/heads/zynq-work... [2] https://patchwork.ozlabs.org/patch/517709/
I don't see it in the zynq one (arch/arm/mach-zynq).
That would cause the uclass driver to be missing.
-- Jagan.