From c06e2486abda43205a490fc6b233f72f34667857 Mon Sep 17 00:00:00 2001
From: Fred Sundvik <fsundvik@gmail.com>
Date: Sat, 5 Nov 2016 22:45:21 +0200
Subject: [PATCH] Increase the infinity60 system tick frequency

---
 keyboards/infinity60/chconf.h | 2 +-
 keyboards/infinity60/matrix.c | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/keyboards/infinity60/chconf.h b/keyboards/infinity60/chconf.h
index 43c845739a6..d9114ec858b 100644
--- a/keyboards/infinity60/chconf.h
+++ b/keyboards/infinity60/chconf.h
@@ -48,7 +48,7 @@
  * @details Frequency of the system timer that drives the system ticks. This
  *          setting also defines the system tick time unit.
  */
-#define CH_CFG_ST_FREQUENCY                 1000
+#define CH_CFG_ST_FREQUENCY                 100000
 
 /**
  * @brief   Time delta constant for the tick-less mode.
diff --git a/keyboards/infinity60/matrix.c b/keyboards/infinity60/matrix.c
index 62c165aa533..d2f1852885d 100644
--- a/keyboards/infinity60/matrix.c
+++ b/keyboards/infinity60/matrix.c
@@ -96,7 +96,12 @@ uint8_t matrix_scan(void)
         }
     #endif
 
-        wait_us(1); // need wait to settle pin state
+        // need wait to settle pin state
+        // if you wait too short, or have a too high update rate
+        // the keyboard might freeze, or there might not be enough
+        // processing power to update the LCD screen properly.
+        // 20us, or two ticks at 100000Hz seems to be OK
+        wait_us(20);
 
         // read col data
         data = (palReadPort(GPIOD)>>1);