From mboxrd@z Thu Jan 1 00:00:00 1970 From: trem Date: Sun, 02 Dec 2012 18:07:48 +0100 Subject: [U-Boot] [PATCH 2/4] apf27: add support for the armadeus APF27 board In-Reply-To: <20121126185500.0bb988d0@lilith> References: <1351532157-24173-1-git-send-email-tremyfr@yahoo.fr> <1351532157-24173-3-git-send-email-tremyfr@yahoo.fr> <20121126185500.0bb988d0@lilith> Message-ID: <50BB8AE4.5070304@yahoo.fr> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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