Permalink
Browse files

sunxi: diable Falcon boot on sun4i & sun7i

Unfortunately it turns out that only sun5i accepts larger SPL images,
and many GCC versions procude an SPL larger than 24KB with Falcon boot
enabled, so we have to keep it disabled until a KB can be shaved off
elsewhere.

All sun5i boards have Falcon mode enabled by default.

Some sun4i/sun7i boards have a separate .._Falcon board type to experiment
with Falcon boot support. But you will need to select toolchain carefully
to generate an SPL that is <24KiB, Linaro GCC 4.7 2013.04 is known to work.

    A20-OLinuXino_MICRO_Falcon
    Cubieboard_Falcon
    Cubieboard2_Falcon
  • Loading branch information...
hno committed Aug 31, 2013
1 parent e94cff9 commit d787d3034516d26ea4d11110800e93bb17b4a4f7
Showing with 13 additions and 0 deletions.
  1. +3 −0 boards.cfg
  2. +10 −0 include/configs/sunxi-common.h
@@ -350,6 +350,7 @@ A13-OLinuXinoM arm armv7 sunxi -
A13-OLinuXinoM_FEL arm armv7 sunxi - sunxi sun5i:A13_OLINUXINOM,SPL_FEL,NO_AXP,STATUSLED=201,CONS_INDEX=2
A20-OLinuXino_MICRO arm armv7 sunxi - sunxi sun7i:A20_OLINUXINO_M,CONS_INDEX=1,STATUSLED=226,SPL,SUNXI_EMAC
A20-OLinuXino_MICRO_FEL arm armv7 sunxi - sunxi sun7i:A20_OLINUXINO_M,CONS_INDEX=1,STATUSLED=226,SPL_FEL,SUNXI_EMAC
A20-OLinuXino_MICRO_Falcon arm armv7 sunxi - sunxi sun7i:A20_OLINUXINO_M,CONS_INDEX=1,STATUSLED=226,SPL,SPL_OS_BOOT,SUNXI_EMAC
Auxtek-T003 arm armv7 sunxi - sunxi sun5i:AUXTEK_T003,SPL,AXP152_POWER,STATUSLED=34
Auxtek-T004 arm armv7 sunxi - sunxi sun5i:AUXTEK_T004,SPL,AXP152_POWER,STATUSLED=34
ba10_tv_box arm armv7 sunxi - sunxi sun4i:BA10_TV_BOX,SPL,SUNXI_EMAC
@@ -360,10 +361,12 @@ Marsboard_A10 arm armv7 sunxi -
Marsboard_A20 arm armv7 sunxi - sunxi sun7i:MARSBOARD_A20,SPL,SUNXI_EMAC,NO_AXP
Marsboard_A20_debug arm armv7 sunxi - sunxi sun7i:MARSBOARD_A20,SPL,SUNXI_EMAC,NO_AXP,SYS_SECONDARY_ON
Cubieboard arm armv7 sunxi - sunxi sun4i:CUBIEBOARD,SPL,SUNXI_EMAC,STATUSLED=244
Cubieboard_Falcon arm armv7 sunxi - sunxi sun4i:CUBIEBOARD,SPL,SPL_OS_BOOT,SUNXI_EMAC,STATUSLED=244
Cubieboard_FEL arm armv7 sunxi - sunxi sun4i:CUBIEBOARD,SPL_FEL,SUNXI_EMAC,STATUSLED=244
Cubieboard_512 arm armv7 sunxi - sunxi sun4i:CUBIEBOARD_512,SPL,SUNXI_EMAC,STATUSLED=244
Cubieboard2 arm armv7 sunxi - sunxi sun7i:CUBIEBOARD2,SPL,SUNXI_EMAC,STATUSLED=244
Cubieboard2_FEL arm armv7 sunxi - sunxi sun7i:CUBIEBOARD2,SPL_FEL,SUNXI_EMAC,STATUSLED=244
Cubieboard2_Falcon arm armv7 sunxi - sunxi sun7i:CUBIEBOARD2,SPL,SPL_OS_BOOT,SUNXI_EMAC,STATUSLED=244
DNS_M82 arm armv7 sunxi - sunxi sun4i:DNS_M82,SPL
EOMA68_A10 arm armv7 sunxi - sunxi sun4i:EOMA68_A10,SPL,MMC_SUNXI_SLOT=3,SUNXI_EMAC
EOMA68_A10_FEL arm armv7 sunxi - sunxi sun4i:EOMA68_A10,SPL_FEL,MMC_SUNXI_SLOT=3,SUNXI_EMAC
@@ -285,7 +285,13 @@
#define CONFIG_SPL_DISPLAY_PRINT

/* Falcon boot mode support */
/* Disabled by default on sun4i/sun7i. Many GCC versions produces a too
* large SPL for A10/A20 with this on. sun5i however accepts a much larger
* SPL
*/
#ifdef CONFIG_SUN5I
#define CONFIG_SPL_OS_BOOT
#endif

#ifdef CONFIG_SPL_FEL

@@ -301,7 +307,11 @@
#define CONFIG_SPL_BSS_MAX_SIZE 0x80000 /* 512 KiB */

#define CONFIG_SPL_TEXT_BASE 0x20 /* sram start+header */
#ifdef CONFIG_SUN5I
#define CONFIG_SPL_MAX_SIZE 0x75e0 /* 7748+ is used */
#else
#define CONFIG_SPL_MAX_SIZE 0x5fe0 /* 24KB on sun4i/sun7i */
#endif

#define CONFIG_SPL_LIBDISK_SUPPORT
#define CONFIG_SPL_MMC_SUPPORT

0 comments on commit d787d30

Please sign in to comment.