/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Copyright (C) 2016 Freescale Semiconductor, Inc.
 *
 * Refer docs/README.imxmage for more details about how-to configure
 * and create imximage boot image
 *
 * The syntax is taken as close as possible with the kwbimage
 */

#define __ASSEMBLY__
#include <config.h>

/* image version */

IMAGE_VERSION 2

/*
 * Boot Device : one of
 * spi/sd/nand/onenand, qspi/nor
 */

BOOT_FROM	sd

#ifdef CONFIG_USE_IMXIMG_PLUGIN
/*PLUGIN    plugin-binary-file    IRAM_FREE_START_ADDR*/
PLUGIN	board/freescale/mx7ulp_evk/plugin.bin 0x2F020000
#else

#ifdef CONFIG_SECURE_BOOT
CSF CONFIG_CSF_SIZE
#endif
/*
 * Device Configuration Data (DCD)
 *
 * Each entry must have the format:
 * Addr-type           Address        Value
 *
 * where:
 *	Addr-type register length (1,2 or 4 bytes)
 *	Address	  absolute address of the register
 *	value	  value to be stored in the register
 */
DATA 4   0x403f00dc 0x00000000
DATA 4   0x403e0040 0x01000020
DATA 4   0x403e050c 0x80808080
DATA 4   0x403e050c 0x8080801E
CHECK_BITS_SET 4 0x403e050c 0x00000040
DATA 4   0x403E0030 0x00000001
DATA 4   0x403e0040 0x11000020
DATA 4   0x403f00dc 0x42000000

DATA 4   0x40B300AC 0x40000000

DATA 4   0x40AD0128 0x00040000
DATA 4   0x40AD00F8 0x00000000
DATA 4   0x40AD00D8 0x00000180
DATA 4   0x40AD0108 0x00000180
DATA 4   0x40AD0104 0x00000180
DATA 4   0x40AD0124 0x00010000
DATA 4   0x40AD0080 0x0000018C
DATA 4   0x40AD0084 0x0000018C
DATA 4   0x40AD0088 0x0000018C
DATA 4   0x40AD008C 0x0000018C

DATA 4   0x40AD0120 0x00010000
DATA 4   0x40AD010C 0x00000180
DATA 4   0x40AD0110 0x00000180
DATA 4   0x40AD0114 0x00000180
DATA 4   0x40AD0118 0x00000180
DATA 4   0x40AD0090 0x00000180
DATA 4   0x40AD0094 0x00000180
DATA 4   0x40AD0098 0x00000180
DATA 4   0x40AD009C 0x00000180

DATA 4   0x40AD00E0 0x00040000
DATA 4   0x40AD00E4 0x00040000

DATA 4   0x40AB001C 0x00008000
DATA 4   0x40AB0800 0xA1390003
DATA 4   0x40AB085C 0x0D3900A0
DATA 4   0x40AB0890 0x00400000

DATA 4   0x40AB0848 0x40404040
DATA 4   0x40AB0850 0x40404040
DATA 4   0x40AB081C 0x33333333
DATA 4   0x40AB0820 0x33333333
DATA 4   0x40AB0824 0x33333333
DATA 4   0x40AB0828 0x33333333

DATA 4   0x40AB082C 0xf3333333
DATA 4   0x40AB0830 0xf3333333
DATA 4   0x40AB0834 0xf3333333
DATA 4   0x40AB0838 0xf3333333

DATA 4   0x40AB08C0 0x24922492
DATA 4   0x40AB08B8 0x00000800

DATA 4   0x40AB0004 0x00020052
DATA 4   0x40AB000C 0x292C42F3
DATA 4   0x40AB0010 0x00100A22
DATA 4   0x40AB0038 0x00120556
DATA 4   0x40AB0014 0x00C700DB
DATA 4   0x40AB0018 0x00211718
DATA 4   0x40AB002C 0x0F9F26D2
DATA 4   0x40AB0030 0x009F0E10
DATA 4   0x40AB0040 0x0000003F
DATA 4   0x40AB0000 0xC3190000

DATA 4   0x40AB001C 0x00008050
DATA 4   0x40AB001C 0x00008058
DATA 4   0x40AB001C 0x003F8030
DATA 4   0x40AB001C 0x003F8038
DATA 4   0x40AB001C 0xFF0A8030
DATA 4   0x40AB001C 0xFF0A8038
DATA 4   0x40AB001C 0x04028030
DATA 4   0x40AB001C 0x04028038
DATA 4   0x40AB001C 0x83018030
DATA 4   0x40AB001C 0x83018038
DATA 4   0x40AB001C 0x01038030
DATA 4   0x40AB001C 0x01038038

DATA 4   0x40AB083C 0x20000000

DATA 4   0x40AB0020 0x00001800
DATA 4   0x40AB0800 0xA1310000
DATA 4   0x40AB0004 0x00020052
DATA 4   0x40AB0404 0x00011006
DATA 4   0x40AB001C 0x00000000
#endif
