• Peter Tyser's avatar
    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