[android-sdk/device-ti-proprietary-open.git] / omap5 / sgx_src / eurasia_km / eurasiacon / build / linux2 / omap4430_android / Makefile
1 ########################################################################### ###
2 #@Title Root makefile for omap4430 Android. Builds everything else.
3 #@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
4 #@License Dual MIT/GPLv2
5 #
6 # The contents of this file are subject to the MIT license as set out below.
7 #
8 # Permission is hereby granted, free of charge, to any person obtaining a copy
9 # of this software and associated documentation files (the "Software"), to deal
10 # in the Software without restriction, including without limitation the rights
11 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 # copies of the Software, and to permit persons to whom the Software is
13 # furnished to do so, subject to the following conditions:
14 #
15 # The above copyright notice and this permission notice shall be included in
16 # all copies or substantial portions of the Software.
17 #
18 # Alternatively, the contents of this file may be used under the terms of
19 # the GNU General Public License Version 2 ("GPL") in which case the provisions
20 # of GPL are applicable instead of those above.
21 #
22 # If you wish to allow use of your version of this file only under the terms of
23 # GPL, and not to allow others to use your version of this file under the terms
24 # of the MIT license, indicate your decision by deleting the provisions above
25 # and replace them with the notice and other provisions required by GPL as set
26 # out in the file called "GPL-COPYING" included in this distribution. If you do
27 # not delete the provisions above, a recipient may use your version of this file
28 # under the terms of either the MIT license or GPL.
29 #
30 # This License is also included in this distribution in the file called
31 # "MIT-COPYING".
32 #
33 # EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
34 # PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
35 # BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
36 # PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
37 # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
38 # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
39 # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
40 ### ###########################################################################
42 ifeq ($(TARGET_SGX),544sc)
43 SGXCORE := 544
44 SGX_CORE_REV := 112
45 else ifeq ($(TARGET_SGX),540)
46 SGXCORE := 540
47 SGX_CORE_REV := 120
48 else ifeq ($(TARGET_SGX),544)
49 SGXCORE := 544
50 SGX_CORE_REV := 105
51 HAL_VARIANT := omap5
52 SGX_FEATURE_MP := 1
53 SGX_FEATURE_SYSTEM_CACHE := 1
54 SGX_FEATURE_MP_CORE_COUNT := 2
55 else ifeq ($(TARGET_SGX),544es2)
56 SGXCORE := 544
57 SGX_CORE_REV := 116
58 HAL_VARIANT := omap5
59 SGX_FEATURE_MP := 1
60 SGX_FEATURE_SYSTEM_CACHE := 1
61 SGX_FEATURE_MP_CORE_COUNT := 2
62 else
63 #default config
64 SGXCORE := 540
65 SGX_CORE_REV := 120
66 endif
67 export SGXCORE
68 export SGX_CORE_REV
70 SGX_DYNAMIC_TIMING_INFO := 1
72 SUPPORT_LINUX_USING_WORKQUEUES := 1
74 DISPLAY_CONTROLLER := omaplfb
76 PVR_SYSTEM := omap4
77 HAL_VARIANT := $(PVR_SYSTEM)
79 # We have more memory on OMAP platforms, so we can spare to make the
80 # pool larger, and have higher resolutions which benefit from it.
81 #
82 PVR_LINUX_MEM_AREA_POOL_MAX_PAGES ?= 10800
84 include ../common/android/paths.mk
85 include ../common/android/armv7-a.mk
86 include ../common/android/features.mk
88 ifneq ($(strip $(KERNELDIR)),)
89 include ../kernel_version.mk
90 ifeq ($(call kernel-version-at-least,2,6,35),true)
91 PVR_NO_OMAP_TIMER := 1
92 endif
93 ifeq ($(call kernel-version-at-least,2,6,39),true)
94 ifeq ($(LDM_PLATFORM),1)
95 PVR_LDM_PLATFORM_PRE_REGISTERED := 1
96 PVR_LDM_PLATFORM_PRE_REGISTERED_DEV := "\"pvrsrvkm\""
97 endif
98 endif
99 ifeq ($(is_at_least_icecream_sandwich),1)
100 ifeq ($(call kernel-version-at-least,3,0),true)
101 SUPPORT_DC_CMDCOMPLETE_WHEN_NO_LONGER_DISPLAYED := 1
102 PVR_ANDROID_NEEDS_ACCUM_SYNC_WORKAROUND := 1
103 SYS_OMAP4_HAS_DVFS_FRAMEWORK := 1
104 endif
105 endif
106 else
107 ifeq ($(is_at_least_icecream_sandwich),1)
108 $(warning "KERNELDIR is not set, so can't feature check DVFS or dsscomp.")
109 $(warning "Assuming we want DVFS and dsscomp support.")
110 SUPPORT_DC_CMDCOMPLETE_WHEN_NO_LONGER_DISPLAYED := 1
111 PVR_ANDROID_NEEDS_ACCUM_SYNC_WORKAROUND := 1
112 SYS_OMAP4_HAS_DVFS_FRAMEWORK := 1
113 endif
114 endif
116 ifneq ($(LDM_PLATFORM),1)
117 SUPPORT_LINUX_USING_WORKQUEUES := 0
118 SUPPORT_LINUX_USING_SHARED_WORKQUEUES := 1
119 SUPPORT_ACTIVE_POWER_MANAGEMENT := 0
120 DISPLAY_CONTROLLER := pvrlfb
121 DISPLAY_CONTROLLER_COMPONENT := linux_framebuffer
122 OMAP_NON_FLIP_DISPLAY := 1
124 # The code for the omaplfb component is now hosted on a
125 # different repository. No need to compile this now
126 #
127 # DISPLAY_CONTROLLER_COMPONENT := dc_omapfb3_linux
129 endif
131 ifeq ($(SUPPORT_DRI_DRM),1)
132 ifeq ($(PVR_LDM_PLATFORM_PRE_REGISTERED),1)
133 PVR_DRI_DRM_PLATFORM_DEV := 1
134 PVR_DRI_DRM_STATIC_BUS_ID := 1
135 PVR_DRI_DRM_DEV_BUS_ID := "\"platform:pvrsrvkm"\"
136 else
137 PVR_DRI_DRM_NOT_PCI := 1
138 KERNEL_COMPONENTS += linux_drm
139 endif
140 EXTRA_PVRSRVKM_COMPONENTS += $(DISPLAY_CONTROLLER_COMPONENT)
141 EXTRA_KBUILD_SOURCE := $(KERNELDIR)
142 # FIXME: Only required for comparison with X's KM
143 PVR_SECURE_DRM_AUTH_EXPORT := 1
144 ifneq ($(OMAP_NON_FLIP_DISPLAY),1)
145 PVR_DISPLAY_CONTROLLER_DRM_IOCTL := 1
146 endif
147 else
148 KERNEL_COMPONENTS += $(DISPLAY_CONTROLLER_COMPONENT)
149 endif
151 SUPPORT_ANDROID_OMAP_NV12 := 1
153 ifeq ($(is_at_least_icecream_sandwich),1)
154 ifeq ($(SUPPORT_ANDROID_COMPOSER_HAL),1)
155 PVR_ANDROID_USE_WINDOW_TRANSFORM_HINT := 1
156 endif
157 endif
159 PVR_ANDROID_PLATFORM_HAS_LINUX_FBDEV := 1
161 # FIXME: Remove this once vsync issues are resolved
162 PVR_ANDROID_COMPOSITOR_WAIT_FOR_RENDER := 1
164 ifeq ($(is_at_least_icecream_sandwich),1)
165 -include products.mk
166 endif
168 ifeq ($(NO_HARDWARE),1)
169 ifeq ($(SUPPORT_DC_CMDCOMPLETE_WHEN_NO_LONGER_DISPLAYED),1)
170 $(info WARNING: SUPPORT_DC_CMDCOMPLETE_WHEN_NO_LONGER_DISPLAYED=1 is incompatible with NO_HARDWARE=1)
171 $(info WARNING: Setting SUPPORT_DC_CMDCOMPLETE_WHEN_NO_LONGER_DISPLAYED=0 and switching to dc_nohw)
172 override SUPPORT_DC_CMDCOMPLETE_WHEN_NO_LONGER_DISPLAYED := 0
173 override DISPLAY_CONTROLLER := dcnohw
174 KERNEL_COMPONENTS += dc_nohw
175 endif
176 endif
178 include ../config/core.mk
179 include ../common/android/extra_config.mk
180 include ../common/dridrm.mk
181 include ../common/opencl.mk
182 include ../common/omap4.mk
184 # Not all OMAP4 kernels have a compatible DVFS framework
185 #
186 $(eval $(call TunableKernelConfigC,SYS_OMAP4_HAS_DVFS_FRAMEWORK,))
188 # If set, services allows two flips to enter the processing queue,
189 # and does not add read dependencies to the set of buffers last
190 # flipped to. This is necessary for DSS composition on OMAP4.
191 #
192 $(eval $(call TunableKernelConfigC,SUPPORT_DC_CMDCOMPLETE_WHEN_NO_LONGER_DISPLAYED,))