/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Copyright (C) 2024
 * Author(s): Jesse Taube <Mr.Bossman075@gmail.com>
 */

#include <config.h>

/* image version */

IMAGE_VERSION 2

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

BOOT_FROM	nor

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