boards/actinius/icarus_som_dk/doc/index.rst
.. zephyr:board:: actinius_icarus_som_dk
Overview
The Icarus SoM DK is a single board development kit for
evaluation and development on the Icarus SoM (Icarus SoM Docs_).
The Icarus SoM features the nRF9160 SiP from Nordic Semiconductor,
a low-power 3-axis accelerometer and an on-board eSIM.
The development kit provides interfacing to the SoM through USB-C,
a set of user LEDs, a reset and a user button, a battery charging port,
and a external nano SIM connector.
The board is also Arduino Uno Rev3 compatible which makes
using external shields possible.
The main uController is the Nordic Semiconductor nRF9160, with ARM Cortex-M33F CPU, ARMv8-M Security Extension and the following devices (provided directly by Nordic):
ADC (Analog to Digital Converter)GPIO (General Purpose Input Output)I2C (Inter-Integrated Circuit)MPU (Memory Protection Unit)NVIC (Nested Vectored Interrupt Controller)PWM (Pulse Width Modulation)RTC (nRF RTC System Clock)SPI (Serial Peripheral Interface)UARTE (Universal asynchronous receiver-transmitter with EasyDMA)WDT (Watchdog Timer)IDAU (Implementation Defined Attribution Unit).. figure:: img/icarus_som_dk_block_diagram.jpg :width: 450px :align: center :alt: Icarus SoM DK Block Diagram
Icarus SoM DK Block Diagram
Hardware
The detailed information about the on-board hardware can be found at the Icarus SoM Product Website_
and the Icarus SoM DK Product Website_.
External Pins available to user:
+----+-------+------------------------------------+------------------+ | # | Label | Description | Device-tree node | +====+=======+====================================+==================+ | 1 | NC | Not Connected | - | +----+-------+------------------------------------+------------------+ | 2 | IOREF | I/O reference, connected to 3.3V | - | +----+-------+------------------------------------+------------------+ | 3 | RST | Reset of the nRF9160 | - | +----+-------+------------------------------------+------------------+ | 4 | 3.3V | 3.3V Power output | - | +----+-------+------------------------------------+------------------+ | 5 | 4.4V | Power output between Vbat and 4.4V | - | +----+-------+------------------------------------+------------------+ | 6 | GND | Ground pin | - | +----+-------+------------------------------------+------------------+ | 7 | GND | Ground pin | - | +----+-------+------------------------------------+------------------+ | 8 | VIN | Power input pin (4.35V to 10.5V) | - | +----+-------+------------------------------------+------------------+ | 9 | A2 | AIN2 / nRF9160 P0.15 | gpio0 | +----+-------+------------------------------------+------------------+ | 10 | A3 | AIN3 / nRF9160 P0.16 | gpio0 | +----+-------+------------------------------------+------------------+ | 11 | A4 | AIN4 / nRF9160 P0.17 | gpio0 | +----+-------+------------------------------------+------------------+ | 12 | A5 | AIN5 / nRF9160 P0.18 | gpio0 | +----+-------+------------------------------------+------------------+ | 13 | A6 | AIN6 / nRF9160 P0.19 | gpio0 | +----+-------+------------------------------------+------------------+ | 14 | A7 | AIN7 / nRF9160 P0.20 | gpio0 | +----+-------+------------------------------------+------------------+ | 15 | P4 | nRF9160 P0.04 | gpio0 | +----+-------+------------------------------------+------------------+ | 16 | P5 | nRF9160 P0.05 | gpio0 | +----+-------+------------------------------------+------------------+ | 17 | P2 | nRF9160 P0.02 | gpio0 | +----+-------+------------------------------------+------------------+ | 18 | P1 | nRF9160 P0.01 | gpio0 | +----+-------+------------------------------------+------------------+ | 19 | P23 | nRF9160 P0.23 | gpio0 | +----+-------+------------------------------------+------------------+ | 20 | P0 | nRF9160 P0.00 | gpio0 | +----+-------+------------------------------------+------------------+ | 21 | P26 | nRF9160 P0.26 | gpio0 | +----+-------+------------------------------------+------------------+ | 22 | P27 | nRF9160 P0.27 | gpio0 | +----+-------+------------------------------------+------------------+ | 23 | P30 | nRF9160 P0.30 | gpio0 | +----+-------+------------------------------------+------------------+ | 24 | P31 | nRF9160 P0.31 | gpio0 | +----+-------+------------------------------------+------------------+ | 25 | P7 | nRF9160 P0.07 | gpio0 | +----+-------+------------------------------------+------------------+ | 26 | P13 | nRF9160 P0.13 or NC (Jumper-dependent) | gpio0 | +----+-------+------------------------------------+------------------+ | 27 | P14 | nRF9160 P0.14 or NC (Jumper-dependent) | gpio0 | +----+-------+------------------------------------+------------------+ | 28 | P3 | nRF9160 P0.03 | gpio0 | +----+-------+------------------------------------+------------------+ | 29 | GND | Ground pin | - | +----+-------+------------------------------------+------------------+ | 30 | AREF | NC or AIN1 (Jumper-dependent) | gpio0 | +----+-------+------------------------------------+------------------+ | 31 | SDA | I2C SDA pin | i2c2 | +----+-------+------------------------------------+------------------+ | 32 | SCL | I2C SCL pin | i2c2 | +----+-------+------------------------------------+------------------+ | - | TS | Pin for optional battery thermistor| - | +----+-------+------------------------------------+------------------+ | - | CHG | Pin for battery charging indication| - | +----+-------+------------------------------------+------------------+ | - | CE | Pin for enabling/disabling charging| - | +----+-------+------------------------------------+------------------+
nRF9160 pins connected internally:
+--------------+------------------------------+---------------------+ | nRF9160 pin | Function | Device-tree node | +==============+==============================+=====================+ | P0.03 | Blue LED | led0 / pwm-led0 | +--------------+------------------------------+---------------------+ | P0.08 | NeoPixel RGB LED | spi1 | +--------------+------------------------------+---------------------+ | P0.12 | SIM select pin | gpio0 | +--------------+------------------------------+---------------------+ | P0.23 | Connected to the user button | gpio0 / button0 | +--------------+------------------------------+---------------------+ | P0.24 | SPI NOR Flash chip select | gpio0 / spi3 | +--------------+------------------------------+---------------------+ | P0.28 | Accelerometer Interrupt 2 | lis2dh12-accel | +--------------+------------------------------+---------------------+ | P0.29 | Accelerometer Interrupt 1 | lis2dh12-accel | +--------------+------------------------------+---------------------+
.. zephyr:board-supported-hw::
SIM selection
The sim choice (eSIM or nano-SIM) can be configured in Devicetree by adjusting
the sim property in the sim_select node.
IDAU_). The IDAU is implemented
with the System Protection Unit and is used to define secure and non-secure
memory maps. By default, all of the memory space (Flash, SRAM, and
peripheral address space) is defined to be secure accessible only.The process requires the following steps:
-DBOARD=actinius_icarus_som_dk.-DBOARD=actinius_icarus_som_dk/ns.If you are using Segger Embedded Studio v4.18 or later, the two binaries are built, merged, and burned automatically, unless you have disabled the feature.
When building a Secure/Non-Secure application, the Secure application will have to set the IDAU (SPU) configuration to allow Non-Secure access to all CPU resources utilized by the Non-Secure application firmware. SPU configuration shall take place before jumping to the Non-Secure application.
More information can be found in the Icarus SoM Product Website,
the Icarus SoM DK Product Website or the Actinius Documentation Portal_.
References
.. target-notes::
.. _IDAU: https://developer.arm.com/docs/100690/latest/attribution-units-sau-and-idau
.. _Icarus SoM Product Website: https://www.actinius.com/icarus-som
.. _Icarus SoM DK Product Website: https://www.actinius.com/icarus-som-dk
.. _Icarus SoM Docs: https://docs.actinius.com/icarus-som/introduction
.. _Actinius Documentation Portal: https://docs.actinius.com