##############################################################################
#
#    Copyright (C) 2005 - 2014 by Vivante Corp.
#
#    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.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program; if not write to the Free Software
#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
##############################################################################


ARCH_TYPE                         ?= arm
SDK_DIR                           ?= $(AQROOT)/build/sdk
VIVANTE_ENABLE_3D                 ?= 1
VIVANTE_ENABLE_2D                 ?= 1
VIVANTE_ENABLE_VG              ?= 1
FORCE_ALL_VIDEO_MEMORY_CACHED     ?= 0
NONPAGED_MEMORY_CACHEABLE         ?= 0
NONPAGED_MEMORY_BUFFERABLE        ?= 1
CACHE_FUNCTION_UNIMPLEMENTED      ?= 0
ENABLE_OUTER_CACHE_PATCH          ?= 1
USE_BANK_ALIGNMENT                ?= 1
BANK_BIT_START                    ?= 13
BANK_BIT_END                      ?= 15
BANK_CHANNEL_BIT                  ?= 12
PLATFORM                          ?= freescale/gc_hal_kernel_platform_imx6q14
