armv8: mmu: remove unused macro definition
[oweals/u-boot.git] / arch / arm / include / asm / arch-sunxi / spl.h
index ca9a4f99ad2bb036ba7679c2db2d9f6e546248c4..9358397da27a70892bec341376bea3018c13e3d2 100644 (file)
 
 #define BOOT0_MAGIC            "eGON.BT0"
 #define SPL_SIGNATURE          "SPL" /* marks "sunxi" SPL header */
-#define SPL_HEADER_VERSION     1
+#define SPL_HEADER_VERSION     2
 
-#if defined(CONFIG_MACH_SUN9I) || defined(CONFIG_MACH_SUN50I)
+#ifdef CONFIG_SUNXI_HIGH_SRAM
 #define SPL_ADDR               0x10000
 #else
 #define SPL_ADDR               0x0
 #endif
 
+/* The low 8-bits of the 'boot_media' field in the SPL header */
+#define SUNXI_BOOTED_FROM_MMC0 0
+#define SUNXI_BOOTED_FROM_NAND 1
+#define SUNXI_BOOTED_FROM_MMC2 2
+#define SUNXI_BOOTED_FROM_SPI  3
+
 /* boot head definition from sun4i boot code */
 struct boot_file_head {
        uint32_t b_instruction; /* one intruction jumping to real code */
@@ -45,9 +51,31 @@ struct boot_file_head {
                uint8_t spl_signature[4];
        };
        uint32_t fel_script_address;
-       uint32_t reserved;              /* padding, align to 32 bytes */
+       /*
+        * If the fel_uEnv_length member below is set to a non-zero value,
+        * it specifies the size (byte count) of data at fel_script_address.
+        * At the same time this indicates that the data is in uEnv.txt
+        * compatible format, ready to be imported via "env import -t".
+        */
+       uint32_t fel_uEnv_length;
+       /*
+        * Offset of an ASCIIZ string (relative to the SPL header), which
+        * contains the default device tree name (CONFIG_DEFAULT_DEVICE_TREE).
+        * This is optional and may be set to NULL. Is intended to be used
+        * by flash programming tools for providing nice informative messages
+        * to the users.
+        */
+       uint32_t dt_name_offset;
+       uint32_t reserved1;
+       uint32_t boot_media;            /* written here by the boot ROM */
+       /* A padding area (may be used for storing text strings) */
+       uint32_t string_pool[13];
+       /* The header must be a multiple of 32 bytes (for VBAR alignment) */
 };
 
+/* Compile time check to assure proper alignment of structure */
+typedef char boot_file_head_not_multiple_of_32[1 - 2*(sizeof(struct boot_file_head) % 32)];
+
 #define is_boot0_magic(addr)   (memcmp((void *)addr, BOOT0_MAGIC, 8) == 0)
 
 #endif