|
| 1 | +#define MICROPY_HW_BOARD_NAME "NUCLEO_U5A5ZJ_Q" |
| 2 | +#define MICROPY_HW_MCU_NAME "STM32U5A5ZJ" |
| 3 | + |
| 4 | +#define MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE (1) |
| 5 | +#define MICROPY_HW_ENABLE_ADC (1) |
| 6 | +#define MICROPY_HW_ENABLE_DAC (1) |
| 7 | +#define MICROPY_HW_ENABLE_USB (1) |
| 8 | +#define MICROPY_HW_ENABLE_RNG (1) |
| 9 | +#define MICROPY_HW_ENABLE_RTC (1) |
| 10 | +#define MICROPY_HW_HAS_FLASH (1) |
| 11 | +#define MICROPY_HW_HAS_SWITCH (1) |
| 12 | + |
| 13 | +// The board has a 16MHz oscillator, the following gives 160MHz CPU speed |
| 14 | +#define MICROPY_HW_CLK_PLLM (1) |
| 15 | +#define MICROPY_HW_CLK_PLLN (10) |
| 16 | +#define MICROPY_HW_CLK_PLLP (10) |
| 17 | +#define MICROPY_HW_CLK_PLLQ (2) |
| 18 | +#define MICROPY_HW_CLK_PLLR (1) |
| 19 | +#define MICROPY_HW_CLK_PLLVCI (RCC_PLLVCIRANGE_1) |
| 20 | +#define MICROPY_HW_CLK_PLLFRAC (0) |
| 21 | + |
| 22 | +// 5 wait states, according to Table 37, Reference Manual (RM0481 Rev 1) |
| 23 | +#define MICROPY_HW_FLASH_LATENCY FLASH_LATENCY_4 |
| 24 | + |
| 25 | +// There is an external 32kHz oscillator |
| 26 | +#define MICROPY_HW_RTC_USE_LSE (1) |
| 27 | +#define MICROPY_HW_RCC_RTC_CLKSOURCE (RCC_RTCCLKSOURCE_LSE) |
| 28 | + |
| 29 | +// UART config |
| 30 | +#define MICROPY_HW_UART1_TX (pin_A9) |
| 31 | +#define MICROPY_HW_UART1_RX (pin_A10) |
| 32 | +#define MICROPY_HW_UART2_TX (pin_D5) |
| 33 | +#define MICROPY_HW_UART2_RX (pin_D6) |
| 34 | +#define MICROPY_HW_UART2_RTS (pin_D4) |
| 35 | +#define MICROPY_HW_UART2_CTS (pin_D3) |
| 36 | + |
| 37 | +// Connect REPL to UART1 which is provided on ST-Link USB interface |
| 38 | +#define MICROPY_HW_UART_REPL PYB_UART_1 |
| 39 | +#define MICROPY_HW_UART_REPL_BAUD 115200 |
| 40 | + |
| 41 | +// I2C buses |
| 42 | +#define MICROPY_HW_I2C1_SCL (pin_B8) // Arduino Connector CN7-Pin2 (D15) |
| 43 | +#define MICROPY_HW_I2C1_SDA (pin_B9) // Arduino Connector CN7-Pin4 (D14) |
| 44 | +#define MICROPY_HW_I2C2_SCL (pin_F1) // Connector CN9-Pin19 |
| 45 | +#define MICROPY_HW_I2C2_SDA (pin_F0) // Connector CN9-Pin21 |
| 46 | + |
| 47 | +// SPI buses |
| 48 | +#define MICROPY_HW_SPI1_NSS (pin_D14) // Arduino Connector CN7-Pin16 (D10) |
| 49 | +#define MICROPY_HW_SPI1_SCK (pin_A5) // Arduino Connector CN7-Pin10 (D13) |
| 50 | +#define MICROPY_HW_SPI1_MISO (pin_A6) // Arduino Connector CN7-Pin12 (D12) |
| 51 | +#define MICROPY_HW_SPI1_MOSI (pin_A7) // Arduino Connector CN7-Pin14 (D11) |
| 52 | +#define MICROPY_HW_SPI2_NSS (pin_D0) |
| 53 | +#define MICROPY_HW_SPI2_SCK (pin_B10) |
| 54 | +#define MICROPY_HW_SPI2_MISO (pin_D3) |
| 55 | +#define MICROPY_HW_SPI2_MOSI (pin_C1) |
| 56 | +#define MICROPY_HW_SPI3_NSS (pin_A4) |
| 57 | +#define MICROPY_HW_SPI3_SCK (pin_B3) |
| 58 | +#define MICROPY_HW_SPI3_MISO (pin_B4) |
| 59 | +#define MICROPY_HW_SPI3_MOSI (pin_B5) |
| 60 | + |
| 61 | +// USRSW is pulled low. Pressing the button makes the input go high. |
| 62 | +#define MICROPY_HW_USRSW_PIN (pin_C13) |
| 63 | +#define MICROPY_HW_USRSW_PULL (GPIO_NOPULL) |
| 64 | +#define MICROPY_HW_USRSW_EXTI_MODE (GPIO_MODE_IT_RISING) |
| 65 | +#define MICROPY_HW_USRSW_PRESSED (1) |
| 66 | + |
| 67 | +// LEDs |
| 68 | +#define MICROPY_HW_LED1 (pin_C7) // Green |
| 69 | +#define MICROPY_HW_LED2 (pin_B7) // Orange |
| 70 | +#define MICROPY_HW_LED3 (pin_G2) // Red |
| 71 | +#define MICROPY_HW_LED_ON(pin) (mp_hal_pin_high(pin)) |
| 72 | +#define MICROPY_HW_LED_OFF(pin) (mp_hal_pin_low(pin)) |
| 73 | + |
| 74 | +// USB Configuration |
| 75 | +#define MICROPY_HW_USB_HS (1) |
| 76 | +#define MICROPY_HW_USB_HS_IN_FS (1) |
| 77 | + |
| 78 | +#if 0 // FDCAN bus |
| 79 | +#define MICROPY_HW_CAN1_NAME "FDCAN1" |
| 80 | +#define MICROPY_HW_CAN1_TX (pin_D1) |
| 81 | +#define MICROPY_HW_CAN1_RX (pin_D0) |
| 82 | +#endif |
0 commit comments