diff options
author | Stefan Bigler <stefan.bigler@keymile.com> | 2014-05-02 10:49:27 +0200 |
---|---|---|
committer | York Sun <yorksun@freescale.com> | 2014-05-13 08:26:54 -0700 |
commit | 4921a149e1470d92e2982e13c709357d90ef5e6c (patch) | |
tree | b8825d039e819e4c35c24e4c8fa762d43bf1dad7 /board/keymile/kmp204x/kmp204x.c | |
parent | a53e65d053401fff12740a8bbed8cb41670c268f (diff) | |
download | u-boot-imx-4921a149e1470d92e2982e13c709357d90ef5e6c.zip u-boot-imx-4921a149e1470d92e2982e13c709357d90ef5e6c.tar.gz u-boot-imx-4921a149e1470d92e2982e13c709357d90ef5e6c.tar.bz2 |
kmp204x: handle dip-switch for factory settings
Add readout of dip-switch to revert to factory settings.
If one or more dip-switch are set, launch bank 0 that contains the
bootloader to do the required action.
Signed-off-by: Stefan Bigler <stefan.bigler@keymile.com>
Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Diffstat (limited to 'board/keymile/kmp204x/kmp204x.c')
-rw-r--r-- | board/keymile/kmp204x/kmp204x.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/board/keymile/kmp204x/kmp204x.c b/board/keymile/kmp204x/kmp204x.c index 5fceedd..fba1bdd 100644 --- a/board/keymile/kmp204x/kmp204x.c +++ b/board/keymile/kmp204x/kmp204x.c @@ -116,6 +116,9 @@ int board_early_init_r(void) /* enable the Unit LED (red) & Boot LED (on) */ qrio_set_leds(); + /* enable Application Buffer */ + qrio_enable_app_buffer(); + return ret; } @@ -171,6 +174,18 @@ int hush_init_var(void) #if defined(CONFIG_LAST_STAGE_INIT) int last_stage_init(void) { +#if defined(CONFIG_KMCOGE4) + /* on KMCOGE4, the BFTIC4 is on the LBAPP2 */ + struct bfticu_iomap *bftic4 = + (struct bfticu_iomap *)CONFIG_SYS_LBAPP2_BASE; + u8 dip_switch = in_8((u8 *)&(bftic4->mswitch)) & BFTICU_DIPSWITCH_MASK; + + if (dip_switch != 0) { + /* start bootloader */ + puts("DIP: Enabled\n"); + setenv("actual_bank", "0"); + } +#endif set_km_env(); return 0; } |