I am encountering an issue with the QSPI LUT table registers. When I first write values to LUT table registers 0x1550330 (LUT8) and 0x1550334 (LUT9), they are written correctly as expected. However, after writing values to LUT table registers 0x1550338 (LUT10) and 0x155033C (LUT11), the top byte of the value previously written to register 0x1550330 resets itself to 0x00.
For example:
- I initially write 0x1c0104af to 0x1550330 (LUT8).

- After I write values to registers 0x1550338 and 0x155033C, the value in register 0x1550330 changes, and the top byte resets to 0x000104af.

The above are Peripheral view. & here is the memory view:
I have ensured the QSPI LUT key (LUTKEY) is correctly set, and the LUT table is unlocked before writing to these registers.
Questions:
- Have you encountered this issue before with QSPI LUT table registers?
- Is there a workaround or specific sequence required to avoid this top byte reset behavior?
- Could this be a known issue or a hardware limitation, and if so, how can it be fixed?
Environment:
- On our board design, we have two QSPI Flash Chips (1Gb each) that I am setting up in single IP mode on a Ls1046A board.