i.MX35 IIM fuse access limited to 32 rows

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX35 IIM fuse access limited to 32 rows

696 Views
PeterdeYoung
Contributor I

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?

Tags (2)
0 Kudos
Reply
1 Reply

574 Views
PeterdeYoung
Contributor I

It looks like the number of accessible fuses on the i.MX35 device is limited to 32 bytes or 256 fuses per bank. The i.MX35 documentation that I have didn't state this, it talked about the 256 fusible bytes or 2048 fuses per bank. The documentation does talk about fuses allocated to special functions, but it doesn't say that the higher fuses are not available.

When I queried Freescale they have responded:

    From section 3.1.1 (Features) of i.MX358 Applications Processor Security Reference Manual.
    "Maximum usable fuse bank size is 2048 bits (not all fuses are accessible within a bank)".
    Only 256 fuse bits (per bank) may be used in i.MX35.'

I wasn't able to access the i.MX358 document referred to, I guess it is internal. However it would have been useful for such comments to be in the general documents. It would have saved time.

0 Kudos
Reply