mirror of
https://github.com/espressif/esp-idf.git
synced 2025-10-21 02:11:01 +00:00
add flash and PSRAM CS IO acquire function
This commit is contained in:
@@ -78,6 +78,15 @@ size_t esp_spiram_get_size(void);
|
||||
*/
|
||||
void esp_spiram_writeback_cache(void);
|
||||
|
||||
/**
|
||||
* @brief get psram CS IO
|
||||
*
|
||||
* This interface should be called after PSRAM is enabled, otherwise it will
|
||||
* return an invalid value -1/0xff.
|
||||
*
|
||||
* @return psram CS IO or -1/0xff if psram not enabled
|
||||
*/
|
||||
uint8_t esp_spiram_get_cs_io(void);
|
||||
|
||||
|
||||
/**
|
||||
|
@@ -376,6 +376,11 @@ void IRAM_ATTR esp_spiram_writeback_cache(void)
|
||||
|
||||
|
||||
|
||||
uint8_t esp_spiram_get_cs_io(void)
|
||||
{
|
||||
return psram_get_cs_io();
|
||||
}
|
||||
|
||||
/*
|
||||
Simple RAM test. Writes a word every 32 bytes. Takes about a second to complete for 4MiB. Returns
|
||||
true when RAM seems OK, false when test fails. WARNING: Do not run this before the 2nd cpu has been
|
||||
@@ -414,4 +419,5 @@ bool esp_spiram_test(void)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@@ -168,6 +168,13 @@ static uint32_t s_psram_id = 0;
|
||||
static void IRAM_ATTR psram_cache_init(psram_cache_mode_t psram_cache_mode, psram_vaddr_mode_t vaddrmode);
|
||||
extern void esp_rom_spi_set_op_mode(int spi_num, esp_rom_spiflash_read_mode_t mode);
|
||||
|
||||
static uint8_t s_psram_cs_io = (uint8_t)-1;
|
||||
|
||||
uint8_t psram_get_cs_io(void)
|
||||
{
|
||||
return s_psram_cs_io;
|
||||
}
|
||||
|
||||
static void psram_set_op_mode(int spi_num, psram_cmd_mode_t mode)
|
||||
{
|
||||
if (mode == PSRAM_CMD_QPI) {
|
||||
@@ -375,6 +382,7 @@ static void IRAM_ATTR psram_gpio_config(psram_cache_mode_t mode)
|
||||
psram_io.psram_spiwp_sd3_io = esp_rom_efuse_get_flash_wp_gpio();
|
||||
}
|
||||
esp_rom_spiflash_select_qio_pins(psram_io.psram_spiwp_sd3_io, spiconfig);
|
||||
s_psram_cs_io = psram_io.psram_cs_io;
|
||||
}
|
||||
|
||||
psram_size_t psram_get_size(void)
|
||||
|
@@ -76,5 +76,11 @@ typedef enum {
|
||||
|
||||
esp_err_t esp_spiram_wrap_set(spiram_wrap_mode_t mode);
|
||||
|
||||
/**
|
||||
* @brief get psram CS IO
|
||||
*
|
||||
* @return psram CS IO
|
||||
*/
|
||||
uint8_t psram_get_cs_io(void);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user