]>
git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/mach-uniphier/boot-mode/boot-mode.c
4e1142bd9ddb7f97b87334316570fb9625faa2d3
2 * Copyright (C) 2015 Masahiro Yamada <yamada.masahiro@socionext.com>
4 * SPDX-License-Identifier: GPL-2.0+
10 #include <linux/errno.h>
12 #include "../sbc/sbc-regs.h"
13 #include "../soc-info.h"
14 #include "boot-device.h"
16 u32
spl_boot_device_raw(void)
18 if (boot_is_swapped())
19 return BOOT_DEVICE_NOR
;
21 switch (uniphier_get_soc_id()) {
22 #if defined(CONFIG_ARCH_UNIPHIER_SLD3)
23 case UNIPHIER_SLD3_ID
:
24 return uniphier_sld3_boot_device();
26 #if defined(CONFIG_ARCH_UNIPHIER_LD4) || defined(CONFIG_ARCH_UNIPHIER_PRO4) || \
27 defined(CONFIG_ARCH_UNIPHIER_SLD8)
29 case UNIPHIER_PRO4_ID
:
30 case UNIPHIER_SLD8_ID
:
31 return uniphier_ld4_boot_device();
33 #if defined(CONFIG_ARCH_UNIPHIER_PRO5)
34 case UNIPHIER_PRO5_ID
:
35 return uniphier_pro5_boot_device();
37 #if defined(CONFIG_ARCH_UNIPHIER_PXS2) || defined(CONFIG_ARCH_UNIPHIER_LD6B)
38 case UNIPHIER_PXS2_ID
:
39 case UNIPHIER_LD6B_ID
:
40 return uniphier_pxs2_boot_device();
42 #if defined(CONFIG_ARCH_UNIPHIER_LD11) || defined(CONFIG_ARCH_UNIPHIER_LD20)
43 case UNIPHIER_LD11_ID
:
44 case UNIPHIER_LD20_ID
:
45 return uniphier_ld20_boot_device();
48 return BOOT_DEVICE_NONE
;
52 u32
spl_boot_device(void)
56 mode
= spl_boot_device_raw();
58 switch (uniphier_get_soc_id()) {
59 #if defined(CONFIG_ARCH_UNIPHIER_PXS2) || defined(CONFIG_ARCH_UNIPHIER_LD6B)
60 case UNIPHIER_PXS2_ID
:
61 case UNIPHIER_LD6B_ID
:
62 if (mode
== BOOT_DEVICE_USB
)
63 mode
= BOOT_DEVICE_NOR
;
66 #if defined(CONFIG_ARCH_UNIPHIER_LD11) || defined(CONFIG_ARCH_UNIPHIER_LD20)
67 case UNIPHIER_LD11_ID
:
68 case UNIPHIER_LD20_ID
:
69 if (mode
== BOOT_DEVICE_MMC1
|| mode
== BOOT_DEVICE_USB
)
70 mode
= BOOT_DEVICE_BOARD
;