I have tried to read ILI9341 LCD controller ID (D3H), but it doesnโ€™t work until now, the EXTC has been high, the result as below:

1. The leve1 command read/write is OK. The leve2 command (EXTC should be high to enable this command) write is OK, read by FMC port is OK but read by SPI is fail.

1Command levelwriteread
2Level 1OKOK
3Level 2OKread by FMC port is OK but read by SPI is fail.

2.ID1/ID2/ID3 (leve1 command DAH/DBH/DCH) can be programmed by user(level2 command D1H/D2H) successfully .ย ย ย ย ย ย ย 

3. The LCD acknowledges data is different between FMC port and SPI port, for example the 09H command, the first byte data will be invalid, when read by FMC port the acknowledge data will be โ€˜0x0000610000โ€™, but when read by SPI port acknowledge data will be โ€˜0X00308000โ€™ (after remove the first dummy bit will be โ€˜0x00610000โ€™).

if anyone know the root cause?