From a17b901a9ea8f2dfe2db0822cdcd47b9c719a90a Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 9 Jul 2019 12:54:09 +1000 Subject: [PATCH] stm32/boards/B_L072Z_LRWAN1: Add definition files for new board. --- .../boards/B_L072Z_LRWAN1/mpconfigboard.h | 60 +++++++++++++++++++ .../boards/B_L072Z_LRWAN1/mpconfigboard.mk | 7 +++ ports/stm32/boards/B_L072Z_LRWAN1/pins.csv | 51 ++++++++++++++++ .../B_L072Z_LRWAN1/stm32l0xx_hal_conf.h | 18 ++++++ 4 files changed, 136 insertions(+) create mode 100644 ports/stm32/boards/B_L072Z_LRWAN1/mpconfigboard.h create mode 100644 ports/stm32/boards/B_L072Z_LRWAN1/mpconfigboard.mk create mode 100644 ports/stm32/boards/B_L072Z_LRWAN1/pins.csv create mode 100644 ports/stm32/boards/B_L072Z_LRWAN1/stm32l0xx_hal_conf.h diff --git a/ports/stm32/boards/B_L072Z_LRWAN1/mpconfigboard.h b/ports/stm32/boards/B_L072Z_LRWAN1/mpconfigboard.h new file mode 100644 index 0000000000..da219abd30 --- /dev/null +++ b/ports/stm32/boards/B_L072Z_LRWAN1/mpconfigboard.h @@ -0,0 +1,60 @@ +/* This file is part of the MicroPython project, http://micropython.org/ + * MIT License; Copyright (c) 2019 Damien P. George + */ + +#define MICROPY_HW_BOARD_NAME "B-L072Z-LRWAN1" +#define MICROPY_HW_MCU_NAME "STM32L072CZ" + +#define MICROPY_EMIT_THUMB (0) +#define MICROPY_EMIT_INLINE_THUMB (0) +#define MICROPY_PY_BUILTINS_COMPLEX (0) +#define MICROPY_PY_MATH (0) +#define MICROPY_PY_FRAMEBUF (0) +#define MICROPY_PY_USOCKET (0) +#define MICROPY_PY_NETWORK (0) +#define MICROPY_PY_STM (0) +#define MICROPY_PY_PYB_LEGACY (0) +#define MICROPY_VFS_FAT (0) + +#define MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE (0) +#define MICROPY_HW_ENABLE_RTC (1) +#define MICROPY_HW_ENABLE_ADC (0) +#define MICROPY_HW_HAS_SWITCH (1) + +// UART config +#define MICROPY_HW_UART1_TX (pin_A9) +#define MICROPY_HW_UART1_RX (pin_A10) +#define MICROPY_HW_UART2_TX (pin_A2) +#define MICROPY_HW_UART2_RX (pin_A3) + +// USART2 is connected to the ST-LINK USB VCP +#define MICROPY_HW_UART_REPL PYB_UART_2 +#define MICROPY_HW_UART_REPL_BAUD 115200 + +// I2C busses +#define MICROPY_HW_I2C1_SCL (pin_B8) +#define MICROPY_HW_I2C1_SDA (pin_B9) + +// SPI busses +#define MICROPY_HW_SPI1_NSS (pin_A15) +#define MICROPY_HW_SPI1_SCK (pin_A5) +#define MICROPY_HW_SPI1_MISO (pin_A6) +#define MICROPY_HW_SPI1_MOSI (pin_A7) +#define MICROPY_HW_SPI2_NSS (pin_B12) +#define MICROPY_HW_SPI2_SCK (pin_B13) +#define MICROPY_HW_SPI2_MISO (pin_B14) +#define MICROPY_HW_SPI2_MOSI (pin_B15) + +// USER B1 has a pull-up and is active low +#define MICROPY_HW_USRSW_PIN (pin_B2) +#define MICROPY_HW_USRSW_PULL (0) +#define MICROPY_HW_USRSW_EXTI_MODE (GPIO_MODE_IT_FALLING) +#define MICROPY_HW_USRSW_PRESSED (0) + +// 4 user LEDs +#define MICROPY_HW_LED1 (pin_B5) // Green +#define MICROPY_HW_LED2 (pin_A5) // Green (next to power LED) +#define MICROPY_HW_LED3 (pin_B6) // Blue +#define MICROPY_HW_LED4 (pin_B7) // Red +#define MICROPY_HW_LED_ON(pin) (mp_hal_pin_high(pin)) +#define MICROPY_HW_LED_OFF(pin) (mp_hal_pin_low(pin)) diff --git a/ports/stm32/boards/B_L072Z_LRWAN1/mpconfigboard.mk b/ports/stm32/boards/B_L072Z_LRWAN1/mpconfigboard.mk new file mode 100644 index 0000000000..a39a2bd47b --- /dev/null +++ b/ports/stm32/boards/B_L072Z_LRWAN1/mpconfigboard.mk @@ -0,0 +1,7 @@ +MCU_SERIES = l0 +CMSIS_MCU = STM32L072xx +AF_FILE = boards/stm32l072_af.csv +LD_FILES = boards/stm32l072xz.ld boards/common_basic.ld + +# Don't include default frozen modules because MCU is tight on flash space +FROZEN_MPY_DIR ?= diff --git a/ports/stm32/boards/B_L072Z_LRWAN1/pins.csv b/ports/stm32/boards/B_L072Z_LRWAN1/pins.csv new file mode 100644 index 0000000000..e54b8b818a --- /dev/null +++ b/ports/stm32/boards/B_L072Z_LRWAN1/pins.csv @@ -0,0 +1,51 @@ +D0,PA3 +D1,PA2 +D2,PA10 +D3,PB13 +D4,PB5 +D5,PB7 +D6,PB2 +D7,PA8 +D8,PA9 +D9,PB12 +D10,PB6 +D11,PB15 +D12,PB14 +D13,PB13 +D14,PB9 +D15,PB8 +A0,PA0 +A2,PA4 +USER_B1,PB2 +LED2,PA5 +LED1,PB5 +LED3,PB6 +LED4,PB7 +LED_GREEN,PB5 +LED_BLUE,PB6 +LED_RED,PB7 +,PA0 +,PA2 +,PA3 +,PA4 +,PA5 +,PA6 +,PA7 +,PA8 +,PA9 +,PA10 +,PA11 +,PA12 +,PA13 +,PA14 +,PA15 +,PB2 +,PB5 +,PB6 +,PB7 +,PB8 +,PB9 +,PB12 +,PB13 +,PB14 +,PB15 diff --git a/ports/stm32/boards/B_L072Z_LRWAN1/stm32l0xx_hal_conf.h b/ports/stm32/boards/B_L072Z_LRWAN1/stm32l0xx_hal_conf.h new file mode 100644 index 0000000000..c88a706510 --- /dev/null +++ b/ports/stm32/boards/B_L072Z_LRWAN1/stm32l0xx_hal_conf.h @@ -0,0 +1,18 @@ +/* This file is part of the MicroPython project, http://micropython.org/ + * The MIT License (MIT) + * Copyright (c) 2019 Damien P. George + */ +#ifndef MICROPY_INCLUDED_STM32L0XX_HAL_CONF_H +#define MICROPY_INCLUDED_STM32L0XX_HAL_CONF_H + +#include "boards/stm32l0xx_hal_conf_base.h" + +// Oscillator values in Hz +#define HSE_VALUE (8000000) +#define LSE_VALUE (32768) + +// Oscillator timeouts in ms +#define HSE_STARTUP_TIMEOUT (100) +#define LSE_STARTUP_TIMEOUT (5000) + +#endif // MICROPY_INCLUDED_STM32L0XX_HAL_CONF_H