/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Copyright (C) 2019
 * Author(s): Giulio Benetti <giulio.benetti@benettiengineering.com>
 */

#include <config.h>

/* image version */

IMAGE_VERSION 2

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

BOOT_FROM	sd

/*
 * 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
 */

/*
 * 0x400AC044 is used to configure the flexram.
 * Unfortunately setting all to OCRAM only works for MMC
 * and setting all to DTCM only works for FLEXSPI NOR.
 * This configuration fortunately works for both SPI and MMC.
*/
/* Set first two banks FlexRAM as OCRAM(01b) and the rest to DTCM(10b) */
DATA 4 0x400AC044 0x55aaaaaa
/* Use FLEXRAM_BANK_CFG to config FlexRAM */
SET_BIT 4 0x400AC040 0x4
