298 lines
7.2 KiB
Diff
298 lines
7.2 KiB
Diff
From fe02240e6f395771a11e37705386e3d6dd82cd58 Mon Sep 17 00:00:00 2001
|
|
From: Giampaolo Mancini <giampaolo@trampolineup.com>
|
|
Date: Wed, 8 Jan 2020 16:42:46 +0100
|
|
Subject: [PATCH 014/204] Add support for Arduino Edge Control
|
|
|
|
---
|
|
.../TARGET_EDGE_CONTROL/PinNames.h | 207 ++++++++++++++++++
|
|
.../TARGET_EDGE_CONTROL/device.h | 38 ++++
|
|
targets/targets.json | 13 ++
|
|
3 files changed, 258 insertions(+)
|
|
create mode 100644 targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF52/TARGET_MCU_NRF52840/TARGET_EDGE_CONTROL/PinNames.h
|
|
create mode 100644 targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF52/TARGET_MCU_NRF52840/TARGET_EDGE_CONTROL/device.h
|
|
|
|
diff --git a/targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF52/TARGET_MCU_NRF52840/TARGET_EDGE_CONTROL/PinNames.h b/targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF52/TARGET_MCU_NRF52840/TARGET_EDGE_CONTROL/PinNames.h
|
|
new file mode 100644
|
|
index 0000000000..afce410894
|
|
--- /dev/null
|
|
+++ b/targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF52/TARGET_MCU_NRF52840/TARGET_EDGE_CONTROL/PinNames.h
|
|
@@ -0,0 +1,207 @@
|
|
+/*
|
|
+ * Copyright (c) 2019 Arduino SA
|
|
+ *
|
|
+ * Licensed under the Apache License, Version 2.0 (the "License");
|
|
+ * you may not use this file except in compliance with the License.
|
|
+ * You may obtain a copy of the License at
|
|
+ *
|
|
+ * http://www.apache.org/licenses/LICENSE-2.0
|
|
+ *
|
|
+ * Unless required by applicable law or agreed to in writing, software
|
|
+ * distributed under the License is distributed on an "AS IS" BASIS,
|
|
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
+ * See the License for the specific language governing permissions and
|
|
+ * limitations under the License.
|
|
+ */
|
|
+
|
|
+#ifndef MBED_PINNAMES_H
|
|
+#define MBED_PINNAMES_H
|
|
+
|
|
+#include "cmsis.h"
|
|
+#include "nrf_gpio.h"
|
|
+
|
|
+#ifdef __cplusplus
|
|
+extern "C" {
|
|
+#endif
|
|
+
|
|
+typedef enum {
|
|
+ PIN_INPUT,
|
|
+ PIN_OUTPUT
|
|
+} PinDirection;
|
|
+
|
|
+///> define macro producing for example Px_y = NRF_GPIO_PIN_MAP(x, y)
|
|
+#define PinDef(port_num, pin_num) P##port_num##_##pin_num = NRF_GPIO_PIN_MAP(port_num, pin_num)
|
|
+
|
|
+
|
|
+typedef enum {
|
|
+ PinDef(0 , 0), // P0_0 = 0...
|
|
+ PinDef(0 , 1),
|
|
+ PinDef(0 , 2),
|
|
+ PinDef(0 , 3),
|
|
+ PinDef(0 , 4),
|
|
+ PinDef(0 , 5),
|
|
+ PinDef(0 , 6),
|
|
+ PinDef(0 , 7),
|
|
+ PinDef(0 , 8),
|
|
+ PinDef(0 , 9),
|
|
+ PinDef(0 , 10),
|
|
+ PinDef(0 , 11),
|
|
+ PinDef(0 , 12),
|
|
+ PinDef(0 , 13),
|
|
+ PinDef(0 , 14),
|
|
+ PinDef(0 , 15),
|
|
+ PinDef(0 , 16),
|
|
+ PinDef(0 , 17),
|
|
+ PinDef(0 , 18),
|
|
+ PinDef(0 , 19),
|
|
+ PinDef(0 , 20),
|
|
+ PinDef(0 , 21),
|
|
+ PinDef(0 , 22),
|
|
+ PinDef(0 , 23),
|
|
+ PinDef(0 , 24),
|
|
+ PinDef(0 , 25),
|
|
+ PinDef(0 , 26),
|
|
+ PinDef(0 , 27),
|
|
+ PinDef(0 , 28),
|
|
+ PinDef(0 , 29),
|
|
+ PinDef(0 , 30),
|
|
+ PinDef(0 , 31),
|
|
+
|
|
+ PinDef(1 , 0), //P1_1 = 32...
|
|
+ PinDef(1 , 1),
|
|
+ PinDef(1 , 2),
|
|
+ PinDef(1 , 3),
|
|
+ PinDef(1 , 4),
|
|
+ PinDef(1 , 5),
|
|
+ PinDef(1 , 6),
|
|
+ PinDef(1 , 7),
|
|
+ PinDef(1 , 8),
|
|
+ PinDef(1 , 9),
|
|
+ PinDef(1 , 10),
|
|
+ PinDef(1 , 11),
|
|
+ PinDef(1 , 12),
|
|
+ PinDef(1 , 13),
|
|
+ PinDef(1 , 14),
|
|
+ PinDef(1 , 15),
|
|
+
|
|
+ // Port0
|
|
+ p0 = P0_0,
|
|
+ p1 = P0_1,
|
|
+ p2 = P0_2,
|
|
+ p3 = P0_3,
|
|
+ p4 = P0_4,
|
|
+ p5 = P0_5,
|
|
+ p6 = P0_6,
|
|
+ p7 = P0_7,
|
|
+ p8 = P0_8,
|
|
+ p9 = P0_9,
|
|
+ p10 = P0_10,
|
|
+ p11 = P0_11,
|
|
+ p12 = P0_12,
|
|
+ p13 = P0_13,
|
|
+ p14 = P0_14,
|
|
+ p15 = P0_15,
|
|
+ p16 = P0_16,
|
|
+ p17 = P0_17,
|
|
+ p18 = P0_18,
|
|
+ p19 = P0_19,
|
|
+ p20 = P0_20,
|
|
+ p21 = P0_21,
|
|
+ p22 = P0_22,
|
|
+ p23 = P0_23,
|
|
+ p24 = P0_24,
|
|
+ p25 = P0_25,
|
|
+ p26 = P0_26,
|
|
+ p27 = P0_27,
|
|
+ p28 = P0_28,
|
|
+ p29 = P0_29,
|
|
+ p30 = P0_30,
|
|
+ p31 = P0_31,
|
|
+
|
|
+ // Port1
|
|
+ p32 = P1_0,
|
|
+ p33 = P1_1,
|
|
+ p34 = P1_2,
|
|
+ p35 = P1_3,
|
|
+ p36 = P1_4,
|
|
+ p37 = P1_5,
|
|
+ p38 = P1_6,
|
|
+ p39 = P1_7,
|
|
+ p40 = P1_8,
|
|
+ p41 = P1_9,
|
|
+ p42 = P1_10,
|
|
+ p43 = P1_11,
|
|
+ p44 = P1_12,
|
|
+ p45 = P1_13,
|
|
+ p46 = P1_14,
|
|
+ p47 = P1_15,
|
|
+
|
|
+ TX_PIN_NUMBER = P1_11,
|
|
+ RX_PIN_NUMBER = P1_10,
|
|
+
|
|
+
|
|
+ // mBed interface Pins
|
|
+ CONSOLE_TX = TX_PIN_NUMBER,
|
|
+ CONSOLE_RX = RX_PIN_NUMBER,
|
|
+ STDIO_UART_TX = TX_PIN_NUMBER,
|
|
+ STDIO_UART_RX = RX_PIN_NUMBER,
|
|
+
|
|
+ SPI_PSELMOSI0 = P0_20,
|
|
+ SPI_PSELMISO0 = P0_21,
|
|
+ SPI_PSELSCK0 = P0_19,
|
|
+ SPI_PSELSS0 = P1_12,
|
|
+
|
|
+ SPIS_PSELMOSI = P0_20,
|
|
+ SPIS_PSELMISO = P0_21,
|
|
+ SPIS_PSELSCK = P0_19,
|
|
+ SPIS_PSELSS = P1_12,
|
|
+
|
|
+ I2C_SDA0 = P1_9,
|
|
+ I2C_SCL0 = P0_11,
|
|
+ I2C_SDA1 = P0_31,
|
|
+ I2C_SCL1 = P0_2,
|
|
+
|
|
+ /**** QSPI pins ****/
|
|
+ QSPI1_IO0 = P0_20,
|
|
+ QSPI1_IO1 = P0_21,
|
|
+ QSPI1_IO2 = P0_22,
|
|
+ QSPI1_IO3 = P0_23,
|
|
+ QSPI1_SCK = P0_19,
|
|
+ QSPI1_CSN = P0_17,
|
|
+
|
|
+ /**** QSPI FLASH pins ****/
|
|
+ QSPI_FLASH1_IO0 = QSPI1_IO0,
|
|
+ QSPI_FLASH1_IO1 = QSPI1_IO1,
|
|
+ QSPI_FLASH1_IO2 = QSPI1_IO2,
|
|
+ QSPI_FLASH1_IO3 = QSPI1_IO3,
|
|
+ QSPI_FLASH1_SCK = QSPI1_SCK,
|
|
+ QSPI_FLASH1_CSN = QSPI1_CSN,
|
|
+
|
|
+ // Not connected
|
|
+ NC = (int)0xFFFFFFFF,
|
|
+
|
|
+ STDIO_UART_RTS = NC,
|
|
+ STDIO_UART_CTS = NC,
|
|
+
|
|
+ LED1 = NC,
|
|
+ LED2 = NC,
|
|
+ LED3 = NC,
|
|
+ LED4 = NC,
|
|
+ BUTTON1 = NC,
|
|
+ BUTTON2 = NC,
|
|
+ BUTTON3 = NC,
|
|
+ BUTTON4 = NC,
|
|
+} PinName;
|
|
+
|
|
+typedef enum {
|
|
+ PullNone = 0,
|
|
+ PullDown = 1,
|
|
+ PullUp = 3,
|
|
+ PullDefault = PullUp
|
|
+} PinMode;
|
|
+
|
|
+#ifdef __cplusplus
|
|
+}
|
|
+#endif
|
|
+
|
|
+#endif
|
|
diff --git a/targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF52/TARGET_MCU_NRF52840/TARGET_EDGE_CONTROL/device.h b/targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF52/TARGET_MCU_NRF52840/TARGET_EDGE_CONTROL/device.h
|
|
new file mode 100644
|
|
index 0000000000..2427e752ea
|
|
--- /dev/null
|
|
+++ b/targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF52/TARGET_MCU_NRF52840/TARGET_EDGE_CONTROL/device.h
|
|
@@ -0,0 +1,38 @@
|
|
+// The 'features' section in 'target.json' is now used to create the device's hardware preprocessor switches.
|
|
+// Check the 'features' section of the target description in 'targets.json' for more details.
|
|
+/* mbed Microcontroller Library
|
|
+ * Copyright (c) 2006-2013 ARM Limited
|
|
+ *
|
|
+ * Licensed under the Apache License, Version 2.0 (the "License");
|
|
+ * you may not use this file except in compliance with the License.
|
|
+ * You may obtain a copy of the License at
|
|
+ *
|
|
+ * http://www.apache.org/licenses/LICENSE-2.0
|
|
+ *
|
|
+ * Unless required by applicable law or agreed to in writing, software
|
|
+ * distributed under the License is distributed on an "AS IS" BASIS,
|
|
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
+ * See the License for the specific language governing permissions and
|
|
+ * limitations under the License.
|
|
+ */
|
|
+#ifndef MBED_DEVICE_H
|
|
+#define MBED_DEVICE_H
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+#include "objects.h"
|
|
+
|
|
+#endif
|
|
diff --git a/targets/targets.json b/targets/targets.json
|
|
index 8d418bd6b9..c035a6ed52 100644
|
|
--- a/targets/targets.json
|
|
+++ b/targets/targets.json
|
|
@@ -7067,6 +7067,19 @@
|
|
"CONFIG_GPIO_AS_PINRESET"
|
|
]
|
|
},
|
|
+ "EDGE_CONTROL": {
|
|
+ "inherits": ["MCU_NRF52840"],
|
|
+ "features_add": ["STORAGE"],
|
|
+ "device_has_remove": ["ITM"],
|
|
+ "device_has_add": ["WATCHDOG"],
|
|
+ "components_add": [
|
|
+ "SD",
|
|
+ "SPIF"
|
|
+ ],
|
|
+ "macros_add": [
|
|
+ "CONFIG_GPIO_AS_PINRESET"
|
|
+ ]
|
|
+ },
|
|
"NUMAKER_PFM_NUC472": {
|
|
"core": "Cortex-M4F",
|
|
"components_add": [
|
|
--
|
|
2.39.1
|
|
|