I am working on a piece of software that utilizes the fact that OneNAND supports read-while-loading. What I need is some way of turning on the D-cache for the OneNAND BufferRAM.
I assume that the MMU sets the memory attribute of the OneNAND BufferRAM to Device (it is after all device memory) which is why it is not cacheable. What I need to do is to change the MMU attribute for the BufferRAM region to Normal cacheable (write-through cacheable preferably since I dont need to do any writing) while running my kernel module, and reset it to Device when finished. I have exclusive access to the OneNAND chip, and know exactly when the information in the cache will be valid.
Any suggestions? From what I have understood, I will have to somehow change the MMU translation tables, but since I have never really messed around with the MMU, this is slightly outside of my expertise.
I am working on a piece of software that utilizes the fact that OneNAND supports read-while-loading. What I need is some way of turning on the D-cache for the OneNAND BufferRAM.
I assume that the MMU sets the memory attribute of the OneNAND BufferRAM to Device (it is after all device memory) which is why it is not cacheable. What I need to do is to change the MMU attribute for the BufferRAM region to Normal cacheable (write-through cacheable preferably since I dont need to do any writing) while running my kernel module, and reset it to Device when finished. I have exclusive access to the OneNAND chip, and know exactly when the information in the cache will be valid.
Any suggestions? From what I have understood, I will have to somehow change the MMU translation tables, but since I have never really messed around with the MMU, this is slightly outside of my expertise.
Best regards,
//Leo