Skip to content

Commit

Permalink
sunxi: diable Falcon boot on sun4i & sun7i
Browse files Browse the repository at this point in the history
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 d787d30
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
3 changes: 3 additions & 0 deletions boards.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
10 changes: 10 additions & 0 deletions include/configs/sunxi-common.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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
Expand Down

0 comments on commit d787d30

Please sign in to comment.