[U-Boot] [RFC PATCH 0/14] RFC: dm: Implement driver model support in SPL
Simon Glass
sjg at chromium.org
Wed Sep 24 01:29:54 CEST 2014
Now that driver model operations prior to relocation, the remaining
area where it does not work is SPL. This series enables this.
Since SPL is quite memory-constrained, code and data size need to be
kept as small as possible. This series includes a few changes to help
with this:
- Small and simple malloc() implementation
- Dropping device removal features
- Dropping stdio features
- Dropping driver model warnings
With these the code size impact of driver model is small, around 2-3KB
on ARMv7. Data usage is typically 200-300 bytes. In many cases this can
squeeze into the available SPL RAM space.
Note this is an RFC mainly because of the SPL global_data revert (commit
1ee30ae) since we need that revert undone to be able to support the simple
malloc in SPL on ARM.
This series is available at u-boot-dm branch 'spl-working'.
Simon Glass (14):
dm: dts: Move omap device tree includes to correct place
dm: Split the simple malloc() implementation into its own file
dm: arm: spl: Allow simple malloc() in SPL
dm: spl: Make simple malloc() available when enabled
dm: spl: Allow driver model to be used
dm: Allow device removal features to be dropped
dm: Allow stdio registration to be dropped
dm: Disable dm_warn() in SPL
dm: tegra: Add platform data for the SPL uart
dm: tegra: Add platform data for the GPIO driver
dm: arm: spl: Make driver model linker lists available
dm: tegra: Don't used named GPIOs in SPL
dm: tegra: Enable driver model in SPL and adjust the GPIO driver
dm: Update documentation to include CONFIG_DM... options
README | 119 +++++++++++++
arch/arm/cpu/u-boot-spl.lds | 7 +
arch/arm/dts/dt-bindings/gpio/gpio.h | 15 --
arch/arm/lib/crt0.S | 2 +-
board/nvidia/common/board.c | 8 +
board/nvidia/seaboard/seaboard.c | 4 +-
common/Makefile | 1 +
common/board_r.c | 3 +-
common/dlmalloc.c | 19 +--
common/malloc_simple.c | 38 +++++
common/spl/spl.c | 16 +-
doc/driver-model/README.txt | 44 +++--
drivers/core/Makefile | 3 +-
drivers/core/device-remove.c | 187 +++++++++++++++++++++
drivers/core/device.c | 168 ------------------
drivers/gpio/Makefile | 4 +
drivers/gpio/tegra_gpio.c | 67 +++++---
drivers/serial/serial-uclass.c | 8 +-
drivers/serial/serial_tegra.c | 16 ++
include/asm-generic/global_data.h | 1 +
include/config_defaults.h | 6 +
include/configs/tegra-common.h | 12 +-
include/dm/device-internal.h | 10 ++
include/dm/util.h | 6 +
.../dts => include}/dt-bindings/pinctrl/am33xx.h | 0
.../arm/dts => include}/dt-bindings/pinctrl/omap.h | 0
include/malloc.h | 60 ++++---
scripts/Makefile.spl | 1 +
28 files changed, 555 insertions(+), 270 deletions(-)
delete mode 100644 arch/arm/dts/dt-bindings/gpio/gpio.h
create mode 100644 common/malloc_simple.c
create mode 100644 drivers/core/device-remove.c
rename {arch/arm/dts => include}/dt-bindings/pinctrl/am33xx.h (100%)
rename {arch/arm/dts => include}/dt-bindings/pinctrl/omap.h (100%)
--
2.1.0.rc2.206.gedb03e5
More information about the U-Boot
mailing list