/*
 * Copyright (C) 2014-2016 Freescale Semiconductor, Inc.
 *
 * SPDX-License-Identifier:	GPL-2.0+
 *
 * 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_arm2/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   0x403f00e0 0x00000000
DATA 4   0x403e0040 0x01000020
DATA 4   0x403e0500 0x01000000
DATA 4   0x403e050c 0x80808080
DATA 4   0x403e0508 0x00160002
DATA 4   0x403E0510 0x00000000
DATA 4   0x403E0514 0x00000001
DATA 4   0x403e0500 0x00000001
CHECK_BITS_SET 4 0x403e0500 0x01000000
DATA 4   0x403e050c 0x80808019
CHECK_BITS_SET 4 0x403e050c 0x00000040
DATA 4   0x403E0030 0x00000001
DATA 4   0x403e0040 0x11000020
DATA 4   0x403f00e0 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 0x39373939
DATA 4   0x40AB0850 0x2F313D36
DATA 4   0x40AB081C 0x33333333
DATA 4   0x40AB0820 0x33333333
DATA 4   0x40AB0824 0x33333333
DATA 4   0x40AB0828 0x33333333

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

DATA 4   0x40AB0004 0x00020052
DATA 4   0x40AB000C 0x424642F3
DATA 4   0x40AB0010 0x00100A22
DATA 4   0x40AB0038 0x00120556
DATA 4   0x40AB0014 0x00C700DA
DATA 4   0x40AB0018 0x00211718
DATA 4   0x40AB002C 0x0F9F26D2
DATA 4   0x40AB0030 0x009F0E10
DATA 4   0x40AB0040 0x0000004F
DATA 4   0x40AB0000 0x84190000

DATA 4   0x40AB001C 0x00008010
DATA 4   0x40AB001C 0x003F8030
DATA 4   0x40AB001C 0xFF0A8030
DATA 4   0x40AB001C 0x04028030
DATA 4   0x40AB001C 0x83018030
DATA 4   0x40AB001C 0x01038030

DATA 4   0x40AB083C 0x20000000

DATA 4   0x40AB0020 0x00001800
DATA 4   0x40AB0800 0xA1310003
DATA 4   0x40AB001C 0x00000000

#endif
