[U-Boot] [PATCH] tegra: Specify debugging serial port at boot.

Simon Glass
2012-03-21T00:19:52Z

Hi Graeme,

On Tue, Mar 20, 2012 at 5:17 PM, Graeme Russ <graeme.russ@gmail.com> wrote:
> Hi Simon,
>
> On Wed, Mar 21, 2012 at 11:02 AM, Simon Glass <sjg@chromium.org> wrote:
>> Hi Graeme,
>>
>> On Tue, Mar 20, 2012 at 4:52 PM, Graeme Russ <graeme.russ@gmail.com> wrote:
>>> Hi Simon,
>>>
>>> On Wed, Mar 21, 2012 at 10:33 AM, Simon Glass <sjg@chromium.org> wrote:
>
>>>> We cannot select the UART via CONFIG - remember that all of these
>>>> boards have the same U-Boot binary. Please read that again :-) The
>>>> device tree is the only thing that distinguishes them. All of the
>>>> CONFIG options are identical for all boards.
>>>
>>> But I don't get it - In your Seaboard patch, you only use UARTD so in this
>>> case we could CONFIG_ it?
>>
>> Yes, Stephen specifically asked for this so I changed it. See the
>> other ongoing discussion on this.
>>
>>>
>>> And it's sounding like for other scenarios you are going to resign
>>> yourself to there not being a common UART so you will send the pre-console
>>> (panic) message to multiple UARTs - something that should be avoided at
>>> all costs...
>>
>> Of course - we cannot require the board to use a particular UART. The
>> SOCs have various options and different people will make different
>> decisions. Honestly, if we can't deal with UART selection in the
>> device tree, we aren't going to solve the more difficult problems.
>
> But aren't we dealing in a case where the device tree is probably not
> available anyway?

Yes.

>
> And we are talking about one board vendor taking a SoC and using UARTA
> for the panic output and another board vendor deciding to use UARTB - But
> surely these vendors will create a separate config file for their boards.

Nope. There is only one u-boot.bin for all boards that use this SOC.

>
>>> I know we are dealing with a corner case abnormal situation here, but
>>> something does not smell right... Maybe I'm not understanding something
>>> obvious yet...
>>
>> I'm not sure. I suspect it could be easily explained with an hour at
>> the whiteboard, but it's hard by email.
>>
>> The requirement is to output a message that the user can see, and we
>> have a selection of UARTs which *might* be the console UART. For now
>> we don't know exactly which one it is (see my SPL config comment
>> though which might eventually solve this). So we send output to
>> several of them. To protect against any danger, we permit the board
>> file to select which are permitted.
>
> Again, we are going back to per-board configurations - Why can't this
> selection be CONFIG_'d? Surely we could define a bitmap of available UARTs
> in a SoC header (and reserve space for board specific UARTs) which can
> then be used in the board config.
>
> I'm not really seeing an example of where two boards use exactly the same
> configuration file and yet one has 'UARTx' plumbed and the other does not
>
> Sorry, I'm not trying to be difficult, just poking all the corners to see
> what squishes ;)

The key point is that they all have the same CONFIG and there is only
one u-boot.bin. Once you understand that, the problem will become
clearer.

Regards,
Simon

>
> Regards,
>
> Graeme