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