public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
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

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox