/*
 * arch/arm/plat-omap/include/plat/l4_2xxx.h - L4 firewall definitions
 *
 * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
 *	Sumit Semwal
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 */
#ifndef __ARCH_ARM_PLAT_OMAP_INCLUDE_PLAT_L4_2XXX_H
#define __ARCH_ARM_PLAT_OMAP_INCLUDE_PLAT_L4_2XXX_H

/* L4 CORE */
/* Display Sub system (DSS) */
#define OMAP2420_L4_CORE_FW_DSS_CORE_REGION			28
#define OMAP2420_L4_CORE_FW_DSS_DISPC_REGION			29
#define OMAP2420_L4_CORE_FW_DSS_RFBI_REGION			30
#define OMAP2420_L4_CORE_FW_DSS_VENC_REGION			31
#define OMAP2420_L4_CORE_FW_DSS_TA_REGION			32

#endif
