[U-Boot] [PATCH 0/4 V2] Add basic NVIDIA Tegra2 SoC support

Wolfgang Denk wd at denx.de
Sat Jan 15 01:01:39 CET 2011


Dear Peter Tyser,

In message <1295047406.29642.6729.camel at petert> you wrote:
> 
> Agreed, I should have dug deeper.  On PPC we use out_be32() or similar
> to access memory mapped registers, which does have an explicit barrier.
> I'm not familiar with ARM so don't know what the proper access functions
> are, but it looks like the defacto standard writel()/readl().

I have a patch waiting o be applied that adds proper memory barriers
for ARM, too. They are necessary.

> I'd personally use writel()/readl() in this patch.  Functionally it may
> be the same as your volatile accesses, but its the generally recommended
> practice.  It looks like most of the Tegra support in the Linux kernel
> also uses writel()/readl() for what its worth.  Ultimately its up to the
> ARM U-Boot maintainer to decide if they require the access functions or
> not - I'm just giving my opinions from PPC experience.

It's not only recommended, it is mandatory.

I/O accesors _MUST_ be used.

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
The most difficult thing in the world is to know how to  do  a  thing
and to watch someone else doing it wrong, without commenting.
                                                        -- T.H. White


More information about the U-Boot mailing list