From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfgang Denk Date: Wed, 04 Jul 2012 20:53:19 +0200 Subject: [U-Boot] [RESEND 11/11] snowball: Adding board specific cache cleanup routine In-Reply-To: <1341413915-7944-12-git-send-email-mathieu.poirier@linaro.org> References: <1341413915-7944-1-git-send-email-mathieu.poirier@linaro.org> <1341413915-7944-12-git-send-email-mathieu.poirier@linaro.org> Message-ID: <20120704185319.B55572026BF@gemini.denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear mathieu.poirier at linaro.org, In message <1341413915-7944-12-git-send-email-mathieu.poirier@linaro.org> you wrote: > From: "Mathieu J. Poirier" > > Following ARM's reference manuel for initializing the cache - the > kernel won't boot otherwise. > > Signed-off-by: Mathieu Poirier > Signed-off-by: John Rigby > --- > Changes for v2: > - Correcting cache maintenance register address. > - Invalidating all 16 bits in cache maintenance register. > - Polling cache maintenance register for cleared bits. > - Added comments to the code. > - Re-worked commit description. > --- > arch/arm/cpu/armv7/u8500/cpu.c | 16 ++++++++++++++++ > 1 files changed, 16 insertions(+), 0 deletions(-) ... > +void cpu_cache_initialization(void) > +{ > + /* invalidate all cache entries */ > + *((volatile unsigned int *)(0xA041277C)) = 0xFFFF; ... > + while (*((volatile unsigned int *)(0xA041277C)) & 0xFF) ... > + *((volatile unsigned int *)(0xA0412900)) = 0xFF; > + *((volatile unsigned int *)(0xA0412904)) = 0xFF; NAK. Please use proper I/O accessors, and declare a C struct to access these registers. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Was hei?t Windows auf Indianisch? - "Wei?er Mann, der auf Sanduhr wartet!"