* [U-Boot] SPL and DM on ZYNQ
@ 2015-10-07 12:50 Hannes Schmelzer
2015-10-07 15:59 ` Simon Glass
0 siblings, 1 reply; 8+ messages in thread
From: Hannes Schmelzer @ 2015-10-07 12:50 UTC (permalink / raw)
To: u-boot
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.
thanks,
Hannes
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] SPL and DM on ZYNQ
2015-10-07 12:50 [U-Boot] SPL and DM on ZYNQ Hannes Schmelzer
@ 2015-10-07 15:59 ` Simon Glass
2015-10-07 18:01 ` Jagan Teki
0 siblings, 1 reply; 8+ messages in thread
From: Simon Glass @ 2015-10-07 15:59 UTC (permalink / raw)
To: u-boot
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 don't see it in the zynq one (arch/arm/mach-zynq).
That would cause the uclass driver to be missing.
Regards,
Simon
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] SPL and DM on ZYNQ
2015-10-07 15:59 ` Simon Glass
@ 2015-10-07 18:01 ` Jagan Teki
2015-10-07 22:22 ` Simon Glass
2015-10-08 7:04 ` Hannes Schmelzer
0 siblings, 2 replies; 8+ messages in thread
From: Jagan Teki @ 2015-10-07 18:01 UTC (permalink / raw)
To: u-boot
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-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.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] SPL and DM on ZYNQ
2015-10-07 18:01 ` Jagan Teki
@ 2015-10-07 22:22 ` Simon Glass
2015-10-08 7:04 ` Hannes Schmelzer
1 sibling, 0 replies; 8+ messages in thread
From: Simon Glass @ 2015-10-07 22:22 UTC (permalink / raw)
To: u-boot
Hi Jagan,
On 7 October 2015 at 19:01, Jagan Teki <jteki@openedev.com> wrote:
> 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-working
> [2] https://patchwork.ozlabs.org/patch/517709/
>
OK, I don't believe they are going in before the release, nor that I
should be pulling them. Please let me know if I have this wrong.
>>
>> I don't see it in the zynq one (arch/arm/mach-zynq).
>>
>> That would cause the uclass driver to be missing.
>
> -- Jagan.
Regards,
Simon
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] SPL and DM on ZYNQ
2015-10-07 18:01 ` Jagan Teki
2015-10-07 22:22 ` Simon Glass
@ 2015-10-08 7:04 ` Hannes Schmelzer
2015-10-09 7:04 ` Hannes Schmelzer
1 sibling, 1 reply; 8+ messages in thread
From: Hannes Schmelzer @ 2015-10-08 7:04 UTC (permalink / raw)
To: u-boot
On 07.10.2015 20:01, Jagan Teki wrote:
> On 7 October 2015 at 21:29, Simon Glass <sjg@chromium.org> wrote:
>> Hi,
Hi,
there are some news on this.
>>
>> 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-working
> [2] https://patchwork.ozlabs.org/patch/517709/
Many thanks for this.
I've now branched from u-boot-dm.git/zynq-working2 and then merged
u-boot-spi/master into it.
After a few merge conflicts i'am able to build u-boot and boot it from
SD with working DM support during SPL and QSPI support.
The next step was/is burning this file into the QSPI flash and boot from it.
burning was now problem, but boot ends up with:
U-Boot SPL 2015.10-rc4-00101-gb6dcb3f-dirty (Oct 08 2015 - 08:42:53)
qspi boot
boot device - 8
uclass_find_device_by_seq: 0 0
- not found
uclass_find_device_by_seq: 1 0
- not found
Invalid bus 0 (err=-19)
SPI probe failed.
### ERROR ### Please RESET the board ###
maybe there is yet another switch, which needs to be turned on.
Subject of suspicion is currently "support simple-bus driver in SPL".
But if i compile with this option,
boot ends up with:
U-Boot SPL 2015.10-rc4-00101-gb6dcb3f-dirty (Oct 08 2015 - 09:01:35)
mmc boot
boot device - 1
mmc_init: 0, time 58
spl: mmc boot mode: fs
reading system.dtb
Error: allocating memory
spl_load_image_fat_os: error reading image system.dtb, err - -1
reading u-boot-dtb.img
Error: allocating memory
spl_load_image_fat: error reading image u-boot-dtb.img, err - -1
spl: mmc: no boot mode left to try
### ERROR ### Please RESET the board ###
Any ideas?
many thanks and best regards,
Hannes
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] SPL and DM on ZYNQ
2015-10-08 7:04 ` Hannes Schmelzer
@ 2015-10-09 7:04 ` Hannes Schmelzer
2015-10-09 13:02 ` Simon Glass
0 siblings, 1 reply; 8+ messages in thread
From: Hannes Schmelzer @ 2015-10-09 7:04 UTC (permalink / raw)
To: u-boot
> I've now branched from u-boot-dm.git/zynq-working2 and then merged
> u-boot-spi/master into it.
>
> After a few merge conflicts i'am able to build u-boot and boot it from
> SD with working DM support during SPL and QSPI support.
> The next step was/is burning this file into the QSPI flash and boot
> from it.
>
> burning was now problem, but boot ends up with:
>
> U-Boot SPL 2015.10-rc4-00101-gb6dcb3f-dirty (Oct 08 2015 - 08:42:53)
> qspi boot
> boot device - 8
> uclass_find_device_by_seq: 0 0
> - not found
> uclass_find_device_by_seq: 1 0
> - not found
> Invalid bus 0 (err=-19)
> SPI probe failed.
> ### ERROR ### Please RESET the board ###
>
> maybe there is yet another switch, which needs to be turned on.
> Subject of suspicion is currently "support simple-bus driver in SPL".
> But if i compile with this option,
> boot ends up with:
>
> U-Boot SPL 2015.10-rc4-00101-gb6dcb3f-dirty (Oct 08 2015 - 09:01:35)
> mmc boot
> boot device - 1
> mmc_init: 0, time 58
> spl: mmc boot mode: fs
> reading system.dtb
> Error: allocating memory
> spl_load_image_fat_os: error reading image system.dtb, err - -1
> reading u-boot-dtb.img
> Error: allocating memory
> spl_load_image_fat: error reading image u-boot-dtb.img, err - -1
> spl: mmc: no boot mode left to try
> ### ERROR ### Please RESET the board ###
This is because there is only very limited heap (0x1000) enabled in
zynq-common.h and therefore the FAT buffers cannot be allocated -> solved.
Further i've found out that my board isn't booting from SPI because
there is nothing within "SPL-devicetree" about QSPI.
Can anyone explain me how the "normal" and the "SPL" devicetree is
separated ?
best regards,
Hannes
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] SPL and DM on ZYNQ
2015-10-09 7:04 ` Hannes Schmelzer
@ 2015-10-09 13:02 ` Simon Glass
2015-10-09 13:06 ` Hannes Schmelzer
0 siblings, 1 reply; 8+ messages in thread
From: Simon Glass @ 2015-10-09 13:02 UTC (permalink / raw)
To: u-boot
Hi,
On 9 October 2015 at 08:04, Hannes Schmelzer <hannes@schmelzer.or.at> wrote:
>
>> I've now branched from u-boot-dm.git/zynq-working2 and then merged
>> u-boot-spi/master into it.
>>
>> After a few merge conflicts i'am able to build u-boot and boot it from SD
>> with working DM support during SPL and QSPI support.
>> The next step was/is burning this file into the QSPI flash and boot from
>> it.
>>
>> burning was now problem, but boot ends up with:
>>
>> U-Boot SPL 2015.10-rc4-00101-gb6dcb3f-dirty (Oct 08 2015 - 08:42:53)
>> qspi boot
>> boot device - 8
>> uclass_find_device_by_seq: 0 0
>> - not found
>> uclass_find_device_by_seq: 1 0
>> - not found
>> Invalid bus 0 (err=-19)
>> SPI probe failed.
>> ### ERROR ### Please RESET the board ###
>>
>> maybe there is yet another switch, which needs to be turned on.
>> Subject of suspicion is currently "support simple-bus driver in SPL". But
>> if i compile with this option,
>> boot ends up with:
>>
>> U-Boot SPL 2015.10-rc4-00101-gb6dcb3f-dirty (Oct 08 2015 - 09:01:35)
>> mmc boot
>> boot device - 1
>> mmc_init: 0, time 58
>> spl: mmc boot mode: fs
>> reading system.dtb
>> Error: allocating memory
>> spl_load_image_fat_os: error reading image system.dtb, err - -1
>> reading u-boot-dtb.img
>> Error: allocating memory
>> spl_load_image_fat: error reading image u-boot-dtb.img, err - -1
>> spl: mmc: no boot mode left to try
>> ### ERROR ### Please RESET the board ###
>
> This is because there is only very limited heap (0x1000) enabled in
> zynq-common.h and therefore the FAT buffers cannot be allocated -> solved.
You may be able to use CONFIG_SPL_STACK_R here.
>
> Further i've found out that my board isn't booting from SPI because there
> is nothing within "SPL-devicetree" about QSPI.
>
> Can anyone explain me how the "normal" and the "SPL" devicetree is separated
> ?
Yes you can add the 'u-boot,dm-pre-reloc' property to a node. See the
driver-model README.txt (although it does not explicitly mention SPL
at present). It will then appear in the SPL device tree.
>
> best regards,
> Hannes
>
Regards,
Simon
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] SPL and DM on ZYNQ
2015-10-09 13:02 ` Simon Glass
@ 2015-10-09 13:06 ` Hannes Schmelzer
0 siblings, 0 replies; 8+ messages in thread
From: Hannes Schmelzer @ 2015-10-09 13:06 UTC (permalink / raw)
To: u-boot
> Hi,
Hi Simon,
many thanks for reply.
>
>>> (....)
>>>
>>> maybe there is yet another switch, which needs to be turned on.
>>> Subject of suspicion is currently "support simple-bus driver in SPL". But
>>> if i compile with this option,
>>> boot ends up with:
>>>
>>> U-Boot SPL 2015.10-rc4-00101-gb6dcb3f-dirty (Oct 08 2015 - 09:01:35)
>>> mmc boot
>>> boot device - 1
>>> mmc_init: 0, time 58
>>> spl: mmc boot mode: fs
>>> reading system.dtb
>>> Error: allocating memory
>>> spl_load_image_fat_os: error reading image system.dtb, err - -1
>>> reading u-boot-dtb.img
>>> Error: allocating memory
>>> spl_load_image_fat: error reading image u-boot-dtb.img, err - -1
>>> spl: mmc: no boot mode left to try
>>> ### ERROR ### Please RESET the board ###
>> This is because there is only very limited heap (0x1000) enabled in
>> zynq-common.h and therefore the FAT buffers cannot be allocated -> solved.
> You may be able to use CONFIG_SPL_STACK_R here.
i will check this.
>
>> Further i've found out that my board isn't booting from SPI because there
>> is nothing within "SPL-devicetree" about QSPI.
>>
>> Can anyone explain me how the "normal" and the "SPL" devicetree is separated
>> ?
> Yes you can add the 'u-boot,dm-pre-reloc' property to a node. See the
> driver-model README.txt (although it does not explicitly mention SPL
> at present). It will then appear in the SPL device tree.
I've found out this and added the property to the device-tree, the
device appaers now in the spl DTB.
But unfortunately i still cannot boot from QSPI flash - i am currently
debugging this.
Did anyone boot yet some ZYNQ from the QSPI flash ?
>
>> best regards,
>> Hannes
>>
> Regards,
> Simon
regards,
Hannes
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-10-09 13:06 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-07 12:50 [U-Boot] SPL and DM on ZYNQ Hannes Schmelzer
2015-10-07 15:59 ` Simon Glass
2015-10-07 18:01 ` Jagan Teki
2015-10-07 22:22 ` Simon Glass
2015-10-08 7:04 ` Hannes Schmelzer
2015-10-09 7:04 ` Hannes Schmelzer
2015-10-09 13:02 ` Simon Glass
2015-10-09 13:06 ` Hannes Schmelzer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox