aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Drashna Jaelre <drashna@live.com>2020-10-14 08:23:08 -0700
committerGravatar GitHub <noreply@github.com>2020-10-14 16:23:08 +0100
commit6aae926b5f90f9e05e4dd022a5b94f0ab52c8614 (patch)
treee8f67b48f825f4393fe718489d8e36bc108d516f
parent49dd1edb6961db1d5dc3850b586545eee8a21fc5 (diff)
downloadqmk_firmware-6aae926b5f90f9e05e4dd022a5b94f0ab52c8614.tar.gz
Fix issues with suspend code for ZSA split boards (#10640)
-rw-r--r--keyboards/ergodox_ez/matrix.c15
-rw-r--r--keyboards/moonlander/matrix.c29
2 files changed, 44 insertions, 0 deletions
diff --git a/keyboards/ergodox_ez/matrix.c b/keyboards/ergodox_ez/matrix.c
index 685ce5009..c091b6eb9 100644
--- a/keyboards/ergodox_ez/matrix.c
+++ b/keyboards/ergodox_ez/matrix.c
@@ -237,3 +237,18 @@ static void select_row(uint8_t row) {
}
}
}
+
+// DO NOT REMOVE
+// Needed for proper wake/sleep
+void matrix_power_up(void) {
+ mcp23018_status = init_mcp23018();
+
+ unselect_rows();
+ init_cols();
+
+ // initialize matrix state: all keys off
+ for (uint8_t i=0; i < MATRIX_ROWS; i++) {
+ matrix[i] = 0;
+ }
+
+}
diff --git a/keyboards/moonlander/matrix.c b/keyboards/moonlander/matrix.c
index b90c1b59e..df498bd6e 100644
--- a/keyboards/moonlander/matrix.c
+++ b/keyboards/moonlander/matrix.c
@@ -268,3 +268,32 @@ void matrix_print(void) {
printf("\n");
}
}
+
+// DO NOT REMOVE
+// Needed for proper wake/sleep
+void matrix_power_up(void) {
+ mcp23018_init();
+
+ // outputs
+ setPinOutput(B10);
+ setPinOutput(B11);
+ setPinOutput(B12);
+ setPinOutput(B13);
+ setPinOutput(B14);
+ setPinOutput(B15);
+
+ // inputs
+ setPinInputLow(A0);
+ setPinInputLow(A1);
+ setPinInputLow(A2);
+ setPinInputLow(A3);
+ setPinInputLow(A6);
+ setPinInputLow(A7);
+ setPinInputLow(B0);
+
+ // initialize matrix state: all keys off
+ for (uint8_t i=0; i < MATRIX_ROWS; i++) {
+ matrix[i] = 0;
+ }
+
+}