2018-05-06 21:58:06 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
2012-08-15 10:31:20 +00:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2012 Boundary Devices Inc.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _ASM_BOOT_MODE_H
|
|
|
|
#define _ASM_BOOT_MODE_H
|
|
|
|
#define MAKE_CFGVAL(cfg1, cfg2, cfg3, cfg4) \
|
|
|
|
((cfg4) << 24) | ((cfg3) << 16) | ((cfg2) << 8) | (cfg1)
|
2020-08-05 13:34:05 +00:00
|
|
|
#define MAKE_CFGVAL_PRIMARY_BOOT 0xfffffff0
|
|
|
|
#define MAKE_CFGVAL_SECONDARY_BOOT 0xffffffff
|
2012-08-15 10:31:20 +00:00
|
|
|
|
2015-09-02 18:54:19 +00:00
|
|
|
enum boot_device {
|
|
|
|
WEIM_NOR_BOOT,
|
|
|
|
ONE_NAND_BOOT,
|
|
|
|
PATA_BOOT,
|
|
|
|
SATA_BOOT,
|
|
|
|
I2C_BOOT,
|
|
|
|
SPI_NOR_BOOT,
|
|
|
|
SD1_BOOT,
|
|
|
|
SD2_BOOT,
|
|
|
|
SD3_BOOT,
|
|
|
|
SD4_BOOT,
|
|
|
|
MMC1_BOOT,
|
|
|
|
MMC2_BOOT,
|
|
|
|
MMC3_BOOT,
|
|
|
|
MMC4_BOOT,
|
|
|
|
NAND_BOOT,
|
|
|
|
QSPI_BOOT,
|
2018-10-18 12:28:13 +00:00
|
|
|
FLEXSPI_BOOT,
|
2018-01-10 05:20:24 +00:00
|
|
|
USB_BOOT,
|
2015-09-02 18:54:19 +00:00
|
|
|
UNKNOWN_BOOT,
|
|
|
|
BOOT_DEV_NUM = UNKNOWN_BOOT,
|
|
|
|
};
|
|
|
|
|
2018-01-10 05:20:34 +00:00
|
|
|
/* Boot device type */
|
|
|
|
#define BOOT_TYPE_SD 0x1
|
|
|
|
#define BOOT_TYPE_MMC 0x2
|
|
|
|
#define BOOT_TYPE_NAND 0x3
|
|
|
|
#define BOOT_TYPE_QSPI 0x4
|
|
|
|
#define BOOT_TYPE_WEIM 0x5
|
|
|
|
#define BOOT_TYPE_SPINOR 0x6
|
|
|
|
#define BOOT_TYPE_USB 0xF
|
|
|
|
|
2012-08-15 10:31:20 +00:00
|
|
|
struct boot_mode {
|
|
|
|
const char *name;
|
|
|
|
unsigned cfg_val;
|
|
|
|
};
|
|
|
|
|
|
|
|
void add_board_boot_modes(const struct boot_mode *p);
|
|
|
|
void boot_mode_apply(unsigned cfg_val);
|
|
|
|
extern const struct boot_mode soc_boot_modes[];
|
|
|
|
#endif
|