u-boot/drivers
Simon Glass 00606d7e39 dm: Allow drivers to be marked 'before relocation'
Driver model currently only operates after relocation is complete. In this
state U-Boot typically has a small amount of memory available. In adding
support for driver model prior to relocation we must try to use as little
memory as possible.

In addition, on some machines the memory has not be inited and/or the CPU
is not running at full speed or the data cache is off. These can reduce
execution performance, so the less initialisation that is done before
relocation the better.

An immediately-obvious improvement is to only initialise drivers which are
actually going to be used before relocation. On many boards the only such
driver is a serial UART, so this provides a very large potential benefit.

Allow drivers to mark themselves as 'pre-reloc' which means that they will
be initialised prior to relocation. This can be done either with a driver
flag or with a 'dm,pre-reloc' device tree property.

To support this, the various dm scanning function now take a 'pre_reloc_only'
parameter which indicates that only drivers marked pre-reloc should be
bound.

Signed-off-by: Simon Glass <sjg@chromium.org>
2014-07-23 14:07:24 +01:00
..
bios_emulator kbuild: use Linux Kernel build scripts 2014-02-19 11:07:50 -05:00
block AHCI: Increase link timeout to 200ms 2014-07-22 07:44:28 -04:00
bootcount i2c, bootcount: add support for bootcounter on i2c devices 2014-02-20 06:46:56 +01:00
core dm: Allow drivers to be marked 'before relocation' 2014-07-23 14:07:24 +01:00
crypto includes: move openssl headers to include/u-boot 2014-06-19 11:19:04 -04:00
ddr/fsl driver/ddr/fsl: Fix printing unspecified module info for DDR4 2014-06-05 13:45:07 -07:00
demo dm: Rename struct device_id to udevice_id 2014-06-20 11:55:18 -06:00
dfu dfu: Disable default calculation of CRC32 2014-06-11 02:31:48 +02:00
dma drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
fpga m68k: Fix warnings with gcc 4.6 2014-06-11 16:27:05 -04:00
gpio dm: gpio: Don't use the driver model uclass for SPL 2014-07-23 14:07:23 +01:00
hwmon kbuild: use Linux Kernel build scripts 2014-02-19 11:07:50 -05:00
i2c fsl_i2c: add support for 3rd and 4th I2C 2014-07-16 05:19:15 +02:00
input stdio: Pass device pointer to stdio methods 2014-07-23 14:07:23 +01:00
memory ARM: keystone: aemif: move aemif driver to drivers/memory/ti-aemif.c 2014-06-19 17:53:58 -04:00
misc stdio: Pass device pointer to stdio methods 2014-07-23 14:07:23 +01:00
mmc mmc: prevent some warnings with make W=1 2014-07-18 17:53:24 -04:00
mtd mtd: cfi_flash: fix clang warning 2014-07-18 17:53:22 -04:00
net stdio: Pass device pointer to stdio methods 2014-07-23 14:07:23 +01:00
pci fsl/pci: Add workaround for erratum A-005434 2014-05-16 16:24:26 -05:00
pcmcia mpc8xx: remove RPXlite_dw, quantum board support 2014-07-07 19:43:01 -04:00
power Merge remote-tracking branch 'u-boot-samsung/master' 2014-07-01 20:52:51 +02:00
qe qe: disable qe when qe-ucode fails to be uploaded for "deep sleep" 2014-05-13 08:26:56 -07:00
rtc kbuild: use Linux Kernel build scripts 2014-02-19 11:07:50 -05:00
serial stdio: Pass device pointer to stdio methods 2014-07-23 14:07:23 +01:00
sound build: define CPU only when arch/${ARCH}/cpu/${CPU} exists 2014-07-07 19:42:34 -04:00
spi arm: ep9315: Return back Cirrus Logic EDB9315A board support 2014-07-04 23:45:48 +02:00
tpm tpm: don't use unneeded double brackets 2014-07-07 19:43:01 -04:00
twserial drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
usb driver/usb: include upper/lower_32_bits() from linux/compat.h 2014-07-22 07:44:24 -04:00
video stdio: Pass device pointer to stdio methods 2014-07-23 14:07:23 +01:00
watchdog blackfin: Fix warning about undefined function 2014-07-07 19:47:09 -04:00
Makefile ARM: keystone: aemif: move aemif driver to drivers/memory/ti-aemif.c 2014-06-19 17:53:58 -04:00