summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuibin Chang <Ruibin.Chang@ite.com.tw>2021-05-17 15:50:43 +0800
committerCommit Bot <commit-bot@chromium.org>2021-05-18 09:06:40 +0000
commit6aabf0406bf3e848ee171d705963e8c3d18106ba (patch)
treec9f31a8a8e01d9889ba5e165aea5be6dcd8f4349
parent4f3384749a9707d36115ab5b7ced11f793ce73c4 (diff)
downloadchrome-ec-6aabf0406bf3e848ee171d705963e8c3d18106ba.tar.gz
zephyr: move keyboard_raw most functions to shim/src
Move shim/chip/npcx/keyboard_raw.c most functions to shim/src/keyboard_raw.c. BUG=none BRANCH=none TEST=zmake -lDEBUG configure -B zephyr/build -b zephyr/projects/volteer/volteer Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw> Change-Id: Ic69752223517cabb9e1d1c7ff16c9eb4914186db Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2900122 Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r--zephyr/shim/chip/npcx/keyboard_raw.c66
-rw-r--r--zephyr/shim/src/CMakeLists.txt1
-rw-r--r--zephyr/shim/src/keyboard_raw.c77
3 files changed, 78 insertions, 66 deletions
diff --git a/zephyr/shim/chip/npcx/keyboard_raw.c b/zephyr/shim/chip/npcx/keyboard_raw.c
index 14fb7fcb22..aa075d2d56 100644
--- a/zephyr/shim/chip/npcx/keyboard_raw.c
+++ b/zephyr/shim/chip/npcx/keyboard_raw.c
@@ -6,8 +6,6 @@
/* Functions needed by keyboard scanner module for Chrome EC */
#include <device.h>
-#include <drivers/clock_control.h>
-#include <dt-bindings/clock/npcx_clock.h>
#include <logging/log.h>
#include <soc.h>
#include <soc_gpio.h>
@@ -16,70 +14,6 @@
#include "drivers/cros_kb_raw.h"
#include "keyboard_raw.h"
-LOG_MODULE_REGISTER(shim_cros_kb_raw, LOG_LEVEL_ERR);
-
-#define CROS_KB_RAW_DEV DT_LABEL(DT_NODELABEL(cros_kb_raw))
-static const struct device *cros_kb_raw_dev;
-
-/**
- * Initialize the raw keyboard interface.
- */
-void keyboard_raw_init(void)
-{
- cros_kb_raw_dev = device_get_binding(CROS_KB_RAW_DEV);
- if (!cros_kb_raw_dev) {
- LOG_ERR("Fail to find %s", CROS_KB_RAW_DEV);
- return;
- }
-
- LOG_INF("%s", __func__);
- cros_kb_raw_init(cros_kb_raw_dev);
-}
-
-/**
- * Finish initialization after task scheduling has started.
- */
-void keyboard_raw_task_start(void)
-{
- keyboard_raw_enable_interrupt(1);
-}
-
-/**
- * Drive the specified column low.
- */
-test_mockable void keyboard_raw_drive_column(int col)
-{
- if (cros_kb_raw_dev)
- cros_kb_raw_drive_column(cros_kb_raw_dev, col);
- else
- LOG_ERR("%s: no cros_kb_raw device!", __func__);
-}
-
-/**
- * Read raw row state.
- * Bits are 1 if signal is present, 0 if not present.
- */
-test_mockable int keyboard_raw_read_rows(void)
-{
- if (cros_kb_raw_dev) {
- return cros_kb_raw_read_rows(cros_kb_raw_dev);
- } else {
- LOG_ERR("%s: no cros_kb_raw device!", __func__);
- return -EIO;
- }
-}
-
-/**
- * Enable or disable keyboard interrupts.
- */
-void keyboard_raw_enable_interrupt(int enable)
-{
- if (cros_kb_raw_dev)
- cros_kb_raw_enable_interrupt(cros_kb_raw_dev, enable);
- else
- LOG_ERR("%s: no cros_kb_raw device!", __func__);
-}
-
/**
* Return true if the current value of the given input GPIO port is zero
*/
diff --git a/zephyr/shim/src/CMakeLists.txt b/zephyr/shim/src/CMakeLists.txt
index b29c9600b7..ceb92d436f 100644
--- a/zephyr/shim/src/CMakeLists.txt
+++ b/zephyr/shim/src/CMakeLists.txt
@@ -24,6 +24,7 @@ zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_HOOKS hooks.c)
zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_HOSTCMD host_command.c)
zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_HOSTCMD_CONSOLE
console_buffer.c)
+zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_KEYBOARD keyboard_raw.c)
zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_MKBP_EVENT mkbp_event.c)
zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_MOTIONSENSE
motionsense_sensors.c)
diff --git a/zephyr/shim/src/keyboard_raw.c b/zephyr/shim/src/keyboard_raw.c
new file mode 100644
index 0000000000..a8017cc0cf
--- /dev/null
+++ b/zephyr/shim/src/keyboard_raw.c
@@ -0,0 +1,77 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Functions needed by keyboard scanner module for Chrome EC */
+
+#include <device.h>
+#include <logging/log.h>
+#include <soc.h>
+#include <zephyr.h>
+
+#include "drivers/cros_kb_raw.h"
+#include "keyboard_raw.h"
+
+LOG_MODULE_REGISTER(shim_cros_kb_raw, LOG_LEVEL_ERR);
+
+#define CROS_KB_RAW_DEV DT_LABEL(DT_NODELABEL(cros_kb_raw))
+static const struct device *cros_kb_raw_dev;
+
+/**
+ * Initialize the raw keyboard interface.
+ */
+void keyboard_raw_init(void)
+{
+ cros_kb_raw_dev = device_get_binding(CROS_KB_RAW_DEV);
+ if (!cros_kb_raw_dev) {
+ LOG_ERR("Fail to find %s", CROS_KB_RAW_DEV);
+ return;
+ }
+
+ LOG_INF("%s", __func__);
+ cros_kb_raw_init(cros_kb_raw_dev);
+}
+
+/**
+ * Finish initialization after task scheduling has started.
+ */
+void keyboard_raw_task_start(void)
+{
+ keyboard_raw_enable_interrupt(1);
+}
+
+/**
+ * Drive the specified column low.
+ */
+test_mockable void keyboard_raw_drive_column(int col)
+{
+ if (cros_kb_raw_dev)
+ cros_kb_raw_drive_column(cros_kb_raw_dev, col);
+ else
+ LOG_ERR("%s: no cros_kb_raw device!", __func__);
+}
+
+/**
+ * Read raw row state.
+ * Bits are 1 if signal is present, 0 if not present.
+ */
+test_mockable int keyboard_raw_read_rows(void)
+{
+ if (cros_kb_raw_dev)
+ return cros_kb_raw_read_rows(cros_kb_raw_dev);
+
+ LOG_ERR("%s: no cros_kb_raw device!", __func__);
+ return -EIO;
+}
+
+/**
+ * Enable or disable keyboard interrupts.
+ */
+void keyboard_raw_enable_interrupt(int enable)
+{
+ if (cros_kb_raw_dev)
+ cros_kb_raw_enable_interrupt(cros_kb_raw_dev, enable);
+ else
+ LOG_ERR("%s: no cros_kb_raw device!", __func__);
+}