Skip to content
Snippets Groups Projects
Select Git revision
9 results

i2c.c

Blame
    • Peter Tyser's avatar
      9d921f19
      post/i2c: Add ability to ignore I2C devices · 9d921f19
      Peter Tyser authored
      
      Add the ability to not report an I2C POST error for a set of given I2C
      addresses on bootup.  This is useful for cases when a device may or may
      not be present, and neither case is considered an error.  For example:
      
      - 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 and software
        can't determine if the optional device should be present or not.
      
      - 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 CONFIG_SYS_POST_I2C_IGNORES define has been added which specifies
      a list of I2C addresses for the I2C POST to ignore.
      
      Signed-off-by: default avatarPeter Tyser <ptyser@xes-inc.com>
      Acked-by: default avatarHeiko Schocher <hs@denx.de>
      Acked-by: default avatarWolfgang Denk <wd@denx.de>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      9d921f19
      History
      post/i2c: Add ability to ignore I2C devices
      Peter Tyser authored
      
      Add the ability to not report an I2C POST error for a set of given I2C
      addresses on bootup.  This is useful for cases when a device may or may
      not be present, and neither case is considered an error.  For example:
      
      - 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 and software
        can't determine if the optional device should be present or not.
      
      - 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 CONFIG_SYS_POST_I2C_IGNORES define has been added which specifies
      a list of I2C addresses for the I2C POST to ignore.
      
      Signed-off-by: default avatarPeter Tyser <ptyser@xes-inc.com>
      Acked-by: default avatarHeiko Schocher <hs@denx.de>
      Acked-by: default avatarWolfgang Denk <wd@denx.de>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>