aboutsummaryrefslogtreecommitdiff
path: root/ports/stm32/boards/OpenMano
diff options
context:
space:
mode:
authorAditya Naik2021-04-27 18:38:28 -0400
committerAditya Naik2021-04-27 18:38:28 -0400
commitbffbfb3abd93b18c939c5753081ba910d464c918 (patch)
treeda9f5ff830b62c680d202a8a9440d4285b06eba6 /ports/stm32/boards/OpenMano
parenta708848b0cb0f304f43178140d84d5535e186a38 (diff)
Add OpenMano boardHEADmaster
Added board hardware configuration to micropython ports/stm32/boards directory.
Diffstat (limited to 'ports/stm32/boards/OpenMano')
-rw-r--r--ports/stm32/boards/OpenMano/mpconfigboard.h48
-rw-r--r--ports/stm32/boards/OpenMano/mpconfigboard.mk6
-rw-r--r--ports/stm32/boards/OpenMano/pins.csv51
-rw-r--r--ports/stm32/boards/OpenMano/stm32f4xx_hal_conf.h19
4 files changed, 124 insertions, 0 deletions
diff --git a/ports/stm32/boards/OpenMano/mpconfigboard.h b/ports/stm32/boards/OpenMano/mpconfigboard.h
new file mode 100644
index 000000000..89d1fe63d
--- /dev/null
+++ b/ports/stm32/boards/OpenMano/mpconfigboard.h
@@ -0,0 +1,48 @@
+#define MICROPY_HW_BOARD_NAME "OpenMano"
+#define MICROPY_HW_MCU_NAME "STM32F405RG"
+
+#define MICROPY_HW_HAS_FLASH (0)
+#define MICROPY_HW_ENABLE_RNG (1)
+#define MICROPY_HW_ENABLE_RTC (1)
+#define MICROPY_HW_ENABLE_DAC (1)
+#define MICROPY_HW_ENABLE_USB (1)
+#define MICROPY_HW_ENABLE_SDCARD (1)
+
+// HSE is 8MHz
+#define MICROPY_HW_CLK_PLLM (8)
+#define MICROPY_HW_CLK_PLLN (336)
+#define MICROPY_HW_CLK_PLLP (RCC_PLLP_DIV2)
+#define MICROPY_HW_CLK_PLLQ (7)
+
+// The LSE is 32kHz crystal for the RTC
+#define MICROPY_HW_RTC_USE_LSE (1)
+#define MICROPY_HW_RTC_USE_US (0)
+#define MICROPY_HW_RTC_USE_CALOUT (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)
+
+// I2C busses
+#define MICROPY_HW_I2C1_SCL (pin_B6)
+#define MICROPY_HW_I2C1_SDA (pin_B7)
+#define MICROPY_HW_I2C2_SCL (pin_B10)
+#define MICROPY_HW_I2C2_SDA (pin_B11)
+
+// SPI busses
+#define MICROPY_HW_SPI1_NSS (pin_A4)
+#define MICROPY_HW_SPI1_SCK (pin_A5)
+#define MICROPY_HW_SPI1_MISO (pin_A6)
+#define MICROPY_HW_SPI1_MOSI (pin_A7)
+
+// SD card detect switch
+#define MICROPY_HW_SDCARD_DETECT_PIN (pin_A8)
+#define MICROPY_HW_SDCARD_DETECT_PULL (GPIO_PULLUP)
+#define MICROPY_HW_SDCARD_DETECT_PRESENT (GPIO_PIN_RESET)
+
+// USB config
+#define MICROPY_HW_USB_FS (1)
+#define MICROPY_HW_USB_VBUS_DETECT_PIN (pin_A9)
+#define MICROPY_HW_USB_OTG_ID_PIN (pin_A10)
diff --git a/ports/stm32/boards/OpenMano/mpconfigboard.mk b/ports/stm32/boards/OpenMano/mpconfigboard.mk
new file mode 100644
index 000000000..40972b385
--- /dev/null
+++ b/ports/stm32/boards/OpenMano/mpconfigboard.mk
@@ -0,0 +1,6 @@
+MCU_SERIES = f4
+CMSIS_MCU = STM32F405xx
+AF_FILE = boards/stm32f405_af.csv
+LD_FILES = boards/stm32f405.ld boards/common_ifs.ld
+TEXT0_ADDR = 0x08000000
+TEXT1_ADDR = 0x08020000
diff --git a/ports/stm32/boards/OpenMano/pins.csv b/ports/stm32/boards/OpenMano/pins.csv
new file mode 100644
index 000000000..1a5cb25c7
--- /dev/null
+++ b/ports/stm32/boards/OpenMano/pins.csv
@@ -0,0 +1,51 @@
+3V3,3.3V
+GND,GND
+PA8,PA8
+PA13,PA13
+PA7,PA7
+PA6,PA6
+PC10,PC10
+PC14,PA14
+PC11,PC11
+PB4,PB4
+PB9,PB9
+PB3,PB3
+PD2,PD2
+PC12,PC12
+VBAT,VBAT
+PB8,PB8
+JP17,Loader
+PB7,PB7
+PB6,PB6
+PB5,PB5
+Reset,Reset
+PC0,PC0
+PC1,PC1
+PC2,PC2
+PC3,PC3
+PC4,PC4
+PA0,PA0
+PA1,PA1
+PA2,PA2
+PA3,PA3
+PA4,PA4
+PA5,PA5
+PB10,PB10
+PB11,PB11
+PB14,PB14
+PB15,PB15
+PC6,PC6
+PC7,PC7
+PC8,PC8
+PC9,PC9
+VUSB,VUSB
+PA9,PA9
+PA10,PA10
+PD8,PD8
+PD9,PD9
+PD12,PD12
+PD11,PD11
+PB13,PB13
+PB12,PB12
+PA11,PA11
+PA12,PA12
diff --git a/ports/stm32/boards/OpenMano/stm32f4xx_hal_conf.h b/ports/stm32/boards/OpenMano/stm32f4xx_hal_conf.h
new file mode 100644
index 000000000..c307196e1
--- /dev/null
+++ b/ports/stm32/boards/OpenMano/stm32f4xx_hal_conf.h
@@ -0,0 +1,19 @@
+/* This file is part of the MicroPython project, http://micropython.org/
+ * The MIT License (MIT)
+ * Copyright (c) 2019 Damien P. George
+ */
+#ifndef MICROPY_INCLUDED_STM32F4XX_HAL_CONF_H
+#define MICROPY_INCLUDED_STM32F4XX_HAL_CONF_H
+
+#include "boards/stm32f4xx_hal_conf_base.h"
+
+// Oscillator values in Hz: HSE is 8 MHz, LSE is 32.768 Hz
+#define HSE_VALUE (8000000)
+#define LSE_VALUE (32768)
+#define EXTERNAL_CLOCK_VALUE (12288000)
+
+// Oscillator timeouts in ms
+#define HSE_STARTUP_TIMEOUT (100)
+#define LSE_STARTUP_TIMEOUT (5000)
+
+#endif // MICROPY_INCLUDED_STM32F4XX_HAL_CONF_H