[U-Boot-Users] MPC83xx HRCW

Jerry Van Baren gerald.vanbaren at ge.com
Fri Mar 28 12:55:39 CET 2008


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.

On the other hand, the HRCW is occupying 64 bytes of memory that is 
marked "reserved" by Freescale/PowerPC, so it doesn't "cost" anything to 
have an unused HRCW programmed there.  (We also put the u-boot version 
string in the reserved space which is a violation of the "reserved" 
marking, but it is convenient to put it in a well known place at the 
start of the memory map and, besides, we've gotten away with it for 
years ;-).

Best regards,
gvb




More information about the U-Boot mailing list