[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