SPDX: Convert all of our single license tags to Linux Kernel style
[platform/kernel/u-boot.git] / arch / arm / include / asm / mach-imx / boot_mode.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (C) 2012 Boundary Devices Inc.
4  */
5
6 #ifndef _ASM_BOOT_MODE_H
7 #define _ASM_BOOT_MODE_H
8 #define MAKE_CFGVAL(cfg1, cfg2, cfg3, cfg4) \
9         ((cfg4) << 24) | ((cfg3) << 16) | ((cfg2) << 8) | (cfg1)
10
11 enum boot_device {
12         WEIM_NOR_BOOT,
13         ONE_NAND_BOOT,
14         PATA_BOOT,
15         SATA_BOOT,
16         I2C_BOOT,
17         SPI_NOR_BOOT,
18         SD1_BOOT,
19         SD2_BOOT,
20         SD3_BOOT,
21         SD4_BOOT,
22         MMC1_BOOT,
23         MMC2_BOOT,
24         MMC3_BOOT,
25         MMC4_BOOT,
26         NAND_BOOT,
27         QSPI_BOOT,
28         USB_BOOT,
29         UNKNOWN_BOOT,
30         BOOT_DEV_NUM = UNKNOWN_BOOT,
31 };
32
33 /* Boot device type */
34 #define BOOT_TYPE_SD            0x1
35 #define BOOT_TYPE_MMC           0x2
36 #define BOOT_TYPE_NAND          0x3
37 #define BOOT_TYPE_QSPI          0x4
38 #define BOOT_TYPE_WEIM          0x5
39 #define BOOT_TYPE_SPINOR        0x6
40 #define BOOT_TYPE_USB           0xF
41
42 struct boot_mode {
43         const char *name;
44         unsigned cfg_val;
45 };
46
47 void add_board_boot_modes(const struct boot_mode *p);
48 void boot_mode_apply(unsigned cfg_val);
49 extern const struct boot_mode soc_boot_modes[];
50 #endif