boards: acn52832: Add support for acn52832
The aconno acn52832 is a small module featuring the nRF52832 SOC. Signed-off-by: Sven Herrmann <sven.herrmann@posteo.de>
This commit is contained in:
parent
1993c5facd
commit
1f9f140c74
|
@ -99,6 +99,7 @@
|
|||
/boards/arm/96b_stm32_sensor_mez/ @Mani-Sadhasivam
|
||||
/boards/arm/96b_wistrio/ @Mani-Sadhasivam
|
||||
/boards/arm/arduino_due/ @ioannisg
|
||||
/boards/arm/acn52832/ @sven-hm
|
||||
/boards/arm/bbc_microbit_v2/ @LingaoM
|
||||
/boards/arm/bl5340_dvk/ @lairdjm
|
||||
/boards/arm/bl65*/ @lairdjm
|
||||
|
|
8
boards/arm/acn52832/Kconfig.board
Normal file
8
boards/arm/acn52832/Kconfig.board
Normal file
|
@ -0,0 +1,8 @@
|
|||
# aconno acn52832 board configuration
|
||||
|
||||
# Copyright (c) 2023 Sven Herrmann <sven.herrmann@posteo.de>
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_ACN52832
|
||||
bool "aconno ACN52832"
|
||||
depends on SOC_NRF52832_QFAA
|
14
boards/arm/acn52832/Kconfig.defconfig
Normal file
14
boards/arm/acn52832/Kconfig.defconfig
Normal file
|
@ -0,0 +1,14 @@
|
|||
# aconno acn52832 board configuration
|
||||
|
||||
# Copyright (c) 2023 Sven Herrmann <sven.herrmann@posteo.de>
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if BOARD_ACN52832
|
||||
|
||||
config BOARD
|
||||
default "acn52832"
|
||||
|
||||
config BT_CTLR
|
||||
default BT
|
||||
|
||||
endif # BOARD_ACN52832
|
21
boards/arm/acn52832/acn52832-pinctrl.dtsi
Normal file
21
boards/arm/acn52832/acn52832-pinctrl.dtsi
Normal file
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Sven Herrmann
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
&pinctrl {
|
||||
uart0_default: uart0_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(UART_TX, 0, 7)>,
|
||||
<NRF_PSEL(UART_RX, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
uart0_sleep: uart0_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(UART_TX, 0, 7)>,
|
||||
<NRF_PSEL(UART_RX, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
88
boards/arm/acn52832/acn52832.dts
Normal file
88
boards/arm/acn52832/acn52832.dts
Normal file
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Sven Herrmann
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <nordic/nrf52832_qfaa.dtsi>
|
||||
#include "acn52832-pinctrl.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Aconno ACN52832 Module";
|
||||
compatible = "aconno,acn52832";
|
||||
|
||||
chosen {
|
||||
zephyr,console = &uart0;
|
||||
zephyr,shell-uart = &uart0;
|
||||
zephyr,bt-mon-uart = &uart0;
|
||||
zephyr,bt-c2h-uart = &uart0;
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,flash = &flash0;
|
||||
zephyr,code-partition = &slot0_partition;
|
||||
};
|
||||
|
||||
/* These aliases are provided for compatibility with samples */
|
||||
aliases {
|
||||
led0 = &led0;
|
||||
watchdog0 = &wdt0;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
led0: led_0 {
|
||||
gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
|
||||
label = "LD1A red";
|
||||
};
|
||||
led1: led_1 {
|
||||
gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
|
||||
label = "LD1B green";
|
||||
};
|
||||
led2: led_2 {
|
||||
gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
|
||||
label = "LD1C blue";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&gpiote {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
compatible = "nordic,nrf-uarte";
|
||||
current-speed = <115200>;
|
||||
status = "okay";
|
||||
pinctrl-0 = <&uart0_default>;
|
||||
pinctrl-1 = <&uart0_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>;
|
||||
};
|
||||
};
|
||||
};
|
10
boards/arm/acn52832/acn52832.yaml
Normal file
10
boards/arm/acn52832/acn52832.yaml
Normal file
|
@ -0,0 +1,10 @@
|
|||
identifier: acn52832
|
||||
name: aconno acn52832
|
||||
type: mcu
|
||||
arch: arm
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
- xtools
|
||||
ram: 64
|
||||
flash: 512
|
23
boards/arm/acn52832/acn52832_defconfig
Normal file
23
boards/arm/acn52832/acn52832_defconfig
Normal file
|
@ -0,0 +1,23 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
CONFIG_SOC_SERIES_NRF52X=y
|
||||
CONFIG_SOC_NRF52832_QFAA=y
|
||||
CONFIG_BOARD_ACN52832=y
|
||||
|
||||
# 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
|
||||
|
||||
# Enable P0_21 as RST
|
||||
CONFIG_GPIO_AS_PINRESET=y
|
||||
|
||||
CONFIG_PINCTRL=y
|
6
boards/arm/acn52832/board.cmake
Normal file
6
boards/arm/acn52832/board.cmake
Normal file
|
@ -0,0 +1,6 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
board_runner_args(nrfjprog "--nrf-family=NRF52")
|
||||
board_runner_args(jlink "--device=nrf52" "--speed=4000")
|
||||
include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)
|
||||
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
134
boards/arm/acn52832/doc/index.rst
Normal file
134
boards/arm/acn52832/doc/index.rst
Normal file
|
@ -0,0 +1,134 @@
|
|||
.. _acn52832:
|
||||
|
||||
acn52832
|
||||
########
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
The acn52832 is a module in a small form factor which features the Nordic Semiconductor
|
||||
nRF52832 ARM Cortex-M4F CPU and the following devices:
|
||||
|
||||
* :abbr:`ADC (Analog to Digital Converter)`
|
||||
* CLOCK
|
||||
* FLASH
|
||||
* :abbr:`GPIO (General Purpose Input Output)`
|
||||
* :abbr:`I2C (Inter-Integrated Circuit)`
|
||||
* :abbr:`MPU (Memory Protection Unit)`
|
||||
* :abbr:`NVIC (Nested Vectored Interrupt Controller)`
|
||||
* :abbr:`PWM (Pulse Width Modulation)`
|
||||
* RADIO (Bluetooth Low Energy)
|
||||
* :abbr:`RTC (nRF RTC System Clock)`
|
||||
* :abbr:`SPI (Serial Peripheral Interface)`
|
||||
* :abbr:`UART (Universal asynchronous receiver-transmitter)`
|
||||
* :abbr:`WDT (Watchdog Timer)`
|
||||
|
||||
See `acn52832 website`_ for more information about the board and `Nordic infocenter`_ for more
|
||||
information about the SoC.
|
||||
|
||||
Hardware
|
||||
********
|
||||
|
||||
Additionally to the SoC the board provides an on-board antenna with a RF matching circuit,
|
||||
two external oscillators with 32 MHz and 32.768 kHz, load capacitors, a tag-connector
|
||||
and a RGB-LED.
|
||||
|
||||
Connections
|
||||
===========
|
||||
|
||||
Pinout
|
||||
------
|
||||
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| PIN # | Tag-Connect | NRF52832 Functions | Configuration |
|
||||
+=======+=============+====================+===============+
|
||||
| 1 | 5 | GND | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 2 | | P0.25 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 3 | | P0.26 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 4 | | P0.27 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 5 | | P0.28/AIN4 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 6 | | P0.29/AIN5 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 7 | | P0.30/AIN6 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 8 | | P0.31 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 9 | | P0.02/AIN0 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 10 | | P0.03/AIN1 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 11 | | P0.04/AIN2 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 12 | 5 | GND | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 13 | 5 | GND | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 14 | | P0.05/AIN3 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 15 | | P0.06 | UART_RX |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 16 | | P0.07 | UART_TX |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 17 | | P0.08 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 18 | | NFC1/P0.09 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 19 | | NFC2/P0.10 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 20 | | P0.11 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 21 | | P0.12 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 22 | | P0.14/TRACEDATA[3] | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 23 | 1 | VCC | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 24 | 1 | VCC | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 25 | | P0.15/TRACEDATA[2] | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 26 | | P0.16/TRACEDATA[1] | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 27 | | P0.17 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 28 | 6 | P0.18/TRACEDATA[0] | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 29 | | P0.19 | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 30 | | P0.20/TRACECLK | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 31 | 3 | P0.21/RESET | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 32 | 1 | VCC | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 33 | 2 | SWDIO | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 34 | 4 | SWDCLK | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
| 35 | 5 | GND | |
|
||||
+-------+-------------+--------------------+---------------+
|
||||
|
||||
RGB-LED
|
||||
-------
|
||||
|
||||
+------+-------+--------------+
|
||||
| LED | Color | NRF52832 Pin |
|
||||
+======+=======+==============+
|
||||
| led0 | red | P0.22 |
|
||||
+------+-------+--------------+
|
||||
| led1 | green | P0.24 |
|
||||
+------+-------+--------------+
|
||||
| led2 | blue | P0.23 |
|
||||
+------+-------+--------------+
|
||||
|
||||
References
|
||||
**********
|
||||
.. target-notes::
|
||||
|
||||
.. _acn52832 website: https://aconno.de/products/acn52832/
|
||||
.. _Nordic infocenter: https://infocenter.nordicsemi.com/
|
7
boards/arm/acn52832/pre_dt_board.cmake
Normal file
7
boards/arm/acn52832/pre_dt_board.cmake
Normal file
|
@ -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")
|
Loading…
Reference in a new issue