summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno Martins <bruno963852@gmail.com>2021-05-13 18:18:04 -0300
committerDamien George <damien@micropython.org>2021-05-18 12:14:57 +1000
commitea2d83e96175ef1ed260cca917024502e01a5546 (patch)
tree9faa701a5e95da14d02391cb9c1e50d75f188b56
parent94fb5e7f5a409e9596657508c6a9ed1c609de267 (diff)
nrf/boards: Add support for evk_nina_b3 board.
-rw-r--r--ports/nrf/boards/evk_nina_b3/mpconfigboard.h85
-rw-r--r--ports/nrf/boards/evk_nina_b3/mpconfigboard.mk7
-rw-r--r--ports/nrf/boards/evk_nina_b3/pins.csv48
3 files changed, 140 insertions, 0 deletions
diff --git a/ports/nrf/boards/evk_nina_b3/mpconfigboard.h b/ports/nrf/boards/evk_nina_b3/mpconfigboard.h
new file mode 100644
index 000000000..eaca796be
--- /dev/null
+++ b/ports/nrf/boards/evk_nina_b3/mpconfigboard.h
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2016 Glenn Ruben Bakke
+ *
+ * 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.
+ */
+
+// Pin numbering scheme for nrf52840-based boards
+//
+// Software Pins 0-31 correspond to physical pins
+// 0.x and software Pins 32-47 correspond to physical pins 1.x.
+//
+// Example: Pin(47) would be 1.15 on the PCA10059
+
+// Board data
+#define MICROPY_HW_BOARD_NAME "EVK_NINA_B3"
+#define MICROPY_HW_MCU_NAME "NRF52840"
+#define MICROPY_PY_SYS_PLATFORM "nrf52"
+
+// Enable @viper and @native
+#define MICROPY_EMIT_THUMB (1)
+#define MICROPY_EMIT_INLINE_THUMB (1)
+
+// Enable optional modules
+#define MICROPY_PY_UERRNO (1)
+#define MICROPY_PY_UHASHLIB (1)
+
+// Peripherals Config
+#define MICROPY_PY_MACHINE_UART (1)
+#define MICROPY_PY_MACHINE_HW_PWM (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_HW_ENABLE_RNG (1)
+
+// Configure LEDS
+#define MICROPY_HW_HAS_LED (1)
+#define MICROPY_HW_LED_COUNT (3)
+#define MICROPY_HW_LED_PULLUP (1)
+#define MICROPY_HW_LED1 (13) // LED1 RED
+#define MICROPY_HW_LED2 (25) // LED2 GREEN
+#define MICROPY_HW_LED3 (32) // LED3 BLUE
+
+// UART config
+#define MICROPY_HW_UART1_RX (29)
+#define MICROPY_HW_UART1_TX (45)
+#define MICROPY_HW_UART1_CTS (44)
+#define MICROPY_HW_UART1_RTS (31)
+#define MICROPY_HW_UART1_HWFC (1)
+
+// SPI config
+#define MICROPY_HW_SPI0_NAME "SPI0"
+#define MICROPY_HW_SPI0_SCK (12)
+#define MICROPY_HW_SPI0_MOSI (14)
+#define MICROPY_HW_SPI0_MISO (15)
+
+// PWM Names
+#define MICROPY_HW_PWM0_NAME "PWM0"
+#define MICROPY_HW_PWM1_NAME "PWM1"
+#define MICROPY_HW_PWM2_NAME "PWM2"
+
+// How Many LED indexes appear in the help() message
+#define HELP_TEXT_BOARD_LED "1,2,3"
diff --git a/ports/nrf/boards/evk_nina_b3/mpconfigboard.mk b/ports/nrf/boards/evk_nina_b3/mpconfigboard.mk
new file mode 100644
index 000000000..ca555d393
--- /dev/null
+++ b/ports/nrf/boards/evk_nina_b3/mpconfigboard.mk
@@ -0,0 +1,7 @@
+MCU_SERIES = m4
+MCU_VARIANT = nrf52
+MCU_SUB_VARIANT = nrf52840
+SOFTDEV_VERSION = 6.1.1
+LD_FILES += boards/nrf52840_1M_256k.ld
+
+NRF_DEFINES += -DNRF52840_XXAA
diff --git a/ports/nrf/boards/evk_nina_b3/pins.csv b/ports/nrf/boards/evk_nina_b3/pins.csv
new file mode 100644
index 000000000..e6190bac0
--- /dev/null
+++ b/ports/nrf/boards/evk_nina_b3/pins.csv
@@ -0,0 +1,48 @@
+P0,P0
+P1,P1
+P2,P2,ADC0_IN0
+P3,P3,ADC0_IN1
+P4,P4,ADC0_IN2
+P5,P5,ADC0_IN3
+P6,P6
+P7,P7
+P8,P8
+P9,P9
+P10,P10
+P11,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28,ADC0_IN4
+P29,P29,ADC0_IN5
+P30,P30,ADC0_IN6
+P31,P31,ADC0_IN7
+P32,P32
+P33,P33
+P34,P34
+P35,P35
+P36,P36
+P37,P37
+P38,P38
+P39,P39
+P40,P40
+P41,P41
+P42,P42
+P43,P43
+P44,P44
+P45,P45
+P46,P46
+P47,P47