
Dear Stephen,
In message 4F6A1D1E.2090607@wwwdotorg.org you wrote:
But the last few messages in this thread have all been about the following as far as I'm concerned:
- The U-Boot configuration defines which single UART to use for the
initial console.
- This initial console is registered early enough that almost all
failures can be reported. In particular, something as non-critical as locating and parsing the DT should happen after this initial console is registered, so that DT existence/parsing problems can be reported to this initial console.
By non-critical here, I mean that there should be no reason to require the DT to be parsed in order for the CPU to boot, and the initial UART-based console to be registered. DT parsing shouldn't be attempted until this basic level of operation is achieved; it should be be required that the DT be parsed for any of that to work.
- When the DT is parsed later, the console specification from DT
replaces the initial console.
With this scheme in place, there surely isn't any need for any kind of special-case early putc/puts/printf - wasn't this exactly Wolfgang's point?
Correct, that's what I have in mind.
Actually we already do the same in other situations - for example on systems with console on LCD, whih becomes available pretty late in the boot sequence.
Best regards,
Wolfgang Denk