# # Copyright (C) Imagination Technologies Ltd. All rights reserved. # # This program is free software; you can redistribute it and/or modify it # under the terms and conditions of the GNU General Public License, # version 2, as published by the Free Software Foundation. # # This program is distributed in the hope it will be useful but, except # as otherwise stated in writing, 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., # 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. # # The full GNU General Public License is included in this distribution in # the file called "COPYING". # # Contact Information: # Imagination Technologies Ltd. # Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK # # PVR_SYSTEM := omap4 KERNEL_COMPONENTS := srvkm # Confirm kernel version with KERNELDIR if supplied, otherwise assume # a 2.6.35+ kernel. ifneq ($(KERNELDIR),) include ../kernel_version.mk OMAP_KERNEL_AT_LEAST_2_6_35 := $(shell test $(KERNEL_VERSION) -ge 3 || \ test $(KERNEL_VERSION) -ge 2 -a \ $(KERNEL_PATCHLEVEL) -ge 6 -a \ $(KERNEL_SUBLEVEL) -ge 35 && echo 1 || echo 0) else OMAP_KERNEL_AT_LEAST_2_6_35 := 1 endif include ../common/xorg_test.mk ifeq ($(want_xorg),1) SUPPORT_DRI_DRM := 1 SUPPORT_DRI_DRM_EXTERNAL := 1 SUPPORT_BC_EXAMPLE ?= 0 else SUPPORT_BC_EXAMPLE ?= 1 endif # Only enable active power management if passive power management is # enabled, as indicated by LDM_PLATFORM being set to 1. On OMAP, # the system can suspend in the case where active power management is # enabled in the SGX driver, but passive power management isn't. As # passive power management isn't enabled, the driver won't see the # system suspend/resume events, and so won't take appropriate action. LDM_PLATFORM ?= 1 ifeq ($(LDM_PLATFORM),1) SUPPORT_LINUX_USING_WORKQUEUES := 1 #DISPLAY_CONTROLLER_COMPONENT += dc_omapdrm_linux #DISPLAY_CONTROLLER := omaplfb else SUPPORT_LINUX_USING_SHARED_WORKQUEUES := 1 OMAP_NON_FLIP_DISPLAY := 1 DISPLAY_CONTROLLER_COMPONENT += linux_framebuffer DISPLAY_CONTROLLER := pvrlfb endif # When flipping is enabled, the Framebuffer API will be used to # present the frames to the display in the 3PDD FLIP_TECHNIQUE_FRAMEBUFFER := 1 OPTIM := -Os SYS_CFLAGS := -march=armv7-a ifneq ($(CROSS_COMPILE),) SYS_CFLAGS += -mtls-dialect=arm endif SUPPORT_OMAP4430_NEON ?= 1 ifeq ($(SUPPORT_OMAP4430_NEON),1) SYS_CFLAGS += -ftree-vectorize -mfpu=neon -mfloat-abi=hard endif PVR_NO_FULL_CACHE_OPS := 1 LIBGCC := $(shell $(CROSS_COMPILE)gcc -print-libgcc-file-name) SGXCORE := 540 SGX_CORE_REV := 120 SGX_DYNAMIC_TIMING_INFO := 1 SYS_CUSTOM_POWERLOCK_WRAP := 1 ifeq ($(OMAP_KERNEL_AT_LEAST_2_6_35),1) ifeq ($(LDM_PLATFORM),1) PVR_LDM_PLATFORM_PRE_REGISTERED := 1 endif endif BUILD_OPENCL ?= 0 ifneq ($(BUILD_OPENCL),1) EXCLUDED_APIS += opencl endif ifeq ($(want_xorg),1) ifeq ($(OMAP_KERNEL_AT_LEAST_2_6_35),1) PVR_DRI_DRM_PLATFORM_DEV := 1 else PVR_DRI_DRM_NOT_PCI := 1 endif XORG_PREFIX := /usr XORG_TOOLCHAIN := extern XORG_PVR_CONF := omap4 XORG_PVR_VIDEO := omap4 XF86_VIDEO ?= ti-pvr_video OPK_DEFAULT := libpvrPVR2D_DRIWSEGL.so OPK_FALLBACK := libpvrPVR2D_DRIWSEGL.so ifneq ($(OMAP_NON_FLIP_DISPLAY),1) XORG_PVR_VIDEO ?= $(PVR_SYSTEM) PVR_DISPLAY_CONTROLLER_DRM_IOCTL := 1 endif else # xorg isn't excluded ifeq ($(OMAP_NON_FLIP_DISPLAY),1) OPK_DEFAULT := libpvrPVR2D_BLITWSEGL.so else OPK_DEFAULT := libpvrPVR2D_FLIPWSEGL.so endif OPK_FALLBACK := libpvrPVR2D_BLITWSEGL.so endif # xorg isn't excluded ifeq ($(SUPPORT_DRI_DRM),1) ifeq ($(PVR_DRI_DRM_NOT_PCI),1) KERNEL_COMPONENTS += linux_drm EXTRA_KBUILD_SOURCE := $(KERNELDIR) endif EXTRA_PVRSRVKM_COMPONENTS += $(DISPLAY_CONTROLLER_COMPONENT) else KERNEL_COMPONENTS += $(DISPLAY_CONTROLLER_COMPONENT) endif SUPPORT_V4L2_GFX ?= 0 SUPPORT_MEMINFO_IDS ?= 1 SUPPORT_MESA_SONAME ?= 1 ifeq ($(SUPPORT_V4L2_GFX),1) KERNEL_COMPONENTS += v4l2-gfx endif ifeq ($(SUPPORT_BC_EXAMPLE),1) KERNEL_COMPONENTS += bufferclass_example endif PVRSRV_MODNAME := omapdrm_pvr PVRSRV_BUSID := platform:omapdrm:00 include ../config/core.mk include ../common/xorg.mk include ../common/dridrm.mk include ../common/opencl.mk include ../common/omap4.mk # We only need this for pvr_video's includes, which should # really be done differently, as DISPLAY_CONTROLLER_DIR is # now obsolete.. # $(eval $(call UserConfigMake,DISPLAY_CONTROLLER_DIR,3rdparty/$(DISPLAY_CONTROLLER_COMPONENT)))