On 02/07/2013 12:05 PM, Tom Warren wrote: > Stephen, > > On Thu, Feb 7, 2013 at 11:20 AM, Stephen Warren <swar...@wwwdotorg.org> wrote: >> On 02/07/2013 11:14 AM, Tom Warren wrote: >>> Stephen, >>> >>> On Thu, Feb 7, 2013 at 11:07 AM, Stephen Warren <swar...@wwwdotorg.org> >>> wrote: >>>> On 02/07/2013 09:17 AM, Tom Warren wrote: >>>>> Laxman, >>>>> >>>>> On Thu, Feb 7, 2013 at 7:57 AM, Laxman Dewangan <ldewan...@nvidia.com> >>>>> wrote: >>>>>> On Thursday 07 February 2013 04:56 AM, Tom Warren wrote: >>>>>>> >>>>>>> Note that T114 does not have a separate/different DVC (power I2C) >>>>>>> controller like T20 - all 5 I2C controllers are identical, but >>>>>>> I2C5 is used to designate the controller intended for power >>>>>>> control (PWR_I2C in the schematics). >>>>>>> >>>>>>> Signed-off-by: Tom Warren <twar...@nvidia.com> >>>>>>> --- >>>>>> >>>>>> >>>>>> >>>>>>> diff --git a/board/nvidia/dts/tegra114-dalmore.dts >>>>>>> b/board/nvidia/dts/tegra114-dalmore.dts >>>>>>> index 7315577..13b07f3 100644 >>>>>>> --- a/board/nvidia/dts/tegra114-dalmore.dts >>>>>>> +++ b/board/nvidia/dts/tegra114-dalmore.dts >>>>>>> @@ -6,8 +6,41 @@ >>>>>>> model =NVIDIA Dalmore"; >>>>>>> compatible =nvidia,dalmore", "nvidia,tegra114"; >>>>>>> >>>>>>> + aliases { >>>>>>> + i2c0 =/i2c@7000d000"; >>>>>>> + i2c1 =/i2c@7000c000"; >>>>>>> + i2c2 =/i2c@7000c400"; >>>>>>> + i2c3 =/i2c@7000c500"; >>>>>>> + i2c4 =/i2c@7000c700"; >>>>>>> + }; >>>>>> >>>>>> >>>>>> Can we move this to tegar114.dtsi file. >>>>> >>>>> I could, but why? Most, if not all, of the U-Boot boards that use DT >>>>> are putting their aliases in the .dts file in the board directory. >>>> >>>> Laxman, the issue here is that right now in U-Boot, I believe, if a >>>> particular board only uses I2C adapters 0, 2, and 4, then only U-Boot >>>> device IDs 0, 1, and 2 are defined, rather than IDs 0, 2, and 4. That's >>>> why the aliases are in the per-board file for now, because the actual >>>> set of I2C adapters enabled is board-specific. >>>> >>>> Tom, as background for Laxman's request, for other devices (e.g. serial >>>> ports), customer engineers have pushed back on that naming scheme, and >>>> always want a specific HW device to end up with a static name, >>>> irrespective of which other devices of the same type are used, if any. >>>> For that reason, in the kernel, we have aliases for the serial ports in >>>> tegra*.dtsi rather than in per-board files, and the names are static. >>>> >>>> So I wonder if in U-Boot we really have to have IDs 0..n rather than >>>> e.g. IDs 0, 2, 4 for the I2C ports (when some aren't used). Then, we >>>> could just put the aliases in tegra*.dtsi, which makes life simpler when >>>> creating board .dts files... >>> >>> Thanks for the background info. I'm focusing on getting T114 I2C in >>> right now, so I can move on to MMC and USB, and what I have seems >>> reasonable/conforms to what's already done in U-Boot. >> >> That doesn't necessarily make it correct. >> >>> I don't want to get into reworking everyone's dts/dtsi files right now >>> to move aliases around, or find out which boards really have unused >>> I2C ports (Dalmore uses 'em all, BTW, according to our I2C >>> spreadsheet). If you want to send a set of cleanup/re-org patches for >>> everybody's DTS files, or even just the Tegra boards, feel free. I'll >>> be glad to review it/apply it to u-boot-tegra later. >> >> Sorry, but that's simply part of writing the .dts file for a board; >> there is no way around that. > > OK, how about this. For T114, I'll move the aliases to tegra114.dtsi,
I believe that makes sense. But please do check that if you do disable one of the controllers, that the other 4 I2C ports do all get registered and still work OK, so we've tested that code-path. I'm not sure if we have tested the case where the I2C channels don't have contiguous IDs yet, so I have no idea if it works. > and use 400KHz for all I2C nodes except I2C1 (saw some internal code > saying that it may not run well at that speed on the E1611 board). > Since all 5 controllers have devices behind them, I think it's OK to > leave all 5 in the aliases. The downstream kernel only has I2C5 (IIRC) set to 400KHz - the other 4 are limited to 100KHz. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot