From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] ns16550: allow UART address to be set dynamically
Date: Thu, 13 Dec 2012 13:45:46 -0700 [thread overview]
Message-ID: <50CA3E7A.8020407@wwwdotorg.org> (raw)
In-Reply-To: <20121213203604.1DD9F201213@gemini.denx.de>
On 12/13/2012 01:36 PM, Wolfgang Denk wrote:
> Dear Stephen Warren,
>
> In message <50CA1BB8.4000704@wwwdotorg.org> you wrote:
>>
>>> Arghh... Do we really, really have to invent yet another way to pass
>>> hardware configuration information? Especially one totally
>>> incompatible to any other system?
>>
>> This is a special case for the console UART. The idea is to get that up
>> and running well before device tree is parsed in any way. For example,
>> Tegra's SPL doesn't touch the device tree in any way (or even know one
>> exists) but does want to print (possibly error) messages in a generic
>> fashion. Similarly, many problems could occur before the device tree is
>> parsed (e.g. the user forgets to provide one...), and having
>> specifically the console UART set up before that allows those errors to
>> be reported, rather than requiring a JTAG or similar debugger.
>>
>> My intent is that ODMDATA will definitely only be used for the console
>> UART, and will NOT be used for anything else like LCD, RTC, ... Those
>> other devices will certainly be configured via device tree.
>
> We've been there before, you know.
I'm not quite sure what the implication is here.
> OK - what is the scope of visibility of such code? Will it be
> strictly board specific only? Or SoC specific? Arch? Global?
It's partially SoC-specific, partially global.
Note that by "all" and "global" here, I'm talking relative to all Tegra
SoCs, not about anything non-Tegra. "SoC-specific" means different for
Tegra20, Tegra30, Tegra114, etc.
In every Tegra SoC, the boot ROM reads a BCT (Boot Configuration Table)
at boot. The BCT contains e.g. SDRAM controller configuration and other
low-level boot information. The BCT is stored within the boot flash. The
ODMDATA fields are stored within the BCT. The offset of the ODMDATA
within the BCT is SoC-specific since the BCT structure is SoC-specific.
The ODMDATA for all Tegra SoCs includes fields that define (a) which
UART to use (so far, identical across all SoCs) (b) the pinmux
configuration to use, and other information (mainly SDRAM size at the
moment). Since the pinmux HW is SoC-specific, so is the exact format of
the UART pinmux configuration data.
For more details on Tegra BCTs, you may refer to:
ftp://download.nvidia.com/tegra-public-appnotes/index.html
http://nv-tegra.nvidia.com/gitweb/?p=tools/cbootimage.git;a=summary
Note that in the latter case, I haven't pushed out the patches which
document the UART pinmux fields yet, but will very soon; most likely as
soon as we've resolved this conversation.
next prev parent reply other threads:[~2012-12-13 20:45 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-12 23:23 [U-Boot] [PATCH] ns16550: allow UART address to be set dynamically Stephen Warren
2012-12-12 23:38 ` Simon Glass
2012-12-12 23:52 ` Stephen Warren
2012-12-13 0:38 ` Simon Glass
2012-12-13 10:29 ` Wolfgang Denk
2012-12-13 18:17 ` Stephen Warren
2012-12-13 20:36 ` Wolfgang Denk
2012-12-13 20:45 ` Stephen Warren [this message]
2012-12-13 20:53 ` Tom Rini
2012-12-13 21:07 ` Stephen Warren
2012-12-13 21:51 ` Simon Glass
2012-12-14 20:40 ` Tom Rini
2012-12-14 21:14 ` Simon Glass
2012-12-14 22:03 ` Stephen Warren
2012-12-14 22:22 ` Simon Glass
2012-12-14 22:45 ` Stephen Warren
2012-12-17 21:09 ` Tom Rini
2012-12-17 22:24 ` Stephen Warren
2012-12-17 22:37 ` Wolfgang Denk
2012-12-17 22:58 ` Stephen Warren
2012-12-18 6:39 ` Wolfgang Denk
2012-12-18 16:37 ` Stephen Warren
2012-12-18 19:15 ` Simon Glass
2012-12-17 21:09 ` Tom Rini
2012-12-14 22:35 ` Wolfgang Denk
2012-12-14 21:52 ` Stephen Warren
2012-12-14 22:31 ` Wolfgang Denk
2012-12-14 22:26 ` Wolfgang Denk
2012-12-14 23:16 ` Graeme Russ
2012-12-15 0:32 ` Wolfgang Denk
2012-12-15 1:32 ` Graeme Russ
2012-12-15 7:30 ` Wolfgang Denk
2012-12-15 9:53 ` Graeme Russ
2012-12-17 21:04 ` Tom Rini
2012-12-13 23:11 ` Wolfgang Denk
2012-12-13 23:26 ` Stephen Warren
2012-12-13 10:27 ` Wolfgang Denk
2012-12-13 13:11 ` Tom Rini
2012-12-13 14:22 ` Wolfgang Denk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50CA3E7A.8020407@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox