|
1 | | -#define MICROPY_HW_BOARD_NAME "WeAct Studio Core" |
2 | | -#define MICROPY_HW_MCU_NAME "STM32H743VI" |
| 1 | +#define MICROPY_HW_BOARD_NAME "WEACT_STM32H743" |
| 2 | +#define MICROPY_HW_MCU_NAME "STM32H743VIT6" |
| 3 | +#define MICROPY_HW_FLASH_FS_LABEL "WEACT_STM32H743" |
3 | 4 |
|
| 5 | +#define MICROPY_FATFS_EXFAT (1) |
4 | 6 | #define MICROPY_HW_ENABLE_RTC (1) |
5 | | -#define MICROPY_HW_ENABLE_SERVO (1) |
6 | | -#define MICROPY_HW_ENABLE_RNG (0) // RNG needs proper configuration |
| 7 | +#define MICROPY_HW_ENABLE_RNG (1) |
7 | 8 | #define MICROPY_HW_ENABLE_ADC (1) |
8 | 9 | #define MICROPY_HW_ENABLE_DAC (1) |
9 | 10 | #define MICROPY_HW_ENABLE_USB (1) |
10 | | -#define MICROPY_HW_ENABLE_SDCARD (1) |
11 | 11 | #define MICROPY_HW_HAS_SWITCH (1) |
12 | 12 | #define MICROPY_HW_HAS_FLASH (1) |
| 13 | +#define MICROPY_HW_ENABLE_SERVO (1) |
| 14 | +#define MICROPY_HW_ENABLE_TIMER (1) |
| 15 | +#define MICROPY_HW_ENABLE_SDCARD (1) |
| 16 | +#define MICROPY_HW_ENABLE_MMCARD (0) |
| 17 | + |
| 18 | +// ROMFS config |
| 19 | +#define MICROPY_HW_ROMFS_ENABLE_EXTERNAL_QSPI (1) |
| 20 | +#define MICROPY_HW_ROMFS_QSPI_SPIFLASH_OBJ (&spi_bdev2.spiflash) |
| 21 | +#define MICROPY_HW_ROMFS_ENABLE_PART0 (1) |
| 22 | + |
| 23 | +// Flash storage config |
| 24 | +#define MICROPY_HW_SPIFLASH_ENABLE_CACHE (1) |
| 25 | +// Disable internal filesystem to use spiflash. |
| 26 | +#define MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE (0) |
| 27 | + |
| 28 | +#if (MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE == 0) |
| 29 | +// W25Q64 for storage |
| 30 | +#define MICROPY_HW_SPIFLASH_SIZE_BYTES (8 * 1024 * 1024) |
| 31 | + |
| 32 | +// SPI flash #1, for R/W storage |
| 33 | +#define MICROPY_HW_SPIFLASH_CS (pin_D6) |
| 34 | +#define MICROPY_HW_SPIFLASH_SCK (pin_B3) |
| 35 | +#define MICROPY_HW_SPIFLASH_MOSI (pin_D7) |
| 36 | +#define MICROPY_HW_SPIFLASH_MISO (pin_B4) |
| 37 | + |
| 38 | +// External SPI Flash configuration |
| 39 | +#define MICROPY_HW_SPI_IS_RESERVED(id) (id == 1) |
| 40 | + |
| 41 | +// SPI flash #1, block device config |
| 42 | +extern const struct _mp_spiflash_config_t spiflash_config; |
| 43 | +extern struct _spi_bdev_t spi_bdev; |
| 44 | + |
| 45 | +#define MICROPY_HW_BDEV_SPIFLASH (&spi_bdev) |
| 46 | +#define MICROPY_HW_BDEV_SPIFLASH_CONFIG (&spiflash_config) |
| 47 | +#define MICROPY_HW_BDEV_SPIFLASH_SIZE_BYTES (MICROPY_HW_SPIFLASH_SIZE_BITS / 8) |
| 48 | +#define MICROPY_HW_BDEV_SPIFLASH_EXTENDED (&spi_bdev) // for extended block protocol |
| 49 | +#define MICROPY_HW_SPIFLASH_SIZE_BITS (MICROPY_HW_SPIFLASH_SIZE_BYTES * 8) |
| 50 | + |
| 51 | +// SPI flash #2, to be memory mapped |
| 52 | +#define MICROPY_HW_QSPI_PRESCALER (2) // 120 MHz |
| 53 | +#define MICROPY_HW_QSPIFLASH_SIZE_BITS_LOG2 (26) |
| 54 | +#define MICROPY_HW_QSPIFLASH_CS (pin_B6) |
| 55 | +#define MICROPY_HW_QSPIFLASH_SCK (pin_B2) |
| 56 | +#define MICROPY_HW_QSPIFLASH_IO0 (pin_D11) |
| 57 | +#define MICROPY_HW_QSPIFLASH_IO1 (pin_D12) |
| 58 | +#define MICROPY_HW_QSPIFLASH_IO2 (pin_E2) |
| 59 | +#define MICROPY_HW_QSPIFLASH_IO3 (pin_D13) |
| 60 | + |
| 61 | +// SPI flash #2, block device config |
| 62 | +extern const struct _mp_spiflash_config_t spiflash2_config; |
| 63 | +extern struct _spi_bdev_t spi_bdev2; |
| 64 | + |
| 65 | +#endif |
13 | 66 |
|
14 | 67 | #define MICROPY_BOARD_EARLY_INIT WeAct_Core_early_init |
15 | 68 |
|
|
35 | 88 | #define MICROPY_HW_CLK_PLL3VCO (RCC_PLL3VCOWIDE) |
36 | 89 | #define MICROPY_HW_CLK_PLL3FRAC (0) |
37 | 90 |
|
38 | | -// 3 wait states |
39 | | -#define MICROPY_HW_FLASH_LATENCY FLASH_LATENCY_6 |
40 | | - |
41 | | -// The board has an external 32kHz crystal attached |
| 91 | +// 32kHz crystal for RTC |
42 | 92 | #define MICROPY_HW_RTC_USE_LSE (1) |
| 93 | +#define MICROPY_HW_RTC_USE_US (0) |
43 | 94 |
|
44 | | -// UART config |
45 | | -#define MICROPY_HW_UART1_TX (pin_B14) |
46 | | -#define MICROPY_HW_UART1_RX (pin_B15) |
47 | | -#define MICROPY_HW_UART2_TX (pin_D5) |
48 | | -#define MICROPY_HW_UART2_RX (pin_D6) |
49 | | -#define MICROPY_HW_UART2_RTS (pin_D4) |
50 | | -#define MICROPY_HW_UART2_CTS (pin_D3) |
51 | | -#define MICROPY_HW_UART3_TX (pin_D8) |
52 | | -#define MICROPY_HW_UART3_RX (pin_D9) |
53 | | -#define MICROPY_HW_UART5_TX (pin_B6) |
54 | | -#define MICROPY_HW_UART5_RX (pin_B12) |
| 95 | +// 6 wait states |
| 96 | +#define MICROPY_HW_FLASH_LATENCY FLASH_LATENCY_6 |
| 97 | + |
| 98 | +// UART |
| 99 | +#define MICROPY_HW_UART1_TX (pin_A9) |
| 100 | +#define MICROPY_HW_UART1_RX (pin_A10) |
| 101 | +#define MICROPY_HW_UART2_TX (pin_A2) |
| 102 | +#define MICROPY_HW_UART2_RX (pin_A3) |
| 103 | +#define MICROPY_HW_UART3_TX (pin_B10) |
| 104 | +#define MICROPY_HW_UART3_RX (pin_B11) |
| 105 | +#define MICROPY_HW_UART4_TX (pin_C11) |
| 106 | +#define MICROPY_HW_UART4_RX (pin_C10) |
| 107 | +#define MICROPY_HW_UART5_TX (pin_B12) // or SPI2 |
| 108 | +#define MICROPY_HW_UART5_RX (pin_B13) // or SPI2 |
55 | 109 | #define MICROPY_HW_UART6_TX (pin_C6) |
56 | 110 | #define MICROPY_HW_UART6_RX (pin_C7) |
57 | | -#define MICROPY_HW_UART7_TX (pin_F7) |
58 | | -#define MICROPY_HW_UART7_RX (pin_F6) |
59 | | -#define MICROPY_HW_UART8_TX (pin_E1) |
60 | | -#define MICROPY_HW_UART8_RX (pin_E0) |
61 | | - |
62 | | -#define MICROPY_HW_UART_REPL PYB_UART_3 |
63 | | -#define MICROPY_HW_UART_REPL_BAUD 115200 |
| 111 | +#define MICROPY_HW_UART7_TX (pin_E8) |
| 112 | +#define MICROPY_HW_UART7_RX (pin_E7) |
64 | 113 |
|
65 | 114 | // I2C buses |
66 | 115 | #define MICROPY_HW_I2C1_SCL (pin_B8) |
67 | 116 | #define MICROPY_HW_I2C1_SDA (pin_B9) |
68 | | -#define MICROPY_HW_I2C2_SCL (pin_F1) |
69 | | -#define MICROPY_HW_I2C2_SDA (pin_F0) |
70 | | -#define MICROPY_HW_I2C4_SCL (pin_F14) |
71 | | -#define MICROPY_HW_I2C4_SDA (pin_F15) |
| 117 | + |
| 118 | +#define MICROPY_HW_I2C2_SCL (pin_B10) |
| 119 | +#define MICROPY_HW_I2C2_SDA (pin_B11) |
72 | 120 |
|
73 | 121 | // SPI buses |
74 | | -#define MICROPY_HW_SPI2_NSS (pin_A11) |
75 | | -#define MICROPY_HW_SPI2_SCK (pin_A9) |
| 122 | +// NOTE: SPI1 is used for the SPI flash. |
| 123 | +#define MICROPY_HW_SPI1_NSS (pin_D6) |
| 124 | +#define MICROPY_HW_SPI1_SCK (pin_B3) |
| 125 | +#define MICROPY_HW_SPI1_MISO (pin_B4) |
| 126 | +#define MICROPY_HW_SPI1_MOSI (pin_D7) |
| 127 | + |
| 128 | +#define MICROPY_HW_SPI2_NSS (pin_B12) |
| 129 | +#define MICROPY_HW_SPI2_SCK (pin_B13) |
76 | 130 | #define MICROPY_HW_SPI2_MISO (pin_B14) |
77 | | -#define MICROPY_HW_SPI2_MOSI (pin_C1) |
| 131 | +#define MICROPY_HW_SPI2_MOSI (pin_B15) |
| 132 | +// NOTE: SPI3 is used for the QSPI flash. |
78 | 133 | #define MICROPY_HW_SPI3_NSS (pin_A4) |
79 | 134 | #define MICROPY_HW_SPI3_SCK (pin_B3) |
80 | 135 | #define MICROPY_HW_SPI3_MISO (pin_B4) |
81 | 136 | #define MICROPY_HW_SPI3_MOSI (pin_B5) |
| 137 | +// NOTE: SPI4 is used for the ST7735 LCD. |
82 | 138 | #define MICROPY_HW_SPI4_NSS (pin_E11) |
83 | 139 | #define MICROPY_HW_SPI4_SCK (pin_E12) |
84 | 140 | #define MICROPY_HW_SPI4_MISO (pin_E13) |
85 | 141 | #define MICROPY_HW_SPI4_MOSI (pin_E14) |
86 | 142 |
|
| 143 | +// CAN buses |
| 144 | +#define MICROPY_HW_CAN1_TX (pin_B9) |
| 145 | +#define MICROPY_HW_CAN1_RX (pin_B8) |
| 146 | + |
87 | 147 | // USRSW is pulled low. Pressing the button makes the input go high. |
88 | | -#define MICROPY_HW_USRSW_PIN (pin_C13) |
| 148 | +#define MICROPY_HW_USRSW_PIN (pin_C13) // K1 on the board. |
89 | 149 | #define MICROPY_HW_USRSW_PULL (GPIO_PULLDOWN) |
90 | 150 | #define MICROPY_HW_USRSW_EXTI_MODE (GPIO_MODE_IT_RISING) |
91 | 151 | #define MICROPY_HW_USRSW_PRESSED (1) |
92 | 152 |
|
93 | 153 | // LEDs |
94 | | -#define MICROPY_HW_LED1 (pin_E3) // blue |
| 154 | +#define MICROPY_HW_LED1 (pin_E3) // the only controllable LED on the board. |
95 | 155 | #define MICROPY_HW_LED_ON(pin) (mp_hal_pin_high(pin)) |
96 | 156 | #define MICROPY_HW_LED_OFF(pin) (mp_hal_pin_low(pin)) |
97 | 157 |
|
98 | | -// USB config |
99 | | -#define MICROPY_HW_USB_FS (1) |
100 | | - |
101 | | -// FDCAN bus |
102 | | -#define MICROPY_HW_CAN1_NAME "FDCAN1" |
103 | | -#define MICROPY_HW_CAN1_TX (pin_D1) |
104 | | -#define MICROPY_HW_CAN1_RX (pin_D0) |
| 158 | +// SD Card SDMMC |
| 159 | +#define MICROPY_HW_SDCARD_SDMMC (1) |
| 160 | +#define MICROPY_HW_SDCARD_CK (pin_C12) |
| 161 | +#define MICROPY_HW_SDCARD_CMD (pin_D2) |
| 162 | +#define MICROPY_HW_SDCARD_D0 (pin_C8) |
| 163 | +#define MICROPY_HW_SDCARD_D1 (pin_C9) |
| 164 | +#define MICROPY_HW_SDCARD_D2 (pin_C10) |
| 165 | +#define MICROPY_HW_SDCARD_D3 (pin_C11) |
105 | 166 |
|
106 | 167 | // SD card detect switch |
107 | 168 | #define MICROPY_HW_SDCARD_DETECT_PIN (pin_D4) |
108 | 169 | #define MICROPY_HW_SDCARD_DETECT_PULL (GPIO_PULLUP) |
109 | 170 | #define MICROPY_HW_SDCARD_DETECT_PRESENT (GPIO_PIN_SET) |
110 | 171 |
|
111 | | -// SPI1 is not accessible because SPI flash module is used. |
112 | | -#define MICROPY_HW_SPI1_NSS (pin_D6) |
113 | | -#define MICROPY_HW_SPI1_SCK (pin_B3) |
114 | | -#define MICROPY_HW_SPI1_MISO (pin_B4) |
115 | | -#define MICROPY_HW_SPI1_MOSI (pin_D7) |
116 | | - |
117 | | -// External SPI Flash configuration |
118 | | -#define MICROPY_HW_SPI_IS_RESERVED(id) (id == 1) |
119 | | - |
120 | | -// Disable internal filesystem to use spiflash. |
121 | | -#define MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE (0) |
122 | | - |
123 | | -// 8MB SPI flash |
124 | | -#define MICROPY_HW_SPIFLASH_SIZE_BYTES (8 * 1024 * 1024) |
125 | | - |
126 | | -// SPI flash pins |
127 | | -#define MICROPY_HW_SPIFLASH_CS (pyb_pin_FLASH_CS) |
128 | | -#define MICROPY_HW_SPIFLASH_SCK (pyb_pin_FLASH_SCK) |
129 | | -#define MICROPY_HW_SPIFLASH_MOSI (pyb_pin_FLASH_MOSI) |
130 | | -#define MICROPY_HW_SPIFLASH_MISO (pyb_pin_FLASH_MISO) |
131 | | - |
132 | | -extern const struct _mp_spiflash_config_t spiflash_config; |
133 | | -extern struct _spi_bdev_t spi_bdev; |
134 | | -#define MICROPY_HW_SPIFLASH_ENABLE_CACHE (1) |
135 | | -#define MICROPY_HW_BDEV_SPIFLASH (&spi_bdev) |
136 | | -#define MICROPY_HW_BDEV_SPIFLASH_CONFIG (&spiflash_config) |
137 | | -#define MICROPY_HW_BDEV_SPIFLASH_SIZE_BYTES (MICROPY_HW_SPIFLASH_SIZE_BITS / 8) |
138 | | -#define MICROPY_HW_BDEV_SPIFLASH_EXTENDED (&spi_bdev) // for extended block protocol |
139 | | -#define MICROPY_HW_SPIFLASH_SIZE_BITS (MICROPY_HW_SPIFLASH_SIZE_BYTES * 8) |
| 172 | +// USB config |
| 173 | +#define MICROPY_HW_USB_FS (1) |
140 | 174 |
|
141 | 175 | void WeAct_Core_early_init(void); |
0 commit comments