Rick Bosma

Setting IIM fuses for Hardware Revision

Discussion created by Rick Bosma on Jul 11, 2012
Latest reply on May 23, 2013 by Christophe Cholet

I'm running linux 2.6.35 on a iMX53 QSB and on my own hardware

It seems that u-boot uses iim fuses to determine the board hardware revision level.  When I boot the QSB, it indicates hardware Rev. B.    When I boot my board, in indicates hardware Rev. A


After digging through the u-boot source code (talk about fun!!), I located mx53_loco.c which has a function called get_board_rev_from_fuse.   This function is called to read IIM_BASE_ADDR + 0x878 to determine the revision level.  If this returns 0x3, then it means board Rev B.   If it returns 0x1 or nothing, the Rev A is returned.   Since I have not programmed the IIM fuses, it seems to make sense that my board is showing Rev A.


I have tried to issue IIM read 0 0x878 but I get back

"Read fuse at bank:0 row:120."


I can't seam to read past location 120 in iim read.   This has prevented me from reading the iim fuses in the qsb to confirm what value I should burn into the fuses for my own hardware.  I have not tried to burn any fuse values because it must be right as they are one-time fuses.


Can you ask John : What is the correct command to program the iim fuses to indicate that the hardware should be Freescale QSB rev. B