Compare commits
No commits in common. "832261dbe5d7a52af03e3a877b007c34354d79e7" and "f9e3b65d3a9794ee2233aa88172346f887b48d04" have entirely different histories.
832261dbe5
...
f9e3b65d3a
1280 changed files with 12656 additions and 27417 deletions
|
@ -39,7 +39,6 @@ ForEachMacros:
|
|||
- 'FOR_EACH_IDX'
|
||||
- 'FOR_EACH_IDX_FIXED_ARG'
|
||||
- 'FOR_EACH_NONEMPTY_TERM'
|
||||
- 'FOR_EACH_FIXED_ARG_NONEMPTY_TERM'
|
||||
- 'RB_FOR_EACH'
|
||||
- 'RB_FOR_EACH_CONTAINER'
|
||||
- 'SYS_DLIST_FOR_EACH_CONTAINER'
|
||||
|
@ -69,16 +68,8 @@ ForEachMacros:
|
|||
- 'Z_GENLIST_FOR_EACH_NODE'
|
||||
- 'Z_GENLIST_FOR_EACH_NODE_SAFE'
|
||||
- 'STRUCT_SECTION_FOREACH'
|
||||
- 'STRUCT_SECTION_FOREACH_ALTERNATE'
|
||||
- 'TYPE_SECTION_FOREACH'
|
||||
- 'K_SPINLOCK'
|
||||
- 'COAP_RESOURCE_FOREACH'
|
||||
- 'COAP_SERVICE_FOREACH'
|
||||
- 'COAP_SERVICE_FOREACH_RESOURCE'
|
||||
- 'HTTP_RESOURCE_FOREACH'
|
||||
- 'HTTP_SERVER_CONTENT_TYPE_FOREACH'
|
||||
- 'HTTP_SERVICE_FOREACH'
|
||||
- 'HTTP_SERVICE_FOREACH_RESOURCE'
|
||||
IfMacros:
|
||||
- 'CHECKIF'
|
||||
# Disabled for now, see bug https://github.com/zephyrproject-rtos/zephyr/issues/48520
|
||||
|
|
6
.github/SECURITY.md
vendored
6
.github/SECURITY.md
vendored
|
@ -11,9 +11,9 @@ updates:
|
|||
At this time, with the latest release of v3.6, the supported
|
||||
versions are:
|
||||
|
||||
- v3.7: Current LTS
|
||||
- v3.6: Prior release
|
||||
- v2.7: Prior LTS
|
||||
- v2.7: Current LTS
|
||||
- v3.5: Prior release
|
||||
- v3.6: Current release
|
||||
|
||||
## Reporting process
|
||||
|
||||
|
|
6
.github/workflows/doc-build.yml
vendored
6
.github/workflows/doc-build.yml
vendored
|
@ -149,9 +149,9 @@ jobs:
|
|||
|
||||
- name: compress-docs
|
||||
run: |
|
||||
tar --use-compress-program="xz -T0" -cf html-output.tar.xz --directory=doc/_build html
|
||||
tar --use-compress-program="xz -T0" -cf api-output.tar.xz --directory=doc/_build html/doxygen/html
|
||||
tar --use-compress-program="xz -T0" -cf api-coverage.tar.xz coverage-report
|
||||
tar cfJ html-output.tar.xz --directory=doc/_build html
|
||||
tar cfJ api-output.tar.xz --directory=doc/_build html/doxygen/html
|
||||
tar cfJ api-coverage.tar.xz coverage-report
|
||||
|
||||
- name: upload-build
|
||||
uses: actions/upload-artifact@v4
|
||||
|
|
3
.github/workflows/manifest.yml
vendored
3
.github/workflows/manifest.yml
vendored
|
@ -26,13 +26,12 @@ jobs:
|
|||
west init -l . || true
|
||||
|
||||
- name: Manifest
|
||||
uses: zephyrproject-rtos/action-manifest@v1.3.0
|
||||
uses: zephyrproject-rtos/action-manifest@v1.2.2
|
||||
with:
|
||||
github-token: ${{ secrets.ZB_GITHUB_TOKEN }}
|
||||
manifest-path: 'west.yml'
|
||||
checkout-path: 'zephyrproject/zephyr'
|
||||
use-tree-checkout: 'true'
|
||||
check-impostor-commits: 'true'
|
||||
label-prefix: 'manifest-'
|
||||
verbosity-level: '1'
|
||||
labels: 'manifest'
|
||||
|
|
|
@ -41,7 +41,6 @@
|
|||
/soc/riscv/riscv-privileged/gd32vf103/ @soburi
|
||||
/soc/starfive/jh71xx/ @pfarwsi
|
||||
/soc/riscv/riscv-privileged/niosv/ @sweeaun
|
||||
/boards/adafruit/feather_nrf52840/ @jacobw
|
||||
/boards/ene/ @ene-steven
|
||||
/boards/arm/96b_argonkey/ @avisconti
|
||||
/boards/arm/96b_avenger96/ @Mani-Sadhasivam
|
||||
|
@ -327,6 +326,7 @@
|
|||
/drivers/serial/uart_altera.c @gohshunjing
|
||||
/drivers/serial/*ns16550* @dcpleung @nashif @gdengi
|
||||
/drivers/serial/*nrfx* @anangl
|
||||
/drivers/serial/uart_liteuart.c @mateusz-holenko @kgugala @pgielda
|
||||
/drivers/serial/Kconfig.mcux_iuart @Mani-Sadhasivam
|
||||
/drivers/serial/uart_mcux_iuart.c @Mani-Sadhasivam
|
||||
/drivers/serial/Kconfig.rtt @carlescufi @pkral78
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
# Constant variables to be used across Kconfig options
|
||||
|
||||
# Copyright (c) 2024 basalte bv
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
INT8_MIN := -128
|
||||
INT16_MIN := -32768
|
||||
INT32_MIN := -2147483648
|
||||
INT64_MIN := -9223372036854775808
|
||||
|
||||
INT8_MAX := 127
|
||||
INT16_MAX := 32767
|
||||
INT32_MAX := 2147483647
|
||||
INT64_MAX := 9223372036854775807
|
||||
|
||||
UINT8_MAX := 255
|
||||
UINT16_MAX := 65535
|
||||
UINT32_MAX := 4294967295
|
||||
UINT64_MAX := 18446744073709551615
|
|
@ -5,8 +5,6 @@
|
|||
# Copyright (c) 2023 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
source "Kconfig.constants"
|
||||
|
||||
osource "${APPLICATION_SOURCE_DIR}/VERSION"
|
||||
|
||||
# Include Kconfig.defconfig files first so that they can override defaults and
|
||||
|
|
|
@ -3208,8 +3208,6 @@ ADI Platforms:
|
|||
maintainers:
|
||||
- MaureenHelm
|
||||
collaborators:
|
||||
- ozersa
|
||||
- ttmut
|
||||
- galak
|
||||
- microbuilder
|
||||
files:
|
||||
|
@ -3446,9 +3444,6 @@ NXP Drivers:
|
|||
- manuargue
|
||||
- dbaluta
|
||||
- MarkWangChinese
|
||||
files-regex:
|
||||
- ^drivers/.*nxp.*
|
||||
- ^drivers/.*mcux.*
|
||||
files:
|
||||
- drivers/*/*imx*
|
||||
- drivers/*/*lpc*.c
|
||||
|
@ -3681,14 +3676,13 @@ Renesas RA Platforms:
|
|||
- thaoluonguw
|
||||
files:
|
||||
- boards/arduino/uno_r4/
|
||||
- boards/renesas/*ra8*/
|
||||
- drivers/*/*renesas_ra*
|
||||
- drivers/pinctrl/renesas/ra/
|
||||
- dts/arm/renesas/ra/
|
||||
- dts/bindings/*/*renesas,ra*
|
||||
- soc/renesas/ra/
|
||||
labels:
|
||||
- "platform: Renesas RA"
|
||||
- "platforms: Renesas RA"
|
||||
description: >-
|
||||
Renesas RA SOCs, dts files, and related drivers. Boards based
|
||||
on Renesas RA SoCs.
|
||||
|
@ -3895,6 +3889,7 @@ LiteX Platforms:
|
|||
files:
|
||||
- boards/enjoydigital/litex_vexriscv/
|
||||
- drivers/*/*litex*
|
||||
- drivers/spi/spi_litespi*
|
||||
- drivers/*/Kconfig.litex
|
||||
- dts/bindings/*/litex*
|
||||
- dts/riscv/riscv32-litex-vexriscv.dtsi
|
||||
|
@ -4386,7 +4381,6 @@ West:
|
|||
- MaureenHelm
|
||||
collaborators:
|
||||
- ozersa
|
||||
- ttmut
|
||||
files: []
|
||||
labels:
|
||||
- "platform: ADI"
|
||||
|
|
4
VERSION
4
VERSION
|
@ -1,5 +1,5 @@
|
|||
VERSION_MAJOR = 3
|
||||
VERSION_MINOR = 7
|
||||
PATCHLEVEL = 99
|
||||
PATCHLEVEL = 0
|
||||
VERSION_TWEAK = 0
|
||||
EXTRAVERSION =
|
||||
EXTRAVERSION = rc3
|
||||
|
|
|
@ -32,7 +32,6 @@ config ARM
|
|||
bool
|
||||
select ARCH_IS_SET
|
||||
select ARCH_SUPPORTS_COREDUMP if CPU_CORTEX_M
|
||||
select ARCH_SUPPORTS_COREDUMP_THREADS if CPU_CORTEX_M
|
||||
# FIXME: current state of the code for all ARM requires this, but
|
||||
# is really only necessary for Cortex-M with ARM MPU!
|
||||
select GEN_PRIV_STACKS
|
||||
|
@ -655,9 +654,6 @@ config ARCH_HAS_NESTED_EXCEPTION_DETECTION
|
|||
config ARCH_SUPPORTS_COREDUMP
|
||||
bool
|
||||
|
||||
config ARCH_SUPPORTS_COREDUMP_THREADS
|
||||
bool
|
||||
|
||||
config ARCH_SUPPORTS_ARCH_HW_INIT
|
||||
bool
|
||||
|
||||
|
|
|
@ -330,7 +330,7 @@ config ZERO_LATENCY_IRQS
|
|||
config ZERO_LATENCY_LEVELS
|
||||
int "Number of interrupt priority levels reserved for zero latency"
|
||||
depends on ZERO_LATENCY_IRQS
|
||||
range 1 $(UINT8_MAX)
|
||||
range 1 255
|
||||
help
|
||||
The amount of interrupt priority levels reserved for zero latency
|
||||
interrupts. Increase this value to reserve more than one priority
|
||||
|
|
|
@ -226,13 +226,6 @@ void _Fault(struct arch_esf *esf)
|
|||
unsigned int reason = K_ERR_CPU_EXCEPTION;
|
||||
|
||||
if (bad_stack_pointer(esf)) {
|
||||
#ifdef CONFIG_PMP_STACK_GUARD
|
||||
/*
|
||||
* Remove the thread's PMP setting to prevent triggering a stack
|
||||
* overflow error again due to the previous configuration.
|
||||
*/
|
||||
z_riscv_pmp_stackguard_disable();
|
||||
#endif /* CONFIG_PMP_STACK_GUARD */
|
||||
reason = K_ERR_STACK_CHK_FAIL;
|
||||
}
|
||||
|
||||
|
|
|
@ -347,21 +347,6 @@ no_fp: /* increment _current->arch.exception_depth */
|
|||
*/
|
||||
li t1, RISCV_EXC_ECALLU
|
||||
beq t0, t1, is_user_syscall
|
||||
|
||||
#ifdef CONFIG_PMP_STACK_GUARD
|
||||
/*
|
||||
* Determine if we come from user space. If so, reconfigure the PMP for
|
||||
* kernel mode stack guard.
|
||||
*/
|
||||
csrr t0, mstatus
|
||||
li t1, MSTATUS_MPP
|
||||
and t0, t0, t1
|
||||
bnez t0, 1f
|
||||
lr a0, ___cpu_t_current_OFFSET(s0)
|
||||
call z_riscv_pmp_stackguard_enable
|
||||
1:
|
||||
#endif /* CONFIG_PMP_STACK_GUARD */
|
||||
|
||||
#endif /* CONFIG_USERSPACE */
|
||||
|
||||
/*
|
||||
|
|
|
@ -511,37 +511,6 @@ void z_riscv_pmp_stackguard_enable(struct k_thread *thread)
|
|||
csr_set(mstatus, MSTATUS_MPRV);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Remove PMP stackguard content to actual PMP registers
|
||||
*/
|
||||
void z_riscv_pmp_stackguard_disable(void)
|
||||
{
|
||||
|
||||
unsigned long pmp_addr[PMP_M_MODE_SLOTS];
|
||||
unsigned long pmp_cfg[PMP_M_MODE_SLOTS / sizeof(unsigned long)];
|
||||
unsigned int index = global_pmp_end_index;
|
||||
|
||||
/* Retrieve the pmpaddr value matching the last global PMP slot. */
|
||||
pmp_addr[global_pmp_end_index - 1] = global_pmp_last_addr;
|
||||
|
||||
/* Disable (non-locked) PMP entries for m-mode while we update them. */
|
||||
csr_clear(mstatus, MSTATUS_MPRV);
|
||||
|
||||
/*
|
||||
* Set a temporary default "catch all" PMP entry for MPRV to work,
|
||||
* except for the global locked entries.
|
||||
*/
|
||||
set_pmp_mprv_catchall(&index, pmp_addr, pmp_cfg, ARRAY_SIZE(pmp_addr));
|
||||
|
||||
/* Write "catch all" entry and clear unlocked entries to PMP regs. */
|
||||
write_pmp_entries(global_pmp_end_index, index,
|
||||
true, pmp_addr, pmp_cfg, ARRAY_SIZE(pmp_addr));
|
||||
|
||||
if (PMP_DEBUG_DUMP) {
|
||||
dump_pmp_regs("catch all register dump");
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* CONFIG_PMP_STACK_GUARD */
|
||||
|
||||
#ifdef CONFIG_USERSPACE
|
||||
|
|
|
@ -58,12 +58,12 @@ static inline bool in_user_thread_stack_bound(uintptr_t addr, const struct k_thr
|
|||
|
||||
/* See: zephyr/include/zephyr/arch/riscv/arch.h */
|
||||
if (IS_ENABLED(CONFIG_PMP_POWER_OF_TWO_ALIGNMENT)) {
|
||||
start = thread->arch.priv_stack_start + Z_RISCV_STACK_GUARD_SIZE;
|
||||
start = thread->arch.priv_stack_start - CONFIG_PRIVILEGED_STACK_SIZE;
|
||||
end = thread->arch.priv_stack_start;
|
||||
} else {
|
||||
start = thread->stack_info.start - CONFIG_PRIVILEGED_STACK_SIZE;
|
||||
end = thread->stack_info.start;
|
||||
}
|
||||
end = Z_STACK_PTR_ALIGN(thread->arch.priv_stack_start + K_KERNEL_STACK_RESERVED +
|
||||
CONFIG_PRIVILEGED_STACK_SIZE);
|
||||
|
||||
return (addr >= start) && (addr < end);
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
void z_riscv_pmp_init(void);
|
||||
void z_riscv_pmp_stackguard_prepare(struct k_thread *thread);
|
||||
void z_riscv_pmp_stackguard_enable(struct k_thread *thread);
|
||||
void z_riscv_pmp_stackguard_disable(void);
|
||||
void z_riscv_pmp_usermode_init(struct k_thread *thread);
|
||||
void z_riscv_pmp_usermode_prepare(struct k_thread *thread);
|
||||
void z_riscv_pmp_usermode_enable(struct k_thread *thread);
|
||||
|
|
|
@ -205,7 +205,7 @@ config MAX_IRQ_LINES
|
|||
config IRQ_OFFLOAD_VECTOR
|
||||
int "IDT vector to use for IRQ offload"
|
||||
default 33
|
||||
range 32 $(UINT8_MAX)
|
||||
range 32 255
|
||||
depends on IRQ_OFFLOAD
|
||||
|
||||
config PIC_DISABLE
|
||||
|
|
|
@ -42,13 +42,13 @@ config X86_EXCEPTION_STACK_TRACE
|
|||
config SCHED_IPI_VECTOR
|
||||
int "IDT vector to use for scheduler IPI"
|
||||
default 34
|
||||
range 33 $(UINT8_MAX)
|
||||
range 33 255
|
||||
depends on SMP
|
||||
|
||||
config TLB_IPI_VECTOR
|
||||
int "IDT vector to use for TLB shootdown IPI"
|
||||
default 35
|
||||
range 33 $(UINT8_MAX)
|
||||
range 33 255
|
||||
depends on SMP
|
||||
|
||||
# We should really only have to provide one of the following two values,
|
||||
|
|
|
@ -17,5 +17,3 @@ if(EXISTS ${BOARD_DIR}/CMakeLists.txt)
|
|||
|
||||
add_subdirectory(${BOARD_DIR} ${build_dir})
|
||||
endif()
|
||||
|
||||
add_subdirectory(shields)
|
||||
|
|
10
boards/adafruit/feather/Kconfig
Normal file
10
boards/adafruit/feather/Kconfig
Normal file
|
@ -0,0 +1,10 @@
|
|||
# Adafruit Feather nRF52840 Express board configuration
|
||||
|
||||
# Copyright (c) 2020 Tobias Svehagen
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_ENABLE_DCDC
|
||||
bool "DCDC mode"
|
||||
select SOC_DCDC_NRF52X
|
||||
default y
|
||||
depends on BOARD_ADAFRUIT_FEATHER
|
|
@ -1,8 +1,7 @@
|
|||
# Adafruit Feather nRF52840 Express board configuration
|
||||
|
||||
# Copyright (c) 2020 Tobias Svehagen
|
||||
# Copyright (c) 2024 Jacob Winther
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_ADAFRUIT_FEATHER_NRF52840_SENSE
|
||||
config BOARD_ADAFRUIT_FEATHER
|
||||
select SOC_NRF52840_QIAA
|
|
@ -1,8 +1,11 @@
|
|||
# Adafruit Feather nRF52840 Express board configuration
|
||||
|
||||
# Copyright (c) 2020 Tobias Svehagen
|
||||
# Copyright (c) 2024 Jacob Winther
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_ADAFRUIT_FEATHER_NRF52840_EXPRESS
|
||||
select SOC_NRF52840_QIAA
|
||||
if BOARD_ADAFRUIT_FEATHER
|
||||
|
||||
config BT_CTLR
|
||||
default BT
|
||||
|
||||
endif # BOARD_ADAFRUIT_FEATHER
|
|
@ -1,6 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2020 Tobias Svehagen
|
||||
* Copyright (c) 2024 Jacob Winther
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
@ -12,16 +11,25 @@
|
|||
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||
|
||||
/ {
|
||||
model = "Adafruit Feather nRF52840 Express";
|
||||
compatible = "adafruit,feather-nrf52840";
|
||||
|
||||
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;
|
||||
zephyr,ieee802154 = &ieee802154;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
led0: led_0 {
|
||||
gpios = <&gpio1 15 0>;
|
||||
label = "Red LED";
|
||||
};
|
||||
led1: led_1 {
|
||||
|
@ -111,7 +119,7 @@
|
|||
writeoc = "pp4o";
|
||||
readoc = "read4io";
|
||||
sck-frequency = <16000000>;
|
||||
jedec-id = [ c8 40 15 ];
|
||||
jedec-id = [c8 40 15];
|
||||
size = <16777216>;
|
||||
has-dpd;
|
||||
t-enter-dpd = <20000>;
|
||||
|
@ -124,6 +132,43 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&flash0 {
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
boot_partition: partition@0 {
|
||||
label = "mcuboot";
|
||||
reg = <0x00000000 0x0000C000>;
|
||||
};
|
||||
slot0_partition: partition@c000 {
|
||||
label = "image-0";
|
||||
reg = <0x0000C000 0x00067000>;
|
||||
};
|
||||
slot1_partition: partition@73000 {
|
||||
label = "image-1";
|
||||
reg = <0x00073000 0x00067000>;
|
||||
};
|
||||
scratch_partition: partition@da000 {
|
||||
label = "image-scratch";
|
||||
reg = <0x000da000 0x0001e000>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The flash starting at 0x000f8000 and ending at
|
||||
* 0x000fffff is reserved for use by the application.
|
||||
*/
|
||||
|
||||
/* Storage partition will be used by FCB/NFFS/NVS if enabled. */
|
||||
storage_partition: partition@f8000 {
|
||||
label = "storage";
|
||||
reg = <0x000f8000 0x00008000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
zephyr_udc0: &usbd {
|
||||
compatible = "nordic,nrf-usbd";
|
||||
status = "okay";
|
|
@ -1,4 +1,4 @@
|
|||
identifier: adafruit_feather_nrf52840_express
|
||||
identifier: adafruit_feather/nrf52840
|
||||
name: Adafruit Feather nRF52840 Express
|
||||
type: mcu
|
||||
arch: arm
|
|
@ -2,9 +2,6 @@
|
|||
|
||||
board_runner_args(jlink "--device=nRF52840_xxAA" "--speed=4000")
|
||||
board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000")
|
||||
if(CONFIG_BOARD_ADAFRUIT_FEATHER_NRF52840_SENSE)
|
||||
include(${ZEPHYR_BASE}/boards/common/uf2.board.cmake)
|
||||
endif()
|
||||
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
||||
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
|
||||
include(${ZEPHYR_BASE}/boards/common/blackmagicprobe.board.cmake)
|
5
boards/adafruit/feather/board.yml
Normal file
5
boards/adafruit/feather/board.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
board:
|
||||
name: adafruit_feather
|
||||
vendor: adafruit
|
||||
socs:
|
||||
- name: nrf52840
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
|
@ -1,7 +1,7 @@
|
|||
.. _adafruit_feather_nrf52840:
|
||||
|
||||
Adafruit Feather nRF52840 (Express, Sense)
|
||||
##########################################
|
||||
Adafruit Feather nRF52840 Express
|
||||
#################################
|
||||
|
||||
Overview
|
||||
********
|
||||
|
@ -25,19 +25,9 @@ nRF52840 ARM Cortex-M4F CPU and the following devices:
|
|||
* :abbr:`USB (Universal Serial Bus)`
|
||||
* :abbr:`WDT (Watchdog Timer)`
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Express
|
||||
|
||||
.. figure:: img/adafruit_feather_nrf52840_express.jpg
|
||||
:align: center
|
||||
:alt: Adafruit Feather nRF52840 Express
|
||||
|
||||
.. group-tab:: Sense
|
||||
|
||||
.. figure:: img/adafruit_feather_nrf52840_sense.jpg
|
||||
:align: center
|
||||
:alt: Adafruit Feather nRF52840 Sense
|
||||
.. figure:: img/adafruit_feather_nrf52840.jpg
|
||||
:align: center
|
||||
:alt: Adafruit Feather nRF52840 Express
|
||||
|
||||
Hardware
|
||||
********
|
||||
|
@ -49,14 +39,7 @@ Hardware
|
|||
- 2 User LEDs
|
||||
- 1 NeoPixel LED
|
||||
- Reset button
|
||||
- SWD connector (Express only)
|
||||
- SWD solder pads on bottom of PCB (Sense only)
|
||||
- LSM6DS33 Accel/Gyro (Sense only)
|
||||
- LIS3MDL magnetometer (Sense only)
|
||||
- APDS9960 Proximity, Light, Color, and Gesture Sensor (Sense only)
|
||||
- MP34DT01-M PDM Microphone sound sensor (Sense only)
|
||||
- SHT3X Humidity sensor (Sense only)
|
||||
- BMP280 temperature and barometric pressure/altitude (Sense only)
|
||||
- SWD connector
|
||||
|
||||
Supported Features
|
||||
==================
|
||||
|
@ -102,25 +85,13 @@ Other hardware features have not been enabled yet for this board.
|
|||
Connections and IOs
|
||||
===================
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Express
|
||||
|
||||
The `Adafruit Feather nRF52840 Express Learn site`_ has
|
||||
detailed information about the board including
|
||||
`pinouts (Express)`_ and the `schematic (Express)`_.
|
||||
|
||||
.. group-tab:: Sense
|
||||
|
||||
The `Adafruit Feather nRF52840 Sense Learn site`_ has
|
||||
detailed information about the board including
|
||||
`pinouts (Sense)`_ and the `schematic (Sense)`_.
|
||||
The `Adafruit Feather nRF52840 Express Learn site`_ has detailed
|
||||
information about the board including `pinouts`_ and the `schematic`_.
|
||||
|
||||
LED
|
||||
---
|
||||
|
||||
* LED0 (red) = P1.15 (Express)
|
||||
* LED0 (red) = P1.9 (Sense)
|
||||
* LED0 (red) = P1.15
|
||||
* LED1 (blue) = P1.10
|
||||
|
||||
Push buttons
|
||||
|
@ -132,56 +103,33 @@ Push buttons
|
|||
Programming and Debugging
|
||||
*************************
|
||||
|
||||
Applications for the ``adafruit_feather/nrf52840`` board configuration
|
||||
can be built and flashed in the usual way (see :ref:`build_an_application`
|
||||
and :ref:`application_run` for more details).
|
||||
|
||||
Flashing
|
||||
========
|
||||
|
||||
Flashing Zephyr onto the ``adafruit_feather_nrf52480_express`` board is possible
|
||||
using an external programmer. The programmer is attached to the SWD header.
|
||||
Flashing Zephyr onto the ``adafruit_feather_nrf52480`` board requires
|
||||
an external programmer. The programmer is attached to the SWD header.
|
||||
|
||||
The Feather nRF52840 ships with the `Adafruit nRF52 Bootloader`_ which
|
||||
supports flashing using `UF2`_. This allows easy flashing of new images,
|
||||
but does not support debugging the device.
|
||||
Build the Zephyr kernel and the :zephyr:code-sample:`blinky` sample application.
|
||||
|
||||
#. Build the Zephyr kernel and the :zephyr:code-sample:`blinky` sample application.
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/basic/blinky
|
||||
:board: adafruit_feather/nrf52840
|
||||
:goals: build
|
||||
:compact:
|
||||
|
||||
.. tabs::
|
||||
Flash the image.
|
||||
|
||||
.. group-tab:: Express
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/basic/blinky
|
||||
:board: adafruit_feather/nrf52840
|
||||
:goals: flash
|
||||
:compact:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/basic/blinky
|
||||
:board: adafruit_feather_nrf52840_express/nrf52840
|
||||
:goals: build
|
||||
:compact:
|
||||
|
||||
.. group-tab:: Sense
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/basic/blinky
|
||||
:board: adafruit_feather_nrf52840_sense/nrf52840
|
||||
:goals: build
|
||||
:compact:
|
||||
|
||||
#. If using UF2, connect the board to your host computer using USB.
|
||||
|
||||
#. Tap the reset button twice quickly to enter bootloader mode.
|
||||
A mass storage device named `FTHR840BOOT` for (Express) or
|
||||
`FTHRSNSBOOT` (Sense) should appear on the host. Ensure this is
|
||||
mounted.
|
||||
|
||||
#. Flash the image.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Sense
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/basic/blinky
|
||||
:board: adafruit_feather_nrf52840_sense
|
||||
:goals: flash
|
||||
:compact:
|
||||
|
||||
#. You should see the red LED blink.
|
||||
You should see the red LED blink.
|
||||
|
||||
References
|
||||
**********
|
||||
|
@ -191,23 +139,8 @@ References
|
|||
.. _Adafruit Feather nRF52840 Express Learn site:
|
||||
https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/
|
||||
|
||||
.. _pinouts (Express):
|
||||
.. _pinouts:
|
||||
https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/pinouts
|
||||
|
||||
.. _schematic (Express):
|
||||
.. _schematic:
|
||||
https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/downloads
|
||||
|
||||
.. _Adafruit Feather nRF52840 Sense Learn site:
|
||||
https://learn.adafruit.com/adafruit-feather-sense
|
||||
|
||||
.. _pinouts (Sense):
|
||||
https://learn.adafruit.com/adafruit-feather-sense/pinouts
|
||||
|
||||
.. _schematic (Sense):
|
||||
https://learn.adafruit.com/adafruit-feather-sense/downloads
|
||||
|
||||
.. _Adafruit nRF52 Bootloader:
|
||||
https://github.com/adafruit/Adafruit_nRF52_Bootloader
|
||||
|
||||
.. _UF2:
|
||||
https://github.com/microsoft/uf2
|
|
@ -1,18 +0,0 @@
|
|||
# Adafruit Feather nRF52840 Express board configuration
|
||||
|
||||
# Copyright (c) 2020 Tobias Svehagen
|
||||
# Copyright (c) 2024 Jacob Winther
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_ENABLE_DCDC
|
||||
bool "DCDC mode"
|
||||
select SOC_DCDC_NRF52X
|
||||
default y
|
||||
depends on BOARD_ADAFRUIT_FEATHER_NRF52840_EXPRESS || BOARD_ADAFRUIT_FEATHER_NRF52840_SENSE
|
||||
|
||||
if BOARD_ADAFRUIT_FEATHER_NRF52840_SENSE
|
||||
config BOARD_SERIAL_BACKEND_CDC_ACM
|
||||
bool "USB CDC"
|
||||
default y
|
||||
|
||||
endif # BOARD_ADAFRUIT_FEATHER_NRF52840_SENSE
|
|
@ -1,54 +0,0 @@
|
|||
# Adafruit Feather nRF52840 Express board configuration
|
||||
|
||||
# Copyright (c) 2020 Tobias Svehagen
|
||||
# Copyright (c) 2024 Jacob Winther
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if (BOARD_ADAFRUIT_FEATHER_NRF52840_EXPRESS || BOARD_ADAFRUIT_FEATHER_NRF52840_SENSE)
|
||||
|
||||
config BT_CTLR
|
||||
default BT
|
||||
|
||||
if BOARD_SERIAL_BACKEND_CDC_ACM
|
||||
|
||||
config USB_DEVICE_STACK
|
||||
default y
|
||||
|
||||
config USB_CDC_ACM
|
||||
default SERIAL
|
||||
|
||||
config UART_CONSOLE
|
||||
default CONSOLE
|
||||
|
||||
config USB_DEVICE_INITIALIZE_AT_BOOT
|
||||
default y if CONSOLE
|
||||
|
||||
config SHELL_BACKEND_SERIAL_CHECK_DTR
|
||||
default SHELL
|
||||
depends on UART_LINE_CTRL
|
||||
|
||||
config UART_LINE_CTRL
|
||||
default SHELL
|
||||
|
||||
config USB_DEVICE_REMOTE_WAKEUP
|
||||
default n
|
||||
|
||||
if LOG
|
||||
|
||||
# Logger cannot use itself to log
|
||||
config USB_CDC_ACM_LOG_LEVEL
|
||||
default 0
|
||||
|
||||
# Set USB log level to error only
|
||||
config USB_DEVICE_LOG_LEVEL
|
||||
default 1
|
||||
|
||||
# Wait 1500ms at startup for logging
|
||||
config LOG_PROCESS_THREAD_STARTUP_DELAY_MS
|
||||
default 1500
|
||||
|
||||
endif # LOG
|
||||
|
||||
endif # BOARD_SERIAL_BACKEND_CDC_ACM
|
||||
|
||||
endif # BOARD_ADAFRUIT_FEATHER_NRF52840_EXPRESS || BOARD_ADAFRUIT_FEATHER_NRF52840_SENSE
|
|
@ -1,66 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2020 Tobias Svehagen
|
||||
* Copyright (c) 2024 Jacob Winther
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "adafruit_feather_nrf52840_common.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Adafruit Feather nRF52840 Express";
|
||||
compatible = "adafruit,feather_nrf52840-express";
|
||||
|
||||
chosen {
|
||||
zephyr,console = &uart0;
|
||||
zephyr,shell-uart = &uart0;
|
||||
zephyr,uart-mcumgr = &uart0;
|
||||
zephyr,bt-mon-uart = &uart0;
|
||||
zephyr,bt-c2h-uart = &uart0;
|
||||
zephyr,code-partition = &slot0_partition;
|
||||
};
|
||||
|
||||
leds {
|
||||
led0: led_0 {
|
||||
gpios = <&gpio1 15 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&flash0 {
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
boot_partition: partition@0 {
|
||||
label = "mcuboot";
|
||||
reg = <0x00000000 0x0000C000>;
|
||||
};
|
||||
slot0_partition: partition@c000 {
|
||||
label = "image-0";
|
||||
reg = <0x0000C000 0x00067000>;
|
||||
};
|
||||
slot1_partition: partition@73000 {
|
||||
label = "image-1";
|
||||
reg = <0x00073000 0x00067000>;
|
||||
};
|
||||
scratch_partition: partition@da000 {
|
||||
label = "image-scratch";
|
||||
reg = <0x000da000 0x0001e000>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The flash starting at 0x000f8000 and ending at
|
||||
* 0x000fffff is reserved for use by the application.
|
||||
*/
|
||||
|
||||
/* Storage partition will be used by FCB/NFFS/NVS if enabled. */
|
||||
storage_partition: partition@f8000 {
|
||||
label = "storage";
|
||||
reg = <0x000f8000 0x00008000>;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -1,78 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2020 Tobias Svehagen
|
||||
* Copyright (c) 2024 Jacob Winther
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "adafruit_feather_nrf52840_common.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Adafruit Feather nRF52840 Sense";
|
||||
compatible = "adafruit,feather_nrf52840-sense";
|
||||
|
||||
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,code-partition = &code_partition;
|
||||
};
|
||||
|
||||
leds {
|
||||
led0: led_0 {
|
||||
gpios = <&gpio1 9 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
SHT3XD: sht3xd@44 {
|
||||
compatible = "sensirion,sht3xd";
|
||||
reg = <0x44>;
|
||||
};
|
||||
};
|
||||
|
||||
&flash0 {
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
/* To enable flashing with UF2 bootloader, we
|
||||
* must reserve a partition for SoftDevice.
|
||||
* See https://learn.adafruit.com/
|
||||
* introducing-the-adafruit-nrf52840-feather?view=all#hathach-memory-map
|
||||
*/
|
||||
reserved_partition_0: partition@0 {
|
||||
label = "SoftDevice";
|
||||
reg = <0x000000000 DT_SIZE_K(152)>;
|
||||
};
|
||||
code_partition: partition@26000 {
|
||||
label = "Application";
|
||||
reg = <0x00026000 DT_SIZE_K(796)>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The flash starting at 0x000ed000 and ending at
|
||||
* 0x000f4000 is reserved for use by the application.
|
||||
*/
|
||||
storage_partition: partition@ed000 {
|
||||
label = "storage";
|
||||
reg = <0x0000ed000 DT_SIZE_K(28)>;
|
||||
};
|
||||
|
||||
boot_partition: partition@f4000 {
|
||||
label = "UF2";
|
||||
reg = <0x000f4000 DT_SIZE_K(48)>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
zephyr_udc0: &usbd {
|
||||
cdc_acm_uart0: cdc_acm_uart0 {
|
||||
compatible = "zephyr,cdc-acm-uart";
|
||||
};
|
||||
};
|
|
@ -1,19 +0,0 @@
|
|||
identifier: adafruit_feather_nrf52840_sense
|
||||
name: Adafruit Feather nRF52840 Sense
|
||||
type: mcu
|
||||
arch: arm
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
- xtools
|
||||
supported:
|
||||
- adc
|
||||
- usb_device
|
||||
- usb_cdc
|
||||
- ble
|
||||
- watchdog
|
||||
- counter
|
||||
- feather_serial
|
||||
- feather_i2c
|
||||
- feather_spi
|
||||
vendor: adafruit
|
|
@ -1,25 +0,0 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Enable MPU
|
||||
CONFIG_ARM_MPU=y
|
||||
|
||||
# enable GPIO
|
||||
CONFIG_GPIO=y
|
||||
|
||||
# enable uart driver
|
||||
CONFIG_SERIAL=y
|
||||
|
||||
# enable console
|
||||
CONFIG_CONSOLE=y
|
||||
CONFIG_UART_CONSOLE=y
|
||||
|
||||
# 32kHz clock source
|
||||
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
|
||||
CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y
|
||||
|
||||
# enable bossac
|
||||
CONFIG_BOOTLOADER_BOSSA=y
|
||||
CONFIG_BOOTLOADER_BOSSA_ADAFRUIT_UF2=y
|
||||
|
||||
# Build UF2 by default, supported by the Adafruit nRF52 Bootloader
|
||||
CONFIG_BUILD_OUTPUT_UF2=y
|
|
@ -1,9 +0,0 @@
|
|||
boards:
|
||||
- name: adafruit_feather_nrf52840_express
|
||||
vendor: adafruit
|
||||
socs:
|
||||
- name: nrf52840
|
||||
- name: adafruit_feather_nrf52840_sense
|
||||
vendor: adafruit
|
||||
socs:
|
||||
- name: nrf52840
|
Binary file not shown.
Before Width: | Height: | Size: 35 KiB |
|
@ -93,10 +93,6 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&trng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
arduino_serial: &uart1 {
|
||||
clock-source = <ADI_MAX32_PRPH_CLK_SRC_IBRO>;
|
||||
pinctrl-0 = <&uart1a_tx_p2_16 &uart1a_rx_p2_14>;
|
||||
|
|
|
@ -13,6 +13,5 @@ supported:
|
|||
- gpio
|
||||
- serial
|
||||
- spi
|
||||
- trng
|
||||
ram: 1024
|
||||
flash: 3072
|
||||
|
|
|
@ -113,8 +113,6 @@ Below interfaces are supported by Zephyr on APARD32690.
|
|||
+-----------+------------+------------------------------------+
|
||||
| ADIN1110 | spi | ADIN1110 10BASE-T1L mac/phy |
|
||||
+-----------+------------+------------------------------------+
|
||||
| TRNG | on-chip | entropy |
|
||||
+-----------+------------+------------------------------------+
|
||||
|
||||
|
||||
Connections and IOs
|
||||
|
|
|
@ -87,10 +87,6 @@ Below are the interfaces supported by Zephyr on MAX32655EVKIT.
|
|||
+-----------+------------+-------------------------------------+
|
||||
| UART | on-chip | serial |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| TRNG | on-chip | entropy |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| I2C | on-chip | i2c |
|
||||
+-----------+------------+-------------------------------------+
|
||||
|
||||
Connections and IOs
|
||||
===================
|
||||
|
|
|
@ -91,7 +91,3 @@
|
|||
&gpio3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&trng {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -10,7 +10,5 @@ toolchain:
|
|||
supported:
|
||||
- gpio
|
||||
- serial
|
||||
- trng
|
||||
- i2c
|
||||
ram: 128
|
||||
flash: 512
|
||||
|
|
|
@ -100,10 +100,6 @@ Below are the interfaces supported by Zephyr on MAX32655FTHR.
|
|||
+-----------+------------+-------------------------------------+
|
||||
| UART | on-chip | serial |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| TRNG | on-chip | entropy |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| I2C | on-chip | i2c |
|
||||
+-----------+------------+-------------------------------------+
|
||||
|
||||
Push Buttons
|
||||
************
|
||||
|
|
|
@ -125,7 +125,3 @@
|
|||
&gpio3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&trng {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -10,7 +10,5 @@ toolchain:
|
|||
supported:
|
||||
- gpio
|
||||
- serial
|
||||
- trng
|
||||
- i2c
|
||||
ram: 128
|
||||
flash: 512
|
||||
|
|
|
@ -106,10 +106,6 @@ Below interfaces are supported by Zephyr on MAX32670EVKIT.
|
|||
+-----------+------------+-------------------------------------+
|
||||
| UART | on-chip | serial |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| TRNG | on-chip | entropy |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| I2C | on-chip | i2c |
|
||||
+-----------+------------+-------------------------------------+
|
||||
|
||||
|
||||
Connections and IOs
|
||||
|
|
|
@ -71,7 +71,3 @@
|
|||
&gpio1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&trng {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -10,7 +10,5 @@ toolchain:
|
|||
supported:
|
||||
- gpio
|
||||
- serial
|
||||
- trng
|
||||
- i2c
|
||||
ram: 160
|
||||
flash: 384
|
||||
|
|
|
@ -99,10 +99,6 @@ Below interfaces are supported by Zephyr on MAX32672EVKIT.
|
|||
+-----------+------------+-------------------------------------+
|
||||
| UART | on-chip | serial |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| TRNG | on-chip | entropy |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| I2C | on-chip | i2c |
|
||||
+-----------+------------+-------------------------------------+
|
||||
|
||||
|
||||
Connections and IOs
|
||||
|
|
|
@ -71,7 +71,3 @@
|
|||
&gpio1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&trng {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -10,7 +10,5 @@ toolchain:
|
|||
supported:
|
||||
- gpio
|
||||
- serial
|
||||
- trng
|
||||
- i2c
|
||||
ram: 200
|
||||
flash: 1024
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
# MAX32672FTHR boards configuration
|
||||
|
||||
# Copyright (c) 2024 Analog Devices, Inc.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if BOARD_MAX32672FTHR
|
||||
|
||||
if DISPLAY
|
||||
|
||||
if LVGL
|
||||
|
||||
# LVGL should allocate buffers equal to size of display
|
||||
config LV_Z_VDB_SIZE
|
||||
default 64
|
||||
|
||||
# Default Dot Per Inch. [px/inch]
|
||||
# Used to initialize default sizes such as widgets sized, style paddings.
|
||||
config LV_DPI_DEF
|
||||
default 128
|
||||
|
||||
config LV_Z_BITS_PER_PIXEL
|
||||
default 1
|
||||
|
||||
# Use offloaded render thread
|
||||
config LV_Z_FLUSH_THREAD
|
||||
default y
|
||||
|
||||
choice LV_COLOR_DEPTH
|
||||
default LV_COLOR_DEPTH_1 # 1 byte per pixel
|
||||
endchoice
|
||||
|
||||
endif # LVGL
|
||||
|
||||
endif # DISPLAY
|
||||
|
||||
endif # BOARD_MAX32672FTHR
|
|
@ -101,10 +101,6 @@ Below interfaces are supported by Zephyr on MAX32672FTHR.
|
|||
+-----------+------------+-------------------------------------+
|
||||
| UART | on-chip | serial |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| TRNG | on-chip | entropy |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| I2C | on-chip | i2c |
|
||||
+-----------+------------+-------------------------------------+
|
||||
|
||||
|
||||
Connections and IOs
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
zephyr,shell-uart = &uart0;
|
||||
zephyr,sram = &sram3;
|
||||
zephyr,flash = &flash0;
|
||||
zephyr,display = &ssd1306;
|
||||
};
|
||||
|
||||
leds {
|
||||
|
@ -106,30 +105,3 @@
|
|||
&gpio1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&trng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-0 = <&i2c2a_scl_p0_18 &i2c2a_sda_p0_19>;
|
||||
pinctrl-names = "default";
|
||||
clock-frequency = <I2C_BITRATE_FAST>;
|
||||
status = "okay";
|
||||
|
||||
ssd1306: ssd1306@3d {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3d>;
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
inversion-on;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -10,7 +10,5 @@ toolchain:
|
|||
supported:
|
||||
- gpio
|
||||
- serial
|
||||
- trng
|
||||
- i2c
|
||||
ram: 200
|
||||
flash: 1024
|
||||
|
|
|
@ -110,10 +110,6 @@ Below interfaces are supported by Zephyr on MAX32680EVKIT.
|
|||
+-----------+------------+-------------------------------------+
|
||||
| UART | on-chip | serial |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| TRNG | on-chip | entropy |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| I2C | on-chip | i2c |
|
||||
+-----------+------------+-------------------------------------+
|
||||
|
||||
Connections and IOs
|
||||
===================
|
||||
|
|
|
@ -81,7 +81,3 @@
|
|||
&gpio2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&trng {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -10,7 +10,5 @@ toolchain:
|
|||
supported:
|
||||
- gpio
|
||||
- serial
|
||||
- trng
|
||||
- i2c
|
||||
ram: 128
|
||||
flash: 512
|
||||
|
|
|
@ -113,8 +113,6 @@ Below interfaces are supported by Zephyr on MAX32690EVKIT.
|
|||
+--------------------------------------------------------------+
|
||||
| I2C | on-chip | i2c |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| TRNG | on-chip | entropy |
|
||||
+-----------+------------+-------------------------------------+
|
||||
|
||||
|
||||
Connections and IOs
|
||||
|
|
|
@ -87,7 +87,3 @@
|
|||
parity = "none";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&trng {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -12,6 +12,5 @@ supported:
|
|||
- serial
|
||||
- spi
|
||||
- i2c
|
||||
- trng
|
||||
ram: 1024
|
||||
flash: 3072
|
||||
|
|
|
@ -69,31 +69,67 @@
|
|||
group1 {
|
||||
pinmux = <M0SCK_P5>, <M0MISO_P6>, <M0MOSI_P7>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE11_P11>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <0>;
|
||||
ambiq,iom-num = <0>;
|
||||
};
|
||||
};
|
||||
spi1_default: spi1_default {
|
||||
group1 {
|
||||
pinmux = <M1SCK_P8>, <M1MISO_P9>, <M1MOSI_P10>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE14_P14>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <1>;
|
||||
ambiq,iom-num = <1>;
|
||||
};
|
||||
};
|
||||
spi2_default: spi2_default {
|
||||
group1 {
|
||||
pinmux = <M2SCK_P27>, <M2MISO_P25>, <M2MOSI_P28>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE15_P15>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <3>;
|
||||
ambiq,iom-num = <2>;
|
||||
};
|
||||
};
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
pinmux = <M3SCK_P42>, <M3MISO_P43>, <M3MOSI_P38>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE12_P12>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <0>;
|
||||
ambiq,iom-num = <3>;
|
||||
};
|
||||
};
|
||||
spi4_default: spi4_default {
|
||||
group1 {
|
||||
pinmux = <M4SCK_P39>, <M4MISO_P40>, <M4MOSI_P44>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE13_P13>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <1>;
|
||||
ambiq,iom-num = <4>;
|
||||
};
|
||||
};
|
||||
spi5_default: spi5_default {
|
||||
group1 {
|
||||
pinmux = <M5SCK_P48>, <M5MISO_P49>, <M5MOSI_P47>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE16_P16>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <0>;
|
||||
ambiq,iom-num = <5>;
|
||||
};
|
||||
};
|
||||
|
||||
mspi0_default: mspi0_default{
|
||||
|
|
|
@ -106,7 +106,6 @@
|
|||
compatible = "ambiq,spi";
|
||||
pinctrl-0 = <&spi0_default>;
|
||||
pinctrl-names = "default";
|
||||
cs-gpios = <&gpio0_31 11 GPIO_ACTIVE_LOW>;
|
||||
clock-frequency = <DT_FREQ_M(1)>;
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -69,31 +69,73 @@
|
|||
group1 {
|
||||
pinmux = <M0SCK_P5>, <M0MISO_P6>, <M0MOSI_P7>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE11_P11>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-mspi = <1>;
|
||||
ambiq,iom-nce-module = <0>;
|
||||
ambiq,iom-num = <0>;
|
||||
};
|
||||
};
|
||||
spi1_default: spi1_default {
|
||||
group1 {
|
||||
pinmux = <M1SCK_P8>, <M1MISO_P9>, <M1MOSI_P10>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE34_P34>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-mspi = <1>;
|
||||
ambiq,iom-nce-module = <1>;
|
||||
ambiq,iom-num = <1>;
|
||||
};
|
||||
};
|
||||
spi2_default: spi2_default {
|
||||
group1 {
|
||||
pinmux = <M2SCK_P27>, <M2MISO_P25>, <M2MOSI_P28>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE15_P15>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-mspi = <1>;
|
||||
ambiq,iom-nce-module = <3>;
|
||||
ambiq,iom-num = <2>;
|
||||
};
|
||||
};
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
pinmux = <M3SCK_P42>, <M3MISO_P43>, <M3MOSI_P38>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE29_P29>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-mspi = <1>;
|
||||
ambiq,iom-nce-module = <0>;
|
||||
ambiq,iom-num = <3>;
|
||||
};
|
||||
};
|
||||
spi4_default: spi4_default {
|
||||
group1 {
|
||||
pinmux = <M4SCK_P39>, <M4MISO_P40>, <M4MOSI_P44>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE13_P13>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-mspi = <1>;
|
||||
ambiq,iom-nce-module = <1>;
|
||||
ambiq,iom-num = <4>;
|
||||
};
|
||||
};
|
||||
spi5_default: spi5_default {
|
||||
group1 {
|
||||
pinmux = <M5SCK_P48>, <M5MISO_P49>, <M5MOSI_P47>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE16_P16>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-mspi = <1>;
|
||||
ambiq,iom-nce-module = <0>;
|
||||
ambiq,iom-num = <5>;
|
||||
};
|
||||
};
|
||||
|
||||
mspi0_default: mspi0_default{
|
||||
|
|
|
@ -106,7 +106,6 @@
|
|||
compatible = "ambiq,spi";
|
||||
pinctrl-0 = <&spi0_default>;
|
||||
pinctrl-names = "default";
|
||||
cs-gpios = <&gpio0_31 11 GPIO_ACTIVE_LOW>;
|
||||
clock-frequency = <DT_FREQ_M(1)>;
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -13,10 +13,10 @@ config BT_BUF_ACL_TX_COUNT
|
|||
default 14
|
||||
|
||||
config BT_BUF_CMD_TX_SIZE
|
||||
default $(UINT8_MAX)
|
||||
default 255
|
||||
|
||||
config BT_BUF_EVT_RX_SIZE
|
||||
default $(UINT8_MAX)
|
||||
default 255
|
||||
|
||||
config BT_BUF_ACL_TX_SIZE
|
||||
default 251
|
||||
|
|
|
@ -77,41 +77,81 @@
|
|||
group1 {
|
||||
pinmux = <M0SCK_P5>, <M0MISO_P7>, <M0MOSI_P6>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE72_P72>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <0>;
|
||||
};
|
||||
};
|
||||
spi1_default: spi1_default {
|
||||
group1 {
|
||||
pinmux = <M1SCK_P8>, <M1MISO_P10>, <M1MOSI_P9>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE11_P11>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <4>;
|
||||
};
|
||||
};
|
||||
spi2_default: spi2_default {
|
||||
group1 {
|
||||
pinmux = <M2SCK_P25>, <M2MISO_P27>, <M2MOSI_P26>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE37_P37>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <8>;
|
||||
};
|
||||
};
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
pinmux = <M3SCK_P31>, <M3MISO_P33>, <M3MOSI_P32>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE85_P85>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <12>;
|
||||
};
|
||||
};
|
||||
spi4_default: spi4_default {
|
||||
group1 {
|
||||
pinmux = <M4SCK_P34>, <M4MISO_P36>, <M4MOSI_P35>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE54_P54>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <16>;
|
||||
};
|
||||
};
|
||||
spi5_default: spi5_default {
|
||||
group1 {
|
||||
pinmux = <M5SCK_P47>, <M5MISO_P49>, <M5MOSI_P48>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE60_P60>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <20>;
|
||||
};
|
||||
};
|
||||
spi6_default: spi6_default {
|
||||
group1 {
|
||||
pinmux = <M6SCK_P61>, <M6MISO_P63>, <M6MOSI_P62>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE30_P30>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <24>;
|
||||
};
|
||||
};
|
||||
spi7_default: spi7_default {
|
||||
group1 {
|
||||
pinmux = <M7SCK_P22>, <M7MISO_P24>, <M7MOSI_P23>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE88_P88>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <28>;
|
||||
};
|
||||
};
|
||||
mspi0_default: mspi0_default{
|
||||
group1 {
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
&iom0 {
|
||||
compatible = "ambiq,i2c";
|
||||
pinctrl-0 = <&i2c0_default>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -79,16 +79,15 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&spi1 {
|
||||
&iom1 {
|
||||
compatible = "ambiq,spi";
|
||||
pinctrl-0 = <&spi1_default>;
|
||||
pinctrl-names = "default";
|
||||
cs-gpios = <&gpio0_31 11 GPIO_ACTIVE_LOW>;
|
||||
clock-frequency = <DT_FREQ_M(1)>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi4 {
|
||||
&iom4 {
|
||||
pinctrl-0 = <&spi4_default>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
|
|
@ -86,41 +86,82 @@
|
|||
group1 {
|
||||
pinmux = <M0SCK_P5>, <M0MISO_P7>, <M0MOSI_P6>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE72_P72>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <0>;
|
||||
};
|
||||
};
|
||||
spi1_default: spi1_default {
|
||||
group1 {
|
||||
pinmux = <M1SCK_P8>, <M1MISO_P10>, <M1MOSI_P9>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE11_P11>;
|
||||
drive-strength = "0.5";
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <4>;
|
||||
};
|
||||
};
|
||||
spi2_default: spi2_default {
|
||||
group1 {
|
||||
pinmux = <M2SCK_P25>, <M2MISO_P27>, <M2MOSI_P26>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE37_P37>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <8>;
|
||||
};
|
||||
};
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
pinmux = <M3SCK_P31>, <M3MISO_P33>, <M3MOSI_P32>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE85_P85>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <12>;
|
||||
};
|
||||
};
|
||||
spi4_default: spi4_default {
|
||||
group1 {
|
||||
pinmux = <M4SCK_P34>, <M4MISO_P36>, <M4MOSI_P35>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE79_P79>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <16>;
|
||||
};
|
||||
};
|
||||
spi5_default: spi5_default {
|
||||
group1 {
|
||||
pinmux = <M5SCK_P47>, <M5MISO_P49>, <M5MOSI_P48>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE60_P60>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <20>;
|
||||
};
|
||||
};
|
||||
spi6_default: spi6_default {
|
||||
group1 {
|
||||
pinmux = <M6SCK_P61>, <M6MISO_P63>, <M6MOSI_P62>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE30_P30>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <24>;
|
||||
};
|
||||
};
|
||||
spi7_default: spi7_default {
|
||||
group1 {
|
||||
pinmux = <M7SCK_P22>, <M7MISO_P24>, <M7MOSI_P23>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <NCE88_P88>;
|
||||
drive-push-pull;
|
||||
ambiq,iom-nce-module = <28>;
|
||||
};
|
||||
};
|
||||
mspi0_default: mspi0_default{
|
||||
group1 {
|
||||
|
|
|
@ -82,7 +82,6 @@
|
|||
compatible = "ambiq,spi";
|
||||
pinctrl-0 = <&spi1_default>;
|
||||
pinctrl-names = "default";
|
||||
cs-gpios = <&gpio0_31 11 GPIO_ACTIVE_LOW>;
|
||||
clock-frequency = <1000000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -104,7 +104,6 @@
|
|||
blue-pwm-led = &blue_pwm_led;
|
||||
spi = &spi2;
|
||||
watchdog0 = &wdt0;
|
||||
accel0 = &lsm9ds1;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -167,12 +166,6 @@ arduino_i2c: &i2c0 {
|
|||
pinctrl-0 = <&i2c1_default>;
|
||||
pinctrl-1 = <&i2c1_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
lsm9ds1: lsm9ds1@6b {
|
||||
compatible = "st,lsm9ds1";
|
||||
reg = <0x6b>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
/* SPI2 is used because SPI1/0 shares conflicts with I2C1/0 */
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
board_set_flasher_ifnset(probe-rs)
|
||||
board_finalize_runner_args(probe-rs)
|
BIN
boards/ct/ctcc/doc/img/ctcc_nrf52840.webp
Normal file
BIN
boards/ct/ctcc/doc/img/ctcc_nrf52840.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
Binary file not shown.
Before Width: | Height: | Size: 30 KiB |
Binary file not shown.
Before Width: | Height: | Size: 31 KiB |
|
@ -21,17 +21,12 @@ This board has following features:
|
|||
* :abbr:`USB (Universal Serial Bus)`
|
||||
* :abbr:`WDT (Watchdog Timer)`
|
||||
|
||||
.. figure:: img/ctcc_nrf52840_mpcie.webp
|
||||
.. figure:: img/ctcc_nrf52840.webp
|
||||
:align: center
|
||||
:alt: CTCC nRF52840 mPCIe
|
||||
:width: 300
|
||||
:alt: CTCC nRF52840
|
||||
|
||||
ctcc/nrf52840 mPCie board
|
||||
|
||||
.. figure:: img/ctcc_nrf52840_m2.webp
|
||||
:align: center
|
||||
:alt: CTCC nRF52840 M.2
|
||||
|
||||
ctcc/nrf52840 M.2 board
|
||||
ctcc/nrf52840 board target
|
||||
|
||||
More information about the board can be found at the
|
||||
`ctcc_nrf52840 Website`_ and for SoC information: `Nordic Semiconductor Infocenter`_.
|
||||
|
|
|
@ -29,11 +29,8 @@ set(actinius_icarus_som_dk_ns_DEPRECATED
|
|||
set(actinius_icarus_som_ns_DEPRECATED
|
||||
actinius_icarus_som/nrf9160/ns
|
||||
)
|
||||
set(adafruit_feather_DEPRECATED
|
||||
adafruit_feather_nrf52840_express
|
||||
)
|
||||
set(adafruit_feather_nrf52840_DEPRECATED
|
||||
adafruit_feather_nrf52840_express
|
||||
adafruit_feather
|
||||
)
|
||||
set(adafruit_itsybitsy_nrf52840_DEPRECATED
|
||||
adafruit_itsybitsy
|
||||
|
|
|
@ -7,7 +7,7 @@ if BOARD_ESP32_DEVKITC_WROOM_ESP32_PROCPU
|
|||
|
||||
config HEAP_MEM_POOL_ADD_SIZE_BOARD
|
||||
int
|
||||
default $(UINT16_MAX) if WIFI && BT
|
||||
default 65535 if WIFI && BT
|
||||
default 51200 if WIFI
|
||||
default 40960 if BT
|
||||
default 4096
|
||||
|
|
|
@ -5,7 +5,7 @@ if BOARD_ESP32_DEVKITC_WROVER_ESP32_PROCPU
|
|||
|
||||
config HEAP_MEM_POOL_ADD_SIZE_BOARD
|
||||
int
|
||||
default $(UINT16_MAX) if WIFI && BT
|
||||
default 65535 if WIFI && BT
|
||||
default 51200 if WIFI
|
||||
default 40960 if BT
|
||||
default 4096
|
||||
|
|
|
@ -14,7 +14,7 @@ endchoice
|
|||
|
||||
config HEAP_MEM_POOL_ADD_SIZE_BOARD
|
||||
int
|
||||
default $(UINT16_MAX) if WIFI && BT
|
||||
default 65535 if WIFI && BT
|
||||
default 51200 if WIFI
|
||||
default 40960 if BT
|
||||
default 4096
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
config HEAP_MEM_POOL_ADD_SIZE_BOARD
|
||||
int
|
||||
default $(UINT16_MAX) if WIFI && BT
|
||||
default 65535 if WIFI && BT
|
||||
default 51200 if WIFI
|
||||
default 40960 if BT
|
||||
default 4096
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
config HEAP_MEM_POOL_ADD_SIZE_BOARD
|
||||
int
|
||||
default $(UINT16_MAX) if WIFI && BT
|
||||
default 65535 if WIFI && BT
|
||||
default 51200 if WIFI
|
||||
default 40960 if BT
|
||||
default 4096
|
||||
|
|
|
@ -100,8 +100,6 @@ Current Zephyr's ESP32-C6-DevKitC board supports the following features:
|
|||
+------------+------------+-------------------------------------+
|
||||
| SPI DMA | on-chip | spi |
|
||||
+------------+------------+-------------------------------------+
|
||||
| GDMA | on-chip | dma |
|
||||
+------------+------------+-------------------------------------+
|
||||
|
||||
System requirements
|
||||
*******************
|
||||
|
|
|
@ -9,7 +9,6 @@ supported:
|
|||
- gpio
|
||||
- watchdog
|
||||
- uart
|
||||
- dma
|
||||
- spi
|
||||
testing:
|
||||
ignore_tags:
|
||||
|
|
|
@ -7,7 +7,7 @@ if BOARD_ESP32S3_DEVKITC_ESP32S3_PROCPU
|
|||
|
||||
config HEAP_MEM_POOL_ADD_SIZE_BOARD
|
||||
int
|
||||
default $(UINT16_MAX) if WIFI && BT
|
||||
default 65535 if WIFI && BT
|
||||
default 51200 if WIFI
|
||||
default 40960 if BT
|
||||
default 4096
|
||||
|
|
|
@ -7,7 +7,7 @@ if BOARD_ESP32S3_DEVKITM_ESP32S3_PROCPU
|
|||
|
||||
config HEAP_MEM_POOL_ADD_SIZE_BOARD
|
||||
int
|
||||
default $(UINT16_MAX) if WIFI && BT
|
||||
default 65535 if WIFI && BT
|
||||
default 51200 if WIFI
|
||||
default 40960 if BT
|
||||
default 4096
|
||||
|
|
|
@ -7,7 +7,7 @@ if BOARD_ESP_WROVER_KIT_ESP32_PROCPU
|
|||
|
||||
config HEAP_MEM_POOL_ADD_SIZE_BOARD
|
||||
int
|
||||
default $(UINT16_MAX) if WIFI && BT
|
||||
default 65535 if WIFI && BT
|
||||
default 51200 if WIFI
|
||||
default 40960 if BT
|
||||
default 4096
|
||||
|
|
15
boards/ezurio/bl5340_dvk/CMakeLists.txt
Normal file
15
boards/ezurio/bl5340_dvk/CMakeLists.txt
Normal file
|
@ -0,0 +1,15 @@
|
|||
# Copyright (c) 2019 Nordic Semiconductor ASA.
|
||||
# Copyright (c) 2021-2023 Laird Connectivity.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if((CONFIG_BOARD_BL5340_DVK_NRF5340_CPUAPP OR CONFIG_BOARD_BL5340_DVK_NRF5340_CPUAPP_NS)
|
||||
AND CONFIG_BOARD_ENABLE_CPUNET)
|
||||
zephyr_library()
|
||||
zephyr_library_sources(bl5340_dvk_nrf5340_cpunet_reset.c)
|
||||
|
||||
if(CONFIG_BUILD_WITH_TFM)
|
||||
zephyr_library_include_directories(
|
||||
$<TARGET_PROPERTY:tfm,TFM_BINARY_DIR>/api_ns/interface/include
|
||||
)
|
||||
endif()
|
||||
endif()
|
|
@ -21,9 +21,26 @@ config BOARD_ENABLE_DCDC_HV
|
|||
select SOC_DCDC_NRF53X_HV
|
||||
default y
|
||||
|
||||
config BOARD_ENABLE_CPUNET
|
||||
bool "NRF53 Network MCU"
|
||||
select SOC_NRF_GPIO_FORWARDER_FOR_NRF5340 if \
|
||||
$(dt_compat_enabled,$(DT_COMPAT_NORDIC_NRF_GPIO_FORWARDER))
|
||||
help
|
||||
This option enables releasing the Network 'force off' signal, which
|
||||
as a consequence will power up the Network MCU during system boot.
|
||||
Additionally, the option allocates GPIO pins that will be used by UARTE
|
||||
of the Network MCU.
|
||||
Note: GPIO pin allocation can only be configured by the secure Application
|
||||
MCU firmware, so when this option is used with the non-secure version of
|
||||
the board, the application needs to take into consideration, that the
|
||||
secure firmware image must already have configured GPIO allocation for the
|
||||
Network MCU.
|
||||
default y if (BT || NRF_802154_SER_HOST)
|
||||
|
||||
config DOMAIN_CPUNET_BOARD
|
||||
string
|
||||
default "bl5340_dvk/nrf5340/cpunet"
|
||||
depends on BOARD_ENABLE_CPUNET
|
||||
help
|
||||
The board which will be used for CPUNET domain when creating a multi
|
||||
image application where one or more images should be located on
|
||||
|
|
|
@ -111,7 +111,7 @@
|
|||
compatible = "zephyr,mipi-dbi-spi";
|
||||
reset-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
|
||||
dc-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
|
||||
spi-dev = <&spi4>;
|
||||
spi-dev = <&spi2>;
|
||||
write-only;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
|
61
boards/ezurio/bl5340_dvk/bl5340_dvk_nrf5340_cpunet_reset.c
Normal file
61
boards/ezurio/bl5340_dvk/bl5340_dvk_nrf5340_cpunet_reset.c
Normal file
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* Copyright (c) 2019-2021 Nordic Semiconductor ASA.
|
||||
* Copyright (c) 2021-2023 Laird Connectivity
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <zephyr/kernel.h>
|
||||
#include <zephyr/init.h>
|
||||
#include <zephyr/logging/log.h>
|
||||
|
||||
#include <soc.h>
|
||||
#include <hal/nrf_reset.h>
|
||||
|
||||
LOG_MODULE_REGISTER(bl5340_dvk_cpuapp, CONFIG_LOG_DEFAULT_LEVEL);
|
||||
|
||||
#if defined(CONFIG_BT_CTLR_DEBUG_PINS_CPUAPP)
|
||||
#include <../subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/debug.h>
|
||||
#else
|
||||
#define DEBUG_SETUP()
|
||||
#endif
|
||||
|
||||
static void remoteproc_mgr_config(void)
|
||||
{
|
||||
#if !defined(CONFIG_TRUSTED_EXECUTION_NONSECURE) || defined(CONFIG_BUILD_WITH_TFM)
|
||||
/* Route Bluetooth Controller Debug Pins */
|
||||
DEBUG_SETUP();
|
||||
#endif /* !defined(CONFIG_TRUSTED_EXECUTION_NONSECURE) || defined(CONFIG_BUILD_WITH_TFM) */
|
||||
|
||||
#if !defined(CONFIG_TRUSTED_EXECUTION_NONSECURE)
|
||||
/* Retain nRF5340 Network MCU in Secure domain (bus
|
||||
* accesses by Network MCU will have Secure attribute set).
|
||||
*/
|
||||
NRF_SPU->EXTDOMAIN[0].PERM = 1 << 4;
|
||||
#endif /* !defined(CONFIG_TRUSTED_EXECUTION_NONSECURE) */
|
||||
}
|
||||
|
||||
static int remoteproc_mgr_boot(void)
|
||||
{
|
||||
|
||||
/* Secure domain may configure permissions for the Network MCU. */
|
||||
remoteproc_mgr_config();
|
||||
|
||||
#if !defined(CONFIG_TRUSTED_EXECUTION_SECURE)
|
||||
/*
|
||||
* Building Zephyr with CONFIG_TRUSTED_EXECUTION_SECURE=y implies
|
||||
* building also a Non-Secure image. The Non-Secure image will, in
|
||||
* this case do the remainder of actions to properly configure and
|
||||
* boot the Network MCU.
|
||||
*/
|
||||
|
||||
/* Release the Network MCU, 'Release force off signal' */
|
||||
nrf_reset_network_force_off(NRF_RESET, false);
|
||||
|
||||
LOG_DBG("Network MCU released.");
|
||||
#endif /* !CONFIG_TRUSTED_EXECUTION_SECURE */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
SYS_INIT(remoteproc_mgr_boot, POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEVICE);
|
|
@ -35,11 +35,3 @@
|
|||
jedec-id = [c2 20 19];
|
||||
};
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -10,7 +10,6 @@ toolchain:
|
|||
supported:
|
||||
- netif
|
||||
- spi
|
||||
- gpio
|
||||
testing:
|
||||
ignore_tags:
|
||||
- net
|
||||
|
|
|
@ -15,12 +15,12 @@ config ESP_SPIRAM
|
|||
default y if !MCUBOOT
|
||||
|
||||
choice SPIRAM_TYPE
|
||||
default SPIRAM_TYPE_ESPPSRAM32
|
||||
default SPIRAM_TYPE_ESPPSRAM64
|
||||
endchoice
|
||||
|
||||
config HEAP_MEM_POOL_ADD_SIZE_BOARD
|
||||
int
|
||||
default $(UINT16_MAX) if WIFI && BT
|
||||
default 65535 if WIFI && BT
|
||||
default 51200 if WIFI
|
||||
default 40960 if BT
|
||||
default 4096
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_ODROID_GO
|
||||
select SOC_ESP32_WROVER_E_N16R4
|
||||
select SOC_ESP32_WROVER_E_N16R2
|
||||
select SOC_ESP32_PROCPU if BOARD_ODROID_GO_ESP32_PROCPU
|
||||
select SOC_ESP32_APPCPU if BOARD_ODROID_GO_ESP32_APPCPU
|
||||
|
|
|
@ -7,7 +7,7 @@ if BOARD_HELTEC_WIFI_LORA32_V2_ESP32_PROCPU
|
|||
|
||||
config HEAP_MEM_POOL_ADD_SIZE_BOARD
|
||||
int
|
||||
default $(UINT16_MAX) if WIFI && BT
|
||||
default 65535 if WIFI && BT
|
||||
default 51200 if WIFI
|
||||
default 40960 if BT
|
||||
default 4096
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue