-
Notifications
You must be signed in to change notification settings - Fork 6.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
boards: Introduce Google Quincy Development Board
Quincy is a board created by Google for fingerprint-related functionality development. Signed-off-by: David Cross <[email protected]>
- Loading branch information
David Cross
committed
Dec 13, 2024
1 parent
4789820
commit faaa52c
Showing
7 changed files
with
174 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Copyright (c) 2024 Google LLC | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
config BOARD_GOOGLE_QUINCY | ||
select SOC_NPCX9MFP |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
board: | ||
name: google_quincy | ||
vendor: google | ||
socs: | ||
- name: npcx9mfp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
.. _google_quincy_board: | ||
|
||
Google Quincy Development Board | ||
################################### | ||
|
||
Overview | ||
******** | ||
|
||
Quincy is a board created by Google for fingerprint-related functionality | ||
development. | ||
|
||
Board has connectors for fingerprint sensors. Console is exposed over μServo | ||
connector. 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`_. | ||
|
||
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 { | ||
Check warning on line 50 in boards/google/quincy/google_quincy.dts GitHub Actions / Run compliance checks on patch series (PR)LEADING_SPACE
|
||
status = "okay"; | ||
pinctrl-0 = <&shi_gp46_47_53_55>; | ||
pinctrl-names = "default"; | ||
}; | ||
Check warning on line 54 in boards/google/quincy/google_quincy.dts GitHub Actions / Run compliance checks on patch series (PR)LEADING_SPACE
|
||
|
||
/* 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"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
identifier: google_quincy | ||
name: Google Quincy Development Board | ||
type: mcu | ||
arch: arm | ||
toolchain: | ||
- zephyr | ||
- gnuarmemb | ||
- xtools | ||
ram: 512 | ||
flash: 1024 | ||
vendor: google | ||
supported: | ||
- clock | ||
- gpio | ||
- i2c | ||
- pm | ||
- pwm | ||
- spi | ||
- uart | ||
- watchdog |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# Copyright (c) 2024 Google Inc | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
# 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 | ||
|
||
# Pin Controller | ||
CONFIG_PINCTRL=y | ||
|
||
# Enable MPU and HW stack protection | ||
CONFIG_ARM_MPU=y | ||
CONFIG_HW_STACK_PROTECTION=y |