Browse Source

AP_HAL_Linux: add I2C buses for minlure

mission-4.1.18
Lucas De Marchi 10 years ago committed by Andrew Tridgell
parent
commit
f72a5614d5
  1. 20
      libraries/AP_HAL_Linux/HAL_Linux_Class.cpp

20
libraries/AP_HAL_Linux/HAL_Linux_Class.cpp

@ -40,6 +40,19 @@ static I2CDriver i2cDriver2(&i2cSemaphore2, "/dev/i2c-2");
#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BBBMINI #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BBBMINI
static Semaphore i2cSemaphore0; static Semaphore i2cSemaphore0;
static I2CDriver i2cDriver0(&i2cSemaphore0, "/dev/i2c-2"); static I2CDriver i2cDriver0(&i2cSemaphore0, "/dev/i2c-2");
#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_MINLURE
static Semaphore i2cSemaphore0;
static const char * const i2c_devpaths[] = {
/* UEFI with lpss set to ACPI */
"/devices/platform/80860F41:05",
/* UEFI with lpss set to PCI */
"/devices/pci0000:00/0000:00:18.6",
NULL
};
static I2CDriver i2cDriver0(&i2cSemaphore0, i2c_devpaths);
/* One additional emulated bus */
static Semaphore i2cSemaphore1;
static I2CDriver i2cDriver1(&i2cSemaphore1, "/dev/i2c-10");
#else #else
static Semaphore i2cSemaphore0; static Semaphore i2cSemaphore0;
static I2CDriver i2cDriver0(&i2cSemaphore0, "/dev/i2c-1"); static I2CDriver i2cDriver0(&i2cSemaphore0, "/dev/i2c-1");
@ -140,6 +153,10 @@ HAL_Linux::HAL_Linux() :
&i2cDriver0, &i2cDriver0,
&i2cDriver1, &i2cDriver1,
&i2cDriver2, &i2cDriver2,
#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_MINLURE
&i2cDriver0,
&i2cDriver1,
NULL,
#else #else
&i2cDriver0, &i2cDriver0,
NULL, NULL,
@ -230,6 +247,9 @@ void HAL_Linux::run(int argc, char* const argv[], Callbacks* callbacks) const
i2c->begin(); i2c->begin();
i2c1->begin(); i2c1->begin();
i2c2->begin(); i2c2->begin();
#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_MINLURE
i2c->begin();
i2c1->begin();
#else #else
i2c->begin(); i2c->begin();
#endif #endif

Loading…
Cancel
Save