[U-Boot] [PATCH 00/31] RFC: dm: Add support for compiled-in platform data

Simon Glass sjg at chromium.org
Wed Jun 8 04:47:38 CEST 2016


This series provides a way to compile in the contents of a device tree as C
code into U-Boot. It is intended to deal with extremely tight environments
where there is not enough space for the ~3KB device tree code overhead.
Examples include SPL where there is only 16KB of available RAM yet a full
MMC stack is required.

To provide a reasonable test environment, SPL support is added to sandbox,
through a new 'sandbox_spl' target. A new tool 'dtoc' converts device tree
data to C code (and structure definitions).

More work is needed before this feature is ready for use, but this series
contains enough to attract initial comments and testing.


Simon Glass (31):
  sandbox: Don't print a warning for CONFIG_I2C_COMPAT
  README: Remove CONFIG_SYS_MALLOC_F_LEN comment
  spl: Drop include of i2c.h
  Makefile: Allow the SPL final link rule to be overridden
  sandbox: Allow chaining from SPL to U-Boot proper
  sandbox: Support building an SPL image
  sandbox: Correct header file order in cpu.c
  sandbox: Add some missing headers in cpu.c
  sandbox: Don't use PCI in SPL
  sandbox: Don't include the main loop in SPL
  sandbox: Add basic SPL implementation
  sandbox: Don't use IDE and iotrace in SPL
  sandbox: serial: Don't sync video in SPL
  sandbox: Add a new sandbox_spl board
  sandbox: Add a test device that uses of-platdata
  dm: spl: Don't set up device tree with of-platdata
  dm: Makefile: Build of-platdata before SPL
  dm: core: Don't use device tree with of-platdata
  dm: regmap: Add a dummy implementation for of-platdata
  dm: syscon: Add support for of-platdata
  dm: sandbox: Add a simple driver to test of-platdata
  dm: Add a header that provides access to the of-platdata structs
  dm: clk: Add support for of-platdata
  dm: serial: Add support for of-platdata
  dm: Don't include fdtdec functions when of-platdata is enabled
  dm: Add an option to enable the of-platdata feature
  dm: Add a README for of-platdata
  dm: Add a library to provide simple device-tree access
  dm: Add a tool to generate C code from a device tree
  dm: Makefile: Build of-platdata files when the feature is enabled
  dm: Add a more efficient libfdt library

 Makefile                        |   5 +-
 README                          |   3 -
 arch/sandbox/Kconfig            |   7 +-
 arch/sandbox/config.mk          |   5 +
 arch/sandbox/cpu/Makefile       |   1 +
 arch/sandbox/cpu/cpu.c          |   6 +-
 arch/sandbox/cpu/os.c           |  51 ++++++
 arch/sandbox/cpu/spl.c          |  60 +++++++
 arch/sandbox/cpu/start.c        |   2 +
 arch/sandbox/cpu/u-boot-spl.lds |  24 +++
 arch/sandbox/dts/sandbox.dts    |  13 ++
 arch/sandbox/include/asm/spl.h  |  23 +++
 arch/sandbox/lib/Makefile       |   2 +
 board/sandbox/MAINTAINERS       |   7 +
 common/spl/spl.c                |   3 +-
 configs/sandbox_spl_defconfig   | 177 +++++++++++++++++++
 doc/driver-model/of-plat.txt    | 266 +++++++++++++++++++++++++++++
 drivers/clk/clk-uclass.c        |  20 +++
 drivers/clk/clk_fixed_rate.c    |   2 +
 drivers/core/device.c           |   2 +-
 drivers/core/lists.c            |   2 +-
 drivers/core/regmap.c           |   9 +
 drivers/core/root.c             |   4 +-
 drivers/core/syscon-uclass.c    |  13 ++
 drivers/misc/Makefile           |   5 +
 drivers/misc/spltest_sandbox.c  |  28 +++
 drivers/serial/sandbox.c        |   2 +
 drivers/serial/serial-uclass.c  |   8 +-
 dts/Kconfig                     |  21 +++
 include/clk.h                   |   4 +
 include/configs/sandbox.h       |   4 +
 include/configs/sandbox_spl.h   |  20 +++
 include/dt-structs.h            |  19 +++
 include/os.h                    |  25 +++
 include/regmap.h                |   3 +
 include/syscon.h                |   6 +
 lib/Makefile                    |   5 +-
 lib/libfdt/libfdt.swig          |  81 +++++++++
 lib/libfdt/setup.py             |  38 +++++
 lib/libfdt/test_libfdt.py       |  14 ++
 scripts/Makefile.host           |   9 +-
 scripts/Makefile.spl            |  45 ++++-
 tools/Makefile                  |  11 ++
 tools/dtoc/.gitignore           |   1 +
 tools/dtoc/dtoc                 |   1 +
 tools/dtoc/dtoc.py              | 365 ++++++++++++++++++++++++++++++++++++++++
 tools/dtoc/fdt.py               | 174 +++++++++++++++++++
 tools/dtoc/fdt_fallback.py      | 207 +++++++++++++++++++++++
 tools/dtoc/fdt_util.py          |  71 ++++++++
 49 files changed, 1849 insertions(+), 25 deletions(-)
 create mode 100644 arch/sandbox/cpu/spl.c
 create mode 100644 arch/sandbox/cpu/u-boot-spl.lds
 create mode 100644 arch/sandbox/include/asm/spl.h
 create mode 100644 configs/sandbox_spl_defconfig
 create mode 100644 doc/driver-model/of-plat.txt
 create mode 100644 drivers/misc/spltest_sandbox.c
 create mode 100644 include/configs/sandbox_spl.h
 create mode 100644 include/dt-structs.h
 create mode 100644 lib/libfdt/libfdt.swig
 create mode 100644 lib/libfdt/setup.py
 create mode 100644 lib/libfdt/test_libfdt.py
 create mode 100644 tools/dtoc/.gitignore
 create mode 120000 tools/dtoc/dtoc
 create mode 100755 tools/dtoc/dtoc.py
 create mode 100644 tools/dtoc/fdt.py
 create mode 100644 tools/dtoc/fdt_fallback.py
 create mode 100644 tools/dtoc/fdt_util.py

-- 
2.8.0.rc3.226.g39d4020



More information about the U-Boot mailing list