From 4df6b7ba191f5cbfa9c2af8e7b79b7613722bd46 Mon Sep 17 00:00:00 2001
From: Drashna Jaelre <drashna@live.com>
Date: Wed, 25 Jul 2018 08:26:10 -0700
Subject: [PATCH] Fix for the Split Common I2C code's SCL_CLOCK issue (#3474)

* Fix the SLC_CLOCK setting for the Split Common code

Make the SCL_CLOCK setting configurable per board, since some use different settings
And change the Iris  to use 100000L instead of 400000L

* Add SCL_CLOCK variable to documentation

* Change SCL_CLOCK default to 100000L
---
 docs/config_options.md     | 2 ++
 quantum/split_common/i2c.h | 4 +++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/docs/config_options.md b/docs/config_options.md
index d728a49c3..afc29fae9 100644
--- a/docs/config_options.md
+++ b/docs/config_options.md
@@ -91,6 +91,8 @@ This is a C header file that is one of the first things included, and will persi
   * key combination that allows the use of magic commands (useful for debugging)
 * `#define USB_MAX_POWER_CONSUMPTION`
   * sets the maximum power (in mA) over USB for the device (default: 500)
+* `#define SCL_CLOCK 100000L`
+  * sets the SCL_CLOCK speed for split keyboards. The default is `100000L` but some boards can be set to `400000L`.
 
 ## Features That Can Be Disabled
 
diff --git a/quantum/split_common/i2c.h b/quantum/split_common/i2c.h
index b4c72bde0..b3cbe8c82 100644
--- a/quantum/split_common/i2c.h
+++ b/quantum/split_common/i2c.h
@@ -25,7 +25,9 @@
 #define SLAVE_BUFFER_SIZE 0x20
 
 // i2c SCL clock frequency
-#define SCL_CLOCK  400000L
+#ifndef SCL_CLOCK
+#define SCL_CLOCK  100000L
+#endif
 
 // Support 8bits right now (8 cols) will need to edit to take higher (code exists in delta split?)
 extern volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE];