boards: Introduce Google Quincy Development Board
Quincy is a board created by Google for fingerprint-related functionality development. Signed-off-by: David Cross <davidcross@chromium.org>
This commit is contained in:
parent
cbf867ff2c
commit
cf2d3dc101
7 changed files with 172 additions and 0 deletions
5
boards/google/quincy/Kconfig.google_quincy
Normal file
5
boards/google/quincy/Kconfig.google_quincy
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# Copyright (c) 2024 Google LLC
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_GOOGLE_QUINCY
|
||||
select SOC_NPCX9MFP
|
||||
9
boards/google/quincy/board.cmake
Normal file
9
boards/google/quincy/board.cmake
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# Copyright (c) 2024 Google LLC
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
board_runner_args(jlink "--device=Cortex-M4" "--speed=4000")
|
||||
board_runner_args(openocd --cmd-load "npcx_write_image")
|
||||
board_runner_args(openocd --cmd-verify "npcx_verify_image")
|
||||
|
||||
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
|
||||
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
||||
6
boards/google/quincy/board.yml
Normal file
6
boards/google/quincy/board.yml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
board:
|
||||
name: google_quincy
|
||||
full_name: Quincy
|
||||
vendor: google
|
||||
socs:
|
||||
- name: npcx9mfp
|
||||
47
boards/google/quincy/doc/index.rst
Normal file
47
boards/google/quincy/doc/index.rst
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
.. zephyr:board:: google_quincy
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
Google Quincy is a board created for fingerprint-related functionality
|
||||
development.
|
||||
|
||||
The board has connectors for fingerprint sensors. A UART Console is exposed
|
||||
over μServo and USB connectors. The MCU can be flashed using μServo or SWD.
|
||||
|
||||
Hardware
|
||||
********
|
||||
|
||||
- NPCX99FPA0BX VFBGA144 package
|
||||
|
||||
Peripheral Mapping
|
||||
===================
|
||||
|
||||
- UART_1 (CONSOLE) TX/RX : GPIO65/GPIO64
|
||||
- UART_2 (PROG) TX/RX : GPIO86/GPIO75
|
||||
- SPI_0 (SHI) CS/CLK/MISO/MOSI : GPIO53/GPIO55/GPIO47/GPIO46
|
||||
- SPI_1 (SPIP) CS/CLK/MISO/MOSI : GPIOA6/GPIOA1/GPIO95/GPIOA3
|
||||
- SPI_2 (GP) CS/CLK/MISO/MOSI : GPIO30/GPIO25/GPIO24/GPIO31
|
||||
|
||||
Programming and Debugging
|
||||
*************************
|
||||
|
||||
Build application as usual for the ``google_quincy`` board target, and flash
|
||||
using μServo or an external J-Link connected to J4. If μServo is used, please
|
||||
follow the `Chromium EC Flashing Documentation`_ and
|
||||
`Chromium Servo Micro Documentation`_.
|
||||
|
||||
Debugging
|
||||
=========
|
||||
|
||||
Use SWD with a J-Link.
|
||||
|
||||
References
|
||||
**********
|
||||
|
||||
.. target-notes::
|
||||
|
||||
.. _Chromium EC Flashing Documentation:
|
||||
https://chromium.googlesource.com/chromiumos/platform/ec#Flashing-via-the-servo-debug-board
|
||||
.. _Chromium Servo Micro Documentation:
|
||||
https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/master/docs/servo_micro.md
|
||||
63
boards/google/quincy/google_quincy.dts
Normal file
63
boards/google/quincy/google_quincy.dts
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
/*
|
||||
* Copyright (c) 2024 Google LLC
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <nuvoton/npcx9mfp.dtsi>
|
||||
#include <nuvoton/npcx/npcx9/npcx9-pinctrl.dtsi>
|
||||
|
||||
/ {
|
||||
model = "Google Quincy development board";
|
||||
compatible = "google,quincy-fpmcu";
|
||||
|
||||
chosen {
|
||||
zephyr,console = &uart1;
|
||||
zephyr,shell-uart = &uart1;
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,flash = &flash0;
|
||||
zephyr,flash-controller = &int_flash;
|
||||
};
|
||||
|
||||
aliases {
|
||||
/* For watchdog sample */
|
||||
watchdog0 = &twd0;
|
||||
};
|
||||
};
|
||||
|
||||
/* UART1: Servo UART (console) */
|
||||
&uart1 {
|
||||
/* Use UART1_SL2 ie. PIN64.65 */
|
||||
pinctrl-0 = <&uart1_2_sin_gp64
|
||||
&uart1_2_sout_gp65>;
|
||||
pinctrl-names = "default";
|
||||
current-speed = <115200>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* UART2: AP UART (Host Commands and MKBP) */
|
||||
&uart2 {
|
||||
pinctrl-0 = <&uart2_sin_gp75
|
||||
&uart2_sout_gp86>;
|
||||
pinctrl-names = "default";
|
||||
current-speed = <115200>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SHI0: communication with the AP */
|
||||
&shi0 {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&shi_gp46_47_53_55>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
/* SPIP0: communication with the fingerprint sensor */
|
||||
&spip0 {
|
||||
pinctrl-0 = <&spip_sclk_mosi_miso_gp95_gpa1_gpa3_gpa5_sl
|
||||
&spip_sclk_mosi_miso_gp95_gpa1_gpa3_gpa5_no_spip_inv>;
|
||||
cs-gpios = <&gpioa 6 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
19
boards/google/quincy/google_quincy.yaml
Normal file
19
boards/google/quincy/google_quincy.yaml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
identifier: google_quincy
|
||||
name: Google Quincy Development Board
|
||||
type: mcu
|
||||
arch: arm
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
ram: 512
|
||||
flash: 1024
|
||||
vendor: google
|
||||
supported:
|
||||
- clock
|
||||
- gpio
|
||||
- i2c
|
||||
- pm
|
||||
- pwm
|
||||
- spi
|
||||
- uart
|
||||
- watchdog
|
||||
23
boards/google/quincy/google_quincy_defconfig
Normal file
23
boards/google/quincy/google_quincy_defconfig
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# Copyright (c) 2024 Google Inc
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# General Kernel Options
|
||||
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=15000000
|
||||
|
||||
# Serial Drivers
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=y
|
||||
|
||||
# Console
|
||||
CONFIG_CONSOLE=y
|
||||
CONFIG_UART_CONSOLE=y
|
||||
|
||||
# GPIO Controller
|
||||
CONFIG_GPIO=y
|
||||
|
||||
# Clock Controller
|
||||
CONFIG_CLOCK_CONTROL=y
|
||||
|
||||
# Enable MPU and HW stack protection
|
||||
CONFIG_ARM_MPU=y
|
||||
CONFIG_HW_STACK_PROTECTION=y
|
||||
Loading…
Reference in a new issue