nspsck 2024-04-10 16:46:04 +08:00 zatwierdzone przez GitHub
commit 4a19432cc1
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
3 zmienionych plików z 33 dodań i 16 usunięć

Wyświetl plik

@ -39,20 +39,20 @@
// SMPS configuration // SMPS configuration
#define MICROPY_HW_PWR_SMPS_CONFIG (PWR_DIRECT_SMPS_SUPPLY) #define MICROPY_HW_PWR_SMPS_CONFIG (PWR_DIRECT_SMPS_SUPPLY)
#if 0 #if MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE
// 512MBit external OSPI flash, used for either the filesystem or XIP memory mapped // 512MBit external OSPI flash, used for either the filesystem or XIP memory mapped
#define MICROPY_HW_OSPIFLASH_SIZE_BITS_LOG2 (29) #define MICROPY_HW_OSPIFLASH_SIZE_BITS_LOG2 (29)
#define MICROPY_HW_OSPIFLASH_CS (pin_G6) #define MICROPY_HW_OSPIFLASH_CS (pin_G6)
#define MICROPY_HW_OSPIFLASH_CLK (pin_B2) #define MICROPY_HW_OSPIFLASH_SCK (pin_B2)
#define MICROPY_HW_OSPIFLASH_DQS (pin_C5) #define MICROPY_HW_OSPIFLASH_DQS (pin_C5)
#define MICROPY_HW_OSPIFLASH_IO0 (pin_P8) #define MICROPY_HW_OSPIFLASH_IO0 (pin_D11)
#define MICROPY_HW_OSPIFLASH_IO1 (pin_F9) #define MICROPY_HW_OSPIFLASH_IO1 (pin_F9)
#define MICROPY_HW_OSPIFLASH_IO2 (pin_F7) #define MICROPY_HW_OSPIFLASH_IO2 (pin_F7)
#define MICROPY_HW_OSPIFLASH_IO3 (pin_F6) #define MICROPY_HW_OSPIFLASH_IO3 (pin_F6)
#define MICROPY_HW_OSPIFLASH_IO4 (pin_C1) #define MICROPY_HW_OSPIFLASH_IO4 (pin_C1)
#define MICROPY_HW_OSPIFLASH_IO5 (pin_H3) #define MICROPY_HW_OSPIFLASH_IO5 (pin_H3)
#define MICROPY_HW_OSPIFLASH_IO6 (pin_D6) #define MICROPY_HW_OSPIFLASH_IO6 (pin_G9)
#define MICROPY_HW_OSPIFLASH_IO7 (pin_G14) #define MICROPY_HW_OSPIFLASH_IO7 (pin_D7)
#endif #endif
// UART buses // UART buses

Wyświetl plik

@ -45,19 +45,24 @@
void octospi_init(void) { void octospi_init(void) {
// Configure OCTOSPI pins (allows 1, 2, 4 or 8 line configuration). // Configure OCTOSPI pins (allows 1, 2, 4 or 8 line configuration).
mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_CS, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI1_NCS); #if defined(STM32H7)
mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_SCK, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI1_CLK); #define STATIC_AF_OCTOSPI(signal) STATIC_AF_OCTOSPIM_P1_##signal
mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO0, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI1_IO0); #else
#define STATIC_AF_OCTOSPI(signal) STATIC_AF_OCTOSPI1_##signal
#endif
mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_CS, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI(NCS));
mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_SCK, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI(CLK));
mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO0, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI(IO0));
#if defined(MICROPY_HW_OSPIFLASH_IO1) #if defined(MICROPY_HW_OSPIFLASH_IO1)
mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO1, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI1_IO1); mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO1, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI(IO1));
#if defined(MICROPY_HW_OSPIFLASH_IO2) #if defined(MICROPY_HW_OSPIFLASH_IO2)
mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO2, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI1_IO2); mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO2, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI(IO2));
mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO3, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI1_IO3); mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO3, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI(IO3));
#if defined(MICROPY_HW_OSPIFLASH_IO4) #if defined(MICROPY_HW_OSPIFLASH_IO4)
mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO4, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI1_IO4); mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO4, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI(IO4));
mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO5, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI1_IO5); mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO5, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI(IO5));
mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO6, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI1_IO6); mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO6, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI(IO6));
mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO7, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI1_IO7); mp_hal_pin_config_alt_static_speed(MICROPY_HW_OSPIFLASH_IO7, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_NONE, MP_HAL_PIN_SPEED_VERY_HIGH, STATIC_AF_OCTOSPI(IO7));
#endif #endif
#endif #endif
#endif #endif
@ -68,12 +73,19 @@ void octospi_init(void) {
__HAL_RCC_OSPI1_RELEASE_RESET(); __HAL_RCC_OSPI1_RELEASE_RESET();
// Configure the OCTOSPI peripheral. // Configure the OCTOSPI peripheral.
#if defined(STM32H7)
OCTOSPI1->CR =
3 << OCTOSPI_CR_FTHRES_Pos // 4 bytes must be available to read/write
| 0 << OCTOSPI_CR_FSEL_Pos // FLASH 0 selected
| 0 << OCTOSPI_CR_DQM_Pos // dual-memory mode disabled
;
#else
OCTOSPI1->CR = OCTOSPI1->CR =
3 << OCTOSPI_CR_FTHRES_Pos // 4 bytes must be available to read/write 3 << OCTOSPI_CR_FTHRES_Pos // 4 bytes must be available to read/write
| 0 << OCTOSPI_CR_MSEL_Pos // FLASH 0 selected | 0 << OCTOSPI_CR_MSEL_Pos // FLASH 0 selected
| 0 << OCTOSPI_CR_DMM_Pos // dual-memory mode disabled | 0 << OCTOSPI_CR_DMM_Pos // dual-memory mode disabled
; ;
#endif
OCTOSPI1->DCR1 = OCTOSPI1->DCR1 =
(MICROPY_HW_OSPIFLASH_SIZE_BITS_LOG2 - 3 - 1) << OCTOSPI_DCR1_DEVSIZE_Pos (MICROPY_HW_OSPIFLASH_SIZE_BITS_LOG2 - 3 - 1) << OCTOSPI_DCR1_DEVSIZE_Pos

Wyświetl plik

@ -461,6 +461,11 @@ MP_WEAK void SystemClock_Config(void) {
PeriphClkInitStruct.QspiClockSelection = MICROPY_HW_RCC_QSPI_CLKSOURCE; PeriphClkInitStruct.QspiClockSelection = MICROPY_HW_RCC_QSPI_CLKSOURCE;
#endif #endif
#if defined(MICROPY_HW_RCC_OSPI_CLKSOURCE)
PeriphClkInitStruct.PeriphClockSelection |= RCC_PERIPHCLK_OSPI;
PeriphClkInitStruct.OspiClockSelection = MICROPY_HW_RCC_OSPI_CLKSOURCE;
#endif
#if defined(MICROPY_HW_RCC_SPI123_CLKSOURCE) #if defined(MICROPY_HW_RCC_SPI123_CLKSOURCE)
PeriphClkInitStruct.PeriphClockSelection |= RCC_PERIPHCLK_SPI123; PeriphClkInitStruct.PeriphClockSelection |= RCC_PERIPHCLK_SPI123;
PeriphClkInitStruct.Spi123ClockSelection = MICROPY_HW_RCC_SPI123_CLKSOURCE; PeriphClkInitStruct.Spi123ClockSelection = MICROPY_HW_RCC_SPI123_CLKSOURCE;