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

2011-01-19 Thread Tom Warren
Wolfgang,

On Mon, Jan 17, 2011 at 4:27 PM, Wolfgang Denk  wrote:
> Dear Tom Warren,
>
> In message  you 
> wrote:
>>
>> 1) IO access functions - I pre-reviewed my patch series with Wolfgang
>> (to hopefully catch any blatant errors and smooth
>> the process) and he indicated that C structs and I/O accessor funcs or
>> macros were preferred to my base+offset original code.
>
> I don't think I said "preferred".
>
> I apologize if I really should have been unclear. Fact is, the use of
> I/O accessors is mandatory for any new code going in.
>
Sorry, I misunderstood what really constituted I/O accessors. Fixed in
V3 (coming soon).

>> Since the ARM is 32-bit, and all of our registers are I/O mapped, it
>> made sense just to cast the necessary HW mem-mapped
>> regs as volatile structs and access the members directly. Works well,
>> is easy to read & understand, etc. Let me know (with
>> examples, if possible) how I can make it better.
>
> It does NOT make sense. Please read the
> linux/Documentation/volatile-considered-harmful.txt document, and see
> recent dicussion in the "ARM: Avoid compiler optimization for usages
> of readb, writeb and friends." thread about what happens when you use
> just volatile pointers.
>
>> 2) Compiling out support for UARTA or UARTD - didn't seem necessary -
>> size isn't an issue at this point with Tegra2 U-Boot,
>
> Maybe you don't care, but we do.
>
> Please see http://www.denx.de/wiki/U-Boot/DesignPrinciples, item 5
>
Done in V3 patch.

>> I was going to respond to your review w/a direct, inline reply, but I
>> thought it better to get the V2 patch out there before the
>> weekend (we're off for MLK, as well). I'm under some pressure to get a
>> baseline Tegra2 patchset in before the merge window
>> closes.  I'll be sure to respond to each issue directly on the list in
>> the future, though.
>
> Please also make sure to maintain a changelog of in each of your
> patches (see second bullet in
> http://www.denx.de/wiki/view/U-Boot/Patches#Sending_updated_patch_versions).
>
OK. I added a V2/V3 changelog to each patch. Hope I got it right. New
patchset incoming.

>
>
>
> Best regards,
>
> Wolfgang Denk
Thanks for your patience,

Tom
>
> --
> 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: w...@denx.de
> IMPORTANT NOTICE TO PURCHASERS: The Entire Physical Universe,  Inclu-
> ding  This Product, May One Day Collapse Back into an Infinitesimally
> Small Space. Should  Another  Universe  Subsequently  Re-emerge,  the
> Existence of This Product in That Universe Cannot Be Guaranteed.
>
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


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

2011-01-17 Thread Wolfgang Denk
Dear Tom Warren,

In message  you 
wrote:
>
> So instead of, say uart->lcr = 0, you'd prefer writel(0, uart->lcr),
> where writel = __arch_putl(v, a) = (*(volatile unsigned int *)(a) =
> (v))?

Please see the thread "ARM: Avoid compiler optimization for usages of
readb, writeb and friends."

> Is that different enough from 'uart->lcr = 0' to warrant the change?

Yes, it is - in recent (i. e. fixed) code.

> Does it add some HW barriers or forced read-before-write that the
> 'volatile' struct doesn't?

Yes, it does. See above.


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: w...@denx.de
Conquest is easy. Control is not.
-- Kirk, "Mirror, Mirror", stardate unknown
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


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

2011-01-17 Thread Wolfgang Denk
Dear Tom Warren,

In message  you 
wrote:
>
> 1) IO access functions - I pre-reviewed my patch series with Wolfgang
> (to hopefully catch any blatant errors and smooth
> the process) and he indicated that C structs and I/O accessor funcs or
> macros were preferred to my base+offset original code.

I don't think I said "preferred".

I apologize if I really should have been unclear. Fact is, the use of
I/O accessors is mandatory for any new code going in.

> Since the ARM is 32-bit, and all of our registers are I/O mapped, it
> made sense just to cast the necessary HW mem-mapped
> regs as volatile structs and access the members directly. Works well,
> is easy to read & understand, etc. Let me know (with
> examples, if possible) how I can make it better.

It does NOT make sense. Please read the
linux/Documentation/volatile-considered-harmful.txt document, and see
recent dicussion in the "ARM: Avoid compiler optimization for usages
of readb, writeb and friends." thread about what happens when you use
just volatile pointers.

> 2) Compiling out support for UARTA or UARTD - didn't seem necessary -
> size isn't an issue at this point with Tegra2 U-Boot,

Maybe you don't care, but we do.

Please see http://www.denx.de/wiki/U-Boot/DesignPrinciples, item 5

> I was going to respond to your review w/a direct, inline reply, but I
> thought it better to get the V2 patch out there before the
> weekend (we're off for MLK, as well). I'm under some pressure to get a
> baseline Tegra2 patchset in before the merge window
> closes.  I'll be sure to respond to each issue directly on the list in
> the future, though.

Please also make sure to maintain a changelog of in each of your
patches (see second bullet in
http://www.denx.de/wiki/view/U-Boot/Patches#Sending_updated_patch_versions).




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: w...@denx.de
IMPORTANT NOTICE TO PURCHASERS: The Entire Physical Universe,  Inclu-
ding  This Product, May One Day Collapse Back into an Infinitesimally
Small Space. Should  Another  Universe  Subsequently  Re-emerge,  the
Existence of This Product in That Universe Cannot Be Guaranteed.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


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

2011-01-14 Thread Wolfgang Denk
Dear Peter Tyser,

In message <1295047406.29642.6729.camel@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: w...@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
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


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

2011-01-14 Thread Peter Tyser
On Sat, 2011-01-15 at 00:00 +0100, Albert ARIBAUD wrote:
> Hello,
> 
> Le 14/01/2011 23:39, Tom Warren a écrit :
> 
> > So instead of, say uart->lcr = 0, you'd prefer writel(0, uart->lcr),
> > where writel = __arch_putl(v, a) = (*(volatile unsigned int *)(a) =
> > (v))?
> > Is that different enough from 'uart->lcr = 0' to warrant the change?
> > Does it add some HW barriers or forced read-before-write that the
> > 'volatile' struct doesn't?
> 
> writel() and readl() do not introduce "read-before-write", that is, they 
> do not perform any more than what their names imply, but yes they do 
> introduce barriers, or more precisely, they force the compiler to do so.

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'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.

Regards,
Peter

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


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

2011-01-14 Thread Albert ARIBAUD
Hello,

Le 14/01/2011 23:39, Tom Warren a écrit :

> So instead of, say uart->lcr = 0, you'd prefer writel(0, uart->lcr),
> where writel = __arch_putl(v, a) = (*(volatile unsigned int *)(a) =
> (v))?
> Is that different enough from 'uart->lcr = 0' to warrant the change?
> Does it add some HW barriers or forced read-before-write that the
> 'volatile' struct doesn't?

writel() and readl() do not introduce "read-before-write", that is, they 
do not perform any more than what their names imply, but yes they do 
introduce barriers, or more precisely, they force the compiler to do so.

Amicalement,
-- 
Albert.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


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

2011-01-14 Thread Tom Warren
On Fri, Jan 14, 2011 at 2:36 PM, Peter Tyser  wrote:
> On Fri, 2011-01-14 at 13:41 -0700, Tom Warren wrote:
>> On Fri, Jan 14, 2011 at 12:59 PM, Peter Tyser  wrote:
>> > Hi Tom,
>> >
>> > On Fri, 2011-01-14 at 10:11 -0700, Tom Warren wrote:
>> >> This series of patches adds preliminary/baseline support for NVIDIA's
>> >> Tegra2 SoC.  Basic CPU (AVP), RAM and UART init are covered so that the
>> >> system (Harmony or Seaboard) can boot to the U-Boot serial cmd prompt.
>> >>
>> >> Further support (for Cortex-A9 CPU(s), USB, SD/MMC, etc.) to follow.
>> >>
>> >> V2: Make changes based on feedback from Peter Tyser and Sandeep Paulraj.
>> >
>> > If you didn't use all the feedback to the original patches, you should
>> > state explicitly what you changed here, or respond to the original
>> > comment email as to why they weren't made.  For example, I see you
>> > didn't make the suggested change to use IO access functions, or allow
>> > compiling out of support for UARTA and UARTD.  That should be made clear
>> > somewhere (and the logic of why the changes weren't made) so that those
>> > reviewing the patches know what changed between v1 and v2 and why.  As
>> > is its unclear why the v1 comments weren't implemented, so they also
>> > apply to this series.
>> >
>> Peter,
>>
>> Sorry, since this is my first patch series to U-Boot upstream, I'm
>> still learning the proper etiquette.
>> Let me respond here rather than in the patch comments since there are
>> only 2 unchanged areas WRT comments.
>
> No worries.  I'm glad to see you're pushing your changes upstream.
>
>> 1) IO access functions - I pre-reviewed my patch series with Wolfgang
>> (to hopefully catch any blatant errors and smooth
>> the process) and he indicated that C structs and I/O accessor funcs or
>> macros were preferred to my base+offset original code.
>> Since the ARM is 32-bit, and all of our registers are I/O mapped, it
>> made sense just to cast the necessary HW mem-mapped
>> regs as volatile structs and access the members directly. Works well,
>> is easy to read & understand, etc. Let me know (with
>> examples, if possible) how I can make it better.
>
> Both Linux and U-Boot recommend using IO access functions instead
> pointer accesses, at least in PPC-land, and even for memory mapped
> registers.  I'm not too familiar with ARM, but assume they have the same
> recommendation.  If pointers are used, some CPUs may optimize the access
> order, thus causing problems.  Using IO accessors also ensures that the
> code is portable.  Even if the Tegra doesn't re-order accesses, a driver
> you write for use in a Tegra could be used on other CPUs that do.
>
> eg:
> http://www.mail-archive.com/u-boot@lists.denx.de/msg18435.html
> http://lists.denx.de/pipermail/u-boot/2007-December/027595.html
>
> It looks like other ARM processors use IO accessors too, eg the recent
> armada CPU:
> arch/arm/cpu/arm926ejs/armada100/*
> A grep of writel in arch/arm shows a number of references.  Similarly in
> the Linux code in arch/arm.
>
So instead of, say uart->lcr = 0, you'd prefer writel(0, uart->lcr),
where writel = __arch_putl(v, a) = (*(volatile unsigned int *)(a) =
(v))?

Is that different enough from 'uart->lcr = 0' to warrant the change?
Does it add some HW barriers or forced read-before-write that the
'volatile' struct doesn't?

I've done a ton of embedded work, but all in x86 asm (and C) on PCs,
so pardon my ignorance & questions.

> ARM maintainers, feel free to chime in if you have comments.
>
>> 2) Compiling out support for UARTA or UARTD - didn't seem necessary -
>> size isn't an issue at this point with Tegra2 U-Boot,
>> and some boards (Harmony, for example) are populated w/hardware for
>> both UARTA and UARTD, and can have both on at
>> U-Boot runtime (perhaps for debug out to UARTA whilst normal console
>> I/O goes to UARTD), so I chose to leave the init code
>> for both intact. Plus I've never liked code with too many unnecessary
>> ifdef's - makes it less readable, IMO.
>
> Yeah, this is grey - I see both sides of the coin.  U-Boot generally
> strives to be as small as possible.  You may use a large flash on your
> eval boards and not care about space, but other system designers may
> place as small of flash as possible to save cost.  It looked like
> UART_A-UART_E were also going to be supported at some time, which is
> quite a chunk of code.  You also already are defining which serial ports
> are available at compile time via CONFIG_TEGRA2_ENABLE_UARTA and
> CONFIG_TEGRA2_ENABLE_UARTD.
>
> Anyway, I don't really care much which way you go, just wanted to make
> sure you were making a conscious decision to not add the ifdefs.
As conscious I get before noon. ;)
>
>> I was going to respond to your review w/a direct, inline reply, but I
>> thought it better to get the V2 patch out there before the
>> weekend (we're off for MLK, as well). I'm under some pressure to get a
>> baseline Tegra2 patchset in before the merge window
>> closes.  I'll be sure to 

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

2011-01-14 Thread Peter Tyser
On Fri, 2011-01-14 at 13:41 -0700, Tom Warren wrote:
> On Fri, Jan 14, 2011 at 12:59 PM, Peter Tyser  wrote:
> > Hi Tom,
> >
> > On Fri, 2011-01-14 at 10:11 -0700, Tom Warren wrote:
> >> This series of patches adds preliminary/baseline support for NVIDIA's
> >> Tegra2 SoC.  Basic CPU (AVP), RAM and UART init are covered so that the
> >> system (Harmony or Seaboard) can boot to the U-Boot serial cmd prompt.
> >>
> >> Further support (for Cortex-A9 CPU(s), USB, SD/MMC, etc.) to follow.
> >>
> >> V2: Make changes based on feedback from Peter Tyser and Sandeep Paulraj.
> >
> > If you didn't use all the feedback to the original patches, you should
> > state explicitly what you changed here, or respond to the original
> > comment email as to why they weren't made.  For example, I see you
> > didn't make the suggested change to use IO access functions, or allow
> > compiling out of support for UARTA and UARTD.  That should be made clear
> > somewhere (and the logic of why the changes weren't made) so that those
> > reviewing the patches know what changed between v1 and v2 and why.  As
> > is its unclear why the v1 comments weren't implemented, so they also
> > apply to this series.
> >
> Peter,
> 
> Sorry, since this is my first patch series to U-Boot upstream, I'm
> still learning the proper etiquette.
> Let me respond here rather than in the patch comments since there are
> only 2 unchanged areas WRT comments.

No worries.  I'm glad to see you're pushing your changes upstream.

> 1) IO access functions - I pre-reviewed my patch series with Wolfgang
> (to hopefully catch any blatant errors and smooth
> the process) and he indicated that C structs and I/O accessor funcs or
> macros were preferred to my base+offset original code.
> Since the ARM is 32-bit, and all of our registers are I/O mapped, it
> made sense just to cast the necessary HW mem-mapped
> regs as volatile structs and access the members directly. Works well,
> is easy to read & understand, etc. Let me know (with
> examples, if possible) how I can make it better.

Both Linux and U-Boot recommend using IO access functions instead
pointer accesses, at least in PPC-land, and even for memory mapped
registers.  I'm not too familiar with ARM, but assume they have the same
recommendation.  If pointers are used, some CPUs may optimize the access
order, thus causing problems.  Using IO accessors also ensures that the
code is portable.  Even if the Tegra doesn't re-order accesses, a driver
you write for use in a Tegra could be used on other CPUs that do.

eg:
http://www.mail-archive.com/u-boot@lists.denx.de/msg18435.html
http://lists.denx.de/pipermail/u-boot/2007-December/027595.html

It looks like other ARM processors use IO accessors too, eg the recent
armada CPU:
arch/arm/cpu/arm926ejs/armada100/*
A grep of writel in arch/arm shows a number of references.  Similarly in
the Linux code in arch/arm.

ARM maintainers, feel free to chime in if you have comments.

> 2) Compiling out support for UARTA or UARTD - didn't seem necessary -
> size isn't an issue at this point with Tegra2 U-Boot,
> and some boards (Harmony, for example) are populated w/hardware for
> both UARTA and UARTD, and can have both on at
> U-Boot runtime (perhaps for debug out to UARTA whilst normal console
> I/O goes to UARTD), so I chose to leave the init code
> for both intact. Plus I've never liked code with too many unnecessary
> ifdef's - makes it less readable, IMO.

Yeah, this is grey - I see both sides of the coin.  U-Boot generally
strives to be as small as possible.  You may use a large flash on your
eval boards and not care about space, but other system designers may
place as small of flash as possible to save cost.  It looked like
UART_A-UART_E were also going to be supported at some time, which is
quite a chunk of code.  You also already are defining which serial ports
are available at compile time via CONFIG_TEGRA2_ENABLE_UARTA and
CONFIG_TEGRA2_ENABLE_UARTD.

Anyway, I don't really care much which way you go, just wanted to make
sure you were making a conscious decision to not add the ifdefs.

> I was going to respond to your review w/a direct, inline reply, but I
> thought it better to get the V2 patch out there before the
> weekend (we're off for MLK, as well). I'm under some pressure to get a
> baseline Tegra2 patchset in before the merge window
> closes.  I'll be sure to respond to each issue directly on the list in
> the future, though.

As long as you initially submit your patches during the merge window
they will generally be merged, even if there are multiple revisions and
discussion that lasts past the end of official merge window.  So this
stuff should get in.

Best,
Peter

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


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

2011-01-14 Thread Tom Warren
On Fri, Jan 14, 2011 at 12:59 PM, Peter Tyser  wrote:
> Hi Tom,
>
> On Fri, 2011-01-14 at 10:11 -0700, Tom Warren wrote:
>> This series of patches adds preliminary/baseline support for NVIDIA's
>> Tegra2 SoC.  Basic CPU (AVP), RAM and UART init are covered so that the
>> system (Harmony or Seaboard) can boot to the U-Boot serial cmd prompt.
>>
>> Further support (for Cortex-A9 CPU(s), USB, SD/MMC, etc.) to follow.
>>
>> V2: Make changes based on feedback from Peter Tyser and Sandeep Paulraj.
>
> If you didn't use all the feedback to the original patches, you should
> state explicitly what you changed here, or respond to the original
> comment email as to why they weren't made.  For example, I see you
> didn't make the suggested change to use IO access functions, or allow
> compiling out of support for UARTA and UARTD.  That should be made clear
> somewhere (and the logic of why the changes weren't made) so that those
> reviewing the patches know what changed between v1 and v2 and why.  As
> is its unclear why the v1 comments weren't implemented, so they also
> apply to this series.
>
Peter,

Sorry, since this is my first patch series to U-Boot upstream, I'm
still learning the proper etiquette.
Let me respond here rather than in the patch comments since there are
only 2 unchanged areas WRT comments.

1) IO access functions - I pre-reviewed my patch series with Wolfgang
(to hopefully catch any blatant errors and smooth
the process) and he indicated that C structs and I/O accessor funcs or
macros were preferred to my base+offset original code.
Since the ARM is 32-bit, and all of our registers are I/O mapped, it
made sense just to cast the necessary HW mem-mapped
regs as volatile structs and access the members directly. Works well,
is easy to read & understand, etc. Let me know (with
examples, if possible) how I can make it better.

2) Compiling out support for UARTA or UARTD - didn't seem necessary -
size isn't an issue at this point with Tegra2 U-Boot,
and some boards (Harmony, for example) are populated w/hardware for
both UARTA and UARTD, and can have both on at
U-Boot runtime (perhaps for debug out to UARTA whilst normal console
I/O goes to UARTD), so I chose to leave the init code
for both intact. Plus I've never liked code with too many unnecessary
ifdef's - makes it less readable, IMO.

I was going to respond to your review w/a direct, inline reply, but I
thought it better to get the V2 patch out there before the
weekend (we're off for MLK, as well). I'm under some pressure to get a
baseline Tegra2 patchset in before the merge window
closes.  I'll be sure to respond to each issue directly on the list in
the future, though.

Thanks for the thorough review,

Tom
> Best,
> Peter
>
>
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


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

2011-01-14 Thread Peter Tyser
Hi Tom,

On Fri, 2011-01-14 at 10:11 -0700, Tom Warren wrote:
> This series of patches adds preliminary/baseline support for NVIDIA's
> Tegra2 SoC.  Basic CPU (AVP), RAM and UART init are covered so that the
> system (Harmony or Seaboard) can boot to the U-Boot serial cmd prompt.
> 
> Further support (for Cortex-A9 CPU(s), USB, SD/MMC, etc.) to follow.
> 
> V2: Make changes based on feedback from Peter Tyser and Sandeep Paulraj.

If you didn't use all the feedback to the original patches, you should
state explicitly what you changed here, or respond to the original
comment email as to why they weren't made.  For example, I see you
didn't make the suggested change to use IO access functions, or allow
compiling out of support for UARTA and UARTD.  That should be made clear
somewhere (and the logic of why the changes weren't made) so that those
reviewing the patches know what changed between v1 and v2 and why.  As
is its unclear why the v1 comments weren't implemented, so they also
apply to this series.

Best,
Peter

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


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

2011-01-14 Thread Tom Warren
This series of patches adds preliminary/baseline support for NVIDIA's
Tegra2 SoC.  Basic CPU (AVP), RAM and UART init are covered so that the
system (Harmony or Seaboard) can boot to the U-Boot serial cmd prompt.

Further support (for Cortex-A9 CPU(s), USB, SD/MMC, etc.) to follow.

V2: Make changes based on feedback from Peter Tyser and Sandeep Paulraj.

Tom Warren (4):
  arm: Tegra2: Add basic NVIDIA Tegra2 SoC support
  serial: Add Tegra2 serial port support
  arm: Tegra2: Add support for NVIDIA Harmony board
  arm: Tegra2: Add support for NVIDIA Seaboard board

 MAINTAINERS  |5 +
 arch/arm/cpu/armv7/tegra2/Makefile   |   48 ++
 arch/arm/cpu/armv7/tegra2/board.c|   91 ++
 arch/arm/cpu/armv7/tegra2/config.mk  |   28 +++
 arch/arm/cpu/armv7/tegra2/lowlevel_init.S|   66 +++
 arch/arm/cpu/armv7/tegra2/sys_info.c |   35 
 arch/arm/cpu/armv7/tegra2/timer.c|  122 +
 arch/arm/include/asm/arch-tegra2/clk_rst.h   |  155 +
 arch/arm/include/asm/arch-tegra2/pinmux.h|   52 ++
 arch/arm/include/asm/arch-tegra2/pmc.h   |  125 ++
 arch/arm/include/asm/arch-tegra2/sys_proto.h |   33 
 arch/arm/include/asm/arch-tegra2/tegra2.h|   49 ++
 arch/arm/include/asm/arch-tegra2/uart.h  |   45 +
 board/nvidia/common/board.c  |  234 ++
 board/nvidia/common/board.h  |   57 +++
 board/nvidia/harmony/Makefile|   50 ++
 board/nvidia/seaboard/Makefile   |   50 ++
 boards.cfg   |2 +
 common/serial.c  |3 +-
 include/configs/harmony.h|   48 ++
 include/configs/seaboard.h   |   43 +
 include/configs/tegra2-common.h  |  160 ++
 include/serial.h |3 +-
 23 files changed, 1502 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/cpu/armv7/tegra2/Makefile
 create mode 100644 arch/arm/cpu/armv7/tegra2/board.c
 create mode 100644 arch/arm/cpu/armv7/tegra2/config.mk
 create mode 100644 arch/arm/cpu/armv7/tegra2/lowlevel_init.S
 create mode 100644 arch/arm/cpu/armv7/tegra2/sys_info.c
 create mode 100644 arch/arm/cpu/armv7/tegra2/timer.c
 create mode 100644 arch/arm/include/asm/arch-tegra2/clk_rst.h
 create mode 100644 arch/arm/include/asm/arch-tegra2/pinmux.h
 create mode 100644 arch/arm/include/asm/arch-tegra2/pmc.h
 create mode 100644 arch/arm/include/asm/arch-tegra2/sys_proto.h
 create mode 100644 arch/arm/include/asm/arch-tegra2/tegra2.h
 create mode 100644 arch/arm/include/asm/arch-tegra2/uart.h
 create mode 100644 board/nvidia/common/board.c
 create mode 100644 board/nvidia/common/board.h
 create mode 100644 board/nvidia/harmony/Makefile
 create mode 100644 board/nvidia/seaboard/Makefile
 create mode 100644 include/configs/harmony.h
 create mode 100644 include/configs/seaboard.h
 create mode 100644 include/configs/tegra2-common.h

-- 
1.7.3.5

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