summaryrefslogtreecommitdiff
path: root/sgx/eurasiacon/build/linux2/omap4430_linux/Makefile
blob: b5e3e4ccd11a943943278a770ea48bace8056a0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
#
# 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. <gpl-support@imgtec.com>
# 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)))