Hi, everybody! i am working with omap-l138 recently! i have written an uPP driver under linux-2.6.33-rc4, which is used for sending data to the external FPGA. So we use channel A only , and set it to be in transmition mode, single data rate and 8-bit width. when the application called the uPP driver, at first the uPP peripheral can transfer the data block correctly, but an internal bus error will occur very soon(the 2nd bit was set in UPISR). On our own board, the chip number is omapl138B, which means that its silicon version is 2.0. However, if I run the same driver on a demo board, on which the chip number is omapl138A(and it's silicon version is 1.1), then the uPP module will work properly.From both the datasheet and the user's guide of uPP module, i couldn't find more information about the error, except the following sentence " This event occurs when the uPP peripheral or its internal DMA controller encounters an internal bus error.
After encountering this error, the uPP peripheral should be reset to avoid further problem."(on P28 of uer's guide of uPP) .
I suspect that there mayabe some difference between the two silicon version, which causes the difference. Is there anyone can tell me more about the error condition and what caused it? can you give me some suggestion on how to make the uPP module work as expected on omapl138B? thansk a lot!