boards: nordic: Add support for nRF52833dk_nrf52820 board

This commit adds support for nRF52820 development on nRF52833DK.
Changes afffects:
 - Introduce files related to board description.
 - Add blank documentation file (for future update).
 - configuration files for build process.

Signed-off-by: Mieszko Mierunski <mieszko.mierunski@nordicsemi.no>
This commit is contained in:
Mieszko Mierunski 2020-04-02 13:20:49 +02:00 committed by Ioannis Glaropoulos
commit f4a7255677
9 changed files with 276 additions and 1 deletions

View file

@ -0,0 +1,10 @@
# nRF52833DK nRF52820 board configuration
# Copyright (c) 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config BOARD_ENABLE_DCDC
bool "Enable DCDC mode"
select SOC_DCDC_NRF52X
default y
depends on BOARD_NRF52833DK_NRF52820

View file

@ -0,0 +1,8 @@
# nRF52833DK nRF52820 board configuration
# Copyright (c) 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config BOARD_NRF52833DK_NRF52820
bool "nRF52833 DK NRF52820"
depends on SOC_NRF52820_QDAA

View file

@ -0,0 +1,24 @@
# nRF52833DK nRF52820 board configuration
# Copyright (c) 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
if BOARD_NRF52833DK_NRF52820
config BOARD
default "nrf52833dk_nrf52820"
if USB
config USB_NRFX
default y
config USB_DEVICE_STACK
default y
endif # USB
config BT_CTLR
default BT
endif # BOARD_NRF52833DK_NRF52820

View file

@ -0,0 +1,9 @@
# SPDX-License-Identifier: Apache-2.0
board_runner_args(nrfjprog "--nrf-family=NRF52")
board_runner_args(jlink "--device=nrf52" "--speed=4000")
board_runner_args(pyocd "--target=nrf52820" "--frequency=4000000")
include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/openocd-nrf5.board.cmake)

View file

@ -0,0 +1,23 @@
.. _nrf52833dk_nrf52820:
nRF52820 emulation on nRF52833 DK
#################################
Overview
********
The nrf52833dk_nrf52820 board is a modified version of the
:ref:`nrf52833dk_nrf52833` that enforces the limitations imposed by the nRF52820
IC, which is a variant of the original nRF52833. Since Nordic does not offer a
development kit for the nRF52820 you can use this board to develop for this IC
while using the nRF52833 Development Kit (PCA10100).
See :ref:`nrf52833dk_nrf52833` for more information about the development board
and `nRF52820 website`_ for the official reference on the IC itself.
References
**********
.. target-notes::
.. _nRF52820 website: https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF52820

View file

@ -0,0 +1,161 @@
/*
* Copyright (c) 2020 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include <nordic/nrf52820_qdaa.dtsi>
/ {
model = "Nordic nRF52833 DK NRF52820";
compatible = "nordic,nrf52833-dk-nrf52820";
chosen {
zephyr,console = &uart0;
zephyr,shell-uart = &uart0;
zephyr,uart-mcumgr = &uart0;
zephyr,bt-mon-uart = &uart0;
zephyr,bt-c2h-uart = &uart0;
zephyr,sram = &sram0;
zephyr,flash = &flash0;
zephyr,code-partition = &slot0_partition;
};
leds {
compatible = "gpio-leds";
led0: led_0 {
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
label = "Green LED 0";
};
led1: led_1 {
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
label = "Green LED 1";
};
led2: led_2 {
gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
label = "Green LED 2";
};
led3: led_3 {
gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
label = "Green LED 3";
};
};
pwmleds {
compatible = "pwm-leds";
pwm_led0: pwm_led_0 {
pwms = <&sw_pwm 13>;
};
};
buttons {
compatible = "gpio-keys";
button0: button_0 {
gpios = <&gpio0 11 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Push button switch 0";
};
button1: button_1 {
gpios = <&gpio0 12 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Push button switch 1";
};
button2: button_2 {
gpios = <&gpio0 24 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Push button switch 2";
};
button3: button_3 {
gpios = <&gpio0 25 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Push button switch 3";
};
};
/* These aliases are provided for compatibility with samples */
aliases {
led0 = &led0;
led1 = &led1;
led2 = &led2;
led3 = &led3;
sw0 = &button0;
sw1 = &button1;
sw2 = &button2;
sw3 = &button3;
};
};
&gpiote {
status = "okay";
};
&gpio0 {
status = "okay";
};
&uart0 {
compatible = "nordic,nrf-uart";
status = "okay";
current-speed = <115200>;
tx-pin = <6>;
rx-pin = <8>;
rts-pin = <5>;
cts-pin = <7>;
};
&i2c0 {
compatible = "nordic,nrf-twi";
status = "okay";
sda-pin = <28>;
scl-pin = <29>;
};
&i2c1 {
compatible = "nordic,nrf-twi";
/* Cannot be used together with spi1. */
/* status = "okay"; */
};
&spi0 {
compatible = "nordic,nrf-spi";
/* Cannot be used together with i2c0. */
/* status = "okay"; */
};
&spi1 {
status = "okay";
sck-pin = <17>;
miso-pin = <20>;
mosi-pin = <30>;
};
&flash0 {
/*
* For more information, see:
* http://docs.zephyrproject.org/latest/guides/dts/index.html#flash-partitions
*/
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
boot_partition: partition@0 {
label = "mcuboot";
reg = <0x00000000 0xC000>;
};
slot0_partition: partition@C000 {
label = "image-0";
reg = <0x0000C000 0x17000>;
};
slot1_partition: partition@23000 {
label = "image-1";
reg = <0x00023000 0x17000>;
};
storage_partition: partition@3a000 {
label = "storage";
reg = <0x0003a000 0x00006000>;
};
};
};
&usbd {
compatible = "nordic,nrf-usbd";
status = "okay";
};

View file

@ -0,0 +1,16 @@
identifier: nrf52833dk_nrf52820
name: nRF52833-DK-NRF52820
type: mcu
arch: arm
toolchain:
- zephyr
- gnuarmemb
- xtools
ram: 32
flash: 256
supported:
- usb_device
- ble
- gpio
- watchdog
- counter

View file

@ -0,0 +1,24 @@
# SPDX-License-Identifier: Apache-2.0
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52820_QDAA=y
CONFIG_BOARD_NRF52833DK_NRF52820=y
# Enable MPU
CONFIG_ARM_MPU=y
# Enable RTT
CONFIG_USE_SEGGER_RTT=y
# enable GPIO
CONFIG_GPIO=y
# enable uart driver
CONFIG_SERIAL=y
# enable console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
# additional board options
CONFIG_GPIO_AS_PINRESET=y

View file

@ -35,7 +35,7 @@
uart-0 = &uart0; uart-0 = &uart0;
gpio-0 = &gpio0; gpio-0 = &gpio0;
gpiote-0 = &gpiote; gpiote-0 = &gpiote;
wdt-0 = &wdt; wdt-0 = &wdt0;
usbd-0 = &usbd; usbd-0 = &usbd;
qdec-0 = &qdec; qdec-0 = &qdec;
rtc-0 = &rtc0; rtc-0 = &rtc0;