SPIM Receive data is always 1bit shift Thingy91

Hello, I searched the forum for similar issues and found a few, such as  SPIM Recevie data is allways 1bit shift

I am currently implementing a PSRAM is66wvs4m8 on the Thingy 91 via SPI, using SPIM3.

The problem I'm facing is that the data I read is shifted. I’ve attached a ZIP file containing the project and some logs that show the issue.

When I write the same value to multiple memory addresses and read them back, the logic analyzer shows the correct value repeating (similar to a PWM signal), but the data is misaligned with the clock, causing parsing errors.

I’ve tried different SPI modes (only mode 0 seems to work, matching the PSRAM datasheet) and various clock frequencies, but the issue persists.

Any advice or suggestions?

Thanks in advance!

```

START - test_psram
Set up CS 8 at gpio@842500 pin 8
Set up CS 7 at gpio@842500 pin 7
CE pin 10
D: dest[0]: 0x00
D: dest[1]: 0x00
D: dest[2]: 0x00
D: dest[3]: 0x00
D: dest[4]: 0x31
D: dest[5]: 0x85
D: dest[6]: 0x00
D: dest[7]: 0x30
D: dest[8]: 0x08
D: dest[9]: 0x09
D: dest[10]: 0x8c
D: dest[11]: 0x28
D: Manufacturer ID: 0x31
D: KGD: 0x85
D: Device Density: 8 Mb
E: Error: Manufacturer ID does not match expected value of 0x9d
E: Error: Could not read vendor id
D: memc_is66wvs4m8_init: -5
D: Data: 0 0x00 0b00000000
D: Writing 16 bytes to address 0x000000
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   0       0x00    0b00000000
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   0       0x00    0b00000000
D: SPI TX[5]:   0       0x00    0b00000000
D: SPI TX[6]:   0       0x00    0b00000000
D: SPI TX[7]:   0       0x00    0b00000000
D: SPI TX[8]:   0       0x00    0b00000000
D: SPI TX[9]:   0       0x00    0b00000000
D: SPI TX[10]:  0       0x00    0b00000000
D: SPI TX[11]:  0       0x00    0b00000000
D: SPI TX[12]:  0       0x00    0b00000000
D: SPI TX[13]:  0       0x00    0b00000000
D: SPI TX[14]:  0       0x00    0b00000000
D: SPI TX[15]:  0       0x00    0b00000000
D: SPI TX[16]:  0       0x00    0b00000000
D: SPI TX[17]:  0       0x00    0b00000000
D: SPI TX[18]:  0       0x00    0b00000000
D: SPI TX[19]:  0       0x00    0b00000000
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00000000
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   0       0x00    0b00000000
D: SPI RX[5]:   0       0x00    0b00000000
D: SPI RX[6]:   0       0x00    0b00000000
D: SPI RX[7]:   0       0x00    0b00000000
D: SPI RX[8]:   0       0x00    0b00000000
D: SPI RX[9]:   0       0x00    0b00000000
D: SPI RX[10]:  0       0x00    0b00000000
D: SPI RX[11]:  0       0x00    0b00000000
D: SPI RX[12]:  0       0x00    0b00000000
D: SPI RX[13]:  0       0x00    0b00000000
D: SPI RX[14]:  0       0x00    0b00000000
D: SPI RX[15]:  0       0x00    0b00000000
D: SPI RX[16]:  0       0x00    0b00000000
D: SPI RX[17]:  0       0x00    0b00000000
D: SPI RX[18]:  0       0x00    0b00000000
D: SPI RX[19]:  0       0x00    0b00000000
D: memc_is66wvs4m8_read: 0
D: Data: 17 0x11 0b00010001
D: Writing 16 bytes to address 0x000400
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   4       0x04    0b00000100
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   17      0x11    0b00010001
D: SPI TX[5]:   17      0x11    0b00010001
D: SPI TX[6]:   17      0x11    0b00010001
D: SPI TX[7]:   17      0x11    0b00010001
D: SPI TX[8]:   17      0x11    0b00010001
D: SPI TX[9]:   17      0x11    0b00010001
D: SPI TX[10]:  17      0x11    0b00010001
D: SPI TX[11]:  17      0x11    0b00010001
D: SPI TX[12]:  17      0x11    0b00010001
D: SPI TX[13]:  17      0x11    0b00010001
D: SPI TX[14]:  17      0x11    0b00010001
D: SPI TX[15]:  17      0x11    0b00010001
D: SPI TX[16]:  17      0x11    0b00010001
D: SPI TX[17]:  17      0x11    0b00010001
D: SPI TX[18]:  17      0x11    0b00010001
D: SPI TX[19]:  17      0x11    0b00010001
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00000400
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   0       0x00    0b00000000
D: SPI RX[5]:   0       0x00    0b00000000
D: SPI RX[6]:   0       0x00    0b00000000
D: SPI RX[7]:   0       0x00    0b00000000
D: SPI RX[8]:   0       0x00    0b00000000
D: SPI RX[9]:   0       0x00    0b00000000
D: SPI RX[10]:  0       0x00    0b00000000
D: SPI RX[11]:  0       0x00    0b00000000
D: SPI RX[12]:  0       0x00    0b00000000
D: SPI RX[13]:  0       0x00    0b00000000
D: SPI RX[14]:  0       0x00    0b00000000
D: SPI RX[15]:  0       0x00    0b00000000
D: SPI RX[16]:  2       0x02    0b00000010
D: SPI RX[17]:  30      0x1e    0b00011110
D: SPI RX[18]:  3       0x03    0b00000011
D: SPI RX[19]:  253     0xfd    0b11111101
D: memc_is66wvs4m8_read: 0
D: Data: 34 0x22 0b00100010
D: Writing 16 bytes to address 0x000800
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   8       0x08    0b00001000
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   34      0x22    0b00100010
D: SPI TX[5]:   34      0x22    0b00100010
D: SPI TX[6]:   34      0x22    0b00100010
D: SPI TX[7]:   34      0x22    0b00100010
D: SPI TX[8]:   34      0x22    0b00100010
D: SPI TX[9]:   34      0x22    0b00100010
D: SPI TX[10]:  34      0x22    0b00100010
D: SPI TX[11]:  34      0x22    0b00100010
D: SPI TX[12]:  34      0x22    0b00100010
D: SPI TX[13]:  34      0x22    0b00100010
D: SPI TX[14]:  34      0x22    0b00100010
D: SPI TX[15]:  34      0x22    0b00100010
D: SPI TX[16]:  34      0x22    0b00100010
D: SPI TX[17]:  34      0x22    0b00100010
D: SPI TX[18]:  34      0x22    0b00100010
D: SPI TX[19]:  34      0x22    0b00100010
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00000800
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   0       0x00    0b00000000
D: SPI RX[5]:   0       0x00    0b00000000
D: SPI RX[6]:   0       0x00    0b00000000
D: SPI RX[7]:   0       0x00    0b00000000
D: SPI RX[8]:   0       0x00    0b00000000
D: SPI RX[9]:   0       0x00    0b00000000
D: SPI RX[10]:  0       0x00    0b00000000
D: SPI RX[11]:  0       0x00    0b00000000
D: SPI RX[12]:  0       0x00    0b00000000
D: SPI RX[13]:  0       0x00    0b00000000
D: SPI RX[14]:  0       0x00    0b00000000
D: SPI RX[15]:  0       0x00    0b00000000
D: SPI RX[16]:  4       0x04    0b00000100
D: SPI RX[17]:  104     0x68    0b01101000
D: SPI RX[18]:  15      0x0f    0b00001111
D: SPI RX[19]:  246     0xf6    0b11110110
D: memc_is66wvs4m8_read: 0
D: Data: 51 0x33 0b00110011
D: Writing 16 bytes to address 0x000c00
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   12      0x0c    0b00001100
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   51      0x33    0b00110011
D: SPI TX[5]:   51      0x33    0b00110011
D: SPI TX[6]:   51      0x33    0b00110011
D: SPI TX[7]:   51      0x33    0b00110011
D: SPI TX[8]:   51      0x33    0b00110011
D: SPI TX[9]:   51      0x33    0b00110011
D: SPI TX[10]:  51      0x33    0b00110011
D: SPI TX[11]:  51      0x33    0b00110011
D: SPI TX[12]:  51      0x33    0b00110011
D: SPI TX[13]:  51      0x33    0b00110011
D: SPI TX[14]:  51      0x33    0b00110011
D: SPI TX[15]:  51      0x33    0b00110011
D: SPI TX[16]:  51      0x33    0b00110011
D: SPI TX[17]:  51      0x33    0b00110011
D: SPI TX[18]:  51      0x33    0b00110011
D: SPI TX[19]:  51      0x33    0b00110011
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00000c00
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   36      0x24    0b00100100
D: SPI RX[5]:   146     0x92    0b10010010
D: SPI RX[6]:   73      0x49    0b01001001
D: SPI RX[7]:   36      0x24    0b00100100
D: SPI RX[8]:   146     0x92    0b10010010
D: SPI RX[9]:   73      0x49    0b01001001
D: SPI RX[10]:  36      0x24    0b00100100
D: SPI RX[11]:  146     0x92    0b10010010
D: SPI RX[12]:  73      0x49    0b01001001
D: SPI RX[13]:  36      0x24    0b00100100
D: SPI RX[14]:  146     0x92    0b10010010
D: SPI RX[15]:  73      0x49    0b01001001
D: SPI RX[16]:  130     0x82    0b10000010
D: SPI RX[17]:  62      0x3e    0b00111110
D: SPI RX[18]:  3       0x03    0b00000011
D: SPI RX[19]:  253     0xfd    0b11111101
D: memc_is66wvs4m8_read: 0
D: Data: 68 0x44 0b01000100
D: Writing 16 bytes to address 0x001000
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   16      0x10    0b00010000
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   68      0x44    0b01000100
D: SPI TX[5]:   68      0x44    0b01000100
D: SPI TX[6]:   68      0x44    0b01000100
D: SPI TX[7]:   68      0x44    0b01000100
D: SPI TX[8]:   68      0x44    0b01000100
D: SPI TX[9]:   68      0x44    0b01000100
D: SPI TX[10]:  68      0x44    0b01000100
D: SPI TX[11]:  68      0x44    0b01000100
D: SPI TX[12]:  68      0x44    0b01000100
D: SPI TX[13]:  68      0x44    0b01000100
D: SPI TX[14]:  68      0x44    0b01000100
D: SPI TX[15]:  68      0x44    0b01000100
D: SPI TX[16]:  68      0x44    0b01000100
D: SPI TX[17]:  68      0x44    0b01000100
D: SPI TX[18]:  68      0x44    0b01000100
D: SPI TX[19]:  68      0x44    0b01000100
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00001000
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   0       0x00    0b00000000
D: SPI RX[5]:   0       0x00    0b00000000
D: SPI RX[6]:   0       0x00    0b00000000
D: SPI RX[7]:   0       0x00    0b00000000
D: SPI RX[8]:   0       0x00    0b00000000
D: SPI RX[9]:   0       0x00    0b00000000
D: SPI RX[10]:  0       0x00    0b00000000
D: SPI RX[11]:  0       0x00    0b00000000
D: SPI RX[12]:  0       0x00    0b00000000
D: SPI RX[13]:  0       0x00    0b00000000
D: SPI RX[14]:  0       0x00    0b00000000
D: SPI RX[15]:  0       0x00    0b00000000
D: SPI RX[16]:  4       0x04    0b00000100
D: SPI RX[17]:  40      0x28    0b00101000
D: SPI RX[18]:  15      0x0f    0b00001111
D: SPI RX[19]:  246     0xf6    0b11110110
D: memc_is66wvs4m8_read: 0
D: Data: 85 0x55 0b01010101
D: Writing 16 bytes to address 0x001400
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   20      0x14    0b00010100
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   85      0x55    0b01010101
D: SPI TX[5]:   85      0x55    0b01010101
D: SPI TX[6]:   85      0x55    0b01010101
D: SPI TX[7]:   85      0x55    0b01010101
D: SPI TX[8]:   85      0x55    0b01010101
D: SPI TX[9]:   85      0x55    0b01010101
D: SPI TX[10]:  85      0x55    0b01010101
D: SPI TX[11]:  85      0x55    0b01010101
D: SPI TX[12]:  85      0x55    0b01010101
D: SPI TX[13]:  85      0x55    0b01010101
D: SPI TX[14]:  85      0x55    0b01010101
D: SPI TX[15]:  85      0x55    0b01010101
D: SPI TX[16]:  85      0x55    0b01010101
D: SPI TX[17]:  85      0x55    0b01010101
D: SPI TX[18]:  85      0x55    0b01010101
D: SPI TX[19]:  85      0x55    0b01010101
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00001400
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   0       0x00    0b00000000
D: SPI RX[5]:   0       0x00    0b00000000
D: SPI RX[6]:   0       0x00    0b00000000
D: SPI RX[7]:   0       0x00    0b00000000
D: SPI RX[8]:   0       0x00    0b00000000
D: SPI RX[9]:   0       0x00    0b00000000
D: SPI RX[10]:  0       0x00    0b00000000
D: SPI RX[11]:  0       0x00    0b00000000
D: SPI RX[12]:  2       0x02    0b00000010
D: SPI RX[13]:  30      0x1e    0b00011110
D: SPI RX[14]:  3       0x03    0b00000011
D: SPI RX[15]:  253     0xfd    0b11111101
D: SPI RX[16]:  176     0xb0    0b10110000
D: SPI RX[17]:  47      0x2f    0b00101111
D: SPI RX[18]:  195     0xc3    0b11000011
D: SPI RX[19]:  241     0xf1    0b11110001
D: memc_is66wvs4m8_read: 0
D: Data: 102 0x66 0b01100110
D: Writing 16 bytes to address 0x001800
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   24      0x18    0b00011000
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   102     0x66    0b01100110
D: SPI TX[5]:   102     0x66    0b01100110
D: SPI TX[6]:   102     0x66    0b01100110
D: SPI TX[7]:   102     0x66    0b01100110
D: SPI TX[8]:   102     0x66    0b01100110
D: SPI TX[9]:   102     0x66    0b01100110
D: SPI TX[10]:  102     0x66    0b01100110
D: SPI TX[11]:  102     0x66    0b01100110
D: SPI TX[12]:  102     0x66    0b01100110
D: SPI TX[13]:  102     0x66    0b01100110
D: SPI TX[14]:  102     0x66    0b01100110
D: SPI TX[15]:  102     0x66    0b01100110
D: SPI TX[16]:  102     0x66    0b01100110
D: SPI TX[17]:  102     0x66    0b01100110
D: SPI TX[18]:  102     0x66    0b01100110
D: SPI TX[19]:  102     0x66    0b01100110
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00001800
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   73      0x49    0b01001001
D: SPI RX[5]:   36      0x24    0b00100100
D: SPI RX[6]:   146     0x92    0b10010010
D: SPI RX[7]:   73      0x49    0b01001001
D: SPI RX[8]:   36      0x24    0b00100100
D: SPI RX[9]:   146     0x92    0b10010010
D: SPI RX[10]:  73      0x49    0b01001001
D: SPI RX[11]:  36      0x24    0b00100100
D: SPI RX[12]:  146     0x92    0b10010010
D: SPI RX[13]:  73      0x49    0b01001001
D: SPI RX[14]:  36      0x24    0b00100100
D: SPI RX[15]:  146     0x92    0b10010010
D: SPI RX[16]:  4       0x04    0b00000100
D: SPI RX[17]:  60      0x3c    0b00111100
D: SPI RX[18]:  7       0x07    0b00000111
D: SPI RX[19]:  251     0xfb    0b11111011
D: memc_is66wvs4m8_read: 0
D: Data: 119 0x77 0b01110111
D: Writing 16 bytes to address 0x001c00
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   28      0x1c    0b00011100
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   119     0x77    0b01110111
D: SPI TX[5]:   119     0x77    0b01110111
D: SPI TX[6]:   119     0x77    0b01110111
D: SPI TX[7]:   119     0x77    0b01110111
D: SPI TX[8]:   119     0x77    0b01110111
D: SPI TX[9]:   119     0x77    0b01110111
D: SPI TX[10]:  119     0x77    0b01110111
D: SPI TX[11]:  119     0x77    0b01110111
D: SPI TX[12]:  119     0x77    0b01110111
D: SPI TX[13]:  119     0x77    0b01110111
D: SPI TX[14]:  119     0x77    0b01110111
D: SPI TX[15]:  119     0x77    0b01110111
D: SPI TX[16]:  119     0x77    0b01110111
D: SPI TX[17]:  119     0x77    0b01110111
D: SPI TX[18]:  119     0x77    0b01110111
D: SPI TX[19]:  119     0x77    0b01110111
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00001c00
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   109     0x6d    0b01101101
D: SPI RX[5]:   182     0xb6    0b10110110
D: SPI RX[6]:   219     0xdb    0b11011011
D: SPI RX[7]:   109     0x6d    0b01101101
D: SPI RX[8]:   182     0xb6    0b10110110
D: SPI RX[9]:   219     0xdb    0b11011011
D: SPI RX[10]:  109     0x6d    0b01101101
D: SPI RX[11]:  182     0xb6    0b10110110
D: SPI RX[12]:  219     0xdb    0b11011011
D: SPI RX[13]:  109     0x6d    0b01101101
D: SPI RX[14]:  182     0xb6    0b10110110
D: SPI RX[15]:  219     0xdb    0b11011011
D: SPI RX[16]:  130     0x82    0b10000010
D: SPI RX[17]:  62      0x3e    0b00111110
D: SPI RX[18]:  3       0x03    0b00000011
D: SPI RX[19]:  253     0xfd    0b11111101
D: memc_is66wvs4m8_read: 0
D: Data: 136 0x88 0b10001000
D: Writing 16 bytes to address 0x002000
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   32      0x20    0b00100000
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   136     0x88    0b10001000
D: SPI TX[5]:   136     0x88    0b10001000
D: SPI TX[6]:   136     0x88    0b10001000
D: SPI TX[7]:   136     0x88    0b10001000
D: SPI TX[8]:   136     0x88    0b10001000
D: SPI TX[9]:   136     0x88    0b10001000
D: SPI TX[10]:  136     0x88    0b10001000
D: SPI TX[11]:  136     0x88    0b10001000
D: SPI TX[12]:  136     0x88    0b10001000
D: SPI TX[13]:  136     0x88    0b10001000
D: SPI TX[14]:  136     0x88    0b10001000
D: SPI TX[15]:  136     0x88    0b10001000
D: SPI TX[16]:  136     0x88    0b10001000
D: SPI TX[17]:  136     0x88    0b10001000
D: SPI TX[18]:  136     0x88    0b10001000
D: SPI TX[19]:  136     0x88    0b10001000
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00002000
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   0       0x00    0b00000000
D: SPI RX[5]:   0       0x00    0b00000000
D: SPI RX[6]:   0       0x00    0b00000000
D: SPI RX[7]:   0       0x00    0b00000000
D: SPI RX[8]:   0       0x00    0b00000000
D: SPI RX[9]:   0       0x00    0b00000000
D: SPI RX[10]:  0       0x00    0b00000000
D: SPI RX[11]:  0       0x00    0b00000000
D: SPI RX[12]:  0       0x00    0b00000000
D: SPI RX[13]:  0       0x00    0b00000000
D: SPI RX[14]:  0       0x00    0b00000000
D: SPI RX[15]:  0       0x00    0b00000000
D: SPI RX[16]:  4       0x04    0b00000100
D: SPI RX[17]:  124     0x7c    0b01111100
D: SPI RX[18]:  7       0x07    0b00000111
D: SPI RX[19]:  251     0xfb    0b11111011
D: memc_is66wvs4m8_read: 0
D: Data: 153 0x99 0b10011001
D: Writing 16 bytes to address 0x002400
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   36      0x24    0b00100100
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   153     0x99    0b10011001
D: SPI TX[5]:   153     0x99    0b10011001
D: SPI TX[6]:   153     0x99    0b10011001
D: SPI TX[7]:   153     0x99    0b10011001
D: SPI TX[8]:   153     0x99    0b10011001
D: SPI TX[9]:   153     0x99    0b10011001
D: SPI TX[10]:  153     0x99    0b10011001
D: SPI TX[11]:  153     0x99    0b10011001
D: SPI TX[12]:  153     0x99    0b10011001
D: SPI TX[13]:  153     0x99    0b10011001
D: SPI TX[14]:  153     0x99    0b10011001
D: SPI TX[15]:  153     0x99    0b10011001
D: SPI TX[16]:  153     0x99    0b10011001
D: SPI TX[17]:  153     0x99    0b10011001
D: SPI TX[18]:  153     0x99    0b10011001
D: SPI TX[19]:  153     0x99    0b10011001
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00002400
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   36      0x24    0b00100100
D: SPI RX[5]:   146     0x92    0b10010010
D: SPI RX[6]:   73      0x49    0b01001001
D: SPI RX[7]:   36      0x24    0b00100100
D: SPI RX[8]:   146     0x92    0b10010010
D: SPI RX[9]:   73      0x49    0b01001001
D: SPI RX[10]:  36      0x24    0b00100100
D: SPI RX[11]:  146     0x92    0b10010010
D: SPI RX[12]:  73      0x49    0b01001001
D: SPI RX[13]:  36      0x24    0b00100100
D: SPI RX[14]:  146     0x92    0b10010010
D: SPI RX[15]:  73      0x49    0b01001001
D: SPI RX[16]:  4       0x04    0b00000100
D: SPI RX[17]:  124     0x7c    0b01111100
D: SPI RX[18]:  7       0x07    0b00000111
D: SPI RX[19]:  251     0xfb    0b11111011
D: memc_is66wvs4m8_read: 0
D: Data: 170 0xaa 0b10101010
D: Writing 16 bytes to address 0x002800
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   40      0x28    0b00101000
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   170     0xaa    0b10101010
D: SPI TX[5]:   170     0xaa    0b10101010
D: SPI TX[6]:   170     0xaa    0b10101010
D: SPI TX[7]:   170     0xaa    0b10101010
D: SPI TX[8]:   170     0xaa    0b10101010
D: SPI TX[9]:   170     0xaa    0b10101010
D: SPI TX[10]:  170     0xaa    0b10101010
D: SPI TX[11]:  170     0xaa    0b10101010
D: SPI TX[12]:  170     0xaa    0b10101010
D: SPI TX[13]:  170     0xaa    0b10101010
D: SPI TX[14]:  170     0xaa    0b10101010
D: SPI TX[15]:  170     0xaa    0b10101010
D: SPI TX[16]:  170     0xaa    0b10101010
D: SPI TX[17]:  170     0xaa    0b10101010
D: SPI TX[18]:  170     0xaa    0b10101010
D: SPI TX[19]:  170     0xaa    0b10101010
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00002800
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   0       0x00    0b00000000
D: SPI RX[5]:   0       0x00    0b00000000
D: SPI RX[6]:   0       0x00    0b00000000
D: SPI RX[7]:   0       0x00    0b00000000
D: SPI RX[8]:   0       0x00    0b00000000
D: SPI RX[9]:   0       0x00    0b00000000
D: SPI RX[10]:  0       0x00    0b00000000
D: SPI RX[11]:  0       0x00    0b00000000
D: SPI RX[12]:  4       0x04    0b00000100
D: SPI RX[13]:  124     0x7c    0b01111100
D: SPI RX[14]:  7       0x07    0b00000111
D: SPI RX[15]:  251     0xfb    0b11111011
D: SPI RX[16]:  96      0x60    0b01100000
D: SPI RX[17]:  95      0x5f    0b01011111
D: SPI RX[18]:  135     0x87    0b10000111
D: SPI RX[19]:  227     0xe3    0b11100011
D: memc_is66wvs4m8_read: 0
D: Data: 187 0xbb 0b10111011
D: Writing 16 bytes to address 0x002c00
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   44      0x2c    0b00101100
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   187     0xbb    0b10111011
D: SPI TX[5]:   187     0xbb    0b10111011
D: SPI TX[6]:   187     0xbb    0b10111011
D: SPI TX[7]:   187     0xbb    0b10111011
D: SPI TX[8]:   187     0xbb    0b10111011
D: SPI TX[9]:   187     0xbb    0b10111011
D: SPI TX[10]:  187     0xbb    0b10111011
D: SPI TX[11]:  187     0xbb    0b10111011
D: SPI TX[12]:  187     0xbb    0b10111011
D: SPI TX[13]:  187     0xbb    0b10111011
D: SPI TX[14]:  187     0xbb    0b10111011
D: SPI TX[15]:  187     0xbb    0b10111011
D: SPI TX[16]:  187     0xbb    0b10111011
D: SPI TX[17]:  187     0xbb    0b10111011
D: SPI TX[18]:  187     0xbb    0b10111011
D: SPI TX[19]:  187     0xbb    0b10111011
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00002c00
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   109     0x6d    0b01101101
D: SPI RX[5]:   182     0xb6    0b10110110
D: SPI RX[6]:   219     0xdb    0b11011011
D: SPI RX[7]:   109     0x6d    0b01101101
D: SPI RX[8]:   182     0xb6    0b10110110
D: SPI RX[9]:   219     0xdb    0b11011011
D: SPI RX[10]:  109     0x6d    0b01101101
D: SPI RX[11]:  182     0xb6    0b10110110
D: SPI RX[12]:  219     0xdb    0b11011011
D: SPI RX[13]:  109     0x6d    0b01101101
D: SPI RX[14]:  182     0xb6    0b10110110
D: SPI RX[15]:  219     0xdb    0b11011011
D: SPI RX[16]:  36      0x24    0b00100100
D: SPI RX[17]:  60      0x3c    0b00111100
D: SPI RX[18]:  7       0x07    0b00000111
D: SPI RX[19]:  251     0xfb    0b11111011
D: memc_is66wvs4m8_read: 0
D: Data: 204 0xcc 0b11001100
D: Writing 16 bytes to address 0x003000
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   48      0x30    0b00110000
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   204     0xcc    0b11001100
D: SPI TX[5]:   204     0xcc    0b11001100
D: SPI TX[6]:   204     0xcc    0b11001100
D: SPI TX[7]:   204     0xcc    0b11001100
D: SPI TX[8]:   204     0xcc    0b11001100
D: SPI TX[9]:   204     0xcc    0b11001100
D: SPI TX[10]:  204     0xcc    0b11001100
D: SPI TX[11]:  204     0xcc    0b11001100
D: SPI TX[12]:  204     0xcc    0b11001100
D: SPI TX[13]:  204     0xcc    0b11001100
D: SPI TX[14]:  204     0xcc    0b11001100
D: SPI TX[15]:  204     0xcc    0b11001100
D: SPI TX[16]:  204     0xcc    0b11001100
D: SPI TX[17]:  204     0xcc    0b11001100
D: SPI TX[18]:  204     0xcc    0b11001100
D: SPI TX[19]:  204     0xcc    0b11001100
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00003000
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   146     0x92    0b10010010
D: SPI RX[5]:   73      0x49    0b01001001
D: SPI RX[6]:   36      0x24    0b00100100
D: SPI RX[7]:   146     0x92    0b10010010
D: SPI RX[8]:   73      0x49    0b01001001
D: SPI RX[9]:   36      0x24    0b00100100
D: SPI RX[10]:  146     0x92    0b10010010
D: SPI RX[11]:  73      0x49    0b01001001
D: SPI RX[12]:  36      0x24    0b00100100
D: SPI RX[13]:  146     0x92    0b10010010
D: SPI RX[14]:  73      0x49    0b01001001
D: SPI RX[15]:  36      0x24    0b00100100
D: SPI RX[16]:  4       0x04    0b00000100
D: SPI RX[17]:  60      0x3c    0b00111100
D: SPI RX[18]:  7       0x07    0b00000111
D: SPI RX[19]:  251     0xfb    0b11111011
D: memc_is66wvs4m8_read: 0
D: Data: 221 0xdd 0b11011101
D: Writing 16 bytes to address 0x003400
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   52      0x34    0b00110100
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   221     0xdd    0b11011101
D: SPI TX[5]:   221     0xdd    0b11011101
D: SPI TX[6]:   221     0xdd    0b11011101
D: SPI TX[7]:   221     0xdd    0b11011101
D: SPI TX[8]:   221     0xdd    0b11011101
D: SPI TX[9]:   221     0xdd    0b11011101
D: SPI TX[10]:  221     0xdd    0b11011101
D: SPI TX[11]:  221     0xdd    0b11011101
D: SPI TX[12]:  221     0xdd    0b11011101
D: SPI TX[13]:  221     0xdd    0b11011101
D: SPI TX[14]:  221     0xdd    0b11011101
D: SPI TX[15]:  221     0xdd    0b11011101
D: SPI TX[16]:  221     0xdd    0b11011101
D: SPI TX[17]:  221     0xdd    0b11011101
D: SPI TX[18]:  221     0xdd    0b11011101
D: SPI TX[19]:  221     0xdd    0b11011101
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00003400
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   182     0xb6    0b10110110
D: SPI RX[5]:   219     0xdb    0b11011011
D: SPI RX[6]:   109     0x6d    0b01101101
D: SPI RX[7]:   182     0xb6    0b10110110
D: SPI RX[8]:   219     0xdb    0b11011011
D: SPI RX[9]:   109     0x6d    0b01101101
D: SPI RX[10]:  182     0xb6    0b10110110
D: SPI RX[11]:  219     0xdb    0b11011011
D: SPI RX[12]:  109     0x6d    0b01101101
D: SPI RX[13]:  182     0xb6    0b10110110
D: SPI RX[14]:  219     0xdb    0b11011011
D: SPI RX[15]:  109     0x6d    0b01101101
D: SPI RX[16]:  4       0x04    0b00000100
D: SPI RX[17]:  124     0x7c    0b01111100
D: SPI RX[18]:  7       0x07    0b00000111
D: SPI RX[19]:  251     0xfb    0b11111011
D: memc_is66wvs4m8_read: 0
D: Data: 238 0xee 0b11101110
D: Writing 16 bytes to address 0x003800
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   56      0x38    0b00111000
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   238     0xee    0b11101110
D: SPI TX[5]:   238     0xee    0b11101110
D: SPI TX[6]:   238     0xee    0b11101110
D: SPI TX[7]:   238     0xee    0b11101110
D: SPI TX[8]:   238     0xee    0b11101110
D: SPI TX[9]:   238     0xee    0b11101110
D: SPI TX[10]:  238     0xee    0b11101110
D: SPI TX[11]:  238     0xee    0b11101110
D: SPI TX[12]:  238     0xee    0b11101110
D: SPI TX[13]:  238     0xee    0b11101110
D: SPI TX[14]:  238     0xee    0b11101110
D: SPI TX[15]:  238     0xee    0b11101110
D: SPI TX[16]:  238     0xee    0b11101110
D: SPI TX[17]:  238     0xee    0b11101110
D: SPI TX[18]:  238     0xee    0b11101110
D: SPI TX[19]:  238     0xee    0b11101110
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00003800
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   219     0xdb    0b11011011
D: SPI RX[5]:   109     0x6d    0b01101101
D: SPI RX[6]:   182     0xb6    0b10110110
D: SPI RX[7]:   219     0xdb    0b11011011
D: SPI RX[8]:   109     0x6d    0b01101101
D: SPI RX[9]:   182     0xb6    0b10110110
D: SPI RX[10]:  219     0xdb    0b11011011
D: SPI RX[11]:  109     0x6d    0b01101101
D: SPI RX[12]:  182     0xb6    0b10110110
D: SPI RX[13]:  219     0xdb    0b11011011
D: SPI RX[14]:  109     0x6d    0b01101101
D: SPI RX[15]:  182     0xb6    0b10110110
D: SPI RX[16]:  4       0x04    0b00000100
D: SPI RX[17]:  124     0x7c    0b01111100
D: SPI RX[18]:  7       0x07    0b00000111
D: SPI RX[19]:  251     0xfb    0b11111011
D: memc_is66wvs4m8_read: 0
D: Data: 255 0xff 0b11111111
D: Writing 16 bytes to address 0x003c00
D: SPI TX[0]:   2       0x02    0b00000010
D: SPI TX[1]:   0       0x00    0b00000000
D: SPI TX[2]:   60      0x3c    0b00111100
D: SPI TX[3]:   0       0x00    0b00000000
D: SPI TX[4]:   255     0xff    0b11111111
D: SPI TX[5]:   255     0xff    0b11111111
D: SPI TX[6]:   255     0xff    0b11111111
D: SPI TX[7]:   255     0xff    0b11111111
D: SPI TX[8]:   255     0xff    0b11111111
D: SPI TX[9]:   255     0xff    0b11111111
D: SPI TX[10]:  255     0xff    0b11111111
D: SPI TX[11]:  255     0xff    0b11111111
D: SPI TX[12]:  255     0xff    0b11111111
D: SPI TX[13]:  255     0xff    0b11111111
D: SPI TX[14]:  255     0xff    0b11111111
D: SPI TX[15]:  255     0xff    0b11111111
D: SPI TX[16]:  255     0xff    0b11111111
D: SPI TX[17]:  255     0xff    0b11111111
D: SPI TX[18]:  255     0xff    0b11111111
D: SPI TX[19]:  255     0xff    0b11111111
D: memc_is66wvs4m8_write: 0
D: Reading 16 bytes from address 0x00003c00
D: SPI RX[0]:   0       0x00    0b00000000
D: SPI RX[1]:   0       0x00    0b00000000
D: SPI RX[2]:   0       0x00    0b00000000
D: SPI RX[3]:   0       0x00    0b00000000
D: SPI RX[4]:   255     0xff    0b11111111
D: SPI RX[5]:   255     0xff    0b11111111
D: SPI RX[6]:   255     0xff    0b11111111
D: SPI RX[7]:   255     0xff    0b11111111
D: SPI RX[8]:   255     0xff    0b11111111
D: SPI RX[9]:   255     0xff    0b11111111
D: SPI RX[10]:  255     0xff    0b11111111
D: SPI RX[11]:  255     0xff    0b11111111
D: SPI RX[12]:  255     0xff    0b11111111
D: SPI RX[13]:  255     0xff    0b11111111
D: SPI RX[14]:  255     0xff    0b11111111
D: SPI RX[15]:  255     0xff    0b11111111
D: SPI RX[16]:  255     0xff    0b11111111
D: SPI RX[17]:  255     0xff    0b11111111
D: SPI RX[18]:  255     0xff    0b11111111
D: SPI RX[19]:  255     0xff    0b11111111
D: memc_is66wvs4m8_read: 0

```

psram.zip

Parents
  • Hi,

     

    D: Writing 16 bytes to address 0x000c00
    D: SPI TX[0]:   2       0x02    0b00000010
    D: SPI TX[1]:   0       0x00    0b00000000
    D: SPI TX[2]:   12      0x0c    0b00001100
    D: SPI TX[3]:   0       0x00    0b00000000
    D: SPI TX[4]:   51      0x33    0b00110011
    D: SPI TX[5]:   51      0x33    0b00110011
    D: SPI TX[6]:   51      0x33    0b00110011
    D: SPI TX[7]:   51      0x33    0b00110011
    D: SPI TX[8]:   51      0x33    0b00110011
    D: SPI TX[9]:   51      0x33    0b00110011
    D: SPI TX[10]:  51      0x33    0b00110011
    D: SPI TX[11]:  51      0x33    0b00110011
    D: SPI TX[12]:  51      0x33    0b00110011
    D: SPI TX[13]:  51      0x33    0b00110011
    D: SPI TX[14]:  51      0x33    0b00110011
    D: SPI TX[15]:  51      0x33    0b00110011
    D: SPI TX[16]:  51      0x33    0b00110011
    D: SPI TX[17]:  51      0x33    0b00110011
    D: SPI TX[18]:  51      0x33    0b00110011
    D: SPI TX[19]:  51      0x33    0b00110011
    D: memc_is66wvs4m8_write: 0
    D: Reading 16 bytes from address 0x00000c00
    D: SPI RX[0]:   0       0x00    0b00000000
    D: SPI RX[1]:   0       0x00    0b00000000
    D: SPI RX[2]:   0       0x00    0b00000000
    D: SPI RX[3]:   0       0x00    0b00000000
    D: SPI RX[4]:   36      0x24    0b00100100
    D: SPI RX[5]:   146     0x92    0b10010010
    D: SPI RX[6]:   73      0x49    0b01001001
    D: SPI RX[7]:   36      0x24    0b00100100
    D: SPI RX[8]:   146     0x92    0b10010010
    D: SPI RX[9]:   73      0x49    0b01001001
    D: SPI RX[10]:  36      0x24    0b00100100
    D: SPI RX[11]:  146     0x92    0b10010010
    D: SPI RX[12]:  73      0x49    0b01001001
    D: SPI RX[13]:  36      0x24    0b00100100
    D: SPI RX[14]:  146     0x92    0b10010010
    D: SPI RX[15]:  73      0x49    0b01001001
    D: SPI RX[16]:  130     0x82    0b10000010
    D: SPI RX[17]:  62      0x3e    0b00111110
    D: SPI RX[18]:  3       0x03    0b00000011
    D: SPI RX[19]:  253     0xfd    0b11111101

    I am unable to see a pattern here that matches your description:

    The problem I'm facing is that the data I read is shifted. I

    0x33 shifted, either way, is not equal to the data that you read back. There are bit flips in addition, making this a more random pattern than a direct shift.

    This is similar in all your other write/reads.

    D: Manufacturer ID: 0x31
    D: KGD: 0x85
    D: Device Density: 8 Mb
    E: Error: Manufacturer ID does not match expected value of 0x9d
    E: Error: Could not read vendor id
    D: memc_is66wvs4m8_init: -5

    This also seems to be a mismatch. Are you certain that you have connected MISO/MOSI correctly between your devices?

    Have you checked if there are any power-up restrictions/timing or similar on this device?

     

    Kind regards,

    Håkon

Reply
  • Hi,

     

    D: Writing 16 bytes to address 0x000c00
    D: SPI TX[0]:   2       0x02    0b00000010
    D: SPI TX[1]:   0       0x00    0b00000000
    D: SPI TX[2]:   12      0x0c    0b00001100
    D: SPI TX[3]:   0       0x00    0b00000000
    D: SPI TX[4]:   51      0x33    0b00110011
    D: SPI TX[5]:   51      0x33    0b00110011
    D: SPI TX[6]:   51      0x33    0b00110011
    D: SPI TX[7]:   51      0x33    0b00110011
    D: SPI TX[8]:   51      0x33    0b00110011
    D: SPI TX[9]:   51      0x33    0b00110011
    D: SPI TX[10]:  51      0x33    0b00110011
    D: SPI TX[11]:  51      0x33    0b00110011
    D: SPI TX[12]:  51      0x33    0b00110011
    D: SPI TX[13]:  51      0x33    0b00110011
    D: SPI TX[14]:  51      0x33    0b00110011
    D: SPI TX[15]:  51      0x33    0b00110011
    D: SPI TX[16]:  51      0x33    0b00110011
    D: SPI TX[17]:  51      0x33    0b00110011
    D: SPI TX[18]:  51      0x33    0b00110011
    D: SPI TX[19]:  51      0x33    0b00110011
    D: memc_is66wvs4m8_write: 0
    D: Reading 16 bytes from address 0x00000c00
    D: SPI RX[0]:   0       0x00    0b00000000
    D: SPI RX[1]:   0       0x00    0b00000000
    D: SPI RX[2]:   0       0x00    0b00000000
    D: SPI RX[3]:   0       0x00    0b00000000
    D: SPI RX[4]:   36      0x24    0b00100100
    D: SPI RX[5]:   146     0x92    0b10010010
    D: SPI RX[6]:   73      0x49    0b01001001
    D: SPI RX[7]:   36      0x24    0b00100100
    D: SPI RX[8]:   146     0x92    0b10010010
    D: SPI RX[9]:   73      0x49    0b01001001
    D: SPI RX[10]:  36      0x24    0b00100100
    D: SPI RX[11]:  146     0x92    0b10010010
    D: SPI RX[12]:  73      0x49    0b01001001
    D: SPI RX[13]:  36      0x24    0b00100100
    D: SPI RX[14]:  146     0x92    0b10010010
    D: SPI RX[15]:  73      0x49    0b01001001
    D: SPI RX[16]:  130     0x82    0b10000010
    D: SPI RX[17]:  62      0x3e    0b00111110
    D: SPI RX[18]:  3       0x03    0b00000011
    D: SPI RX[19]:  253     0xfd    0b11111101

    I am unable to see a pattern here that matches your description:

    The problem I'm facing is that the data I read is shifted. I

    0x33 shifted, either way, is not equal to the data that you read back. There are bit flips in addition, making this a more random pattern than a direct shift.

    This is similar in all your other write/reads.

    D: Manufacturer ID: 0x31
    D: KGD: 0x85
    D: Device Density: 8 Mb
    E: Error: Manufacturer ID does not match expected value of 0x9d
    E: Error: Could not read vendor id
    D: memc_is66wvs4m8_init: -5

    This also seems to be a mismatch. Are you certain that you have connected MISO/MOSI correctly between your devices?

    Have you checked if there are any power-up restrictions/timing or similar on this device?

     

    Kind regards,

    Håkon

Children
No Data
Related