On Tuesday, August 16, 2011 23:25:35 Simon Glass wrote:
> When U-Boot starts up it initializes all the peripherals which are
> enabled  This might include USB, I2C, SD/MMC, LCD, Ethernet, UARTs,
> etc.

i'm not sure about this statement.  many frameworks decouple the "register" 
step from the "initialize the hardware" step.  i believe USB, SD/MMC, and 
Ethernet (ignoring the MAC address issue) do already.

arches calling i2c_init() in their arch/*/board.c are broken imo.  only a few 
do it: arm, ppc, m68k.  the common "i2c" command already takes care of 
exposing "i2c reset" for people to init this as necessary, and other arches 
havent had any troubles that i can see (certainly i know people have used i2c 
on Blackfin systems from u-boot).

a UART gets initialized all the time as it is the serial console ... not much 
to do here i dont think, and the overhead here tends to be fairly low as you 
program a few regs without polling for status updates.

LCDs should only get initialized if it's the splash screen, otherwise i cant 
think of any reason that hardware would ever get touched.  so if you dont want 
the overhead of programming that hardware, then dont enable splash screen 
support ?  i cant see a situation where you'd enable splash screen support but 
not actually show the splash screen ...

> To save time, reduce the amount of code executed and thereby improve
> security, we are wanting to initialize only some peripherals at the
> start. For example we might start up I2C and SC/MMC.

this is generally the policy now.  init code should only be *registering* the 
availability of devices.  it shouldnt be initializing the actual hardware 
until requested.

i know NAND flashes misbehave, and i posted a few patches to fix that, but 
there was one or two edge cases that needed addressing before it could be 
merged.
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to