[U-Boot] [PATCH 2/4] apf27: add support for the armadeus APF27 board

trem tremyfr at yahoo.fr
Sun Dec 2 18:07:48 CET 2012


On 26/11/12 18:55, Albert ARIBAUD wrote:
>> +/*
>> + * Fuse bank 1 row 8 is "reserved for future use" and therefore available for
>> + * custormer use. The APF27 board uses this fuse to store the board revision:
>> + * 0: initial board revision
>> + * 1: first revision - Presence of the second RAM chip on the board is blown in
>> + *     fuse bank 1 row 9  bit 0 - No hardware change
>> + * N: to be defined
>
> (aside: I am somewhat surprised that something "reserved for future
> use" can be considered "available for customer use": reserved areas
> are... reserved... thus probably not available -- future revisions of
> the *IC* may actually exercize the reservation, causing a conflict
> with the *board* assumptions. But hey, that's not a U-boot issue)

This is a reference to the freescale documentation.
It means that customer (here Armadeus) can use it to store
informations.

...
  
>> +int
>> +misc_init_r(void)
>> +{
>> +	char *s;
>> +	u_char * firmware_buffer = (u_char *)(CONFIG_SYS_LOAD_ADDR + \
>> +					      CONFIG_SYS_MONITOR_LEN);
>> +	size_t size	= 0;
>> +	size_t offset	= -1;
>> +	char *autoload = getenv("firmware_autoload");
>
> Is this used?

Yes, this function can be used if it's enable in the u-boot environment.

...

>> +{
>> +	/* Enable D-cache. I-cache is already enabled in start.S */
>> +	dcache_enable();
>> +}
>> +
>> +inline void lowlevel_init(void) {}
>
> What's the point of defining lowlevel_init? If you don't do low level
> inits, then you can define CONFIG_SKIP_LOWLEVEL_INIT in the board
> config header file.

In fact lowlevel_init isn't only the call of a function, this is also
some "low level" init (like cache). I need this low level init, but
I don't need to call a function, so I only define an empty function.

...


regards,
Philippe



More information about the U-Boot mailing list