]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/mach-at91/spl.c
ARM: atmel: at91sam9x5ek: enable spl support
[people/ms/u-boot.git] / arch / arm / mach-at91 / spl.c
1 /*
2 * Copyright (C) 2013 Atmel Corporation
3 * Bo Shen <voice.shen@atmel.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0+
6 */
7
8 #include <common.h>
9 #include <asm/io.h>
10 #include <asm/arch/at91_common.h>
11 #include <asm/arch/at91_wdt.h>
12 #include <asm/arch/clk.h>
13 #include <spl.h>
14
15 #if defined(CONFIG_AT91SAM9_WATCHDOG)
16 void at91_disable_wdt(void) { }
17 #else
18 void at91_disable_wdt(void)
19 {
20 struct at91_wdt *wdt = (struct at91_wdt *)ATMEL_BASE_WDT;
21
22 writel(AT91_WDT_MR_WDDIS, &wdt->mr);
23 }
24 #endif
25
26 u32 spl_boot_device(void)
27 {
28 #ifdef CONFIG_SYS_USE_MMC
29 return BOOT_DEVICE_MMC1;
30 #elif CONFIG_SYS_USE_NANDFLASH
31 return BOOT_DEVICE_NAND;
32 #elif CONFIG_SYS_USE_SERIALFLASH || CONFIG_SYS_USE_SPIFLASH
33 return BOOT_DEVICE_SPI;
34 #endif
35 return BOOT_DEVICE_NONE;
36 }
37
38 u32 spl_boot_mode(void)
39 {
40 switch (spl_boot_device()) {
41 #ifdef CONFIG_SYS_USE_MMC
42 case BOOT_DEVICE_MMC1:
43 return MMCSD_MODE_FS;
44 break;
45 #endif
46 case BOOT_DEVICE_NONE:
47 default:
48 hang();
49 }
50 }