[U-Boot] [PATCH 00/26] dm: tegra: Move nyan-big to livetree

Simon Glass sjg at chromium.org
Fri May 19 14:30:43 UTC 2017


This moves an entire board 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.

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.

I have not yet collected reliable detailed timing information. I will do
that with the next version of this series, after comments are received.
I expect that building the live tree will take a little time, and that
using it will be very slightly 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

(note that some work remains for apalis-tk1, jetson-tk1, cei-tk1-som)


Simon Glass (26):
  dm: video: Sync display on backspace
  dm: video: Update pwm_backlight to support livetree
  video: simple-panel: Add a little more debugging
  tegra: Fix up include file ordering
  tegra: spl: Enable debug UART
  tegra: nyan: 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
  tegra: Don't set up the UART clocks again in U-Boot
  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
  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
  dm: serial: ns16550: Convert to livetree
  dm: serial: Separate out the core serial-device finding code
  dm: serial: Add livetree support
  tegra: Show a debug message if the LCD PMIC fails to start
  fdtdec: Drop old compatible values
  dm: tegra: nyan-big: Move 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/board.c                   |   2 +
 arch/arm/mach-tegra/board2.c                  |  34 ++-
 arch/arm/mach-tegra/clock.c                   |   9 +-
 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    |  40 +++-
 arch/arm/mach-tegra/xusb-padctl-common.c      |  84 ++++----
 arch/arm/mach-tegra/xusb-padctl-common.h      |  11 +-
 arch/arm/mach-tegra/xusb-padctl-dummy.c       |   2 +-
 board/nvidia/nyan-big/nyan-big.c              |  22 +-
 configs/nyan-big_defconfig                    |   4 +
 drivers/gpio/tegra_gpio.c                     |  10 +-
 drivers/i2c/tegra_i2c.c                       |   6 +-
 drivers/mmc/tegra_mmc.c                       |  17 +-
 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/serial/ns16550.c                      |  15 +-
 drivers/serial/serial-uclass.c                |  92 ++++----
 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/pwm_backlight.c                 |  23 +-
 drivers/video/simple_panel.c                  |   2 +
 drivers/video/tegra124/display.c              |   8 +-
 drivers/video/tegra124/dp.c                   |   3 +-
 drivers/video/tegra124/sor.c                  |  25 +--
 drivers/video/vidconsole-uclass.c             |   1 +
 include/fdtdec.h                              |   6 -
 include/power/as3722.h                        |  27 ++-
 lib/fdtdec.c                                  |   6 -
 43 files changed, 699 insertions(+), 456 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

-- 
2.13.0.303.g4ebf302169-goog



More information about the U-Boot mailing list