[U-Boot] [PATCH v5 00/20] dm: tegra: Move nyan-big, jetson-tk1, beaver to livetree

Simon Glass sjg at chromium.org
Fri Jul 28 04:20:37 UTC 2017


Hi Lukasz,

On 26 July 2017 at 02:41, Łukasz Majewski <lukma at 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: wd at denx.de


More information about the U-Boot mailing list