aboutsummaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
authorroland van straten2019-09-10 23:01:27 +0200
committerDamien George2019-09-17 11:33:48 +1000
commitac112f88d0496d33a9195ace02ed3928fcb015d3 (patch)
tree6e36942874f9a96d84bdedaeacb36e042f383e10 /ports
parent22099ab88fe054c41090634d096fef7949af2971 (diff)
nrf/boards: Add board definition for uBlox Nina B1 series BLE modules.
Diffstat (limited to 'ports')
-rw-r--r--ports/nrf/README.md2
-rw-r--r--ports/nrf/boards/evk_nina_b1/mpconfigboard.h72
-rw-r--r--ports/nrf/boards/evk_nina_b1/mpconfigboard.mk7
-rw-r--r--ports/nrf/boards/evk_nina_b1/pins.csv41
4 files changed, 122 insertions, 0 deletions
diff --git a/ports/nrf/README.md b/ports/nrf/README.md
index df5904eb6..49642f00e 100644
--- a/ports/nrf/README.md
+++ b/ports/nrf/README.md
@@ -36,6 +36,7 @@ This is a port of MicroPython to the Nordic Semiconductor nRF series of chips.
* [Arduino Primo](http://www.arduino.org/products/boards/arduino-primo)
* [IBK-BLYST-NANO breakout board](https://www.crowdsupply.com/i-syst/blyst-nano)
* [BLUEIO-TAG-EVIM BLYST Nano Sensor board](https://www.crowdsupply.com/i-syst/blyst-nano)
+ * [uBlox EVK-NINA-B1](https://www.u-blox.com/en/product/evk-nina-b1)
* nRF52840
* [PCA10056](http://www.nordicsemi.com/eng/Products/nRF52840-Preview-DK)
* [Particle Xenon](https://docs.particle.io/xenon/)
@@ -126,6 +127,7 @@ arduino_primo | s132 | Peripheral and Central | [PyOCD
ibk_blyst_nano | s132 | Peripheral and Central | [IDAP](#idap-midap-link-targets)
idk_blyst_nano | s132 | Peripheral and Central | [IDAP](#idap-midap-link-targets)
blueio_tag_evim | s132 | Peripheral and Central | [IDAP](#idap-midap-link-targets)
+evk_nina_b1 | s132 | Peripheral and Central | [Segger](#segger-targets)
pca10056 | s140 | Peripheral and Central | [Segger](#segger-targets)
particle_xenon | s140 | Peripheral and Central | [Black Magic Probe](#black-magic-probe-targets)
diff --git a/ports/nrf/boards/evk_nina_b1/mpconfigboard.h b/ports/nrf/boards/evk_nina_b1/mpconfigboard.h
new file mode 100644
index 000000000..ced6b8cb1
--- /dev/null
+++ b/ports/nrf/boards/evk_nina_b1/mpconfigboard.h
@@ -0,0 +1,72 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2019 Roland van Straten
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+// Datasheet for board:
+// https://www.u-blox.com/sites/default/files/EVK-NINA-B1_UserGuide_%28UBX-15028120%29.pdf
+#define MICROPY_HW_BOARD_NAME "EVK_NINA_B1"
+#define MICROPY_HW_MCU_NAME "NRF52832"
+#define MICROPY_PY_SYS_PLATFORM "nrf52"
+
+#define MICROPY_PY_MACHINE_UART (1)
+#define MICROPY_PY_MACHINE_HW_SPI (1)
+#define MICROPY_PY_MACHINE_TIMER (1)
+#define MICROPY_PY_MACHINE_RTCOUNTER (1)
+#define MICROPY_PY_MACHINE_I2C (1)
+#define MICROPY_PY_MACHINE_ADC (1)
+#define MICROPY_PY_MACHINE_TEMP (1)
+#define MICROPY_PY_RANDOM_HW_RNG (1)
+
+#define MICROPY_HW_HAS_LED (1)
+#define MICROPY_HW_LED_TRICOLOR (1)
+#define MICROPY_HW_LED_PULLUP (1)
+
+#define MICROPY_HW_LED_RED (8) // LED1 DS8 Red
+#define MICROPY_HW_LED_GREEN (16) // LED2 DS8 Green
+#define MICROPY_HW_LED_BLUE (18) // LED3 DS8 Blue
+// LEDs conflict with UART
+//#define MICROPY_HW_LED4 (7) // DS1 Green
+//#define MICROPY_HW_LED5 (31) // DS2 Orange
+//#define MICROPY_HW_LED6 (5) // DS7 Green
+//#define MICROPY_HW_LED7 (6) // DS8 Orange
+
+// UART config
+#define MICROPY_HW_UART1_RX (5)
+#define MICROPY_HW_UART1_TX (6)
+#define MICROPY_HW_UART1_CTS (7)
+#define MICROPY_HW_UART1_RTS (31)
+#define MICROPY_HW_UART1_HWFC (1)
+
+// SPI0 config
+#define MICROPY_HW_SPI0_NAME "SPI0"
+#define MICROPY_HW_SPI0_SCK (14)
+#define MICROPY_HW_SPI0_MOSI (13)
+#define MICROPY_HW_SPI0_MISO (12)
+
+#define MICROPY_HW_PWM0_NAME "PWM0"
+#define MICROPY_HW_PWM1_NAME "PWM1"
+#define MICROPY_HW_PWM2_NAME "PWM2"
+
+#define HELP_TEXT_BOARD_LED "1,2,3"
diff --git a/ports/nrf/boards/evk_nina_b1/mpconfigboard.mk b/ports/nrf/boards/evk_nina_b1/mpconfigboard.mk
new file mode 100644
index 000000000..db64a60dd
--- /dev/null
+++ b/ports/nrf/boards/evk_nina_b1/mpconfigboard.mk
@@ -0,0 +1,7 @@
+MCU_SERIES = m4
+MCU_VARIANT = nrf52
+MCU_SUB_VARIANT = nrf52832
+SOFTDEV_VERSION = 6.1.1
+LD_FILES += boards/nrf52832_512k_64k.ld
+
+NRF_DEFINES += -DNRF52832_XXAA
diff --git a/ports/nrf/boards/evk_nina_b1/pins.csv b/ports/nrf/boards/evk_nina_b1/pins.csv
new file mode 100644
index 000000000..876c7ddc1
--- /dev/null
+++ b/ports/nrf/boards/evk_nina_b1/pins.csv
@@ -0,0 +1,41 @@
+A0,P3,ADC0_IN1
+A1,P2,ADC0_IN0
+A2,P4,ADC0_IN2
+A3,P30,ADC0_IN6
+A4,P29,ADC0_IN5
+A5,P28,ADC0_IN4
+LED1,P8
+LED2,P16
+LED3,P18
+SW2,P30
+UART1_RX,P5
+UART1_TX,P6
+UART1_CTS,P7
+UART1_RTS,P8
+SDA,P2
+SCL,P3
+NFC1,P9
+NFC2,P10
+D0,P5
+D1,P6
+D2,P7
+D3,P31
+D4,P18
+D6,P9
+D7,P10
+D9,P8
+D10,P11
+D11,P13
+D12,P12
+D13,P14
+P15,P15
+P17,P17
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27