From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hannes Schmelzer Date: Thu, 08 Oct 2015 09:04:42 +0200 Subject: [U-Boot] SPL and DM on ZYNQ In-Reply-To: References: <56151526.3010709@schmelzer.or.at> Message-ID: <5616158A.1070403@schmelzer.or.at> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 07.10.2015 20:01, Jagan Teki wrote: > On 7 October 2015 at 21:29, Simon Glass wrote: >> Hi, Hi, there are some news on this. >> >> On 7 October 2015 at 13:50, Hannes Schmelzer 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