From f72a5614d526fe74d51c7a640cd499769ccee970 Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Thu, 27 Aug 2015 01:46:49 -0300 Subject: [PATCH] AP_HAL_Linux: add I2C buses for minlure --- libraries/AP_HAL_Linux/HAL_Linux_Class.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp b/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp index dcc54fc97f..985bb9551f 100644 --- a/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp +++ b/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 static Semaphore i2cSemaphore0; 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 static Semaphore i2cSemaphore0; static I2CDriver i2cDriver0(&i2cSemaphore0, "/dev/i2c-1"); @@ -140,6 +153,10 @@ HAL_Linux::HAL_Linux() : &i2cDriver0, &i2cDriver1, &i2cDriver2, +#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_MINLURE + &i2cDriver0, + &i2cDriver1, + NULL, #else &i2cDriver0, NULL, @@ -230,6 +247,9 @@ void HAL_Linux::run(int argc, char* const argv[], Callbacks* callbacks) const i2c->begin(); i2c1->begin(); i2c2->begin(); +#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_MINLURE + i2c->begin(); + i2c1->begin(); #else i2c->begin(); #endif