Hi Lukasz, On 26 July 2017 at 02:41, Łukasz Majewski <lu...@denx.de> wrote: > Hi Simon > >> This moves four entire boards to use a live device tree as an example of >> the impact. > > > I've grepp'ed the ./doc directory and couldn't find any info regarding > "livetree" feature. > > From patches, I guess that livetree is about preparing DM tree just after > relocation. > > Am I right? > > If I may ask - would you be so kind and prepare README entry in ./doc > directory regarding livetree DM feature?
At present the only docs are in the Kconfig help for OF_LIVE. I will add something. Regards, Simon > > Thanks in advance, > Łukasz > > >> >> 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 v5: >> - Update the get_enable() functions to use new method signature >> - Update tegra-tk1 to port regulator work-around >> >> 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 >> - Enable livetree for jetson-tk1 also >> >> Changes in v3: >> - Update commit message, enable for all tegra124 boards not just nyan-big >> - Add new patch to convert tegra PCI to device tree >> - Enable livetree for jetson-tk1 also >> >> Changes in v2: >> - Enable livetree for beaver also >> - Add timing information >> >> Simon Glass (20): >> dm: core: Add ofnode_read_resource() >> dm: core: Fix up ofnode_get_addr_index() for 64-bit values >> tegra: spl: Enable debug UART >> tegra: tegra124: Add a PMC syscon driver >> dm: tegra: Convert USB setup to livetree >> dm: tegra: Convert clock_decode_periph_id() to support livetree >> dm: video: tegra124: Convert to livetree >> tegra: dts: Move stdout-path to /chosen >> dm: tegra: gpio: Convert to support livetree >> dm: tegra: usb: Convert to livetree >> dm: tegra: spi: Convert to livetree >> dm: tegra: i2c: Convert to livetree >> dm: tegra: pwm: Convert to livetree >> dm: tegra: mmc: Convert to livetree >> dm: tegra: pci: Convert to livetree >> power: Add a regulator driver for the as3722 PMIC >> power: Add a GPIO driver for the as3722 PMIC >> dm: power: Convert as3722 to driver model >> fdtdec: Drop old compatible values >> dm: tegra: Move nyan-big, jetson-tk1/tx1, beaver to livetree >> >> arch/arm/dts/tegra124-nyan-big.dts | 5 +- >> arch/arm/include/asm/arch-tegra/clock.h | 2 +- >> arch/arm/include/asm/arch-tegra/tegra.h | 5 + >> arch/arm/include/asm/arch-tegra/xusb-padctl.h | 2 +- >> arch/arm/mach-tegra/Kconfig | 2 + >> arch/arm/mach-tegra/board2.c | 8 +- >> arch/arm/mach-tegra/clock.c | 5 +- >> arch/arm/mach-tegra/spl.c | 4 + >> arch/arm/mach-tegra/tegra124/Makefile | 1 + >> arch/arm/mach-tegra/tegra124/pmc.c | 19 ++ >> arch/arm/mach-tegra/tegra124/xusb-padctl.c | 36 +++- >> arch/arm/mach-tegra/tegra210/xusb-padctl.c | 42 +++- >> arch/arm/mach-tegra/xusb-padctl-common.c | 60 +++--- >> arch/arm/mach-tegra/xusb-padctl-common.h | 8 +- >> arch/arm/mach-tegra/xusb-padctl-dummy.c | 2 +- >> board/cei/cei-tk1-som/cei-tk1-som.c | 2 + >> board/nvidia/jetson-tk1/jetson-tk1.c | 44 ++-- >> board/nvidia/nyan-big/nyan-big.c | 22 +- >> board/toradex/apalis-tk1/apalis-tk1.c | 6 + >> configs/apalis-tk1_defconfig | 3 + >> configs/beaver_defconfig | 1 + >> configs/cei-tk1-som_defconfig | 3 + >> configs/jetson-tk1_defconfig | 4 + >> configs/nyan-big_defconfig | 2 + >> configs/p2371-2180_defconfig | 1 + >> drivers/core/ofnode.c | 30 ++- >> drivers/core/read.c | 5 + >> drivers/core/read_extra.c | 25 +-- >> drivers/gpio/tegra_gpio.c | 10 +- >> drivers/i2c/tegra_i2c.c | 7 +- >> drivers/mmc/tegra_mmc.c | 17 +- >> drivers/pci/pci_tegra.c | 53 +++-- >> drivers/power/pmic/Makefile | 2 +- >> drivers/power/pmic/as3722.c | 292 >> +++++++++----------------- >> drivers/power/pmic/as3722_gpio.c | 120 +++++++++++ >> drivers/power/regulator/Kconfig | 9 + >> drivers/power/regulator/Makefile | 1 + >> drivers/power/regulator/as3722_regulator.c | 149 +++++++++++++ >> drivers/pwm/tegra_pwm.c | 2 +- >> drivers/spi/tegra114_spi.c | 15 +- >> drivers/spi/tegra20_sflash.c | 2 +- >> drivers/spi/tegra20_slink.c | 2 +- >> drivers/spi/tegra210_qspi.c | 2 +- >> drivers/usb/host/ehci-tegra.c | 36 ++-- >> drivers/video/tegra124/display.c | 8 +- >> drivers/video/tegra124/dp.c | 3 +- >> drivers/video/tegra124/sor.c | 25 +-- >> include/dm/ofnode.h | 4 + >> include/dm/read.h | 26 ++- >> include/fdtdec.h | 6 - >> include/power/as3722.h | 29 ++- >> lib/fdtdec.c | 6 - >> 52 files changed, 730 insertions(+), 445 deletions(-) >> create mode 100644 arch/arm/mach-tegra/tegra124/pmc.c >> create mode 100644 drivers/power/pmic/as3722_gpio.c >> create mode 100644 drivers/power/regulator/as3722_regulator.c >> > > > -- > Best regards, > > Lukasz Majewski > > -- > > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot