From: Graeme Russ <graeme.russ@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] ns16550: allow UART address to be set dynamically
Date: Sat, 15 Dec 2012 12:32:03 +1100 [thread overview]
Message-ID: <50CBD313.60508@gmail.com> (raw)
In-Reply-To: <20121215003248.9BC712000ED@gemini.denx.de>
Hi Wolfgang,
On 15/12/12 11:32, Wolfgang Denk wrote:
> Dear Graeme Russ,
>
> In message <50CBB346.30208@gmail.com> you wrote:
>>
>>> And we already have a well-defined way to do this, which is the device
>>> tree. So any attempts to implement something different should be
>>> reviewed very carefully.
>>
>> I'm not sure I 100% get this, but from what I understand, the SoC (or maybe
>> even some EEPROM on a particular board family) may contain device
>> enumeration data in some vendor specific format (i.e. not in a device tree
>> compatible format).
>
> Yes, this may, and will, happen. And we will have to support it. The
> question is, how to do that. I definitely do not want to see any
> uncontrolled growth of more and more such board or SoC specific code.
>
>> The way I see it, there is no way that U-Boot can dictate to SoC and board
>> vendors and say that data must be stored in DT format. So shouldn't U-Boot
>
> We cannot dictate, but we can encourage and discourage such decisions.
> If we communicate a clear position, we may even prevent ugly things
> from happening.
Understood, but in the end, board and SoC vendors will do what is most
expedient for them, and that may well be a raw binary data format buried in
some reserved ROM area (either on-time-writable or EEPROM)
>> instead implement a board/SoC specific translation layer which converts
>> this custom data into DT format (maybe in SPL if possible)?
>
> Do you want to see each board grow it's own code to do that? Because
> this is the extreme that could result from such a decision, and I
> seriously dislike any such thought. Which is why I'm questioning the
> general approach when I see it first.
Well if the SoC or board (but more likely SoC) has already defined the data
structure, you a bit stuck. I fully agree that board developers that choose
U-Boot as their primary bootloader should be following U-Boot conventions.
>> But the other problem is if this data includes console specific information
>> (UART configuration). We are left blind until the DT functions become
>> available. So maybe we need some small standard interface to allow the
>> console to be configured early. But we need to prevent this from being
>> abused (i.e. being used to do all kinds of hardware setting from the raw
>> data and bypassing DT)
>
> Why do we have to support such dynamic hardware configuration for a
> very basic thing as the console port at all?
You may not find as much in consumer devices (set-top-boxes, mobile phones,
tablets etc.) but you will in industrial devices.
I can give you an example - Remote Telemetry Units (RTUs). They usually
have a number of serial ports. The number of ports may vary based on the
sub-model. Some ports may be RS-232, some may be RS-485 or RS-422.
Depending on what additional devices you want to communicate with, you may
need to use the 'console/diag' port to connect to a real device. So what
you want to do is route console to another port (if available) or even
netconsole.
> If the hardware designers cannot fix their minds and use a fixed
> console port, they should be willing to suffer fromthe penalty that
> they will have to use board specific board configurations that match
> the actual consoles settings. Why should we bend and do ugly stuff?
> Just because software is so much easier to change than hardware?
> I'm not going to buy this argument.
I do get your point of view. But I think a combination of storing the
dynamic console info in a DT format, the pre-console buffer and getting DT
available as early as possible can yield a 'non-cludgy' solution. For board
or SoC vendors who, for whatever reason, have implemented non-DT storage of
hardware enumeration data they will be stuck with the penalty of having to
translate that data into DT format before it can be parsed by U-Boot. Maybe
this could be done in SPL. Yes, it's a hack, but if it can't be worked
around, push it as low as possible and as far away from the U-Boot core as
possible
Regards,
Graeme
next prev parent reply other threads:[~2012-12-15 1:32 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
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 [this message]
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=50CBD313.60508@gmail.com \
--to=graeme.russ@gmail.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.