diff --git a/ports/nrf/boards/nitrogen/mpconfigboard.h b/ports/nrf/boards/nitrogen/mpconfigboard.h new file mode 100644 index 000000000..62d27bff0 --- /dev/null +++ b/ports/nrf/boards/nitrogen/mpconfigboard.h @@ -0,0 +1,73 @@ +/* + * 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 "96Boards Nitrogen" +#define MICROPY_HW_NUS_NAME "Nitrogen" +#define MICROPY_HW_MCU_NAME "NRF52832" +#define MICROPY_PY_SYS_PLATFORM "nrf52" + +#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_PY_RANDOM_HW_RNG (1) +#define MICROPY_PY_MACHINE_DFU_BOOTLOADER (1) +#define MICROPY_PY_MACHINE_WDT (1) + +#define MICROPY_HW_HAS_LED (1) +#define MICROPY_HW_LED_COUNT (2) +#define MICROPY_HW_LED_PULLUP (0) + +#define MICROPY_HW_LED1 (28) // LED1 +#define MICROPY_HW_LED2 (29) // LED2 + +// WDT config +#define MICROPY_HW_HAS_WDT_BUTTON (1) +#define MICROPY_HW_WDT_BUTTON (27) +#define MICROPY_HW_WDT_BUTTON_ACTIVE (0) // active low +#define MICROPY_HW_WDT_BUTTON_PULL (1) // pull up +#define MICROPY_HW_WDT_BUTTON_ENABLE (0) // no enable pin + +// UART config +#define MICROPY_HW_UART1_RX (15) +#define MICROPY_HW_UART1_TX (13) +#define MICROPY_HW_UART1_HWFC (0) + +// SPI0 config +#define MICROPY_HW_SPI0_NAME "SPI0" +#define MICROPY_HW_SPI0_SCK (26) +#define MICROPY_HW_SPI0_MOSI (25) +#define MICROPY_HW_SPI0_MISO (23) + +#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" diff --git a/ports/nrf/boards/nitrogen/mpconfigboard.mk b/ports/nrf/boards/nitrogen/mpconfigboard.mk new file mode 100644 index 000000000..35d8bdad1 --- /dev/null +++ b/ports/nrf/boards/nitrogen/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/nitrogen/pins.csv b/ports/nrf/boards/nitrogen/pins.csv new file mode 100644 index 000000000..a2159aa61 --- /dev/null +++ b/ports/nrf/boards/nitrogen/pins.csv @@ -0,0 +1,30 @@ +GPIO_A,P2,ADC0_IN0 +GPIO_B,P3,ADC0_IN1 +GPIO_C,P4,ADC0_IN2 +GPIO_D,P5,ADC0_IN3 +GPIO_E,P6 +GPIO_F,P7 +GPIO_G,P8 +NFC1,P9 +NFC2,P10 +GPIO_H,P11 +UART_RTS,P12 +UART_TX,P13 +UART_CTS,P14 +UART_RX,P15 +GPIO_I,P16 +GPIO_J,P17 +GPIO_K,P18 +GPIO_L,P19 +I2C_SDA,P20 +SWITCH_RST,P21 +I2C_SCL,P22 +SPI_MOSI,P23 +SPI_SS,P24 +SPI_MISO,P25 +SPI_SCK,P26 +SWITCH_USR,P27 +LED_BT,P28 +LED_USR,P29 +CHARGER_STATUS,P30,ADC0_IN6 +BATTERY_VOLTAGE,P31,ADC0_IN7