From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Mon, 17 Dec 2012 15:58:28 -0700 Subject: [U-Boot] [PATCH] ns16550: allow UART address to be set dynamically In-Reply-To: <20121217223745.0476C202B05@gemini.denx.de> References: <1355354590-10023-1-git-send-email-swarren@wwwdotorg.org> <50C918A5.6090207@wwwdotorg.org> <20121213102950.17EC320120D@gemini.denx.de> <50CA1BB8.4000704@wwwdotorg.org> <20121213203604.1DD9F201213@gemini.denx.de> <50CA3E7A.8020407@wwwdotorg.org> <50CA4056.8060900@ti.com> <50CA437F.7060704@wwwdotorg.org> <50CB8ED1.7020503@ti.com> <50CBA217.3070202@wwwdotorg.org> <50CBABF6.7040104@wwwdotorg.org> <50CF89F7.307@ti.com> <50CF9BAA.3050504@wwwdotorg.org> <20121217223745.0476C202B05@gemini.denx.de> Message-ID: <50CFA394.40901@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 12/17/2012 03:37 PM, Wolfgang Denk wrote: > Dear Stephen Warren, > > In message <50CF9BAA.3050504@wwwdotorg.org> you wrote: >> >> There are many ways besides device tree to enumerate hardware. For >> example, consider PCI or USB (albeit USB isn't memory mapped). I don't > > Yes, there are. But your console port cannot be compred against > dynamically populated and scannable bus interfaces like USB or PCI, > and I think you are aware of that. I honestly don't know why you couldn't have a PCI-based console UART. >> think we should tie any new U-Boot dynamic device registration API to >> device tree, since that would seem to prevent (or imply against) usage >> of that API with PCI for example. > > Not any dynamic device registration. But here, it actually AIN'T > dynamic - it is fully static, just board dependent. If you want to run the same U-Boot binary on multiple different boards, then that does make the UART selection dynamic. There's no conceptual difference between dynamic information coming from a DT passed to U-Boot at runtime, SoC-defined enumeration/selection mechanisms such as Tegra's ODMDATA, or scanning a PCI bus. Or, is U-Boot going to ban addressing TI's case where the UART selection is stored in an I2C EEPROM that can be read at run-time, since instead during flashing that information could be extracted and hard-coded into the board's device tree instead?