diff options
author | Ruibin Chang <Ruibin.Chang@ite.com.tw> | 2021-05-17 15:50:43 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-05-18 09:06:40 +0000 |
commit | 6aabf0406bf3e848ee171d705963e8c3d18106ba (patch) | |
tree | c9f31a8a8e01d9889ba5e165aea5be6dcd8f4349 | |
parent | 4f3384749a9707d36115ab5b7ced11f793ce73c4 (diff) | |
download | chrome-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.c | 66 | ||||
-rw-r--r-- | zephyr/shim/src/CMakeLists.txt | 1 | ||||
-rw-r--r-- | zephyr/shim/src/keyboard_raw.c | 77 |
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__); +} |