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