/* Generated by ./xlat/gen.sh from ./xlat/sram_alloc_flags.in; do not edit. */

static const struct xlat sram_alloc_flags[] = {
#if defined(L1_INST_SRAM) || (defined(HAVE_DECL_L1_INST_SRAM) && HAVE_DECL_L1_INST_SRAM)
	XLAT(L1_INST_SRAM),
#endif
#if defined(L1_DATA_A_SRAM) || (defined(HAVE_DECL_L1_DATA_A_SRAM) && HAVE_DECL_L1_DATA_A_SRAM)
	XLAT(L1_DATA_A_SRAM),
#endif
#if defined(L1_DATA_B_SRAM) || (defined(HAVE_DECL_L1_DATA_B_SRAM) && HAVE_DECL_L1_DATA_B_SRAM)
	XLAT(L1_DATA_B_SRAM),
#endif
#if defined(L1_DATA_SRAM) || (defined(HAVE_DECL_L1_DATA_SRAM) && HAVE_DECL_L1_DATA_SRAM)
	XLAT(L1_DATA_SRAM),
#endif
#if defined(L2_SRAM) || (defined(HAVE_DECL_L2_SRAM) && HAVE_DECL_L2_SRAM)
	XLAT(L2_SRAM),
#endif
	XLAT_END
};
