
Hi Stephen,
On Tue, Mar 20, 2012 at 5:42 PM, Stephen Warren swarren@wwwdotorg.org wrote:
On 03/20/2012 05:33 PM, Simon Glass 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.
I don't agree that all the boards have the same U-Boot binary. At present, there are about 6 Tegra boards in mainline U-Boot all with different binaries.
Er, I was referring to all the boards that use the same config, not all the boards in mainline U-Boot. However I agree that we currently have 6 boards, we could fairly easily change this into one board with a device tree selector.
Even with DT, I don't see anything wrong with having the low-level init code parameterized and built per board (e.g. debug UART), but all the higher level devices initialized/configured from device tree (e.g. I2C, MMC, USB).
It doesn't achieve the design goal I mentioned, but yes this is possible.
Even if the binary result from the boot process is identical, but we did something like I proposed a few emails back to inject the correct UART ID into an initially common binary, you still get left with different binaries per board, in terms of what you're actually flashing onto the board.
(yes, I'd be interested in seeing the SPL code you mentioned)
OK. Let me know if we are on the same page on this topic, and I will start a new thread...
Regards, Simon