boards: arm: nrf: Adding Circuit Dojo nRF9160 Feather definitions.

Adding the Circuit Dojo nRF9160 Feather device tree definitions.
Both secure and non secure targets.

Signed-off-by: Jared Wolff <hello@jaredwolff.com>
diff --git a/boards/arm/circuitdojo_feather_nrf9160/Kconfig b/boards/arm/circuitdojo_feather_nrf9160/Kconfig
new file mode 100644
index 0000000..78e7bbd
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/Kconfig
@@ -0,0 +1,5 @@
+# Circuit Dojo nRF9160 Feather configuration
+
+# Copyright (c) 2018-2020 Nordic Semiconductor ASA
+# Copyright (c) 2020 Circuit Dojo LLC
+# SPDX-License-Identifier: Apache-2.0
diff --git a/boards/arm/circuitdojo_feather_nrf9160/Kconfig.board b/boards/arm/circuitdojo_feather_nrf9160/Kconfig.board
new file mode 100644
index 0000000..302f47c
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/Kconfig.board
@@ -0,0 +1,15 @@
+# Circuit Dojo nRF9160 Feather configuration
+
+# Copyright (c) 2018-2020 Nordic Semiconductor ASA
+# Copyright (c) 2020 Circuit Dojo LLC
+# SPDX-License-Identifier: Apache-2.0
+
+if SOC_NRF9160_SICA
+
+config BOARD_CIRCUITDOJO_FEATHER_NRF9160
+	bool "Circuit Dojo nRF9160 Feather"
+
+config BOARD_CIRCUITDOJO_FEATHER_NRF9160NS
+	bool "Circuit Dojo nRF9160 Feather non-secure"
+
+endif # SOC_NRF9160_SICA
diff --git a/boards/arm/circuitdojo_feather_nrf9160/Kconfig.defconfig b/boards/arm/circuitdojo_feather_nrf9160/Kconfig.defconfig
new file mode 100644
index 0000000..100da17
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/Kconfig.defconfig
@@ -0,0 +1,39 @@
+# Circuit Dojo nRF9160 Feather configuration
+
+# Copyright (c) 2018-2020 Nordic Semiconductor ASA
+# Copyright (c) 2020 Circuit Dojo LLC
+# SPDX-License-Identifier: Apache-2.0
+
+if BOARD_CIRCUITDOJO_FEATHER_NRF9160 || BOARD_CIRCUITDOJO_FEATHER_NRF9160NS
+
+config BOARD
+	default "circuitdojo_feather_nrf9160"
+
+# For the secure version of the board the firmware is linked at the beginning
+# of the flash, or into the code-partition defined in DT if it is intended to
+# be loaded by MCUboot. If the secure firmware is to be combined with a non-
+# secure image (TRUSTED_EXECUTION_SECURE=y), the secure FW image shall always
+# be restricted to the size of its code partition.
+# For the non-secure version of the board, the firmware
+# must be linked into the code-partition (non-secure) defined in DT, regardless.
+# Apply this configuration below by setting the Kconfig symbols used by
+# the linker according to the information extracted from DT partitions.
+
+# Workaround for not being able to have commas in macro arguments
+DT_CHOSEN_Z_CODE_PARTITION := zephyr,code-partition
+
+config FLASH_LOAD_SIZE
+	default $(dt_chosen_reg_size_hex,$(DT_CHOSEN_Z_CODE_PARTITION))
+	depends on BOARD_CIRCUITDOJO_FEATHER_NRF9160 && TRUSTED_EXECUTION_SECURE
+
+if BOARD_CIRCUITDOJO_FEATHER_NRF9160NS
+
+config FLASH_LOAD_OFFSET
+	default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_CODE_PARTITION))
+
+config FLASH_LOAD_SIZE
+	default $(dt_chosen_reg_size_hex,$(DT_CHOSEN_Z_CODE_PARTITION))
+
+endif # BOARD_CIRCUITDOJO_FEATHER_NRF9160NS
+
+endif # BOARD_CIRCUITDOJO_FEATHER_NRF9160 || BOARD_CIRCUITDOJO_FEATHER_NRF9160NS
diff --git a/boards/arm/circuitdojo_feather_nrf9160/board.cmake b/boards/arm/circuitdojo_feather_nrf9160/board.cmake
new file mode 100644
index 0000000..3d655f4
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/board.cmake
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: Apache-2.0
+
+board_runner_args(nrfjprog "--nrf-family=NRF91")
+board_runner_args(jlink "--device=cortex-m33" "--speed=4000")
+include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)
+include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
diff --git a/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160.dts b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160.dts
new file mode 100644
index 0000000..e32332c
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160.dts
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2018-2020 Nordic Semiconductor ASA
+ * Copyright (c) 2020 Circuit Dojo LLC
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/dts-v1/;
+#include <nordic/nrf9160_sica.dtsi>
+#include "circuitdojo_feather_nrf9160_common.dts"
+
+/ {
+	chosen {
+		zephyr,sram = &sram0_s;
+		zephyr,flash = &flash0;
+		zephyr,code-partition = &slot0_partition;
+		zephyr,sram-secure-partition = &sram0_s;
+		zephyr,sram-non-secure-partition = &sram0_ns;
+	};
+};
diff --git a/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160.yaml b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160.yaml
new file mode 100644
index 0000000..05fd7a4
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160.yaml
@@ -0,0 +1,15 @@
+identifier: circuitdojo_feather_nrf9160
+name: CircuitDojo-Feather-nRF9160
+type: mcu
+arch: arm
+toolchain:
+  - gnuarmemb
+  - xtools
+  - zephyr
+ram: 64
+flash: 256
+supported:
+  - i2c
+  - pwm
+  - watchdog
+  - counter
diff --git a/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_common.dts b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_common.dts
new file mode 100644
index 0000000..671da00
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_common.dts
@@ -0,0 +1,231 @@
+/*
+ * Copyright (c) 2018-2020 Nordic Semiconductor ASA
+ * Copyright (c) 2020 Circuit Dojo LLC
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/ {
+	model = "Circuit Dojo nRF9160 Feather";
+	compatible = "circuitdojo,feather-nrf9160";
+
+	chosen {
+		zephyr,console = &uart0;
+		zephyr,shell-uart = &uart0;
+		zephyr,uart-mcumgr = &uart0;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		blue_led: led_0 {
+			gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
+			label = "Blue LED (D7)";
+		};
+	};
+
+	pwmleds {
+		compatible = "pwm-leds";
+		pwm_led0: pwm_led_0 {
+			pwms = <&pwm0 3>;
+		};
+	};
+
+	buttons {
+		compatible = "gpio-keys";
+		button0: button_0 {
+			gpios = <&gpio0 12 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
+			label = "Switch 1";
+		};
+	};
+
+	/* These aliases are provided for compatibility with samples */
+	aliases {
+		led0 = &blue_led;
+		pwm-led0 = &pwm_led0;
+		sw0 = &button0;
+	};
+
+	/* Used for accessing other pins */
+	feather_header: feather_connector {
+		compatible = "adafruit-feather-header";
+		#gpio-cells = <2>;
+		gpio-map-mask = <0xffffffff 0xffffffc0>;
+		gpio-map-pass-thru = <0 0x3f>;
+		gpio-map = <12 0 &gpio0 26 0>,  /* SDA */
+				<13 0 &gpio0 27 0>,  /* SCL */
+				<14 0 &gpio0 29 0>,  /* PWM3 */
+				<15 0 &gpio0 30 0>,  /* PWM3 */
+				<16 0 &gpio0 0 0>,   /* PWM1 */
+				<17 0 &gpio0 1 0>,   /* PWM1 */
+				<18 0 &gpio0 2 0>,   /* PWM1 */
+				<19 0 &gpio0 3 0>,   /* PWM0 */
+				<20 0 &gpio0 4 0>,   /* PWM1 */
+				/* 11 not connected */
+				<10 0 &gpio0 24 0>,  /* TX */
+				<9 0 &gpio0 23 0>,   /* RX */
+				<8 0 &gpio0 22 0>,   /* MISO */
+				<7 0 &gpio0 21 0>,   /* MOSI */
+				<6 0 &gpio0 19 0>,   /* SCK */
+				<5 0 &gpio0 18 0>,   /* SS */
+				<4 0 &gpio0 17 0>,   /* ADC4 = AIN6 */
+				<3 0 &gpio0 16 0>,   /* ADC3 = AIN5 */
+				<2 0 &gpio0 15 0>,   /* ADC2 = AIN4 */
+				<1 0 &gpio0 14 0>,   /* ADC1 = AIN2 */
+				<0 0 &gpio0 13 0>;   /* ADC0 = AIN1 */
+	};
+};
+
+&adc {
+	status = "okay";
+};
+
+&gpiote {
+	status = "okay";
+};
+
+&gpio0 {
+	status = "okay";
+};
+
+&uart0 {
+	status = "okay";
+	current-speed = <115200>;
+	tx-pin = <6>;
+	rx-pin = <5>;
+};
+
+&uart1 {
+	current-speed = <115200>;
+	tx-pin = <0>;
+	rx-pin = <1>;
+};
+
+&uart2 {
+	tx-pin = <24>;
+	rx-pin = <23>;
+};
+
+&i2c1 {
+	compatible = "nordic,nrf-twim";
+	status = "okay";
+	sda-pin = <26>;
+	scl-pin = <27>;
+
+	pcf85063a@51 {
+			compatible = "nxp,pcf85063a";
+			label = "PCF85063A";
+			reg = <0x51>;
+	};
+
+};
+
+&pwm0 {
+	status = "okay";
+	ch0-pin = <3>;
+};
+
+&spi3 {
+	compatible = "nordic,nrf-spim";
+	status = "okay";
+	sck-pin = <11>;
+	mosi-pin = <9>;
+	miso-pin = <28>;
+	cs-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
+	w25q16jv: w25q16jv@0 {
+		compatible = "jedec,spi-nor";
+		label = "W25Q16JV";
+		reg = <0>;
+		spi-max-frequency = <40000000>;
+		wp-gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
+		hold-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
+		size = <0x1000000>;
+		has-dpd;
+		t-enter-dpd = <4000>;
+		t-exit-dpd = <25000>;
+		jedec-id = [ef 40 15];
+		has-be32k;
+	};
+};
+
+&timer0 {
+	status = "okay";
+};
+
+&timer1 {
+	status = "okay";
+};
+
+&timer2 {
+	status = "okay";
+};
+
+&flash0 {
+	/*
+	 * For more information, see:
+	 * http://docs.zephyrproject.org/latest/guides/dts/index.html#flash-partitions
+	 */
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		boot_partition: partition@0 {
+			label = "mcuboot";
+			reg = <0x00000000 0x10000>;
+		};
+		slot0_partition: partition@10000 {
+			label = "image-0";
+		};
+		slot0_ns_partition: partition@40000 {
+			label = "image-0-nonsecure";
+		};
+		slot1_partition: partition@80000 {
+			label = "image-1";
+		};
+		slot1_ns_partition: partition@b0000 {
+			label = "image-1-nonsecure";
+		};
+		scratch_partition: partition@f0000 {
+			label = "image-scratch";
+			reg = <0x000f0000 0xa000>;
+		};
+		storage_partition: partition@fa000 {
+			label = "storage";
+			reg = <0x000fa000 0x00006000>;
+		};
+	};
+};
+
+/ {
+
+	reserved-memory {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		sram0_s: image_s@20000000 {
+			/* Secure image memory */
+		};
+
+		sram0_bsd: image_bsd@20010000 {
+			/* BSD (shared) memory */
+		};
+
+		sram0_ns: image_ns@20020000 {
+			/* Non-Secure image memory */
+		};
+	};
+};
+
+/ {
+	vbatt {
+		compatible = "voltage-divider";
+		io-channels = <&adc 7>;
+		output-ohms = <100000>;
+		full-ohms = <(100000 + 100000)>;
+		power-gpios = <&gpio0 25 0>;
+	};
+};
+
+/* Include partition configuration file */
+#include "circuitdojo_feather_nrf9160_partition_conf.dts"
diff --git a/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_defconfig b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_defconfig
new file mode 100644
index 0000000..e19cf6c
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_defconfig
@@ -0,0 +1,21 @@
+# SPDX-License-Identifier: Apache-2.0
+
+CONFIG_SOC_SERIES_NRF91X=y
+CONFIG_SOC_NRF9160_SICA=y
+CONFIG_BOARD_CIRCUITDOJO_FEATHER_NRF9160=y
+
+# Enable MPU
+CONFIG_ARM_MPU=y
+
+# Enable TrustZone-M
+CONFIG_ARM_TRUSTZONE_M=y
+
+# enable GPIO
+CONFIG_GPIO=y
+
+# Enable uart driver
+CONFIG_SERIAL=y
+
+# enable console
+CONFIG_CONSOLE=y
+CONFIG_UART_CONSOLE=y
diff --git a/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_partition_conf.dts b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_partition_conf.dts
new file mode 100644
index 0000000..e8cb6fc
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_partition_conf.dts
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2018-2020 Nordic Semiconductor ASA
+ * Copyright (c) 2020 Circuit Dojo LLC
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/*
+ * Default Flash planning for circuitdojo_feather_nrf9160.
+ *
+ * Zephyr build for nRF9160 with ARM TrustZone-M support,
+ * implies building Secure and Non-Secure Zephyr images.
+ *
+ * Secure image will be placed, by default, in flash0
+ * (or in slot0, if MCUboot is present).
+ * Secure image will use sram0 for system memory.
+ *
+ * Non-Secure image will be placed in slot0_ns, and use
+ * sram0_ns for system memory.
+ *
+ * Note that the Secure image only requires knowledge of
+ * the beginning of the Non-Secure image (not its size).
+ */
+
+&slot0_partition {
+	reg = <0x00010000 0x30000>;
+};
+
+&slot0_ns_partition {
+	reg = <0x00040000 0x40000>;
+};
+
+&slot1_partition {
+	reg = <0x00080000 0x30000>;
+};
+
+&slot1_ns_partition {
+	reg = <0x000b0000 0x40000>;
+};
+
+/* Default SRAM planning when building for nRF9160 with
+ * ARM TrustZone-M support
+ * - Lowest 64 kB SRAM allocated to Secure image (sram0_s).
+ * - 64 kB SRAM reserved for and used by the BSD socket
+ *   library (sram0_bsd).
+ * - Upper 128 kB allocated to Non-Secure image (sram0_ns).
+ */
+
+&sram0_s {
+	reg = <0x20000000 DT_SIZE_K(64)>;
+};
+
+&sram0_bsd {
+	reg = <0x20010000 DT_SIZE_K(64)>;
+};
+
+&sram0_ns {
+	reg = <0x20020000 DT_SIZE_K(128)>;
+};
diff --git a/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160ns.dts b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160ns.dts
new file mode 100644
index 0000000..5a0df90
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160ns.dts
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2018-2020 Nordic Semiconductor ASA
+ * Copyright (c) 2020 Circuit Dojo LLC
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/dts-v1/;
+#include <nordic/nrf9160ns_sica.dtsi>
+#include "circuitdojo_feather_nrf9160_common.dts"
+
+/ {
+	chosen {
+		zephyr,flash = &flash0;
+		zephyr,sram = &sram0_ns;
+		zephyr,code-partition = &slot0_ns_partition;
+	};
+};
diff --git a/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160ns.yaml b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160ns.yaml
new file mode 100644
index 0000000..c358a1d
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160ns.yaml
@@ -0,0 +1,14 @@
+identifier: circuitdojo_feather_nrf9160_ns
+name: CircuitDojo-Feather-nRF9160-Non-Secure
+type: mcu
+arch: arm
+toolchain:
+  - gnuarmemb
+  - xtools
+  - zephyr
+ram: 128
+flash: 256
+supported:
+  - i2c
+  - pwm
+  - watchdog
diff --git a/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160ns_defconfig b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160ns_defconfig
new file mode 100644
index 0000000..0df8c97
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160ns_defconfig
@@ -0,0 +1,24 @@
+# SPDX-License-Identifier: Apache-2.0
+
+CONFIG_SOC_SERIES_NRF91X=y
+CONFIG_SOC_NRF9160_SICA=y
+CONFIG_BOARD_CIRCUITDOJO_FEATHER_NRF9160NS=y
+
+# Enable MPU
+CONFIG_ARM_MPU=y
+
+# Enable TrustZone-M
+CONFIG_ARM_TRUSTZONE_M=y
+
+# This Board implies building Non-Secure firmware
+CONFIG_TRUSTED_EXECUTION_NONSECURE=y
+
+# enable GPIO
+CONFIG_GPIO=y
+
+# Enable uart driver
+CONFIG_SERIAL=y
+
+# enable console
+CONFIG_CONSOLE=y
+CONFIG_UART_CONSOLE=y
diff --git a/boards/arm/circuitdojo_feather_nrf9160/doc/img/circuitdojo_feather_nrf9160.png b/boards/arm/circuitdojo_feather_nrf9160/doc/img/circuitdojo_feather_nrf9160.png
new file mode 100644
index 0000000..238a06e
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/doc/img/circuitdojo_feather_nrf9160.png
Binary files differ
diff --git a/boards/arm/circuitdojo_feather_nrf9160/doc/img/nrf9160-feather-v31-features.png b/boards/arm/circuitdojo_feather_nrf9160/doc/img/nrf9160-feather-v31-features.png
new file mode 100644
index 0000000..6b21a74
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/doc/img/nrf9160-feather-v31-features.png
Binary files differ
diff --git a/boards/arm/circuitdojo_feather_nrf9160/doc/index.rst b/boards/arm/circuitdojo_feather_nrf9160/doc/index.rst
new file mode 100644
index 0000000..80c7aea
--- /dev/null
+++ b/boards/arm/circuitdojo_feather_nrf9160/doc/index.rst
@@ -0,0 +1,159 @@
+.. _circuitdojo_feather_nrf9160:
+
+nRF9160 Feather
+###############
+
+.. figure:: img/circuitdojo_feather_nrf9160.png
+     :width: 711px
+     :align: center
+     :alt: Circuit Dojo nRF9160 Feather
+
+     nRF9160 Feather (Credit: Circuit Dojo)
+
+Overview
+********
+
+The nRF9160 Feather by Circuit Dojo is a single-board development
+for bringing your LTE-M and NB-IoT applications to life. The circuitdojo_feather_nrf9160
+board configuration leverages the pre-existing support for the Nordic Semiconductor
+nRF9160. Supported nRF9160 peripherals include:
+
+* :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)`
+* :abbr:`RTC (nRF RTC System Clock)`
+* Segger RTT (RTT Console)
+* :abbr:`SPI (Serial Peripheral Interface)`
+* :abbr:`UARTE (Universal asynchronous receiver-transmitter with EasyDMA)`
+* :abbr:`WDT (Watchdog Timer)`
+* :abbr:`IDAU (Implementation Defined Attribution Unit)`
+
+More information about the board can be found at the
+`nRF9160 Feather Documentation`_.
+
+
+Hardware
+********
+
+.. figure:: img/nrf9160-feather-v31-features.png
+   :width: 711px
+   :align: center
+   :alt: nRF9160 Feather Features
+
+Connections and IOs
+===================
+
+The nRF9160 Feather has everything you know and love about
+the Feather platform. Here are some of the highlights:
+
+LED
+---
+
+* D7 (blue) = P0.03
+
+Push buttons and Switches
+-------------------------
+
+* MODE = P0.12
+* RESET
+
+USB
+---
+
+Contains a USB/UART connection for both debugging and loading new
+code using a UART Enabled MCUBoot.
+
+Standard Battery Connection
+----------------------------
+
+The nRF9160 Feather has a 2 pin battery connector on board. Lithium Polymer batteries >
+300mA required.
+
+Nano SIM Holder
+---------------
+
+The nRF9160 Feather has a built-in nano SIM (4FF) holder located
+on the bottom side.
+
+
+Programming and Debugging
+*************************
+
+circuitdojo_feather_nrf9160 has a Tag Connect TC2030-CTX-NL. It can be used
+by most programmers like:
+
+* J-Link (the nRF53-DK is recommended)
+* CMSIS-DAP based programmers
+
+Check out `Getting Started`_ for more info.
+
+Building an application
+=======================
+
+In most cases you'll want to use the ``_ns`` target with any of the Zephyr
+or Nordic based examples. Some of the examples do not use secure mode,
+so they do not required the ``_ns`` suffix. A great example of this is the
+`hello_world` below:
+
+Flashing
+========
+
+Follow the instructions in the :ref:`nordic_segger` page to install
+and configure all the necessary software. Further information can be
+found in :ref:`nordic_segger_flashing`. Then build and flash
+applications as usual (see :ref:`build_an_application` and
+:ref:`application_run` for more details).
+
+Here is an example for the :ref:`hello_world` application.
+
+First, run your favorite terminal program to listen for output.
+
+.. code-block:: console
+
+   $ screen /dev/<tty_device> 115200
+
+Replace :code:`<tty_device>` with the port where the nRF9160 Feather
+can be found. In most cases (On Linux/Mac) it will be: :code:`/dev/tty.SLAB_USBtoUART`.
+
+Then build and flash the application in the usual way.
+
+.. zephyr-app-commands::
+   :zephyr-app: samples/hello_world
+   :board: circuitdojo_feather_nrf9160
+   :goals: build flash
+
+Debugging
+=========
+
+Refer to the :ref:`nordic_segger` page to learn about debugging Nordic boards with a
+Segger IC.
+
+
+Testing the LEDs and buttons on the nRF9160 Feather
+***************************************************
+
+There are 2 samples that allow you to test that the buttons (switches) and LEDs on
+the board are working properly with Zephyr:
+
+* :ref:`blinky-sample`
+* :ref:`button-sample`
+
+You can build and flash the examples to make sure Zephyr is running correctly on
+your board. The button and LED definitions can be found in
+:zephyr_file:`boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_common.dts`.
+
+References
+**********
+
+.. target-notes::
+
+**Side note** This page was based on the documentation for the nRF9160 DK. Thanks to Nordic for
+developing a great platform!
+
+.. _nRF9160 Feather Documentation: https://docs.jaredwolff.com/nrf9160-introduction.html
+.. _Getting Started: https://docs.jaredwolff.com/nrf9160-getting-started.html
diff --git a/samples/drivers/spi_flash/boards/circuitdojo_feather_nrf9160.conf b/samples/drivers/spi_flash/boards/circuitdojo_feather_nrf9160.conf
new file mode 100644
index 0000000..9ba48c2
--- /dev/null
+++ b/samples/drivers/spi_flash/boards/circuitdojo_feather_nrf9160.conf
@@ -0,0 +1,7 @@
+#
+# Copyright (c) 2020 Circuit Dojo LLC
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+CONFIG_SPI_NOR=y
diff --git a/samples/subsys/fs/littlefs/boards/circuitdojo_feather_nrf9160.conf b/samples/subsys/fs/littlefs/boards/circuitdojo_feather_nrf9160.conf
new file mode 100644
index 0000000..a3bb593
--- /dev/null
+++ b/samples/subsys/fs/littlefs/boards/circuitdojo_feather_nrf9160.conf
@@ -0,0 +1,8 @@
+#
+# Copyright (c) 2020 Circuit Dojo LLC
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+CONFIG_SPI=y
+CONFIG_SPI_NOR=y
+CONFIG_SPI_NOR_FLASH_LAYOUT_PAGE_SIZE=4096
diff --git a/samples/subsys/fs/littlefs/boards/circuitdojo_feather_nrf9160.overlay b/samples/subsys/fs/littlefs/boards/circuitdojo_feather_nrf9160.overlay
new file mode 100644
index 0000000..97072fd
--- /dev/null
+++ b/samples/subsys/fs/littlefs/boards/circuitdojo_feather_nrf9160.overlay
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2020 Circuit Dojo LLC
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/delete-node/ &storage_partition;
+
+&w25q16jv {
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		partition@0 {
+			label = "storage";
+			reg = <0x00000000 0x00010000>;
+		};
+	};
+};
diff --git a/samples/subsys/shell/fs/boards/circuitdojo_feather_nrf9160.conf b/samples/subsys/shell/fs/boards/circuitdojo_feather_nrf9160.conf
new file mode 100644
index 0000000..a3bb593
--- /dev/null
+++ b/samples/subsys/shell/fs/boards/circuitdojo_feather_nrf9160.conf
@@ -0,0 +1,8 @@
+#
+# Copyright (c) 2020 Circuit Dojo LLC
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+CONFIG_SPI=y
+CONFIG_SPI_NOR=y
+CONFIG_SPI_NOR_FLASH_LAYOUT_PAGE_SIZE=4096