drivers: add NPCX7 cros_kb_raw driver

NPCX keyboard scanning module is supported by up to 18 open-drain
output signals and 8 input signals. Switch-based keyboard matrices are
supported by Schmitt trigger inputs that have internal pull-up
resistors. For power efficiency, the inputs include interrupt and
wake-up capability so that pressing/releasing keys can be identified
without scanning the keyboard matrix in either Active, Sleep or Deep
Sleep power state.

The CL also includes:
— Add npcx cros_kb_raw device tree declarations.
— cros_kb_raw api implementations
- Enable Volteer keyboard scan task

BRANCH=none
BUG=b:167405015, b:172676906
TEST=build pass by zmake configure -B ./build projects/experimental/volteer.
TEST=check all the keys on volteer platform by "ksstate".

Change-Id: I1cbdaa0e81cbb4447daede82774711f4d50f613d
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com>
Signed-off-by: Mulin Chao <MLChao@nuvoton.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/zephyr-chrome/+/2523940
Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Yuval Peress <peress@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
18 files changed