[U-Boot] [PATCH 13/17] post/i2c: Add ability to ignore I2C devices

Sergei Shtylyov sshtylyov at mvista.com
Thu Sep 30 13:00:18 CEST 2010


Hello.

On 29-09-2010 23:05, 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<ptyser at xes-inc.com>
> CC: hs at denx.de
> ---
>   post/drivers/i2c.c |   16 ++++++++++++++++
>   1 files changed, 16 insertions(+), 0 deletions(-)

> 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
> +	unsigned char i2c_ignore_list[] = I2C_ADDR_IGNORE_LIST;

    This array is aking to be *static*...

WBR, Sergei


More information about the U-Boot mailing list