move things around
This commit is contained in:
17
firmware/boards/bh/mellifera_rev1/Kconfig
Normal file
17
firmware/boards/bh/mellifera_rev1/Kconfig
Normal file
@ -0,0 +1,17 @@
|
||||
# Copyright (c) 2021 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if BOARD_MELLIFERA_REV1
|
||||
|
||||
config BOARD_ENABLE_DCDC
|
||||
bool "Enable DCDC mode"
|
||||
select SOC_DCDC_NRF52X
|
||||
default y
|
||||
depends on BOARD_MELLIFERA_REV1
|
||||
|
||||
# BT_CTLR depends on BT. When BT is enabled we should default to also
|
||||
# enabling the controller.
|
||||
config BT_CTLR
|
||||
default y if BT
|
||||
|
||||
endif # BOARD_MELLIFERA_REV1
|
5
firmware/boards/bh/mellifera_rev1/Kconfig.mellifera_rev1
Normal file
5
firmware/boards/bh/mellifera_rev1/Kconfig.mellifera_rev1
Normal file
@ -0,0 +1,5 @@
|
||||
# Copyright (c) 2021 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_MELLIFERA_REV1
|
||||
select SOC_NRF52832_QFAA
|
6
firmware/boards/bh/mellifera_rev1/README.md
Normal file
6
firmware/boards/bh/mellifera_rev1/README.md
Normal file
@ -0,0 +1,6 @@
|
||||
# Custom Plank Board
|
||||
|
||||
`custom_plank` board is used to demonstrate how to create custom boards. It is
|
||||
in fact a simplified version of the nRF52840-DK board, so the
|
||||
`example-application` can be run on that development kit when using
|
||||
`custom_plank`.
|
12
firmware/boards/bh/mellifera_rev1/board.cmake
Normal file
12
firmware/boards/bh/mellifera_rev1/board.cmake
Normal file
@ -0,0 +1,12 @@
|
||||
# Copyright (c) 2021 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
board_runner_args(jlink "--device=nrf52" "--speed=4000")
|
||||
board_runner_args(pyocd "--target=nrf52832" "--frequency=4000000")
|
||||
|
||||
set(OPENOCD_NRF5_SUBFAMILY "nrf52")
|
||||
|
||||
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)
|
8
firmware/boards/bh/mellifera_rev1/board.yml
Normal file
8
firmware/boards/bh/mellifera_rev1/board.yml
Normal file
@ -0,0 +1,8 @@
|
||||
# Copyright (c) 2024 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
board:
|
||||
name: mellifera_rev1
|
||||
vendor: bh
|
||||
socs:
|
||||
- name: nrf52832
|
@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Nordic Semiconductor ASA
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
&pinctrl {
|
||||
|
||||
uart0_default: uart0_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(UART_TX, 0, 5)>,
|
||||
<NRF_PSEL(UART_RX, 0, 11)>;
|
||||
};
|
||||
};
|
||||
|
||||
uart0_sleep: uart0_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(UART_TX, 0, 5)>,
|
||||
<NRF_PSEL(UART_RX, 0, 11)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_default: i2c0_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(TWIM_SDA, 0, 29)>,
|
||||
<NRF_PSEL(TWIM_SCL, 0, 28)>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_sleep: i2c0_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(TWIM_SDA, 0, 29)>,
|
||||
<NRF_PSEL(TWIM_SCL, 0, 28)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
|
||||
spi1_default: spi1_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_SCK, 0, 16)>,
|
||||
<NRF_PSEL(SPIM_MOSI, 0, 20)>,
|
||||
<NRF_PSEL(SPIM_MISO, 0, 18)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi1_sleep: spi1_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_SCK, 0, 16)>,
|
||||
<NRF_PSEL(SPIM_MOSI, 0, 20)>,
|
||||
<NRF_PSEL(SPIM_MISO, 0, 18)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
250
firmware/boards/bh/mellifera_rev1/mellifera_rev1.dts
Normal file
250
firmware/boards/bh/mellifera_rev1/mellifera_rev1.dts
Normal file
@ -0,0 +1,250 @@
|
||||
/*
|
||||
* Copyright (c) 2021 Nordic Semiconductor ASA
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <nordic/nrf52832_qfaa.dtsi>
|
||||
#include "mellifera_rev1-pinctrl.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Mellifera rev1";
|
||||
compatible = "bh,mellifera_rev1";
|
||||
|
||||
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,display = &ssd1306;
|
||||
zephyr,code-partition = &slot0_partition;
|
||||
};
|
||||
|
||||
example_sensor: example-sensor {
|
||||
compatible = "zephyr,example-sensor";
|
||||
input-gpios = <&gpio0 2 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
led0: led_0 {
|
||||
gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
|
||||
label = "Yellow LED 0";
|
||||
};
|
||||
led1: led_1 {
|
||||
gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
|
||||
label = "Yellow LED 1";
|
||||
};
|
||||
led2: led_2 {
|
||||
gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
|
||||
label = "Yellow LED 2";
|
||||
};
|
||||
led3: led_3 {
|
||||
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
|
||||
label = "Yellow LED 3";
|
||||
};
|
||||
led_rx: led_rx {
|
||||
gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
|
||||
label = "RX LED";
|
||||
};
|
||||
led_tx: led_tx {
|
||||
gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
|
||||
label = "TX LED";
|
||||
};
|
||||
led_rx_ok: led_rx_ok {
|
||||
gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
|
||||
label = "RX OK LED";
|
||||
};
|
||||
led_sfd: led_sfd {
|
||||
gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
|
||||
label = "SFD LED";
|
||||
};
|
||||
};
|
||||
|
||||
buttons {
|
||||
compatible = "gpio-keys";
|
||||
button0: button_0 {
|
||||
gpios = <&gpio0 2 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
||||
label = "Pushbutton";
|
||||
zephyr,code = <INPUT_KEY_0>;
|
||||
};
|
||||
int_drdy: int_drdy {
|
||||
gpios = <&gpio0 22 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
||||
label = "DRDYM from BMX055 9-DOF";
|
||||
zephyr,code = <INPUT_KEY_0>;
|
||||
};
|
||||
int1: int_1 {
|
||||
gpios = <&gpio0 12 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
||||
label = "Interrupt 1 from BMX055 9-DOF";
|
||||
zephyr,code = <INPUT_KEY_0>;
|
||||
};
|
||||
int2: int_2 {
|
||||
gpios = <&gpio0 14 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
||||
label = "Interrupt 2 from BMX055 9-DOF";
|
||||
zephyr,code = <INPUT_KEY_0>;
|
||||
};
|
||||
int3: int_3 {
|
||||
gpios = <&gpio0 10 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
||||
label = "Interrupt 3 from BMX055 9-DOF";
|
||||
zephyr,code = <INPUT_KEY_0>;
|
||||
};
|
||||
int4: int_4 {
|
||||
gpios = <&gpio0 9 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
||||
label = "Interrupt 4 from BMX055 9-DOF";
|
||||
zephyr,code = <INPUT_KEY_0>;
|
||||
};
|
||||
int5: int_5 {
|
||||
gpios = <&gpio0 30 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
||||
label = "Interrupt 5 from BMX055 9-DOF";
|
||||
zephyr,code = <INPUT_KEY_0>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
blink_led: blink-led {
|
||||
compatible = "blink-gpio-led";
|
||||
led-gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
|
||||
blink-period-ms = <1000>;
|
||||
};
|
||||
|
||||
/* These aliases are provided for compatibility with samples */
|
||||
aliases {
|
||||
led0 = &led0;
|
||||
led1 = &led1;
|
||||
led2 = &led2;
|
||||
led3 = &led3;
|
||||
// pwm-led0 = &pwm_led0;
|
||||
sw0 = &button0;
|
||||
// sw1 = &button1;
|
||||
// sw2 = &button2;
|
||||
// sw3 = &button3;
|
||||
bootloader-led0 = &led0;
|
||||
mcuboot-button0 = &button0;
|
||||
mcuboot-led0 = &led0;
|
||||
watchdog0 = &wdt0;
|
||||
};
|
||||
};
|
||||
|
||||
&uicr {
|
||||
gpio-as-nreset;
|
||||
};
|
||||
|
||||
&gpiote {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
compatible = "nordic,nrf-uarte";
|
||||
status = "okay";
|
||||
current-speed = <115200>;
|
||||
pinctrl-0 = <&uart0_default>;
|
||||
pinctrl-1 = <&uart0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
compatible = "nordic,nrf-twi";
|
||||
status = "okay";
|
||||
pinctrl-0 = <&i2c0_default>;
|
||||
pinctrl-1 = <&i2c0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
ssd1306: ssd1306@3d {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3d>;
|
||||
width = <128>;
|
||||
height = <64>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <63>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
|
||||
ina231: ina231@45 {
|
||||
compatible = "ti,ina230";
|
||||
reg = <0x45>;
|
||||
// irq-gpios = <&gpio0 31 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
||||
current-lsb-microamps = <7>;
|
||||
rshunt-micro-ohms = <50000>;
|
||||
adc-mode = "Bus and shunt voltage continuous";
|
||||
};
|
||||
|
||||
bmp388: bmp388@76 {
|
||||
compatible = "bosch,bmp388";
|
||||
reg = <0x76>;
|
||||
int-gpios = <&gpio0 27 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
||||
// odr = "1.563";
|
||||
osr-press = <1>;
|
||||
};
|
||||
|
||||
hdc1080: hdc1080@40 {
|
||||
compatible = "ti,hdc1080";
|
||||
reg = <0x40>;
|
||||
};
|
||||
|
||||
// BMX055 = BMA255 + BMG160 + BMM150
|
||||
bmx055_accel: bma255@18 {
|
||||
compatible = "bosch,bma255";
|
||||
reg = <0x18>;
|
||||
};
|
||||
|
||||
bmx055_gyro: bmg160@68 {
|
||||
compatible = "bosch,bmg160";
|
||||
reg = <0x68>;
|
||||
};
|
||||
|
||||
bmx055_mag: bmm150@10 {
|
||||
compatible = "bosch,bmm150";
|
||||
reg = <0x10>;
|
||||
};
|
||||
|
||||
lis2dh: lis2dh@19 {
|
||||
// This is built into the DWM1001 module
|
||||
compatible = "st,lis2dh";
|
||||
reg = <0x19>;
|
||||
};
|
||||
};
|
||||
|
||||
&spi1 {
|
||||
compatible = "nordic,nrf-spi";
|
||||
status = "okay";
|
||||
pinctrl-0 = <&spi1_default>;
|
||||
pinctrl-1 = <&spi1_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
};
|
||||
|
||||
&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>;
|
||||
};
|
||||
};
|
||||
};
|
23
firmware/boards/bh/mellifera_rev1/mellifera_rev1.yaml
Normal file
23
firmware/boards/bh/mellifera_rev1/mellifera_rev1.yaml
Normal file
@ -0,0 +1,23 @@
|
||||
identifier: mellifera_rev1
|
||||
name: Mellifera-Rev1
|
||||
type: mcu
|
||||
arch: arm
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
- xtools
|
||||
ram: 64
|
||||
flash: 512
|
||||
supported:
|
||||
- adc
|
||||
- arduino_gpio
|
||||
- arduino_i2c
|
||||
- arduino_spi
|
||||
- gpio
|
||||
- counter
|
||||
- nvs
|
||||
- i2c
|
||||
- pwm
|
||||
- spi
|
||||
- watchdog
|
||||
vendor: nordic
|
19
firmware/boards/bh/mellifera_rev1/mellifera_rev1_defconfig
Normal file
19
firmware/boards/bh/mellifera_rev1/mellifera_rev1_defconfig
Normal file
@ -0,0 +1,19 @@
|
||||
|
||||
# Enable MPU
|
||||
CONFIG_ARM_MPU=y
|
||||
|
||||
# Enable hardware stack protection
|
||||
CONFIG_HW_STACK_PROTECTION=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
|
Reference in New Issue
Block a user