diff options
| author | Joel Challis <git@zvecr.com> | 2020-07-25 22:50:56 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-26 07:50:56 +1000 |
| commit | d91987ab9adbf7bba9f47deb6b30a02d28e7195d (patch) | |
| tree | 6356f4f6c167dd2b50dec84a5124418cb9d649fc /drivers/chibios | |
| parent | db540e2832b0d3bed6ae2ca3a2c893d9c79a7f5d (diff) | |
| download | qmk_firmware-d91987ab9adbf7bba9f47deb6b30a02d28e7195d.tar.gz qmk_firmware-d91987ab9adbf7bba9f47deb6b30a02d28e7195d.zip | |
Enable OLED support for Teensy 3.2/LC (#7591)
* I2C_TIMEOUT is not defined on arm teensy
* Work round teensy having different ChibiOS config options
* Stash OLED conf files
* update comment
* update comment
* Remove stm32 alias to allow teensy alt mode
Diffstat (limited to 'drivers/chibios')
| -rw-r--r-- | drivers/chibios/i2c_master.c | 8 | ||||
| -rw-r--r-- | drivers/chibios/i2c_master.h | 9 |
2 files changed, 13 insertions, 4 deletions
diff --git a/drivers/chibios/i2c_master.c b/drivers/chibios/i2c_master.c index ede915fa4..4bd8e2af7 100644 --- a/drivers/chibios/i2c_master.c +++ b/drivers/chibios/i2c_master.c | |||
| @@ -32,7 +32,9 @@ | |||
| 32 | static uint8_t i2c_address; | 32 | static uint8_t i2c_address; |
| 33 | 33 | ||
| 34 | static const I2CConfig i2cconfig = { | 34 | static const I2CConfig i2cconfig = { |
| 35 | #ifdef USE_I2CV1 | 35 | #if defined(USE_I2CV1_CONTRIB) |
| 36 | I2C1_CLOCK_SPEED, | ||
| 37 | #elif defined(USE_I2CV1) | ||
| 36 | I2C1_OPMODE, | 38 | I2C1_OPMODE, |
| 37 | I2C1_CLOCK_SPEED, | 39 | I2C1_CLOCK_SPEED, |
| 38 | I2C1_DUTY_CYCLE, | 40 | I2C1_DUTY_CYCLE, |
| @@ -62,8 +64,8 @@ __attribute__((weak)) void i2c_init(void) { | |||
| 62 | 64 | ||
| 63 | chThdSleepMilliseconds(10); | 65 | chThdSleepMilliseconds(10); |
| 64 | #if defined(USE_GPIOV1) | 66 | #if defined(USE_GPIOV1) |
| 65 | palSetPadMode(I2C1_SCL_BANK, I2C1_SCL, PAL_MODE_STM32_ALTERNATE_OPENDRAIN); | 67 | palSetPadMode(I2C1_SCL_BANK, I2C1_SCL, I2C1_SCL_PAL_MODE); |
| 66 | palSetPadMode(I2C1_SDA_BANK, I2C1_SDA, PAL_MODE_STM32_ALTERNATE_OPENDRAIN); | 68 | palSetPadMode(I2C1_SDA_BANK, I2C1_SDA, I2C1_SDA_PAL_MODE); |
| 67 | #else | 69 | #else |
| 68 | palSetPadMode(I2C1_SCL_BANK, I2C1_SCL, PAL_MODE_ALTERNATE(I2C1_SCL_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); | 70 | palSetPadMode(I2C1_SCL_BANK, I2C1_SCL, PAL_MODE_ALTERNATE(I2C1_SCL_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); |
| 69 | palSetPadMode(I2C1_SDA_BANK, I2C1_SDA, PAL_MODE_ALTERNATE(I2C1_SDA_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); | 71 | palSetPadMode(I2C1_SDA_BANK, I2C1_SDA, PAL_MODE_ALTERNATE(I2C1_SDA_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); |
diff --git a/drivers/chibios/i2c_master.h b/drivers/chibios/i2c_master.h index 3d3891289..b3e234e16 100644 --- a/drivers/chibios/i2c_master.h +++ b/drivers/chibios/i2c_master.h | |||
| @@ -81,7 +81,14 @@ | |||
| 81 | # define I2C_DRIVER I2CD1 | 81 | # define I2C_DRIVER I2CD1 |
| 82 | #endif | 82 | #endif |
| 83 | 83 | ||
| 84 | #ifndef USE_GPIOV1 | 84 | #ifdef USE_GPIOV1 |
| 85 | # ifndef I2C1_SCL_PAL_MODE | ||
| 86 | # define I2C1_SCL_PAL_MODE PAL_MODE_STM32_ALTERNATE_OPENDRAIN | ||
| 87 | # endif | ||
| 88 | # ifndef I2C1_SDA_PAL_MODE | ||
| 89 | # define I2C1_SDA_PAL_MODE PAL_MODE_STM32_ALTERNATE_OPENDRAIN | ||
| 90 | # endif | ||
| 91 | #else | ||
| 85 | // The default PAL alternate modes are used to signal that the pins are used for I2C | 92 | // The default PAL alternate modes are used to signal that the pins are used for I2C |
| 86 | # ifndef I2C1_SCL_PAL_MODE | 93 | # ifndef I2C1_SCL_PAL_MODE |
| 87 | # define I2C1_SCL_PAL_MODE 4 | 94 | # define I2C1_SCL_PAL_MODE 4 |
