I am running 2.6.31 Linux on a i.MX35 board and I'm trying developing some software to access the IIM fuses. I have been able to program, sense and read the lower 32 fuse rows in each bank, but when I try to sense fuse in rows 32 - 256 of the banks, I get SDAT data that is set to the same value as the last valid value read from the rows 1 - 32. I have also tried to read the memory directly and for the first 32 fuses I retrieve data identical to that read by sensing, but when I try and access higher locations I get a bus error.
It would appear that any fuses that have a row address that has any of the three top address bits set do not work, that is those defined in the bottom three bits of the UA register.
I have tried the sample code given with the IIM documentation and the results are the same.
Has anybody else had similar issues and have a possible solution or work around?