From 9f819ce2fb74ad5af2900ad7eb962f3f4d060e4b Mon Sep 17 00:00:00 2001 From: Daniel Thompson Date: Sat, 18 Jan 2020 11:45:04 +0000 Subject: [PATCH] nrf: pinetime: Add support for Pine64 PineTime --- ports/nrf/boards/pinetime/mpconfigboard.h | 62 ++++++++++++++++++++++ ports/nrf/boards/pinetime/mpconfigboard.mk | 8 +++ ports/nrf/boards/pinetime/pins.csv | 28 ++++++++++ 3 files changed, 98 insertions(+) create mode 100644 ports/nrf/boards/pinetime/mpconfigboard.h create mode 100644 ports/nrf/boards/pinetime/mpconfigboard.mk create mode 100644 ports/nrf/boards/pinetime/pins.csv diff --git a/ports/nrf/boards/pinetime/mpconfigboard.h b/ports/nrf/boards/pinetime/mpconfigboard.h new file mode 100644 index 000000000..44713def5 --- /dev/null +++ b/ports/nrf/boards/pinetime/mpconfigboard.h @@ -0,0 +1,62 @@ +/* + * This file is part of the MicroPython 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 MICROPY_HW_BOARD_NAME "Pine64 PineTime" +#define MICROPY_HW_NUS_NAME "PineTime" +#define MICROPY_HW_MCU_NAME "NRF52832" +#define MICROPY_PY_SYS_PLATFORM "nrf52" + +#define MICROPY_PY_MACHINE_UART (0) +#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_PY_RANDOM_HW_RNG (1) +#define MICROPY_PY_MACHINE_DFU_BOOTLOADER (1) + +#define MICROPY_HW_HAS_LED (0) +#define MICROPY_HW_LED_COUNT (0) +#define MICROPY_HW_LED_PULLUP (0) + +// UART config +#define MICROPY_HW_UART1_RX (17) /* not connected */ +#define MICROPY_HW_UART1_TX (11) +#define MICROPY_HW_UART1_HWFC (0) + +// SPI0 config +#define MICROPY_HW_SPI0_NAME "SPI0" +#define MICROPY_HW_SPI0_SCK (2) +#define MICROPY_HW_SPI0_MOSI (3) +#define MICROPY_HW_SPI0_MISO (4) + +#define MICROPY_HW_PWM0_NAME "PWM0" +#define MICROPY_HW_PWM1_NAME "PWM1" +#define MICROPY_HW_PWM2_NAME "PWM2" + +#define HELP_TEXT_BOARD_LED "" diff --git a/ports/nrf/boards/pinetime/mpconfigboard.mk b/ports/nrf/boards/pinetime/mpconfigboard.mk new file mode 100644 index 000000000..35d8bdad1 --- /dev/null +++ b/ports/nrf/boards/pinetime/mpconfigboard.mk @@ -0,0 +1,8 @@ +MCU_SERIES = m4 +MCU_VARIANT = nrf52 +MCU_SUB_VARIANT = nrf52832 +SOFTDEV_VERSION = 6.1.1 +LD_FILES += boards/nrf52832_512k_64k_bldr78.ld + +NRF_DEFINES += -DNRF52832_XXAA + diff --git a/ports/nrf/boards/pinetime/pins.csv b/ports/nrf/boards/pinetime/pins.csv new file mode 100644 index 000000000..594d4ac3e --- /dev/null +++ b/ports/nrf/boards/pinetime/pins.csv @@ -0,0 +1,28 @@ +SPI_SCK,P2 +SPI_MOSI,P3 +SPI_MISO,P4 +SPI_SS1,P5 +I2C_SDA,P6 +I2C_SCL,P7 +P8,P8 +P9,P9 +P10,P10 +UART_TX,P11 +P12,P12 +SWITCH,P13 +P14,P14 +P15,P15 +P16,P16 +UART_RX,P17 +P18,P18 +P19,P19 +P22,P22 +P23,P23 +P24,P24 +SPI_SS2,P25 +P26,P26 +P27,P27 +P28,P28 +P29,P29 +P30,P30 +BATTERY,P31,ADC0_IN7