Connecting Macronix QSPI Flash to ESP32
Posted: Mon Apr 27, 2020 1:48 am
Hi there,
I'm having a difficult time connecting an Macronix mx25R6435FM2IH0 to an ESP32s' QSPI bus and was looking for some advice. I've removed the chip from my board and have connected it directly to an ESP-WROOM development module as follows:
and have the chip configured on the HSPI bus as follows (using the sample code in esp-idf)
I have the sdkconfig value for autodetection of MX chips set, however I'm seeing the following when I run the application:
A couple of things that I'm finding interesting; this particular chip doesn't have a HOLD pin instead having a RESET pin; will that make it incompatible with the driver? It'd be super helpful if ESP were able to release the source for the driver in debugging this one as I'm finding it a little challenging trying to work out where it's going south.
Unfortunately, I don't have access to a suitable LA to test what's coming out of the chip or the ESP. The wire length is fairly short to the chip which still doesn't rule out parasitic capacitance, however I've tried turning the clock rate well down to over come that.
Any ideas?
I'm having a difficult time connecting an Macronix mx25R6435FM2IH0 to an ESP32s' QSPI bus and was looking for some advice. I've removed the chip from my board and have connected it directly to an ESP-WROOM development module as follows:
Code: Select all
Q = GPIO12
D = GPIO13
CLK = GPIO14
CS = GPIO15
WP = GPIO2
HD = GPIO4
Code: Select all
const spi_bus_config_t bus_config = {
.mosi_io_num = 13,
.miso_io_num = 12,
.sclk_io_num = 14,
.quadwp_io_num = 2,
.quadhd_io_num = 4,
};
const esp_flash_spi_device_config_t device_config = {
.host_id = HSPI_HOST,
.cs_id = 0,
.cs_io_num = 15,
.io_mode = SPI_FLASH_QIO,
.speed = ESP_FLASH_40MHZ
};
Code: Select all
I (341) spi_flash: detected chip: generic
E (341) spi_flash: failed to get chip size
E (341) example: Failed to initialize external Flash: ESP_ERR_FLASH_UNSUPPORTED_CHIP (0x6005)
Unfortunately, I don't have access to a suitable LA to test what's coming out of the chip or the ESP. The wire length is fairly short to the chip which still doesn't rule out parasitic capacitance, however I've tried turning the clock rate well down to over come that.
Any ideas?