name=I2C Driver
description=Implements an I2C driver that can be called by other plugins at main() level
category=HAL
quality=sample

architecture=efr32,em346,em351,em355,em3555,em357,em3581,em3582,em3585,em3586,em3587,em3588,em3591,em3592,em3595,em3596,em3597,em3598,simulation

providedApis=i2c-driver
api.i2c-driver.header=$HAL/plugin/i2c-driver/i2c-driver.h

requiredApis=hal

$HAL/plugin/i2c-driver/i2c-driver-em3xx.c      (em346,em351,em355,em3555,em357,em3581,em3582,em3585,em3586,em3587,em3588,em3591,em3592,em3595,em3596,em3597,em3598)
$HAL/plugin/i2c-driver-stub/i2c-driver-stub.c  (simulation)
$HAL/plugin/i2c-driver/i2c-driver-efr32.c      (efr32)

implementedCallbacks=emberAfPluginI2cDriverInitCallback

options=transactionTimeout

transactionTimeout.name=Transaction timeout (ms)
transactionTimeout.description=The amount of time (in ms) the I2C host will wait before marking a (possibly clock stretched) transaction as failed.
transactionTimeout.type=NUMBER:1,1000
transactionTimeout.default=50

setup(hwConfig) {
  dependentHwConfModules=I2CSENSOR,I2C0,I2C1
}