[U-Boot] Bad CPU identification on MPC8544DS

Despite the SVR being the same (0x803c0011), the latest u-boot is misidentifying the CPU when compared against the original 1.3.0 u-boot. The CPU is a 8544E but u-boot is reporting 8533E.
The wierd part of this is that according to the Chip Errata for the MPC8544E, the SVR *should* be 0x803c01xx - which is different than both the 1.3 and latest git version are reading.
Can any of the Freescale guys explain this discrepancy between the manual, the Freescale BSP u-boot, and the latest u-boot?
Using the u-boot that is built with the LTIB and ships with the MPC8544DS board:
U-Boot 1.3.0-rc3 (Mar 28 2008 - 11:13:50)
CPU: 8544_E, Version: 1.1, (0x803c0011) Core: E500, Version: 2.2, (0x80210022) Clock Configuration: CPU: 999 MHz, CCB: 399 MHz, DDR: 199 MHz, LBC: 24 MHz L1: D-cache 32 kB enabled I-cache 32 kB enabled
Using the latest u-boot:
U-Boot 2009.03-rc1-00031-gd82fd0f-dirty (Mar 03 2009 - 13:09:00)
CPU: 8533E, Version: 1.1, (0x803c0011) Core: E500, Version: 2.2, (0x80210022) Clock Configuration: CPU0:1000 MHz, CCB:400 MHz, DDR:200 MHz (400 MT/s data rate), LBC:25 MHz L1: D-cache 32 kB enabled I-cache 32 kB enabled Board: MPC8544DS, System ID: 0x12, System Version: 0x20, FPGA Version: 0x31

jeff angielski wrote:
Despite the SVR being the same (0x803c0011), the latest u-boot is misidentifying the CPU when compared against the original 1.3.0 u-boot. The CPU is a 8544E but u-boot is reporting 8533E.
The wierd part of this is that according to the Chip Errata for the MPC8544E, the SVR *should* be 0x803c01xx - which is different than both the 1.3 and latest git version are reading.
Can any of the Freescale guys explain this discrepancy between the manual, the Freescale BSP u-boot, and the latest u-boot?
Using the u-boot that is built with the LTIB and ships with the MPC8544DS board:
U-Boot 1.3.0-rc3 (Mar 28 2008 - 11:13:50)
CPU: 8544_E, Version: 1.1, (0x803c0011) Core: E500, Version: 2.2, (0x80210022) Clock Configuration: CPU: 999 MHz, CCB: 399 MHz, DDR: 199 MHz, LBC: 24 MHz L1: D-cache 32 kB enabled I-cache 32 kB enabled
Using the latest u-boot:
U-Boot 2009.03-rc1-00031-gd82fd0f-dirty (Mar 03 2009 - 13:09:00)
CPU: 8533E, Version: 1.1, (0x803c0011) Core: E500, Version: 2.2, (0x80210022) Clock Configuration: CPU0:1000 MHz, CCB:400 MHz, DDR:200 MHz (400 MT/s data rate), LBC:25 MHz L1: D-cache 32 kB enabled I-cache 32 kB enabled Board: MPC8544DS, System ID: 0x12, System Version: 0x20, FPGA Version: 0x31
I found that U-boot 2009 does much more detailed checking regarding the CPU IDs. But also found discrepancies in the CPU reporting while running U-boot 2009 using the BDI 2000. With the BDI2000 my CPU was detected as 8547E and with a standalone boot, U-Boot got 8548E.
See if the CPU is detected incorrectly while booting stand alone. cheers pieter

On Tue, 2009-03-03 at 14:04 -0500, jeff angielski wrote:
Despite the SVR being the same (0x803c0011), the latest u-boot is misidentifying the CPU when compared against the original 1.3.0 u-boot. The CPU is a 8544E but u-boot is reporting 8533E.
The wierd part of this is that according to the Chip Errata for the MPC8544E, the SVR *should* be 0x803c01xx - which is different than both the 1.3 and latest git version are reading.
Can any of the Freescale guys explain this discrepancy between the manual, the Freescale BSP u-boot, and the latest u-boot?
The problem has been resolved.
It would appear that two forces were at work. The older u-boot only looked at 16 bits when determining the CPU type and could incorrectly identify the various MPC85xx CPUs. The second issue was that the MPC8544DS hardware was being deployed with incorrect jumper settings. These jumpers relate to the CPU ID. Manufacturing never picked up on this error because of the first problem.
So the latest u-boot is correct.
participants (2)
-
jeff angielski
-
Pieter