From 11fc46ca6f418b7a3a18d424d69835ffc78fe8a6 Mon Sep 17 00:00:00 2001 From: Glenn Ruben Bakke Date: Tue, 3 Jan 2017 17:02:49 +0100 Subject: [PATCH] nrf5/boards: Adding initial microbit build files and board configurations. --- nrf5/boards/microbit/mpconfigboard.h | 72 ++++++++++++++++++++++ nrf5/boards/microbit/mpconfigboard.mk | 5 ++ nrf5/boards/microbit/mpconfigboard_s110.mk | 4 ++ nrf5/boards/microbit/nrf51_hal_conf.h | 10 +++ nrf5/boards/microbit/pins.csv | 32 ++++++++++ 5 files changed, 123 insertions(+) create mode 100644 nrf5/boards/microbit/mpconfigboard.h create mode 100644 nrf5/boards/microbit/mpconfigboard.mk create mode 100644 nrf5/boards/microbit/mpconfigboard_s110.mk create mode 100644 nrf5/boards/microbit/nrf51_hal_conf.h create mode 100644 nrf5/boards/microbit/pins.csv diff --git a/nrf5/boards/microbit/mpconfigboard.h b/nrf5/boards/microbit/mpconfigboard.h new file mode 100644 index 0000000000..83d7c25f54 --- /dev/null +++ b/nrf5/boards/microbit/mpconfigboard.h @@ -0,0 +1,72 @@ +/* + * This file is part of the Micro Python project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2017 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. + */ + +#define PCA10028 + +#define MICROPY_HW_BOARD_NAME "micro:bit" +#define MICROPY_HW_MCU_NAME "NRF51822" +#define MICROPY_PY_SYS_PLATFORM "nrf51" + +#define MICROPY_PY_MACHINE_PWM (0) +#define MICROPY_PY_MACHINE_TIMER (1) +#define MICROPY_PY_MACHINE_RTC (1) + +#define MICROPY_PY_USOCKET (0) +#define MICROPY_PY_NETWORK (0) + +#define MICROPY_HW_HAS_SWITCH (0) +#define MICROPY_HW_HAS_FLASH (0) +#define MICROPY_HW_HAS_SDCARD (0) +#define MICROPY_HW_HAS_MMA7660 (0) +#define MICROPY_HW_HAS_LIS3DSH (0) +#define MICROPY_HW_HAS_LCD (0) +#define MICROPY_HW_ENABLE_RNG (0) +#define MICROPY_HW_ENABLE_RTC (0) +#define MICROPY_HW_ENABLE_TIMER (0) +#define MICROPY_HW_ENABLE_SERVO (0) +#define MICROPY_HW_ENABLE_DAC (0) +#define MICROPY_HW_ENABLE_CAN (0) + +#define MICROPY_HW_LED_PULLUP (1) + +#define MICROPY_HW_LED1 (21) // LED1 +#define MICROPY_HW_LED2 (22) // LED2 +#define MICROPY_HW_LED3 (23) // LED3 +#define MICROPY_HW_LED4 (24) // LED4 + +// UART config +#define MICROPY_HW_UART1_RX (25) +#define MICROPY_HW_UART1_TX (24) +#define MICROPY_HW_UART1_HWFC (0) + +// SPI0 config +#define MICROPY_HW_SPI0_NAME "SPI0" +#define MICROPY_HW_SPI0_SCK (1) // A3 +#define MICROPY_HW_SPI0_MOSI (2) // A2 +#define MICROPY_HW_SPI0_MISO (3) // A1 +#define MICROPY_HW_SPI0_NSS (4) // A4 + +#define HELP_TEXT_BOARD_LED "1,2,3,4" diff --git a/nrf5/boards/microbit/mpconfigboard.mk b/nrf5/boards/microbit/mpconfigboard.mk new file mode 100644 index 0000000000..c8a0f0caea --- /dev/null +++ b/nrf5/boards/microbit/mpconfigboard.mk @@ -0,0 +1,5 @@ +MCU_SERIES = m0 +MCU_VARIANT = nrf51 +LD_FILE = boards/nrf51822_aa.ld +FLASHER = pyocd + diff --git a/nrf5/boards/microbit/mpconfigboard_s110.mk b/nrf5/boards/microbit/mpconfigboard_s110.mk new file mode 100644 index 0000000000..54766bd429 --- /dev/null +++ b/nrf5/boards/microbit/mpconfigboard_s110.mk @@ -0,0 +1,4 @@ +MCU_SERIES = m0 +MCU_VARIANT = nrf51 +LD_FILE = boards/nrf51822_ac_s110.ld + diff --git a/nrf5/boards/microbit/nrf51_hal_conf.h b/nrf5/boards/microbit/nrf51_hal_conf.h new file mode 100644 index 0000000000..4bd11e1dd5 --- /dev/null +++ b/nrf5/boards/microbit/nrf51_hal_conf.h @@ -0,0 +1,10 @@ +#ifndef NRF51_HAL_CONF_H__ +#define NRF51_HAL_CONF_H__ + +#define HAL_UART_MODULE_ENABLED +#define HAL_SPI_MODULE_ENABLED +#define HAL_TIME_MODULE_ENABLED +#define HAL_RTC_MODULE_ENABLED +#define HAL_TIMER_MODULE_ENABLED + +#endif // NRF51_HAL_CONF_H__ diff --git a/nrf5/boards/microbit/pins.csv b/nrf5/boards/microbit/pins.csv new file mode 100644 index 0000000000..2b16969869 --- /dev/null +++ b/nrf5/boards/microbit/pins.csv @@ -0,0 +1,32 @@ +PA0,PA0 +PA1,PA1 +PA2,PA2 +PA3,PA3 +PA4,PA4 +PA5,PA5 +PA6,PA6 +PA7,PA7 +UART_RTS,PA8 +UART_TX,PA9 +UART_CTS,PA10 +UART_RX,PA11 +PA12,PA12 +PA13,PA13 +PA14,PA14 +PA15,PA15 +PA16,PA16 +PA17,PA17 +PA18,PA18 +PA19,PA19 +PA20,PA20 +PA21,PA21 +PA22,PA22 +PA23,PA23 +PA24,PA24 +PA25,PA25 +PA26,PA26 +PA27,PA27 +PA28,PA28 +PA29,PA29 +PA30,PA30 +PA31,PA31 \ No newline at end of file