52 lines
		
	
	
		
			966 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			966 B
		
	
	
	
		
			C
		
	
	
	
| /* SPDX-License-Identifier: GPL-2.0+ */
 | |
| /*
 | |
|  * 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)
 | |
| 
 | |
| 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,
 | |
| 	FLEXSPI_BOOT,
 | |
| 	USB_BOOT,
 | |
| 	UNKNOWN_BOOT,
 | |
| 	BOOT_DEV_NUM = UNKNOWN_BOOT,
 | |
| };
 | |
| 
 | |
| /* 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
 | |
| 
 | |
| 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
 |