summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorben chen <ben.chen2@quanta.corp-partner.google.com>2022-12-09 13:53:40 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-12-13 23:33:58 +0000
commit26678364d986f03ee364cab27b5464d636f91be1 (patch)
tree147a4e46d5318919334de0012c9c36776f0378d5
parentd2b00dba869ff6cc90bbb5c0121c98de95174c13 (diff)
downloadchrome-ec-26678364d986f03ee364cab27b5464d636f91be1.tar.gz
villager: support keyboard factory test
Enable KB factory test BUG=none BRANCH=none TEST=ectool kbfactorytest workable Change-Id: I4709b6984706cd5e6d599ffcf727aa907338500d Signed-off-by: Ben Chen <ben.chen2@quanta.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4090778 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Bob Moragues <moragues@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com> Reviewed-by: Bob Moragues <moragues@chromium.org>
-rw-r--r--zephyr/program/herobrine/CMakeLists.txt3
-rw-r--r--zephyr/program/herobrine/villager/gpio.dtsi1
-rw-r--r--zephyr/program/herobrine/villager/project.conf3
-rw-r--r--zephyr/program/herobrine/villager/project.overlay28
-rw-r--r--zephyr/program/herobrine/villager/src/keyboard.c22
5 files changed, 57 insertions, 0 deletions
diff --git a/zephyr/program/herobrine/CMakeLists.txt b/zephyr/program/herobrine/CMakeLists.txt
index 90a49a053e..0fbb8a366f 100644
--- a/zephyr/program/herobrine/CMakeLists.txt
+++ b/zephyr/program/herobrine/CMakeLists.txt
@@ -28,6 +28,9 @@ elseif(DEFINED CONFIG_BOARD_HEROBRINE)
elseif(DEFINED CONFIG_BOARD_HOGLIN)
project(hoglin)
elseif(DEFINED CONFIG_BOARD_VILLAGER)
+ zephyr_library_sources(
+ "villager/src/keyboard.c"
+ )
project(villager)
elseif(DEFINED CONFIG_BOARD_ZOGLIN)
project(zoglin)
diff --git a/zephyr/program/herobrine/villager/gpio.dtsi b/zephyr/program/herobrine/villager/gpio.dtsi
index 9884fc7fb2..0ffabf88f3 100644
--- a/zephyr/program/herobrine/villager/gpio.dtsi
+++ b/zephyr/program/herobrine/villager/gpio.dtsi
@@ -225,6 +225,7 @@
};
gpio_ec_kso_02_inv: ec_kso_02_inv {
gpios = <&gpio1 7 (GPIO_OUTPUT_LOW | GPIO_ACTIVE_LOW)>;
+ enum-name = "GPIO_KBD_KSO2";
};
};
diff --git a/zephyr/program/herobrine/villager/project.conf b/zephyr/program/herobrine/villager/project.conf
index 1f755afb08..59f909a0fa 100644
--- a/zephyr/program/herobrine/villager/project.conf
+++ b/zephyr/program/herobrine/villager/project.conf
@@ -9,3 +9,6 @@ CONFIG_PLATFORM_EC_ACCEL_KX022=y
# Set PCF85063A CAP_SEL
CONFIG_PLATFORM_EC_PCF85063A_CAP_SEL=y
+
+#keyboard
+CONFIG_PLATFORM_EC_KEYBOARD_FACTORY_TEST=y
diff --git a/zephyr/program/herobrine/villager/project.overlay b/zephyr/program/herobrine/villager/project.overlay
index 5f968e4e9b..5351f442b0 100644
--- a/zephyr/program/herobrine/villager/project.overlay
+++ b/zephyr/program/herobrine/villager/project.overlay
@@ -31,3 +31,31 @@
};
};
};
+
+/* keyboard overrides */
+&cros_kb_raw {
+ status = "okay";
+ pinctrl-1 = <
+ &ksi0_gpio_gp31
+ &ksi1_gpio_gp30
+ &ksi2_gpio_gp27
+ &ksi3_gpio_gp26
+ &ksi4_gpio_gp25
+ &ksi5_gpio_gp24
+ &ksi6_gpio_gp23
+ &ksi7_gpio_gp22
+ &kso00_gpio_gp21
+ &kso01_gpio_gp20
+ &kso03_gpio_gp16
+ &kso04_gpio_gp15
+ &kso05_gpio_gp14
+ &kso06_gpio_gp13
+ &kso07_gpio_gp12
+ &kso08_gpio_gp11
+ &kso09_gpio_gp10
+ &kso10_gpio_gp07
+ &kso11_gpio_gp06
+ &kso12_gpio_gp05
+ >;
+ pinctrl-names = "default", "sleep";
+};
diff --git a/zephyr/program/herobrine/villager/src/keyboard.c b/zephyr/program/herobrine/villager/src/keyboard.c
new file mode 100644
index 0000000000..00cf98415e
--- /dev/null
+++ b/zephyr/program/herobrine/villager/src/keyboard.c
@@ -0,0 +1,22 @@
+/* Copyright 2022 The ChromiumOS Authors
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "keyboard_raw.h"
+#include "keyboard_scan.h"
+
+/*
+ * We have total 30 pins for keyboard connecter {-1, -1} mean
+ * the N/A pin that don't consider it and reserve index 0 area
+ * that we don't have pin 0.
+ */
+const int keyboard_factory_scan_pins[][2] = {
+ { -1, -1 }, { 0, 5 }, { 1, 1 }, { 1, 0 }, { 0, 6 }, { 0, 7 },
+ { -1, -1 }, { -1, -1 }, { 1, 4 }, { 1, 3 }, { -1, -1 }, { 1, 6 },
+ { 1, 7 }, { 3, 1 }, { 2, 0 }, { 1, 5 }, { 2, 6 }, { 2, 7 },
+ { 2, 1 }, { 2, 4 }, { 2, 5 }, { 1, 2 }, { 2, 3 }, { 2, 2 },
+ { 3, 0 }, { -1, -1 }, { -1, -1 }, { -1, -1 },
+};
+const int keyboard_factory_scan_pins_used =
+ ARRAY_SIZE(keyboard_factory_scan_pins);