[U-Boot] [PATCH 03/12] 83xx, kmeter1: add I2C, dtt, eeprom support

Heiko Schocher hs at denx.de
Wed Feb 18 09:14:05 CET 2009


Hello Kim

Kim Phillips wrote:
> On Tue, 17 Feb 2009 07:03:23 +0100
> Heiko Schocher <hs at denx.de> wrote:
> 
>> Hello Kim,
> 
> Hello Heiko,
> 
>> Kim Phillips wrote:
>>> On Wed, 11 Feb 2009 19:25:49 +0100
>>> Heiko Schocher <hs at denx.de> wrote:
>>>>  	/* switch to correct I2C bus */
>>>>  	old_bus = I2C_GET_BUS();
>>>> -	I2C_SET_BUS(CONFIG_SYS_DTT_BUS_NUM);
>>>> +	if ((gd->flags & GD_FLG_RELOC) != GD_FLG_RELOC) {
>>>> +		uchar *tmp = (uchar *)getenv("dtt_bus");
>>> sorry Heiko, I should have asked you before: this is a hardcoded
>>> environment variable in driver code, does the dtt bus value change
>>> between boots?  If not, what's the reason the value isn't specified as
>>> a CONFIG_SYS_DTT_BUS_NUM?
>> It changes not between boots, but between different hardware.
> 
> so why not make it a CONFIG_SYS_DTT_BUS_NUM instead of permanently
> polluting environment namespace.  That's what the rest of the boards
> that use this DTT code do; what makes the kmeter1 special in this
> regard?  Because CONFIG_SYS_DTT_BUS_NUM is not just a single number?

There are several hardwareversions, which only differ in the way, how
the DTTs are reached (0,1,2 muxes and they use also different channels
...). So we save this "way" in an environment variable. When running
in RAM, it is just a number see else part ...

> In that case we can make CONFIG_SYS_DTT_BUS_REF or something (not sure
> if that's a good enough name).

What exactly do you mean with that?

But I was wondering why the DTTs are initialized so early. Is this
necessary? If not, I don;t need this ...

bye
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list