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.
We solved the issue ourselves. There was no problem with the CONFIG1..7 registers. The problem was in our C code.