diff options
Diffstat (limited to 'common')
| -rw-r--r-- | common/cmd_bootldr.c | 21 | 
1 files changed, 8 insertions, 13 deletions
| diff --git a/common/cmd_bootldr.c b/common/cmd_bootldr.c index 535b931ff..bc5c1f95e 100644 --- a/common/cmd_bootldr.c +++ b/common/cmd_bootldr.c @@ -24,7 +24,7 @@ static bool ldr_valid_signature(uint8_t *data)  #if defined(__ADSPBF561__)  	/* BF56x has a 4 byte global header */ -	if (data[3] == 0xA0) +	if (data[3] == (GFLAG_56X_SIGN_MAGIC << (GFLAG_56X_SIGN_SHIFT - 24)))  		return true;  #elif defined(__ADSPBF531__) || defined(__ADSPBF532__) || defined(__ADSPBF533__) || \ @@ -53,11 +53,6 @@ static bool ldr_valid_signature(uint8_t *data)   * LDRs from random memory addresses.  So whenever possible, use that.  In   * the older cases (BF53x/BF561), parse the LDR format ourselves.   */ -#define ZEROFILL  0x0001 -#define RESVECT   0x0002 -#define INIT      0x0008 -#define IGNORE    0x0010 -#define FINAL     0x8000  static void ldr_load(uint8_t *base_addr)  {  #if defined(__ADSPBF531__) || defined(__ADSPBF532__) || defined(__ADSPBF533__) || \ @@ -76,7 +71,7 @@ static void ldr_load(uint8_t *base_addr)  # endif  	memmove(&flags, base_addr + 8, sizeof(flags)); -	bfin_write_EVT1(flags & RESVECT ? 0xFFA00000 : 0xFFA08000); +	bfin_write_EVT1(flags & BFLAG_53X_RESVECT ? 0xFFA00000 : 0xFFA08000);  	do {  		/* block header may not be aligned */ @@ -85,24 +80,24 @@ static void ldr_load(uint8_t *base_addr)  		memmove(&flags, base_addr+8, sizeof(flags));  		base_addr += sizeof(addr) + sizeof(count) + sizeof(flags); -		printf("loading to 0x%08x (0x%x bytes) flags: 0x%04x\n", +		printf("loading to 0x%08x (%#x bytes) flags: 0x%04x\n",  			addr, count, flags); -		if (!(flags & IGNORE)) { -			if (flags & ZEROFILL) +		if (!(flags & BFLAG_53X_IGNORE)) { +			if (flags & BFLAG_53X_ZEROFILL)  				memset((void *)addr, 0x00, count);  			else  				memcpy((void *)addr, base_addr, count); -			if (flags & INIT) { +			if (flags & BFLAG_53X_INIT) {  				void (*init)(void) = (void *)addr;  				init();  			}  		} -		if (!(flags & ZEROFILL)) +		if (!(flags & BFLAG_53X_ZEROFILL))  			base_addr += count; -	} while (!(flags & FINAL)); +	} while (!(flags & BFLAG_53X_FINAL));  #endif  } |