1.. _actinius_icarus_som_dk: 2 3Actinius Icarus SoM DK 4###################### 5 6Overview 7******** 8 9.. figure:: img/icarus-som-dk.jpg 10 :width: 450px 11 :align: center 12 :alt: Icarus SoM DK 13 14 Icarus SoM Development Kit (nRF9160) 15 16The Icarus SoM DK is a single board development kit for 17evaluation and development on the Icarus SoM (`Icarus SoM Docs`_). 18The Icarus SoM features the nRF9160 SiP from Nordic Semiconductor, 19a low-power 3-axis accelerometer and an on-board eSIM. 20The development kit provides interfacing to the SoM through USB-C, 21a set of user LEDs, a reset and a user button, a battery charging port, 22and a external nano SIM connector. 23The board is also Arduino Uno Rev3 compatible which makes 24using external shields possible. 25 26The main uController is the Nordic Semiconductor nRF9160, with 27ARM Cortex-M33F CPU, ARMv8-M Security Extension and the 28following devices (provided directly by Nordic): 29 30* :abbr:`ADC (Analog to Digital Converter)` 31* CLOCK 32* FLASH 33* :abbr:`GPIO (General Purpose Input Output)` 34* :abbr:`I2C (Inter-Integrated Circuit)` 35* :abbr:`MPU (Memory Protection Unit)` 36* :abbr:`NVIC (Nested Vectored Interrupt Controller)` 37* :abbr:`PWM (Pulse Width Modulation)` 38* :abbr:`RTC (nRF RTC System Clock)` 39* Segger RTT (RTT Console) 40* :abbr:`SPI (Serial Peripheral Interface)` 41* :abbr:`UARTE (Universal asynchronous receiver-transmitter with EasyDMA)` 42* :abbr:`WDT (Watchdog Timer)` 43* :abbr:`IDAU (Implementation Defined Attribution Unit)` 44 45.. figure:: img/icarus-som-dk-block-diagram.jpg 46 :width: 450px 47 :align: center 48 :alt: Icarus SoM DK Block Diagram 49 50 Icarus SoM DK Block Diagram 51 52Hardware 53******** 54 55The detailed information about the on-board hardware can be found at the `Icarus SoM Product Website`_ 56and the `Icarus SoM DK Product Website`_. 57 58Pin description 59=============== 60 61External Pins available to user: 62 63+----+-------+------------------------------------+------------------+ 64| # | Label | Description | Device-tree node | 65+====+=======+====================================+==================+ 66| 1 | NC | Not Connected | - | 67+----+-------+------------------------------------+------------------+ 68| 2 | IOREF | I/O reference, connected to 3.3V | - | 69+----+-------+------------------------------------+------------------+ 70| 3 | RST | Reset of the nRF9160 | - | 71+----+-------+------------------------------------+------------------+ 72| 4 | 3.3V | 3.3V Power output | - | 73+----+-------+------------------------------------+------------------+ 74| 5 | 4.4V | Power output between Vbat and 4.4V | - | 75+----+-------+------------------------------------+------------------+ 76| 6 | GND | Ground pin | - | 77+----+-------+------------------------------------+------------------+ 78| 7 | GND | Ground pin | - | 79+----+-------+------------------------------------+------------------+ 80| 8 | VIN | Power input pin (4.35V to 10.5V) | - | 81+----+-------+------------------------------------+------------------+ 82| 9 | A2 | AIN2 / nRF9160 P0.15 | gpio0 | 83+----+-------+------------------------------------+------------------+ 84| 10 | A3 | AIN3 / nRF9160 P0.16 | gpio0 | 85+----+-------+------------------------------------+------------------+ 86| 11 | A4 | AIN4 / nRF9160 P0.17 | gpio0 | 87+----+-------+------------------------------------+------------------+ 88| 12 | A5 | AIN5 / nRF9160 P0.18 | gpio0 | 89+----+-------+------------------------------------+------------------+ 90| 13 | A6 | AIN6 / nRF9160 P0.19 | gpio0 | 91+----+-------+------------------------------------+------------------+ 92| 14 | A7 | AIN7 / nRF9160 P0.20 | gpio0 | 93+----+-------+------------------------------------+------------------+ 94| 15 | P4 | nRF9160 P0.04 | gpio0 | 95+----+-------+------------------------------------+------------------+ 96| 16 | P5 | nRF9160 P0.05 | gpio0 | 97+----+-------+------------------------------------+------------------+ 98| 17 | P2 | nRF9160 P0.02 | gpio0 | 99+----+-------+------------------------------------+------------------+ 100| 18 | P1 | nRF9160 P0.01 | gpio0 | 101+----+-------+------------------------------------+------------------+ 102| 19 | P23 | nRF9160 P0.23 | gpio0 | 103+----+-------+------------------------------------+------------------+ 104| 20 | P0 | nRF9160 P0.00 | gpio0 | 105+----+-------+------------------------------------+------------------+ 106| 21 | P26 | nRF9160 P0.26 | gpio0 | 107+----+-------+------------------------------------+------------------+ 108| 22 | P27 | nRF9160 P0.27 | gpio0 | 109+----+-------+------------------------------------+------------------+ 110| 23 | P30 | nRF9160 P0.30 | gpio0 | 111+----+-------+------------------------------------+------------------+ 112| 24 | P31 | nRF9160 P0.31 | gpio0 | 113+----+-------+------------------------------------+------------------+ 114| 25 | P7 | nRF9160 P0.07 | gpio0 | 115+----+-------+------------------------------------+------------------+ 116| 26 | P13 | nRF9160 P0.13 or NC (Jumper-dependent) | gpio0 | 117+----+-------+------------------------------------+------------------+ 118| 27 | P14 | nRF9160 P0.14 or NC (Jumper-dependent) | gpio0 | 119+----+-------+------------------------------------+------------------+ 120| 28 | P3 | nRF9160 P0.03 | gpio0 | 121+----+-------+------------------------------------+------------------+ 122| 29 | GND | Ground pin | - | 123+----+-------+------------------------------------+------------------+ 124| 30 | AREF | NC or AIN1 (Jumper-dependent) | gpio0 | 125+----+-------+------------------------------------+------------------+ 126| 31 | SDA | I2C SDA pin | i2c2 | 127+----+-------+------------------------------------+------------------+ 128| 32 | SCL | I2C SCL pin | i2c2 | 129+----+-------+------------------------------------+------------------+ 130| - | TS | Pin for optional battery thermistor| - | 131+----+-------+------------------------------------+------------------+ 132| - | CHG | Pin for battery charging indication| - | 133+----+-------+------------------------------------+------------------+ 134| - | CE | Pin for enabling/disabling charging| - | 135+----+-------+------------------------------------+------------------+ 136 137 138nRF9160 pins connected internally: 139 140+--------------+------------------------------+---------------------+ 141| nRF9160 pin | Function | Device-tree node | 142+==============+==============================+=====================+ 143| P0.03 | Blue LED | led0 / pwm-led0 | 144+--------------+------------------------------+---------------------+ 145| P0.08 | NeoPixel RGB LED | spi1 | 146+--------------+------------------------------+---------------------+ 147| P0.12 | SIM select pin | gpio0 | 148+--------------+------------------------------+---------------------+ 149| P0.23 | Connected to the user button | gpio0 / button0 | 150+--------------+------------------------------+---------------------+ 151| P0.24 | SPI NOR Flash chip select | gpio0 / spi3 | 152+--------------+------------------------------+---------------------+ 153| P0.28 | Accelerometer Interrupt 2 | lis2dh12-accel | 154+--------------+------------------------------+---------------------+ 155| P0.29 | Accelerometer Interrupt 1 | lis2dh12-accel | 156+--------------+------------------------------+---------------------+ 157 158Supported Features 159================== 160 161The actinius_icarus_som_dk board configuration supports the following 162hardware features: 163 164+-----------+------------+----------------------+ 165| Interface | Controller | Driver/Component | 166+===========+============+======================+ 167| ADC | on-chip | adc | 168+-----------+------------+----------------------+ 169| CLOCK | on-chip | clock_control | 170+-----------+------------+----------------------+ 171| FLASH | on-chip | flash | 172+-----------+------------+----------------------+ 173| GPIO | on-chip | gpio | 174+-----------+------------+----------------------+ 175| I2C(M) | on-chip | i2c | 176+-----------+------------+----------------------+ 177| MPU | on-chip | arch/arm | 178+-----------+------------+----------------------+ 179| NVIC | on-chip | arch/arm | 180+-----------+------------+----------------------+ 181| PWM | on-chip | pwm | 182+-----------+------------+----------------------+ 183| SPI(M/S) | on-chip | spi | 184+-----------+------------+----------------------+ 185| SPU | on-chip | system protection | 186+-----------+------------+----------------------+ 187| UARTE | on-chip | serial | 188+-----------+------------+----------------------+ 189| ACCEL | st | lis2dh | 190+-----------+------------+----------------------+ 191 192SIM selection 193************* 194 195The sim choice (eSIM or nano-SIM) can be configured in Devicetree by adjusting 196the ``sim`` property in the ``sim_select`` node. 197 198Security components 199=================== 200 201- Implementation Defined Attribution Unit (`IDAU`_). The IDAU is implemented 202 with the System Protection Unit and is used to define secure and non-secure 203 memory maps. By default, all of the memory space (Flash, SRAM, and 204 peripheral address space) is defined to be secure accessible only. 205- Secure boot. 206 207Building Secure/Non-Secure Zephyr applications 208============================================== 209 210The process requires the following steps: 211 2121. Build the Secure Zephyr application using ``-DBOARD=actinius_icarus_som_dk``. 2132. Build the Non-Secure Zephyr application using ``-DBOARD=actinius_icarus_som_dk/ns``. 2143. Merge the two binaries together. 215 216If you are using Segger Embedded Studio v4.18 or later, the two binaries are built, merged, and 217burned automatically, unless you have disabled the feature. 218 219When building a Secure/Non-Secure application, the Secure application will 220have to set the IDAU (SPU) configuration to allow Non-Secure access to all 221CPU resources utilized by the Non-Secure application firmware. SPU 222configuration shall take place before jumping to the Non-Secure application. 223 224More information can be found in the `Icarus SoM Product Website`_, 225the `Icarus SoM DK Product Website`_ or the `Actinius Documentation Portal`_. 226 227References 228********** 229 230.. target-notes:: 231 232.. _IDAU: 233 https://developer.arm.com/docs/100690/latest/attribution-units-sau-and-idau 234 235.. _Icarus SoM Product Website: 236 https://www.actinius.com/icarus-som 237 238.. _Icarus SoM DK Product Website: 239 https://www.actinius.com/icarus-som-dk 240 241.. _Icarus SoM Docs: 242 https://docs.actinius.com/icarus-som/introduction 243 244.. _Actinius Documentation Portal: 245 https://docs.actinius.com 246