aboutsummaryrefslogtreecommitdiff
path: root/Drivers/I2c
AgeCommit message (Collapse)Author
2016-10-19Drivers/I2c: Fix enumeration of I2c devicesJan Dąbroś
I2c driver will now enumerate all devices from the PCD table without assumption that this table ends with '\0' entry. This condition occurred to be toolchain-dependent. Size of table will be gathered from PCD's size. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jan Dabros <jsd@semihalf.com> Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2016-07-11Drivers/I2c: Add MvEeprom driverBartosz Szczepanek
MvEeprom driver produces MARVELL_EEPROM_PROTOCOL, which can be used by other drivers or applications. Working EFI_I2C_IO_PROTOCOL is required by driver to operate. EEPROM devices' addresses need to be fed via 'PcdEepromI2cAddresses'. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Bartosz Szczepanek <bsz@semihalf.com> Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2016-07-11Drivers/I2c: Create MvI2cDxe driverBartosz Szczepanek
MvI2cDxe driver was adapted to generic UEFI I2C stack. Connection with following interfaces was required: - EFI_I2C_MASTER_PROTOCOL - EFI_I2C_BUS_CONFIGURATION_MANAGEMENT_PROTOCOL - EFI_I2C_ENUMERATE_PROTOCOL Driver exports configuration options via PCDs. Configurable options include: - PcdI2cSlaveAddresses - should contain a list of valid I2C devices' addresses on bus - PcdI2cBaseAddresses - physical address of I2C controller registers - PcdI2cClockFrequency - I2c clock frequency on platform Drivers of devices on I2C bus should never use EFI_I2C_MASTER_PROTOCOL directly. Instead, these ought to utilise EFI_I2C_IO_PROTOCOL produced by generic UEFI stack. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Bartosz Szczepanek <bsz@semihalf.com> Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>