Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,9 @@ jobs:
{boardname: "butterfly_p1_uf2/nrf52833", fileformat: "uf2", filename: "SlimeNRF_Butterfly_P1_Receiver"},
{boardname: "butterfly_p2_uf2/nrf52833", fileformat: "uf2", filename: "SlimeNRF_Butterfly_P2_Receiver"},
{boardname: "butterfly_p3/nrf52820", fileformat: "hex", filename: "SlimeNRF_Butterfly_P3_Receiver"},
{boardname: "foxdongle_uf2/nrf52840", fileformat: "uf2", filename: "FoxApplication_FoxDongle"},
{boardname: "foxdongle33_uf2/nrf52833", fileformat: "uf2", filename: "FoxApplication_FoxDongle33"},
{boardname: "foxpromicro_rfek_uf2/nrf52840", fileformat: "uf2", filename: "FoxApplication_FoxProMicro_RFEK"},
]
runs-on: ubuntu-latest
steps:
Expand Down
37 changes: 37 additions & 0 deletions boards/foxapplication/foxdongle33_uf2/Kconfig.foxdongle33_uf2
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

config BOARD_FOXDONGLE33_UF2
select SOC_NRF52833_QIAA

if BOARD_FOXDONGLE33_UF2

config BOARD_SERIAL_BACKEND_CDC_ACM
bool "USB CDC"
default y

config MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT
bool "Use FEM"
default y
help
Use RF front-end module (FEM) is a device that amplifies the RF signal, to increase the range distance, the strength, and the robustness of a link connection.

config BOARD_ENABLE_FEM
bool "FEM enabled"
default y
select MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT
help
Enabke front-end module (FEM).

config CONFIG_MPSL
bool "Enable MPSL"
default true
help
Enable Nordic Multi Protocol Service Layer

config MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT
bool
default y


endif # BOARD_FOXDONGLE33_UF2
9 changes: 9 additions & 0 deletions boards/foxapplication/foxdongle33_uf2/board.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# 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/jlink.board.cmake)
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
9 changes: 9 additions & 0 deletions boards/foxapplication/foxdongle33_uf2/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

board:
name: foxdongle33_uf2
full_name: foxdongle33_uf2
vendor: foxapplication
socs:
- name: nrf52833
150 changes: 150 additions & 0 deletions boards/foxapplication/foxdongle33_uf2/foxdongle33_uf2.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
// Copyright (c) 2024 Nordic Semiconductor ASA
// SPDX-License-Identifier: Apache-2.0

/dts-v1/;
#include <nordic/nrf52833_qiaa.dtsi>
#include <zephyr/dt-bindings/input/input-event-codes.h>

&pinctrl {
pwm0_default: pwm0_default {
group1 {
psels = <NRF_PSEL(PWM_OUT0, 0, 3)>,<NRF_PSEL(PWM_OUT0, 0, 28)>,<NRF_PSEL(PWM_OUT0, 0, 2)>;
nordic,drive-mode = <NRF_DRIVE_D0S1>;
nordic,invert;
};
};

pwm0_sleep: pwm0_sleep {
group1 {
psels = <NRF_PSEL(PWM_OUT0, 0, 3)>,<NRF_PSEL(PWM_OUT0, 0, 28)>,<NRF_PSEL(PWM_OUT0, 0, 2)>;
low-power-enable;
};
};
};

/ {
model = "Foxapplication nRF52833 FoxDongle33";
compatible = "foxdongle33_uf2";

chosen {
zephyr,console = &cdc_acm_uart;
zephyr,shell-uart = &cdc_acm_uart;
zephyr,uart-mcumgr = &cdc_acm_uart;
zephyr,bt-mon-uart = &cdc_acm_uart;
zephyr,bt-c2h-uart = &cdc_acm_uart;
zephyr,sram = &sram0;
zephyr,flash = &flash0;
zephyr,ieee802154 = &ieee802154;
};

nrf_radio_fem: skyFem {
compatible = "skyworks,sky66112-11", "generic-fem-two-ctrl-pins";
ctx-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
ctx-settle-time-us = <23>;
crx-gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
crx-settle-time-us = <8>;
tx-gain-db = <22>;
rx-gain-db = <12>;
};

pwmleds {
compatible = "pwm-leds";
pwm_led0: pwm_led_0 {
pwms = <&pwm0 0 PWM_MSEC(1) PWM_POLARITY_NORMAL>;
};
pwm_led1: pwm_led_1 {
pwms = <&pwm0 1 PWM_MSEC(1) PWM_POLARITY_NORMAL>;
};
pwm_led2: pwm_led_2 {
pwms = <&pwm0 2 PWM_MSEC(1) PWM_POLARITY_NORMAL>;
};
};
leds {
compatible = "gpio-leds";
led0: led_0 {
gpios = <&gpio0 28 GPIO_OPEN_SOURCE>;
};
led1: led_1 {
gpios = <&gpio0 2 GPIO_OPEN_SOURCE>;
};
led2: led_2 {
gpios = <&gpio0 3 GPIO_OPEN_SOURCE>;
};
};

buttons {
compatible = "gpio-keys";
button0: button_0 {
gpios = <&gpio0 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Push button switch 0";
zephyr,code = <INPUT_KEY_0>;
};
};

aliases {
sw0 = &button0;
pwm-led0 = &pwm_led0;
pwm-led1 = &pwm_led1;
pwm-led2 = &pwm_led2;
led0 = &led0;
led1 = &led1;
led2 = &led2;
watchdog0 = &wdt0;
};
};

&reg0 {
status = "disabled";
};

&reg1 {
regulator-initial-mode = <NRF5X_REG_MODE_LDO>;
};

&radio {
fem = <&nrf_radio_fem>;
};

&adc {
status = "okay";
};

&gpio0 {
status = "okay";
};

&gpio1 {
status = "okay";
};

&gpiote {
status = "okay";
};

&uicr {
nfct-pins-as-gpios;
gpio-as-nreset;
};

&pwm0 {
status = "okay";
pinctrl-0 = <&pwm0_default>;
pinctrl-1 = <&pwm0_sleep>;
pinctrl-names = "default", "sleep";
};

&ieee802154 {
status = "okay";
};

zephyr_udc0: &usbd {
compatible = "nordic,nrf-usbd";
status = "okay";
cdc_acm_uart: cdc_acm_uart {
compatible = "zephyr,cdc-acm-uart";
};
};

&nfct {
status = "disabled";
};
24 changes: 24 additions & 0 deletions boards/foxapplication/foxdongle33_uf2/foxdongle33_uf2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

identifier: foxdongle33_uf2
name: foxdongle33_uf2
vendor: foxapplication
type: mcu
arch: arm
ram: 128
flash: 512
toolchain:
- zephyr
- gnuarmemb
- xtools
supported:
- adc
- usb_device
- ble
- pwm
- spi
- watchdog
- counter
- netif:openthread
- gpio
24 changes: 24 additions & 0 deletions boards/foxapplication/foxdongle33_uf2/foxdongle33_uf2_defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

CONFIG_ARM_MPU=y
CONFIG_HW_STACK_PROTECTION=y
CONFIG_GPIO=y

CONFIG_USB_DEVICE_MANUFACTURER="FoxApplication"
CONFIG_USB_DEVICE_PRODUCT="FoxApplication FoxDongle33"

CONFIG_LED_RGB_COLOR=y

CONFIG_USE_SEGGER_RTT=y
CONFIG_RTT_CONSOLE=y
CONFIG_LOG_BACKEND_RTT=y

CONFIG_MPSL=y
CONFIG_MPSL_FEM=y
CONFIG_MPSL_FEM_SIMPLE_GPIO=y
CONFIG_MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT=y

#generate for adafruit uf2 bootloader flashing
CONFIG_BUILD_OUTPUT_UF2=y
CONFIG_FLASH_LOAD_OFFSET=0x1000
37 changes: 37 additions & 0 deletions boards/foxapplication/foxdongle_uf2/Kconfig.foxdongle_uf2
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

config BOARD_FOXDONGLE_UF2
select SOC_NRF52840_QIAA

if BOARD_FOXDONGLE_UF2

config BOARD_SERIAL_BACKEND_CDC_ACM
bool "USB CDC"
default y

config MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT
bool "Use FEM"
default y
help
Use RF front-end module (FEM) is a device that amplifies the RF signal, to increase the range distance, the strength, and the robustness of a link connection.

config BOARD_ENABLE_FEM
bool "FEM enabled"
default y
select MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT
help
Enabke front-end module (FEM).

config CONFIG_MPSL
bool "Enable MPSL"
default true
help
Enable Nordic Multi Protocol Service Layer

config MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT
bool
default y


endif # BOARD_FOXDONGLE_UF2
9 changes: 9 additions & 0 deletions boards/foxapplication/foxdongle_uf2/board.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

board_runner_args(jlink "--device=nrf52840_xxaa" "--speed=4000")
board_runner_args(pyocd "--target=nrf52840" "--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)
9 changes: 9 additions & 0 deletions boards/foxapplication/foxdongle_uf2/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

board:
name: foxdongle_uf2
full_name: foxdongle_uf2
vendor: foxapplication
socs:
- name: nrf52840
Loading