mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 06:11:06 +00:00 
			
		
		
		
	fix(gpio_reserve): reserve the mspi pin regarding line mode
This commit is contained in:
		@@ -157,8 +157,18 @@ void IRAM_ATTR esp_mspi_pin_init(void)
 | 
				
			|||||||
void esp_mspi_pin_reserve(void)
 | 
					void esp_mspi_pin_reserve(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    uint64_t reserve_pin_mask = 0;
 | 
					    uint64_t reserve_pin_mask = 0;
 | 
				
			||||||
 | 
					    uint8_t mspi_io;
 | 
				
			||||||
    for (esp_mspi_io_t i = 0; i < ESP_MSPI_IO_MAX; i++) {
 | 
					    for (esp_mspi_io_t i = 0; i < ESP_MSPI_IO_MAX; i++) {
 | 
				
			||||||
        reserve_pin_mask |= BIT64(esp_mspi_get_io(i));
 | 
					#if SOC_SPI_MEM_SUPPORT_OPI_MODE
 | 
				
			||||||
 | 
					        if (!bootloader_flash_is_octal_mode_enabled()
 | 
				
			||||||
 | 
					            && i >=  ESP_MSPI_IO_DQS && i <= ESP_MSPI_IO_D7) {
 | 
				
			||||||
 | 
					            continue;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					        mspi_io = esp_mspi_get_io(i);
 | 
				
			||||||
 | 
					        if (mspi_io < 64) {     // 'reserve_pin_mask' have 64 bits length
 | 
				
			||||||
 | 
					            reserve_pin_mask |= BIT64(mspi_io);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    esp_gpio_reserve(reserve_pin_mask);
 | 
					    esp_gpio_reserve(reserve_pin_mask);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user