I have been using a microcontroller for quite some time to boot the ADAU1701 in SPI control mode, download DSP code, and read/write parameters. This worked well at an SPI speed of 1MHz. We recently tried increasing the speed to 4MHz and find that a verification of the program download fails, with bit errors consistently in the msb of a byte, i.e., 0x00 0xFF was written, 0x00 0x7F is read back, 0x01 0x0B written, 0x01 0x8B read back. Slowing down to 2MHz, has no such bit errors.
We are using an MSP430 microcontroller with SPI mode 0. We are respecting the setup and hold times for the SPI signals as shown in the data sheet, and 4MHz is well below the max. speed of 6.25MHz.
I'm just wondering if there's something simple I'm missing. the PCB is a compact 4-layer board with short trace lengths. I'm a bit stumped about this.