diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-04-24 23:39:41 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-05-06 08:47:21 -0400 |
commit | 02778f2f1b4b1a28b492367477db27c58d45ae35 (patch) | |
tree | f7f5b18e011460da48e86b93d808052e945c7433 /include | |
parent | af2c37378f203857d5e6c957e77a14c2da5b59d2 (diff) | |
download | bootable_bootloader_goldelico_gta04-02778f2f1b4b1a28b492367477db27c58d45ae35.zip bootable_bootloader_goldelico_gta04-02778f2f1b4b1a28b492367477db27c58d45ae35.tar.gz bootable_bootloader_goldelico_gta04-02778f2f1b4b1a28b492367477db27c58d45ae35.tar.bz2 |
Blackfin: fix booting with older bootroms (no EVT1)
When dropping jump block support, the assumption was that all bootroms
supported entry point redirection via the EVT1 register. Unfortunately,
this turned out to be incorrect for the oldest Blackfin parts (BF533-0.2
and older and BF561). No one really noticed earlier because these parts
usually are booted by bypassing the bootrom entirely, and older BF533
parts are not supported at all (too many anomalies).
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-blackfin/blackfin-config-pre.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/asm-blackfin/blackfin-config-pre.h b/include/asm-blackfin/blackfin-config-pre.h index e973de7..a3db362 100644 --- a/include/asm-blackfin/blackfin-config-pre.h +++ b/include/asm-blackfin/blackfin-config-pre.h @@ -54,6 +54,14 @@ static inline const char *get_bfin_boot_mode(int bfin_boot) } #endif +/* Most bootroms allow for EVT1 redirection */ +#if (defined(__ADSPBF531__) || defined(__ADSPBF532__) || defined(__ADSPBF533__) \ + && __SILICON_REVISION__ < 3) || defined(__ADSPBF561__) +# undef CONFIG_BFIN_BOOTROM_USES_EVT1 +#else +# define CONFIG_BFIN_BOOTROM_USES_EVT1 +#endif + /* Define the default SPI CS used when booting out of SPI */ #if defined(__ADSPBF531__) || defined(__ADSPBF532__) || defined(__ADSPBF533__) || \ defined(__ADSPBF538__) || defined(__ADSPBF539__) || defined(__ADSPBF561__) || \ |