Hi NXP Team,
I am working on a custom design based on the i.MX8MP processor, which incorporates an MRAM (MR25H40CDFR) and an ADC (ADC108S022CIMTX/NOPB) on the same ECSPI2 bus. During thermal testing at -5°C, I am encountering SPI transfer failures and I/O errors sometimes.
Below are the details of my setup and the issue:
**Setup:**
- **Processor:** i.MX8MP
- **MRAM:** MR25H40CDFR
- **ADC:** ADC108S022CIMTX/NOPB
- **Bus:** ECSPI2
- **File System:** EXT4 for MRAM
MRAM information:
root@x:~ mtdinfo /dev/mtd1
mtd1
Name: spi1.0
Type: nor
Eraseblock size: 524288 bytes, 512.0 KiB
Amount of eraseblocks: 1 (524288 bytes, 512.0 KiB)
Minimum input/output unit size: 1 byte
Sub-page size: 1 byte
Character device major/minor: 90:2
Bad blocks are allowed: false
Device is writable: true
**Procedure:**
1. A 300KiB file is created outside of the MRAM memory.
2. The MRAM is formatted with an ext4 filesystem using the command `mkfs.ext4 /dev/mtdblock1`.
3. The MRAM is mounted to `/home/root/mram_mount`.
4. The 300KiB file is repeatedly copied to and deleted from the MRAM memory. This 4th step is executing in loop.
The above sequence runs successfully for 16 hours at room temperature. Despite the SPI driver-level messages, every write operation has been successful."
However, during the -5°C thermal test, intermittent SPI transfer failures are observed.
**Log Snippets of Errors:**
```
[14673.252802] spi-nor spi1.0: SPI transfer failed: -110
[14673.307857] Buffer I/O error on device mtdblock1, logical block 23
[15353.539272] spi-nor spi1.0: SPI transfer failed: -110
[15712.131311] spi-nor spi1.0: SPI transfer failed: -110
[16895.075249] spi-nor spi1.0: SPI transfer failed: -110
[17978.755255] spi-nor spi1.0: SPI transfer failed: -110
[19593.923287] spi-nor spi1.0: SPI transfer failed: -110
[21138.691278] spi-nor spi1.0: SPI transfer failed: -110
[37603.107250] spi-nor spi1.0: SPI transfer failed: -110
[37603.181392] Buffer I/O error on device mtdblock1, logical block 67
[41168.195269] spi-nor spi1.0: SPI transfer failed: -110
[41168.294993] Buffer I/O error on device mtdblock1, logical block 265
[45189.283253] spi-nor spi1.0: SPI transfer failed: -110
[46517.764465] spi-nor spi1.0: SPI transfer failed: -110
[49571.203261] spi-nor spi1.0: SPI transfer failed: -110
[51582.019248] spi-nor spi1.0: SPI transfer failed: -110
```
**Request for Assistance:**
1. **Root Cause Identification:** What could be causing these intermittent SPI transfer failures during low-temperature testing?
2. **SPI Configuration:** Are there specific ECSPI settings or configurations recommended for use with MRAM and ADC on the same bus in low-temperature environments?
3. **Driver-Level Adjustments:** Are there any known driver-level adjustments or patches for handling SPI transfers more robustly in such conditions?
4. **Diagnostic Steps:** What additional diagnostic steps can I perform to pinpoint the exact cause of these failures?
Any insights or recommendations from the community would be greatly appreciated.
Thanks & Regards,
Maulik