We have used the GPMC bus on a Pandaboard OMAP system for nearly a year. We have just migrated to a DM8148 board and found that the GPMC does not work correctly. Our system is non-multiplexed, NOR type, 16 bit access, interface to an FPGA on chip select 1.
We have set up the CS1 CONFIG1..7 registers as:
CONFIG1_1 = 0x1000
CONFIG2_1 = 0x1E1803
CONFIG3_1 = 0x80803
CONFIG4_1 = 0x1B0F1509
CONFIG5_1 = 0x5161E18
CONFIG6_1 = 0x1209000
CONFIG7_1 = 0xF55
The DM8148 is treating the databus as being only 8 bits, instead of 16 bits; when we read 16 bits of data, only the high data byte is read and then a second chip select cycle is erroneously performed with the address incremented by 1 to read another 8 bits. There should have been only one cycle and the full 16 bits should have been read. We tried altering the CONFIG1_1 setting to 0x0 in case the definition of DEVICESIZE = bits 13/12 in the DM8148 manual were backwards and observed the same signals on a scope.
Can anyone explain why we are experiencing this error?
Thanks.