diff options
Diffstat (limited to 'drivers/arm')
-rw-r--r-- | drivers/arm/i2c_master.c | 10 | ||||
-rw-r--r-- | drivers/arm/i2c_master.h | 10 |
2 files changed, 15 insertions, 5 deletions
diff --git a/drivers/arm/i2c_master.c b/drivers/arm/i2c_master.c index 385bd97cb8..50a30ebce7 100644 --- a/drivers/arm/i2c_master.c +++ b/drivers/arm/i2c_master.c @@ -46,13 +46,13 @@ __attribute__ ((weak)) void i2c_init(void) { // Try releasing special pins for a short time - palSetPadMode(GPIOB, 6, PAL_MODE_INPUT); - palSetPadMode(GPIOB, 7, PAL_MODE_INPUT); + palSetPadMode(I2C1_BANK, I2C1_SCL, PAL_MODE_INPUT); + palSetPadMode(I2C1_BANK, I2C1_SDA, PAL_MODE_INPUT); chThdSleepMilliseconds(10); - - palSetPadMode(GPIOB, 6, PAL_MODE_ALTERNATE(4) | PAL_STM32_OTYPE_OPENDRAIN); - palSetPadMode(GPIOB, 7, PAL_MODE_ALTERNATE(4) | PAL_STM32_OTYPE_OPENDRAIN); + + palSetPadMode(I2C1_BANK, I2C1_SCL, PAL_MODE_ALTERNATE(4) | PAL_STM32_OTYPE_OPENDRAIN); + palSetPadMode(I2C1_BANK, I2C1_SDA, PAL_MODE_ALTERNATE(4) | PAL_STM32_OTYPE_OPENDRAIN); //i2cInit(); //This is invoked by halInit() so no need to redo it. } diff --git a/drivers/arm/i2c_master.h b/drivers/arm/i2c_master.h index 392760328f..7a9eb32eb9 100644 --- a/drivers/arm/i2c_master.h +++ b/drivers/arm/i2c_master.h @@ -26,6 +26,16 @@ #include "ch.h" #include <hal.h> +#ifndef I2C1_BANK + #define I2C1_BANK GPIOB +#endif +#ifndef I2C1_SCL + #define I2C1_SCL 6 +#endif +#ifndef I2C1_SDA + #define I2C1_SDA 7 +#endif + #ifndef I2C_DRIVER #define I2C_DRIVER I2CD1 #endif |