Hi Marcel, On 13 July 2017 at 02:45, Marcel Ziswiler <marcel.ziswi...@toradex.com> wrote: > Hi Simon > > On Thu, 2017-07-13 at 03:22 -0600, Simon Glass wrote: >> Hi Marcel, >> >> On 13 July 2017 at 02:38, Marcel Ziswiler <marcel.ziswi...@toradex.co >> m> wrote: >> > On Tue, 2017-07-11 at 21:29 -0600, Simon Glass wrote: >> > > This moves four entire boards to use a live device tree as an >> > > example >> > > of >> > > the impact. >> > > >> > > Nyan-big was chosen because I can easily and boot U-Boot without >> > > any >> > > media swapping, etc. Beaver is enabled as well since it failed to >> > > boot >> > > with serial v1 due to a disabled console node. Jetson-TK1 is >> > > chosen >> > > because I found some USB problems in the v2 patches. Jetson-TX1 >> > > is >> > > added >> > > because Stephen Warren found some problems with PCI. >> > > >> > > Total code size impact on this board is approximately 9KB on U- >> > > Boot >> > > and >> > > 64 bytes on SPL: >> > > >> > > 27: dm: tegra: nyan-big: Move to livetree >> > > arm: (for 1/1 boards) all +9264.0 bss -16.0 data +44.0 >> > > rodata >> > > +92.0 >> > > spl/u-boot-spl:all +326.0 spl/u-boot-spl:rodata +262.0 >> > > spl/u-boot-spl:text +64.0 text +9144.0 >> > > >> > > Tegra does not use Thumb2, which would likely reduce the code >> > > size by >> > > about >> > > 25%, indicating a code-size impact of perhaps 7KB. >> > > >> > > Boot time is affected slightly. For nyan-big the times with flat >> > > tree >> > > are: >> > > >> > > 2,108 dm_r >> > > 7,924 dm_spl >> > > 120,724 dm_f >> > > 171,816 lcd >> > > >> > > With the livetree: >> > > >> > > 721 dm_r >> > > 3,764 of_live >> > > 7,990 dm_spl >> > > 120,736 dm_f >> > > 168,215 lcd >> > > >> > > As expected the spl and pre-relocation times are not affected. In >> > > the >> > > post-relocation case, the live tree must be built, which here >> > > takes >> > > about >> > > 3.8ms. Driver-model device creation takes a bit of 1ms less time >> > > with >> > > the >> > > livetree, so all up the cost is about 2.4ms. After DM init there >> > > appears >> > > to be a slight reduction in the time taken to set up devices >> > > (from >> > > 327ms >> > > to 319ms) so overall the live tree does not appear to be any >> > > slower. >> > > This >> > > is because pre-parsing the device tree makes reading it later >> > > faster. >> > > >> > > The use of livetree is controlled by a the CONFIG_OF_LIVE option. >> > > When >> > > enabled, U-Boot builds a livetree immediately after relocation >> > > and >> > > uses >> > > it from then on. >> > > >> > > This series is available at u-boot-dm/livet-working >> > > >> > > Changes in v4: >> > > - Add new patch to add ofnode_read_resource() >> > > - Add new patch to fix up ofnode_get_addr_index() for 64-bit >> > > values >> > > - Update to use ofnode_read_resource() >> > > - Drop fdtdec.h header >> > > - Update to deal with rename of ofnode_read_prop() >> > > - Rebase to master >> > > - Drop changes already applied >> > > - Fix PCI and i2c init problems on jetson-tx1 >> > >> > Could you elaborate a little bit more on this as from the actual >> > patch >> > set I don't seem to be able to figure out how/what exactly you did >> > in >> > that respect. >> > >> > Other than that it at least works for me on my Beaver and Jetson >> > TK1 so >> > you may add the following to the whole series: >> > >> > Tested-by: Marcel Ziswiler <marcel.ziswi...@toradex.com> >> > Tested-on: Beaver, Jetson-TK1 >> >> Thanks. > > You are very welcome. > >> I cannot test Jetson-TK1 yet but I think these changes are needed to >> make USB work, and possibly PCI: >> >> > > - Add new patch to add ofnode_read_resource() >> > > - Update to use ofnode_read_resource() >> >> (see the appropriate patches with these changes mentioned in the >> change log) > > OK, yeah I saw those but just could not quite make the connection. > >> Basically the code for setting up the USB PHY did not work and that >> stopped PCI from working, I believe. > > OK, makes sense. So it was rather a high level issue then. > >> The changes applicable to TX1 are: >> >> > > - Add new patch to fix up ofnode_get_addr_index() for 64-bit >> > > values >> >> (this fixed I2C reading the register address) > > Perfect, while we should have a TX1 laying around somewhere as well I > currently failed finding it. Probably one of my co-workers currently on > vacation took it and is playing with it (;-p).
I just tried TK1 (a new board) and hit some problems with PCI even with this version of the series, so I need to figure that out (later in the week). > >> [..] >> >> Regards, >> Simon > > Cheers > > Marcel > > BTW: I'm now in the process of migrating our boards as well and will send > patches for that soon. Regards, Smion _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot