From a48468590ab83e808191c0e20c236d7eb6c13f0d Mon Sep 17 00:00:00 2001
From: Joel Challis <git@zvecr.com>
Date: Sat, 12 Oct 2019 23:23:36 +0100
Subject: [PATCH] Remove i2c logic for STM32F103xB in favour of USE_I2CV1 
 (#6926)

* Remove i2c logic for STM32F103xB in favour of USE_I2CV1

* Remove i2c logic for STM32F103xB in favour of USE_I2CV1
---
 drivers/arm/i2c_master.c         | 14 ++------------
 keyboards/ergodox_stm32/config.h |  4 ++++
 2 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/arm/i2c_master.c b/drivers/arm/i2c_master.c
index fcfe85b561..2a43ba2393 100644
--- a/drivers/arm/i2c_master.c
+++ b/drivers/arm/i2c_master.c
@@ -32,27 +32,17 @@
 
 static uint8_t i2c_address;
 
-// ChibiOS uses two initialization structure for v1 and v2/v3 i2c APIs.
-// The F1 series uses the v1 api, which have to initialized this way.
-#ifdef STM32F103xB
-static const I2CConfig i2cconfig = {
-  OPMODE_I2C,
-  400000,
-  FAST_DUTY_CYCLE_2,
-};
-#else
-// This configures the I2C clock to 400khz assuming a 72Mhz clock
-// For more info : https://www.st.com/en/embedded-software/stsw-stm32126.html
 static const I2CConfig i2cconfig = {
 #ifdef USE_I2CV1
     I2C1_OPMODE,
     I2C1_CLOCK_SPEED,
     I2C1_DUTY_CYCLE,
 #else
+    // This configures the I2C clock to 400khz assuming a 72Mhz clock
+    // For more info : https://www.st.com/en/embedded-software/stsw-stm32126.html
     STM32_TIMINGR_PRESC(I2C1_TIMINGR_PRESC) | STM32_TIMINGR_SCLDEL(I2C1_TIMINGR_SCLDEL) | STM32_TIMINGR_SDADEL(I2C1_TIMINGR_SDADEL) | STM32_TIMINGR_SCLH(I2C1_TIMINGR_SCLH) | STM32_TIMINGR_SCLL(I2C1_TIMINGR_SCLL), 0, 0
 #endif
 };
-#endif
 
 static i2c_status_t chibios_to_qmk(const msg_t* status) {
     switch (*status) {
diff --git a/keyboards/ergodox_stm32/config.h b/keyboards/ergodox_stm32/config.h
index 5305655214..e1b3d7b14e 100644
--- a/keyboards/ergodox_stm32/config.h
+++ b/keyboards/ergodox_stm32/config.h
@@ -33,3 +33,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
     keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
 )
+
+// i2c_master driver config
+#define I2C1_CLOCK_SPEED 400000
+#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2