Hi, I am trying to write a device driver to access some memory mapped hardware locations on a board attached to PC-104 single board computer. The hardware is actually an FPGA, the registers of which I want to access. I am using ioremap(), ioread16() and iowrite16() functions to do I/O. I write to a location and then read it back to verify whether the write is happening or not. Whereas some reads come out correctly, others don't. For instance, when I write to 0xB8000, the read comes out correctly, whereas a write to 0xD0000 does not. (0xD0000 is base address of above mentioned FPGA).
Can somebody please help me what's going on? Am I supposed to use some other functions?
I am following Linux Device Drivers-3rd Ed and the following tutorial: