Merge branch 'feature/esp_flash_octal_api_support_xmic' into 'master'

esp_flash: Add new octal flash chip support in new chip driver (for MXIC)

Closes IDF-2859

See merge request espressif/esp-idf!14185
This commit is contained in:
Cao Sen Miao
2021-09-08 03:59:34 +00:00
33 changed files with 900 additions and 78 deletions

View File

@@ -382,7 +382,8 @@ static inline void spimem_flash_ll_set_cs_pin(spi_mem_dev_t *dev, int pin)
static inline void spimem_flash_ll_set_read_mode(spi_mem_dev_t *dev, esp_flash_io_mode_t read_mode)
{
typeof (dev->ctrl) ctrl = dev->ctrl;
ctrl.val &= ~(SPI_MEM_FREAD_QIO_M | SPI_MEM_FREAD_QUAD_M | SPI_MEM_FREAD_DIO_M | SPI_MEM_FREAD_DUAL_M);
ctrl.val &= ~(SPI_MEM_FREAD_QIO_M | SPI_MEM_FREAD_QUAD_M | SPI_MEM_FREAD_DIO_M | SPI_MEM_FREAD_DUAL_M | SPI_MEM_FCMD_OCT | SPI_MEM_FADDR_OCT | SPI_MEM_FDIN_OCT | SPI_MEM_FDOUT_OCT);
dev->ddr.fmem_ddr_en = 0;
ctrl.val |= SPI_MEM_FASTRD_MODE_M;
switch (read_mode) {
case SPI_FLASH_FASTRD:
@@ -403,6 +404,19 @@ static inline void spimem_flash_ll_set_read_mode(spi_mem_dev_t *dev, esp_flash_i
case SPI_FLASH_SLOWRD:
ctrl.fastrd_mode = 0;
break;
case SPI_FLASH_OPI_STR:
ctrl.faddr_oct = 1;
ctrl.fcmd_oct = 1;
ctrl.fdin_oct = 1;
ctrl.fdout_oct = 1;
break;
case SPI_FLASH_OPI_DTR:
ctrl.faddr_oct = 1;
ctrl.fcmd_oct = 1;
ctrl.fdin_oct = 1;
ctrl.fdout_oct = 1;
dev->ddr.fmem_ddr_en = 1;
break;
default:
abort();
}
@@ -546,6 +560,11 @@ static inline void spimem_flash_ll_set_cs_setup(spi_mem_dev_t *dev, uint32_t cs_
dev->ctrl2.cs_setup_time = cs_setup_time - 1;
}
static inline void spimem_flash_ll_set_extra_dummy(spi_mem_dev_t *dev, uint32_t extra_dummy)
{
dev->timing_cali.extra_dummy_cyclelen = extra_dummy;
}
#ifdef __cplusplus
}
#endif