|
| 1 | +//This board is only confirmed to operate using openocd. |
| 2 | +// To use openocd run "OPENOCD_CONFIG=boards/openocd_stm32f7.cfg" in |
| 3 | +// the make command. |
| 4 | +#define MICROPY_HW_BOARD_NAME "F769DISC" |
| 5 | +#define MICROPY_HW_MCU_NAME "STM32F769" |
| 6 | + |
| 7 | +#define MICROPY_HW_HAS_SWITCH (1) |
| 8 | +#define MICROPY_HW_HAS_FLASH (1) |
| 9 | +#define MICROPY_HW_HAS_SDCARD (1) |
| 10 | +#define MICROPY_HW_HAS_MMA7660 (0) |
| 11 | +#define MICROPY_HW_HAS_LIS3DSH (0) |
| 12 | +#define MICROPY_HW_HAS_LCD (0) |
| 13 | +#define MICROPY_HW_ENABLE_RNG (1) |
| 14 | +#define MICROPY_HW_ENABLE_RTC (1) |
| 15 | +#define MICROPY_HW_ENABLE_TIMER (1) |
| 16 | +#define MICROPY_HW_ENABLE_SERVO (0) |
| 17 | +#define MICROPY_HW_ENABLE_DAC (0) |
| 18 | +#define MICROPY_HW_ENABLE_CAN (1) |
| 19 | + |
| 20 | +// HSE is 25MHz |
| 21 | +// VCOClock = HSE * PLLN / PLLM = 25 MHz * 432 / 25 = 432 MHz |
| 22 | +// SYSCLK = VCOClock / PLLP = 432 MHz / 2 = 216 MHz |
| 23 | +// USB/SDMMC/RNG Clock = VCOClock / PLLQ = 432 MHz / 9 = 48 MHz |
| 24 | +#define MICROPY_HW_CLK_PLLM (25) |
| 25 | +#define MICROPY_HW_CLK_PLLN (432) |
| 26 | +#define MICROPY_HW_CLK_PLLP (RCC_PLLP_DIV2) |
| 27 | +#define MICROPY_HW_CLK_PLLQ (9) |
| 28 | + |
| 29 | +#define MICROPY_HW_FLASH_LATENCY FLASH_LATENCY_7 // 210-216 MHz needs 7 wait states |
| 30 | + |
| 31 | +// UART config |
| 32 | +#define MICROPY_HW_UART1_TX (pin_A9) |
| 33 | +#define MICROPY_HW_UART1_RX (pin_A10) |
| 34 | +#define MICROPY_HW_UART5_TX (pin_C12) |
| 35 | +#define MICROPY_HW_UART5_RX (pin_D2) |
| 36 | +#define MICROPY_HW_UART_REPL PYB_UART_1 |
| 37 | +#define MICROPY_HW_UART_REPL_BAUD 115200 |
| 38 | + |
| 39 | +// I2C busses |
| 40 | +#define MICROPY_HW_I2C1_SCL (pin_B8) |
| 41 | +#define MICROPY_HW_I2C1_SDA (pin_B9) |
| 42 | +#define MICROPY_HW_I2C3_SCL (pin_H7) |
| 43 | +#define MICROPY_HW_I2C3_SDA (pin_H8) |
| 44 | + |
| 45 | +// TODO These should go in i2c.c |
| 46 | +#define MICROPY_HW_I2C_BAUDRATE_TIMING {{100000, 0x40912732}} |
| 47 | +#define MICROPY_HW_I2C_BAUDRATE_DEFAULT 100000 |
| 48 | +#define MICROPY_HW_I2C_BAUDRATE_MAX 100000 |
| 49 | + |
| 50 | +// SPI |
| 51 | +#define MICROPY_HW_SPI2_NSS (pin_A11) |
| 52 | +#define MICROPY_HW_SPI2_SCK (pin_A12) |
| 53 | +#define MICROPY_HW_SPI2_MISO (pin_B14) |
| 54 | +#define MICROPY_HW_SPI2_MOSI (pin_B15) |
| 55 | + |
| 56 | +// USRSW is pulled low. Pressing the button makes the input go high. |
| 57 | +#define MICROPY_HW_USRSW_PIN (pin_I11) |
| 58 | +#define MICROPY_HW_USRSW_PULL (GPIO_NOPULL) |
| 59 | +#define MICROPY_HW_USRSW_EXTI_MODE (GPIO_MODE_IT_RISING) |
| 60 | +#define MICROPY_HW_USRSW_PRESSED (1) |
| 61 | + |
| 62 | +// LEDs |
| 63 | +#define MICROPY_HW_LED1 (pin_J13) // red |
| 64 | +#define MICROPY_HW_LED2 (pin_J5) // green |
| 65 | +#define MICROPY_HW_LED3 (pin_A12) // green |
| 66 | +#define MICROPY_HW_LED_ON(pin) (mp_hal_pin_high(pin)) |
| 67 | +#define MICROPY_HW_LED_OFF(pin) (mp_hal_pin_low(pin)) |
| 68 | + |
| 69 | +// SD card detect switch |
| 70 | +#define MICROPY_HW_SDCARD_DETECT_PIN (pin_I15) |
| 71 | +#define MICROPY_HW_SDCARD_DETECT_PULL (GPIO_PULLUP) |
| 72 | +#define MICROPY_HW_SDCARD_DETECT_PRESENT (GPIO_PIN_RESET) |
| 73 | + |
| 74 | +// USB config (CN13 - USB OTG FS) |
| 75 | +/*#define MICROPY_HW_USB_VBUS_DETECT_PIN (pin_J12)*/ |
| 76 | +#define MICROPY_HW_USB_OTG_ID_PIN (pin_J12) |
0 commit comments