From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Thu, 30 Sep 2010 08:50:24 +0200 Subject: [U-Boot] [PATCH 13/17] post/i2c: Add ability to ignore I2C devices In-Reply-To: <1285828543.20234.5.camel@ptyser-laptop> References: <1285787156-6005-1-git-send-email-ptyser@xes-inc.com> <1285787156-6005-13-git-send-email-ptyser@xes-inc.com> <4CA429E8.8040306@denx.de> <1285828543.20234.5.camel@ptyser-laptop> Message-ID: <4CA43330.8030009@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Peter, Peter Tyser wrote: > On Thu, 2010-09-30 at 08:10 +0200, Heiko Schocher wrote: >> Hello Peter, >> >> Peter Tyser wrote: >>> Add the ability to not report an I2C POST error for a set of given I2C >>> addresses on bootup. This is useful for the following cases: >>> >>> - Some form factors such as XMC and Compact PCI Express have an I2C >>> EEPROM whose address changes based on geographical address. Eg >>> installed in one slot its EEPROM address is, 0x50, in another its >>> 0x51, etc. This allows multiple devices to have their EEPROMs present >>> on the same I2C bus. Thus the I2C devices present for an XMC or >>> CPCIe card depend on if and where other cards are installed in the >>> same system. >>> >>> - Some cards have optional I2C devices. Eg one hardware build >>> configuration has different I2C devices than another. >>> >>> - Some cards have optional daughtercards with I2C devices on them. >>> >>> - I2C EEPROMs address range depends on their size. Its possible to >>> support differently size EEPROMs by only probing the EEPROM's base >>> address and ignoring the other addresses that are impacted by its >>> size. >>> >>> A new I2C_ADDR_IGNORE_LIST define has been added which specifies a list >>> of I2C addresses for the I2C POST to ignore. >>> >>> Signed-off-by: Peter Tyser >>> CC: hs at denx.de >>> --- >>> post/drivers/i2c.c | 16 ++++++++++++++++ >>> 1 files changed, 16 insertions(+), 0 deletions(-) >> Maybe you can add a little info in the README? > > The existing I2C_ADDR_LIST isn't documented, so I didn't document this > addition. I'll mention them both in doc/README.POST. Thanks! >>> diff --git a/post/drivers/i2c.c b/post/drivers/i2c.c >>> index 2dd128e..9e1fd50 100644 >>> --- a/post/drivers/i2c.c >>> +++ b/post/drivers/i2c.c >>> @@ -40,6 +40,20 @@ >>> >>> #if CONFIG_POST & CONFIG_SYS_POST_I2C >>> >>> +static int i2c_ignore_device(unsigned int chip) >>> +{ >>> +#ifdef I2C_ADDR_IGNORE_LIST >> Hmm.. as this is only used in post code, this should be visible >> in the defines name, what with: >> >> I2C_POST_ADDR_IGNORE_LIST > > I was following the lead of the existing I2C_ADDR_LIST define. Agreed > it should be named differently. I'll go with CONFIG_SYS_POST_I2C_ADDRS > and CONFIG_SYS_POST_I2C_IGNORES unless someone else chimes in. Ack. Thanks! bye, heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany