From da4890f8af7c52196ddc463f19f167ac53a1a7cd Mon Sep 17 00:00:00 2001
From: lalalademaxiya1 <2831039915@qq.com>
Date: Tue, 31 Jan 2023 10:47:43 +0800
Subject: [PATCH] Add haconf.h for all keyboards
---
keyboards/keychron/q0/mcuconf.h | 22 +++++++++++++++++++
.../keychron/q1/q1_jis_stm32l432/info.json | 6 +++--
.../keychron/q1/q1_jis_stm32l432/rules.mk | 6 -----
.../q1/q1_jis_stm32l432_ec11/info.json | 6 +++--
.../q1/q1_jis_stm32l432_ec11/rules.mk | 6 -----
keyboards/keychron/q10/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/q2/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/q3/mcuconf.h | 22 +++++++++++++++++++
.../keychron/q3/q3_jis_stm32l432/info.json | 2 ++
.../keychron/q3/q3_jis_stm32l432/rules.mk | 6 -----
keyboards/keychron/q4/halconf.h | 21 ++++++++++++++++++
keyboards/keychron/q4/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/q6/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/q60/halconf.h | 21 ++++++++++++++++++
keyboards/keychron/q60/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/q65/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/q7/halconf.h | 21 ++++++++++++++++++
keyboards/keychron/q7/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/q8/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/q9/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/s1/halconf.h | 21 ++++++++++++++++++
keyboards/keychron/s1/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/v1/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/v2/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/v3/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/v4/halconf.h | 21 ++++++++++++++++++
keyboards/keychron/v4/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/v5/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/v7/halconf.h | 21 ++++++++++++++++++
keyboards/keychron/v7/mcuconf.h | 22 +++++++++++++++++++
keyboards/keychron/v8/mcuconf.h | 22 +++++++++++++++++++
31 files changed, 554 insertions(+), 22 deletions(-)
create mode 100644 keyboards/keychron/q0/mcuconf.h
create mode 100644 keyboards/keychron/q10/mcuconf.h
create mode 100644 keyboards/keychron/q2/mcuconf.h
create mode 100644 keyboards/keychron/q3/mcuconf.h
create mode 100644 keyboards/keychron/q4/halconf.h
create mode 100644 keyboards/keychron/q4/mcuconf.h
create mode 100644 keyboards/keychron/q6/mcuconf.h
create mode 100644 keyboards/keychron/q60/halconf.h
create mode 100644 keyboards/keychron/q60/mcuconf.h
create mode 100644 keyboards/keychron/q65/mcuconf.h
create mode 100644 keyboards/keychron/q7/halconf.h
create mode 100644 keyboards/keychron/q7/mcuconf.h
create mode 100644 keyboards/keychron/q8/mcuconf.h
create mode 100644 keyboards/keychron/q9/mcuconf.h
create mode 100644 keyboards/keychron/s1/halconf.h
create mode 100644 keyboards/keychron/s1/mcuconf.h
create mode 100644 keyboards/keychron/v1/mcuconf.h
create mode 100644 keyboards/keychron/v2/mcuconf.h
create mode 100644 keyboards/keychron/v3/mcuconf.h
create mode 100644 keyboards/keychron/v4/halconf.h
create mode 100644 keyboards/keychron/v4/mcuconf.h
create mode 100644 keyboards/keychron/v5/mcuconf.h
create mode 100644 keyboards/keychron/v7/halconf.h
create mode 100644 keyboards/keychron/v7/mcuconf.h
create mode 100644 keyboards/keychron/v8/mcuconf.h
diff --git a/keyboards/keychron/q0/mcuconf.h b/keyboards/keychron/q0/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/q0/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/q1/q1_jis_stm32l432/info.json b/keyboards/keychron/q1/q1_jis_stm32l432/info.json
index 33e8e3cda9..51814e188d 100644
--- a/keyboards/keychron/q1/q1_jis_stm32l432/info.json
+++ b/keyboards/keychron/q1/q1_jis_stm32l432/info.json
@@ -8,6 +8,8 @@
"pid": "0x010A",
"device_version": "2.0.4"
},
+ "processor": "STM32L432",
+ "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_jis_86": {
"layout": [
@@ -71,7 +73,7 @@
{"matrix":[3, 9], "x":9.75, "y":3.25},
{"matrix":[3,10], "x":10.75, "y":3.25},
{"matrix":[3,11], "x":11.75, "y":3.25},
- {"matrix":[3,12], "x":12.75, "y":3.25},
+ {"matrix":[3,13], "x":12.75, "y":3.25},
{"matrix":[2,13], "x":13.75, "y":2.25, "w":1.25, "h":2},
{"matrix":[3,15], "x":15.25, "y":3.25},
@@ -88,7 +90,7 @@
{"matrix":[4,11], "x":11.25, "y":4.25},
{"matrix":[4,12], "x":12.25, "y":4.25},
{"matrix":[4,13], "x":13.25, "y":4.25},
- {"matrix":[4,14], "x":14.25, "y":4.5},
+ {"matrix":[4,14], "x":14.25, "y":4.25},
{"matrix":[5, 0], "x":0, "y":5.25, "w":1.25},
{"matrix":[5, 1], "x":1.25, "y":5.25},
diff --git a/keyboards/keychron/q1/q1_jis_stm32l432/rules.mk b/keyboards/keychron/q1/q1_jis_stm32l432/rules.mk
index 02d7fe1189..1a60ad18c4 100644
--- a/keyboards/keychron/q1/q1_jis_stm32l432/rules.mk
+++ b/keyboards/keychron/q1/q1_jis_stm32l432/rules.mk
@@ -1,9 +1,3 @@
-# MCU name
-MCU = STM32L432
-
-# Bootloader selection
-BOOTLOADER = stm32-dfu
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/keychron/q1/q1_jis_stm32l432_ec11/info.json b/keyboards/keychron/q1/q1_jis_stm32l432_ec11/info.json
index 964c90b977..ab6dc01c9c 100644
--- a/keyboards/keychron/q1/q1_jis_stm32l432_ec11/info.json
+++ b/keyboards/keychron/q1/q1_jis_stm32l432_ec11/info.json
@@ -8,6 +8,8 @@
"pid": "0x010B",
"device_version": "2.0.4"
},
+ "processor": "STM32L432",
+ "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_jis_86": {
"layout": [
@@ -71,7 +73,7 @@
{"matrix":[3, 9], "x":9.75, "y":3.25},
{"matrix":[3,10], "x":10.75, "y":3.25},
{"matrix":[3,11], "x":11.75, "y":3.25},
- {"matrix":[3,12], "x":12.75, "y":3.25},
+ {"matrix":[3,13], "x":12.75, "y":3.25},
{"matrix":[2,13], "x":13.75, "y":2.25, "w":1.25, "h":2},
{"matrix":[3,15], "x":15.25, "y":3.25},
@@ -88,7 +90,7 @@
{"matrix":[4,11], "x":11.25, "y":4.25},
{"matrix":[4,12], "x":12.25, "y":4.25},
{"matrix":[4,13], "x":13.25, "y":4.25},
- {"matrix":[4,14], "x":14.25, "y":4.5},
+ {"matrix":[4,14], "x":14.25, "y":4.25},
{"matrix":[5, 0], "x":0, "y":5.25, "w":1.25},
{"matrix":[5, 1], "x":1.25, "y":5.25},
diff --git a/keyboards/keychron/q1/q1_jis_stm32l432_ec11/rules.mk b/keyboards/keychron/q1/q1_jis_stm32l432_ec11/rules.mk
index a495959085..4d8c77d18f 100644
--- a/keyboards/keychron/q1/q1_jis_stm32l432_ec11/rules.mk
+++ b/keyboards/keychron/q1/q1_jis_stm32l432_ec11/rules.mk
@@ -1,9 +1,3 @@
-# MCU name
-MCU = STM32L432
-
-# Bootloader selection
-BOOTLOADER = stm32-dfu
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/keychron/q10/mcuconf.h b/keyboards/keychron/q10/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/q10/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/q2/mcuconf.h b/keyboards/keychron/q2/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/q2/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/q3/mcuconf.h b/keyboards/keychron/q3/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/q3/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/q3/q3_jis_stm32l432/info.json b/keyboards/keychron/q3/q3_jis_stm32l432/info.json
index 37f8e0e676..d5359623ef 100644
--- a/keyboards/keychron/q3/q3_jis_stm32l432/info.json
+++ b/keyboards/keychron/q3/q3_jis_stm32l432/info.json
@@ -8,6 +8,8 @@
"pid": "0x0124",
"device_version": "1.0.3"
},
+ "processor": "STM32L432",
+ "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_jis_91": {
"layout": [
diff --git a/keyboards/keychron/q3/q3_jis_stm32l432/rules.mk b/keyboards/keychron/q3/q3_jis_stm32l432/rules.mk
index 7cf95ed173..deac2e12e6 100644
--- a/keyboards/keychron/q3/q3_jis_stm32l432/rules.mk
+++ b/keyboards/keychron/q3/q3_jis_stm32l432/rules.mk
@@ -1,9 +1,3 @@
-# MCU name
-MCU = STM32L432
-
-# Bootloader selection
-BOOTLOADER = stm32-dfu
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/keychron/q4/halconf.h b/keyboards/keychron/q4/halconf.h
new file mode 100644
index 0000000000..41bddcb279
--- /dev/null
+++ b/keyboards/keychron/q4/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next
diff --git a/keyboards/keychron/q4/mcuconf.h b/keyboards/keychron/q4/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/q4/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/q6/mcuconf.h b/keyboards/keychron/q6/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/q6/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/q60/halconf.h b/keyboards/keychron/q60/halconf.h
new file mode 100644
index 0000000000..41bddcb279
--- /dev/null
+++ b/keyboards/keychron/q60/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next
diff --git a/keyboards/keychron/q60/mcuconf.h b/keyboards/keychron/q60/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/q60/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/q65/mcuconf.h b/keyboards/keychron/q65/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/q65/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/q7/halconf.h b/keyboards/keychron/q7/halconf.h
new file mode 100644
index 0000000000..41bddcb279
--- /dev/null
+++ b/keyboards/keychron/q7/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next
diff --git a/keyboards/keychron/q7/mcuconf.h b/keyboards/keychron/q7/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/q7/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/q8/mcuconf.h b/keyboards/keychron/q8/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/q8/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/q9/mcuconf.h b/keyboards/keychron/q9/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/q9/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/s1/halconf.h b/keyboards/keychron/s1/halconf.h
new file mode 100644
index 0000000000..41bddcb279
--- /dev/null
+++ b/keyboards/keychron/s1/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next
diff --git a/keyboards/keychron/s1/mcuconf.h b/keyboards/keychron/s1/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/s1/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/v1/mcuconf.h b/keyboards/keychron/v1/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/v1/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/v2/mcuconf.h b/keyboards/keychron/v2/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/v2/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/v3/mcuconf.h b/keyboards/keychron/v3/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/v3/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/v4/halconf.h b/keyboards/keychron/v4/halconf.h
new file mode 100644
index 0000000000..41bddcb279
--- /dev/null
+++ b/keyboards/keychron/v4/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next
diff --git a/keyboards/keychron/v4/mcuconf.h b/keyboards/keychron/v4/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/v4/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/v5/mcuconf.h b/keyboards/keychron/v5/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/v5/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/v7/halconf.h b/keyboards/keychron/v7/halconf.h
new file mode 100644
index 0000000000..41bddcb279
--- /dev/null
+++ b/keyboards/keychron/v7/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next
diff --git a/keyboards/keychron/v7/mcuconf.h b/keyboards/keychron/v7/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/v7/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/keychron/v8/mcuconf.h b/keyboards/keychron/v8/mcuconf.h
new file mode 100644
index 0000000000..0ca8c64850
--- /dev/null
+++ b/keyboards/keychron/v8/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE