summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/stm32/boards/B_L072Z_LRWAN1/mpconfigboard.h60
-rw-r--r--ports/stm32/boards/B_L072Z_LRWAN1/mpconfigboard.mk7
-rw-r--r--ports/stm32/boards/B_L072Z_LRWAN1/pins.csv51
-rw-r--r--ports/stm32/boards/B_L072Z_LRWAN1/stm32l0xx_hal_conf.h18
4 files changed, 136 insertions, 0 deletions
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 000000000..da219abd3
--- /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 000000000..a39a2bd47
--- /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 000000000..e54b8b818
--- /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 000000000..c88a70651
--- /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