-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
boards: qorvo: add DWM3001CDK support
This doensn't add any drivers for the DWM3001C, but it works with https://github.com/br101/zephyr-dw3000-decadriver/ Signed-off-by: Mara Furland <[email protected]>
- Loading branch information
Showing
12 changed files
with
368 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,7 @@ | ||
|
||
if BOARD_DECAWAVE_DWM3001CDK | ||
config BOARD_SERIAL_BACKEND_CDC_ACM | ||
bool "Use USB CDC as serial console backend" | ||
default y | ||
|
||
endif # BOARD_DECAWAVE_DWM3001CDK |
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,7 @@ | ||
# DecaWave DWM3001CDK board configuration | ||
|
||
# Copyright (c) 2019 Stéphane D'Alu | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
config BOARD_DECAWAVE_DWM3001CDK | ||
select SOC_NRF52833_QDAA |
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,14 @@ | ||
# DecaWave DWM3001CDK board configuration | ||
|
||
# Copyright (c) 2019 Stéphane D'Alu | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
if BOARD_DECAWAVE_DWM3001CDK | ||
|
||
config BT_CTLR | ||
default BT | ||
|
||
config I2C | ||
default SENSOR | ||
|
||
endif # BOARD_DECAWAVE_DWM3001CDK |
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 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
board_runner_args(jlink "--device=nRF52833_xxAA" "--speed=4000") | ||
board_runner_args(pyocd "--target=nrf52833" "--frequency=4000000") | ||
include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake) | ||
include(${ZEPHYR_BASE}/boards/common/nrfutil.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) |
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: decawave_dwm3001cdk | ||
vendor: qorvo | ||
socs: | ||
- name: nrf52833 |
39 changes: 39 additions & 0 deletions
39
boards/qorvo/decawave_dwm3001cdk/decawave_dwm3001cdk-pinctrl.dtsi
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,39 @@ | ||
/* | ||
* Copyright (c) 2022 Nordic Semiconductor | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
&pinctrl { | ||
i2c0_default: i2c0_default { | ||
group1 { | ||
psels = <NRF_PSEL(TWIM_SDA, 0, 24)>, | ||
<NRF_PSEL(TWIM_SCL, 1, 04)>; | ||
bias-pull-up; | ||
}; | ||
}; | ||
|
||
i2c0_sleep: i2c0_sleep { | ||
group1 { | ||
psels = <NRF_PSEL(TWIM_SDA, 0, 24)>, | ||
<NRF_PSEL(TWIM_SCL, 1, 04)>; | ||
low-power-enable; | ||
}; | ||
}; | ||
|
||
spi3_default: spi3_default { | ||
group1 { | ||
psels = <NRF_PSEL(SPIM_SCK, 0, 3)>, | ||
<NRF_PSEL(SPIM_MOSI, 0, 8)>, | ||
<NRF_PSEL(SPIM_MISO, 0, 29)>; | ||
}; | ||
}; | ||
|
||
spi3_sleep: spi3_sleep { | ||
group1 { | ||
psels = <NRF_PSEL(SPIM_SCK, 0, 3)>, | ||
<NRF_PSEL(SPIM_MOSI, 0, 8)>, | ||
<NRF_PSEL(SPIM_MISO, 0, 29)>; | ||
low-power-enable; | ||
}; | ||
}; | ||
}; |
181 changes: 181 additions & 0 deletions
181
boards/qorvo/decawave_dwm3001cdk/decawave_dwm3001cdk.dts
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,181 @@ | ||
/* | ||
* Copyright (c) 2019 Stéphane D'Alu | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
/dts-v1/; | ||
#include <nordic/nrf52833_qdaa.dtsi> | ||
#include "decawave_dwm3001cdk-pinctrl.dtsi" | ||
#include <zephyr/dt-bindings/input/input-event-codes.h> | ||
|
||
/ { | ||
model = "Decawave DWM3001CDK"; | ||
compatible = "decawave,dwm3001"; | ||
|
||
chosen { | ||
zephyr,console = &cdc_acm_uart0; | ||
zephyr,shell-uart = &cdc_acm_uart0; | ||
zephyr,uart-mcumgr = &cdc_acm_uart0; | ||
zephyr,bt-mon-uart = &cdc_acm_uart0; | ||
zephyr,bt-c2h-uart = &cdc_acm_uart0; | ||
zephyr,sram = &sram0; | ||
zephyr,flash = &flash0; | ||
zephyr,code-partition = &slot0_partition; | ||
zephyr,ieee802154 = &ieee802154; | ||
}; | ||
|
||
leds { | ||
compatible = "gpio-leds"; | ||
// led from top of board down | ||
// D20: soemthing related to jlink, red | ||
// D13: DW3000 tx(red)/rx(green) | ||
// green | ||
led0: led_0 { | ||
gpios = <&gpio0 04 GPIO_ACTIVE_LOW>; | ||
label = "D9 LED"; | ||
}; | ||
// red | ||
led1: led_1 { | ||
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; | ||
label = "D12 LED"; | ||
}; | ||
// red | ||
led2: led_2 { | ||
gpios = <&gpio0 22 GPIO_ACTIVE_LOW>; | ||
label = "D11 LED"; | ||
}; | ||
// blue | ||
led3: led_3 { | ||
gpios = <&gpio0 05 GPIO_ACTIVE_LOW>; | ||
label = "D10 LED"; | ||
}; | ||
}; | ||
|
||
buttons { | ||
compatible = "gpio-keys"; | ||
// SW1 is connected to P0.18, whicy by default is nRESET and | ||
// will reset the board | ||
button1: button_1 { | ||
gpios = <&gpio0 18 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; | ||
label = "Push button switch 1"; | ||
zephyr,code = <INPUT_KEY_0>; | ||
}; | ||
button2: button_2 { | ||
gpios = <&gpio0 02 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; | ||
label = "Push button switch 2"; | ||
zephyr,code = <INPUT_KEY_1>; | ||
}; | ||
}; | ||
|
||
/* These aliases are provided for compatibility with samples */ | ||
aliases { | ||
sw0 = &button1; | ||
sw1 = &button2; | ||
led0 = &led0; | ||
led1 = &led1; | ||
led2 = &led2; | ||
led3 = &led3; | ||
watchdog0 = &wdt0; | ||
accel0 = &lis2dh12; | ||
}; | ||
|
||
}; | ||
|
||
&uicr { | ||
gpio-as-nreset; | ||
}; | ||
|
||
&gpiote { | ||
status = "okay"; | ||
}; | ||
|
||
&gpio0 { | ||
status = "okay"; | ||
}; | ||
&gpio1 { | ||
status = "okay"; | ||
}; | ||
|
||
&i2c0 { | ||
compatible = "nordic,nrf-twim"; | ||
status = "okay"; | ||
clock-frequency = <I2C_BITRATE_FAST>; | ||
|
||
pinctrl-0 = <&i2c0_default>; | ||
pinctrl-1 = <&i2c0_sleep>; | ||
pinctrl-names = "default", "sleep"; | ||
lis2dh12: lis2dh12@19 { | ||
compatible = "st,lis2dh12", "st,lis2dh"; | ||
reg = <0x19>; | ||
irq-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>; | ||
}; | ||
}; | ||
|
||
&spi3 { | ||
compatible = "nordic,nrf-spim"; | ||
status = "okay"; | ||
cs-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; | ||
|
||
pinctrl-0 = <&spi3_default>; | ||
pinctrl-1 = <&spi3_sleep>; | ||
pinctrl-names = "default", "sleep"; | ||
|
||
dwm3000@0 { | ||
compatible = "decawave,dw3000"; | ||
label = "DW3000"; | ||
spi-max-frequency = <1000000>; | ||
|
||
reset-gpios = <&gpio0 25 GPIO_ACTIVE_LOW>; | ||
irq-gpios = <&gpio1 2 GPIO_ACTIVE_LOW>; | ||
//wakeup-gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>; | ||
//spi-pol-gpios = <&gpio0 0 GPIO_ACTIVE_LOW>; | ||
//spi-pha-gpios = <&gpio0 0 GPIO_ACTIVE_LOW>; | ||
reg = <0>; | ||
status = "okay"; | ||
}; | ||
|
||
}; | ||
|
||
&ieee802154 { | ||
status = "okay"; | ||
}; | ||
|
||
// flash from nrf52833dk_nrf52833 | ||
&flash0 { | ||
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 0x37000>; | ||
}; | ||
slot1_partition: partition@43000 { | ||
label = "image-1"; | ||
reg = <0x00043000 0x37000>; | ||
}; | ||
storage_partition: partition@7a000 { | ||
label = "storage"; | ||
reg = <0x0007A000 0x00006000>; | ||
}; | ||
}; | ||
}; | ||
|
||
zephyr_udc0: &usbd { | ||
compatible = "nordic,nrf-usbd"; | ||
status = "okay"; | ||
|
||
cdc_acm_uart0: cdc_acm_uart0 { | ||
compatible = "zephyr,cdc-acm-uart"; | ||
}; | ||
}; | ||
|
||
®1 { | ||
regulator-initial-mode = <NRF5X_REG_MODE_DCDC>; | ||
}; |
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,21 @@ | ||
identifier: decawave_dwm3001cdk | ||
name: Decawave-DWM3001CDK | ||
type: mcu | ||
arch: arm | ||
ram: 128 | ||
flash: 512 | ||
vendor: decawave | ||
toolchain: | ||
- zephyr | ||
- gnuarmemb | ||
- xtools | ||
supported: | ||
- adc | ||
- usb_device | ||
- usbd | ||
- ble | ||
- gpio | ||
- pwm | ||
- watchdog | ||
- counter | ||
- netif:openthread |
13 changes: 13 additions & 0 deletions
13
boards/qorvo/decawave_dwm3001cdk/decawave_dwm3001cdk_defconfig
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,13 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
# Enable MPU | ||
CONFIG_ARM_MPU=y | ||
|
||
# Enable hardware stack protection | ||
CONFIG_HW_STACK_PROTECTION=y | ||
|
||
# enable GPIO | ||
CONFIG_GPIO=y | ||
|
||
# enable uart driver | ||
CONFIG_SERIAL=y |
Binary file not shown.
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,65 @@ | ||
.. _decawave_dwm3001cdk: | ||
|
||
Decawave DWM3001CDK | ||
################# | ||
|
||
Overview | ||
******** | ||
|
||
The DWM3001CDK development board includes the DWM3001C module, battery | ||
connector and charging circuit, LEDs, buttons, Raspberry-Pi and USB | ||
connector. In addition, the board comes with J-Link OB adding | ||
debugging and Virtual COM Port capabilities. | ||
|
||
See `Qorvo (Decawave) DWM3001CDK website`_ for more information about the | ||
development board, `Qorvo (Decawave) DWM3001C website`_ about the module | ||
itself, and `nRF52833 website`_ for the official reference on the IC itself. | ||
|
||
Programming and Debugging | ||
************************* | ||
|
||
Applications for the ``decawave_dwm3001cdk`` board configuration can be built, | ||
flashed, and debugged in the usual way. See :ref:`build_an_application` and | ||
:ref:`application_run` for more details on building and running. | ||
|
||
Flashing | ||
======== | ||
|
||
Follow the instructions in the :ref:`nordic_segger` page to install | ||
and configure all the necessary software. Further information can be | ||
found in :ref:`nordic_segger_flashing`. Then build and flash | ||
applications as usual (see :ref:`build_an_application` and | ||
:ref:`application_run` for more details). | ||
|
||
There are two USB ports, the one farthest from the DWM3001C is connected to the | ||
J-Link debugger and the closer one is connected to the nRF52833, though you need | ||
to use CDC ACM USB to get output over it | ||
|
||
Here is an example for the :ref:`usb-cdc-acm-console` application. | ||
|
||
Connect to the bottom USB port, and flash the sample | ||
|
||
.. zephyr-app-commands:: | ||
:zephyr-app: samples/subsys/usb/console | ||
:board: decawave_dwm3001cdk | ||
:goals: build flash | ||
|
||
|
||
Then, connect the top USB port and open run your favorite terminal program to | ||
listen for output. | ||
|
||
.. code-block:: console | ||
$ minicom -D <tty_device> -b 115200 | ||
Replace :code:`<tty_device>` with the port where the board nRF52 DK | ||
can be found. For example, under Linux, :code:`/dev/ttyACM0`. | ||
|
||
|
||
References | ||
********** | ||
.. target-notes:: | ||
|
||
.. _nRF52833 website: https://www.nordicsemi.com/products/nrf52833 | ||
.. _Qorvo (Decawave) DWM3001C website: https://www.qorvo.com/products/p/DWM3001C | ||
.. _Qorvo (Decawave) DWM3001CDK website: https://www.qorvo.com/products/p/DWM3001CDK |
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,7 @@ | ||
# Copyright (c) 2022 Nordic Semiconductor | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
# Suppress "unique_unit_address_if_enabled" to handle the following overlaps: | ||
# - power@40000000 & clock@40000000 & bprot@40000000 | ||
# - acl@4001e000 & flash-controller@4001e000 | ||
list(APPEND EXTRA_DTC_FLAGS "-Wno-unique_unit_address_if_enabled") |