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