[U-Boot] SPL and DM on ZYNQ

Jagan Teki jteki at openedev.com
Wed Oct 7 20:01:53 CEST 2015


On 7 October 2015 at 21:29, Simon Glass <sjg at chromium.org> wrote:
> Hi,
>
> On 7 October 2015 at 13:50, Hannes Schmelzer <hannes at 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-working
[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.


More information about the U-Boot mailing list