1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (C) 2021 Texas Instruments Incorporated - http://www.ti.com/
4  *	David Huang <d-huang@ti.com>
5  */
6 #ifndef _ASM_ARCH_J721S2_SPL_H_
7 #define _ASM_ARCH_J721S2_SPL_H_
8 
9 /* With BootMode B = 0 */
10 #include <linux/bitops.h>
11 #define BOOT_DEVICE_HYPERFLASH		0x00
12 #define BOOT_DEVICE_OSPI		0x01
13 #define BOOT_DEVICE_QSPI		0x02
14 #define BOOT_DEVICE_SPI			0x03
15 #define BOOT_DEVICE_ETHERNET		0x04
16 #define BOOT_DEVICE_I2C			0x06
17 #define BOOT_DEVICE_UART		0x07
18 #define BOOT_DEVICE_NOR			BOOT_DEVICE_HYPERFLASH
19 
20 /* With BootMode B = 1 */
21 #define BOOT_DEVICE_MMC2		0x10
22 #define BOOT_DEVICE_MMC1		0x11
23 #define BOOT_DEVICE_DFU			0x12
24 #define BOOT_DEVICE_UFS			0x13
25 #define BOOT_DEVIE_GPMC			0x14
26 #define BOOT_DEVICE_PCIE		0x15
27 #define BOOT_DEVICE_XSPI		0x16
28 #define BOOT_DEVICE_RAM			0x17
29 #define BOOT_DEVICE_MMC2_2		0xFF /* Invalid value */
30 
31 /* Backup boot modes with MCU Only = 0 */
32 #define BACKUP_BOOT_DEVICE_RAM		0x0
33 #define BACKUP_BOOT_DEVICE_USB		0x1
34 #define BACKUP_BOOT_DEVICE_UART		0x3
35 #define BACKUP_BOOT_DEVICE_ETHERNET	0x4
36 #define BACKUP_BOOT_DEVICE_MMC2		0x5
37 #define BACKUP_BOOT_DEVICE_SPI		0x6
38 #define BACKUP_BOOT_DEVICE_I2C		0x7
39 
40 #define BOOT_MODE_B_SHIFT		4
41 #define BOOT_MODE_B_MASK		BIT(4)
42 
43 #define K3_PRIMARY_BOOTMODE		0x0
44 #define K3_BACKUP_BOOTMODE		0x1
45 
46 #endif
47