[U-Boot-Users] MPC83xx HRCW

Jerry Van Baren gerald.vanbaren at ge.com
Fri Mar 28 13:24:00 CET 2008


Andre Schwarz wrote:
> Jerry Van Baren schrieb:
>> Andre Schwarz wrote:
>>> In "cpu/mpc83xx/start.S" there is a comment :
>>>
>>> /*
>>>  * The Hard Reset Configuration Word (HRCW) table is in the first 64
>>>  * (0x40) bytes of flash.  It has 8 bytes, but each byte is repeated 8
>>>  * times so the processor can fetch it out of flash whether the flash
>>>  * is 8, 16, 32, or 64 bits wide (hardware trickery).
>>>  */
>>>
>>> This does _not_ hold true for all configurations. Flash is simply one 
>>> of many options ...
>>> Maybe it's true for the Freescale boards.
>>>
>>> Other sources of the HRCW can be hard-coded strapping pins or an I2C 
>>> EEPROM.
>>>
>>> Why is there a need to define the HRCW ?
>>>
>>> regards,
>>> Andre Schwarz
>>
>> Hi Andre,
>>
>> The HRCW in flash (could be other memory or a FPGA register) is a 
>> processor feature which a board may or may not use.  I am not familiar 
>> with the whole 83xx family, but I presume the feature is part of the 
>> whole family.
>>
>> As you point out, there are other ways of configuring the processor on 
>> power up, and it is board-specific which way is used on the particular 
>> board.
>>
>> For the boards that support the HRCW, obviously the definition in the 
>> first 64 bytes of flash is necessary.  For other boards, it is 
>> unnecessary.  FWIIW, the Freescale eval boards that I have experience 
>> with allow the HRCW to come from flash, i2c, or an FPGA (BCSR).
>>
>> To date, having a potentially unused HRCW definition in memory has not 
>> been an issue - people either use it or ignore it.  If it is an issue, 
>> you could use conditionals to disable it.  I'm sure the 83xx custodian 
>> (Kim Phillips) would consider patches to do that.  ;-)  Note that 
>> there is a possibility that some of the code assumes the presence of a 
>> HRCW, so you would have to inspect and/or regression test as part of a 
>> conditionalization patch.
>>
> ok - so should be no problem to #define the HRCW to "0x0" since it won't 
> be used at all - just occupies some memory.
> I just wanted to be sure that the #defined HRCW is not used as a 
> reference at all in any code !

Theoretically, there is no problem.  I don't know if there are any 
implicit uses of the HRCW - that would be part of the need to inspect 
and/or regression test.

I suspect that the CPU frequency determination code uses it, since part 
of the CPU PLL multiplier comes from the HRCW (IIRC - I get confused 
between the 82xx and 83xx families sometimes).

[snip]

Best regards,
gvb




More information about the U-Boot mailing list