Skip to content

Commit 7900087

Browse files
board: ProMicro: Chrysalis Variant
1 parent 3085b38 commit 7900087

File tree

7 files changed

+145
-1
lines changed

7 files changed

+145
-1
lines changed

.github/workflows/workflow.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ jobs:
2525
{boardname: "promicro_uf2/nrf52840/i2c", fileformat: "uf2", filename: "SlimeNRF_ProMicro_I2C_Tracker"},
2626
{boardname: "promicro_uf2/nrf52840/spi", fileformat: "uf2", filename: "SlimeNRF_ProMicro_SPI_Tracker"},
2727
{boardname: "promicro_uf2/nrf52840/smspi", fileformat: "uf2", filename: "SlimeNRF_ProMicro_smSPI_Tracker"},
28+
{boardname: "promicro_uf2/nrf52840/chrysalis", fileformat: "uf2", filename: "SlimeNRF_ProMicro_Chrysalis_Tracker"},
2829
{boardname: "xiao_ble/nrf52840", fileformat: "uf2", filename: "SlimeNRF_XIAO_Tracker"},
2930
{boardname: "xiao_ble/nrf52840/sense", fileformat: "uf2", filename: "SlimeNRF_XIAO_Sense_Tracker"},
3031
{boardname: "slimenrf_r1/nrf52840", fileformat: "hex", filename: "SlimeNRF_slimenrf_r1_Tracker"},

boards/nordic/promicro_uf2/board.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,5 @@ board:
1212
variants:
1313
- name: 'i2c'
1414
- name: 'spi'
15-
- name: 'smspi'
15+
- name: 'smspi'
16+
- name: 'chrysalis'
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
// Copyright (c) 2024 Nordic Semiconductor ASA
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
/dts-v1/;
5+
#include "promicro_uf2.dts"
6+
7+
&pwm0_default {
8+
group1 {
9+
psels = <NRF_PSEL(PWM_OUT0, 0, 2)>, // Red
10+
<NRF_PSEL(PWM_OUT1, 1, 15)>, // Green
11+
<NRF_PSEL(PWM_OUT2, 0, 29)>; // Blue
12+
nordic,drive-mode = <NRF_DRIVE_S0S1>;
13+
nordic,invert;
14+
};
15+
};
16+
17+
&pwm0_sleep {
18+
group1 {
19+
psels = <NRF_PSEL(PWM_OUT0, 0, 2)>, // Red
20+
<NRF_PSEL(PWM_OUT1, 1, 15)>, // Green
21+
<NRF_PSEL(PWM_OUT2, 0, 29)>; // Blue
22+
low-power-enable;
23+
};
24+
};
25+
26+
/ {
27+
pwmleds {
28+
/delete-node/ pwm_led_0;
29+
pwm_led0: pwm_led_0 {
30+
pwms = <&pwm0 0 PWM_MSEC(1) PWM_POLARITY_INVERTED>; // Red
31+
};
32+
pwm_led1: pwm_led_1 {
33+
pwms = <&pwm0 1 PWM_MSEC(1) PWM_POLARITY_INVERTED>; // Green
34+
};
35+
pwm_led2: pwm_led_2 {
36+
pwms = <&pwm0 2 PWM_MSEC(1) PWM_POLARITY_INVERTED>; // Blue
37+
};
38+
};
39+
40+
leds {
41+
compatible = "gpio-leds";
42+
led0: led_0 {
43+
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; // Red
44+
};
45+
led1: led_1 {
46+
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; // Green
47+
};
48+
led2: led_2 {
49+
gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; // Blue
50+
};
51+
};
52+
53+
aliases {
54+
sw0 = &button0;
55+
pwm-led0 = &pwm_led0; // Red
56+
pwm-led1 = &pwm_led1; // Green
57+
pwm-led2 = &pwm_led2; // Blue
58+
led0 = &led0; // Red
59+
led1 = &led1; // Green
60+
led2 = &led2; // Blue
61+
};
62+
63+
zephyr,user {
64+
clk-gpios = <&gpio0 20 GPIO_OPEN_DRAIN>;
65+
/delete-property/ led-gpios;
66+
};
67+
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Copyright (c) 2024 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
identifier: promicro_uf2/nrf52840/chrysalis
5+
name: promicro_uf2_chrysalis
6+
vendor: nordic
7+
type: mcu
8+
arch: arm
9+
ram: 256
10+
flash: 1024
11+
toolchain:
12+
- zephyr
13+
- gnuarmemb
14+
- xtools
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Copyright (c) 2024 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
CONFIG_ARM_MPU=y
5+
CONFIG_HW_STACK_PROTECTION=y
6+
7+
CONFIG_USB_DEVICE_STACK=y
8+
CONFIG_USB_DEVICE_MANUFACTURER="SlimeVR"
9+
CONFIG_USB_DEVICE_PRODUCT="SlimeNRF Tracker ProMicro"
10+
11+
CONFIG_BATTERY_USE_REG_LDO_MAPPING=y
12+
13+
CONFIG_LED_RGB_COLOR=y
14+
15+
#generate for adafruit uf2 bootloader flashing
16+
CONFIG_BUILD_OUTPUT_UF2=y
17+
CONFIG_FLASH_LOAD_OFFSET=0x1000
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
bootloader:
2+
address: 0x0
3+
end_address: 0x1000
4+
region: flash_primary
5+
size: 0x1000
6+
uf2_bootloader:
7+
address: 0xf4000
8+
end_address: 0x100000
9+
region: flash_primary
10+
size: 0xc000

socs/nrf52840_chrysalis.overlay

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/ {
2+
sram0@2003f000 {
3+
compatible = "zephyr,memory-region", "mmio-sram";
4+
reg = <0x2003f000 DT_SIZE_K(4)>;
5+
zephyr,memory-region = "RETAINED_MEM";
6+
status = "okay";
7+
8+
retainedmem0: retainedmem {
9+
compatible = "zephyr,retained-ram";
10+
status = "okay";
11+
};
12+
};
13+
14+
sram0@20007f7c {
15+
compatible = "zephyr,memory-region", "mmio-sram";
16+
reg = <0x20007f7c 4>;
17+
zephyr,memory-region = "DFU_DBL_RESET_MEM";
18+
status = "okay";
19+
20+
retainedmem {
21+
compatible = "zephyr,retained-ram";
22+
status = "okay";
23+
};
24+
};
25+
26+
aliases {
27+
retainedmemdevice = &retainedmem0;
28+
};
29+
};
30+
31+
&sram0 {
32+
/* Shrink SRAM size to avoid overlap with retained memory region */
33+
reg = <0x20000000 DT_SIZE_K(252)>;
34+
};

0 commit comments

Comments
 (0)