#ifndef SYS_H
#define SYS_H

/*
 * Various constants that need to match the hardware configuration.
 * This file must be includable from assembly and from a linker script.
 *
 * The base constants should be defined in iodevs.conf; this file contains
 * derived constants.
 */

#include "iodevs.h"

#define SRAM_SIZE      (0x1 << SRAM_BITS)
#define SRAM_MASK      (SRAM_SIZE - 1)
#define SRAM_END       (SRAM_ADDR + SRAM_SIZE)

#define STACK_SIZE	2048		/* Minimum stack size */
#define STACK_TOP	SRAM_END	/* Initial stack pointer */
#define STACK_BOTTOM	(STACK_TOP - STACK_SIZE)

#define SDRAM_SIZE      (0x1 << SDRAM_BITS)
#define SDRAM_MASK      (SDRAM_SIZE - 1)
#define SDRAM_END       (SDRAM_ADDR + SDRAM_SIZE)

/* Starting offset in flash for non-FPGA use */
#define ROM_OFFSET	0x100000

#endif /* SYS_H */
